Back to article
Omnis Studio: Bringing Database Application Development to Linux
Creating Cross-Platform Applications Under Linux
April 11, 2000
We like the way Omnis Software's Omnis Studio brings multiplatform, database application development and delivery to Linux. Omnis has a long track record on Windows and Macintosh with its rapid application deployment (RAD) tools. Omnis provides matching development and delivery tools on all platforms, and applications created on one platform can run on the others, assuming platform-specific features are not used.
Omnis Studio can be used to develop stand-alone or multiuser database applications as well as Web-based applications. The latter is handled through the Omnis Web Client, which supports Netscape Navigator and Internet Explorer. The Client provides a secure channel back to the Omnis Server. Of course, we tested the whole system using Linux.
Omnis applications have run-time costs associated with them. For standalone or multiuser applications, users must purchase a runtime license that can be as low as $10 per user. The same run time can be used with as many Omnis applications as necessary. Web-based solutions are priced based upon the number of connections supported by the server. Subscription pricing with continued tech support is available as well.
Omnis Studio uses Ominis' own single inheritance, object-based programming language. Omnis Studio comes with its own database system and includes, in addition to its own Data Access Module (DAM) interface, DAM support for most major SQL servers such as Oracle, Informix, Sybase and IBM DB2. ODBC support is available on some platforms.
Omnis Studio is similar to Microsoft Access in that both incorporate an interactive development environment with database creation and manipulation tools, but there are major differences. Omnis Studio uses Object Oriented Programming versus programming with objects as in Visual Basic for Microsoft Access (VB/Access).
Omnis tasks are actually groupings of components like forms, objects, and databases. Actually everything is an object, and the basic set of objects is small, just over half a dozen, making the system easy to understand. Inheritance makes creation of enhanced objects easy.
We used Omnis Studio's wizards to quickly set up applications. Borrowing components from other samples made experimentation easy, although we had to call on our own development experience when developing new objects.
Omnis Studio's programming environment is purely event driven. This has an interesting impact when it comes to development. As with most graphical integrated development environments (IDE), Omnis has a design mode and a run-time mode. The big difference is that, because of its event-driven design, it is possible to start running code associated with an object at any point. This is difficult or even impossible to do with other IDEs. This approach is very effective when combined with breakpoints, since it is easy to test snippets of code instead of the complete application. I found even testing boundary conditions to be possible using this approach, something that would be very time consuming on other platforms.