RAD for Linux: A Review of Omnis Studio
Omnis Software considers Visual Basic to be the main competitor to Studio. The good news is that with Studio, internal development projects which would have required Windows workstations or an expensive UNIX RAD solution can now be developed on Linux and executed on any system with a browser. The interface to Studio is shown in Figures 2 and 3. It's a challenge to capture many features in just a screenshot or two, but you can see some of the widget palettes, properties, notebooks and method editors. Standard tools like buttons, lists, menus and text are included, all tied together for quick results. A scripting language called “notation” is used to add code to objects, but in my experience, little coding is needed compared to something like Visual Basic. The entire product is object-oriented, with object inheritance and powerful class libraries.
Two of the most time saving widgets included with Studio are those for database access and web-based applications.
The Database widget creates a connection to a database within your application, allowing you to view, add and delete records. The database can reside on several types of servers including Oracle, Sybase, Microsoft SQL, IBM's DB2, or any ODBC-compliant database server. All the details are taken care of for you; just define a form for the fields to appear in, and code the actions to take on each piece of data that an end user works with.
Because the development platform is also the run-time engine, you can use the database widget in real time to manage databases as you develop an application. You can copy schemas (record layouts) between tables or into your program, or move data between tables located on different database servers (even if the servers are running different database products).
Omnis Studio also includes a plug-in you can add to your browser so that any application you write can be used within a browser over the Web. To “webify” any application you've created, just add a few widgets to the application. This does require you to include the Studio application on the system running the web server (Apache on Linux or IIS on Windows), plus you must add the Studio plug-in to each client's browser, but the ability to rapidly turn Linux into a true application server may be reason enough for some developers to give Studio a try.
The biggest advantage I've seen with using Studio is that the prototype I create using the application wizard, standard widgets and a little bit of scripting is a working program which I can begin testing. If my “prototype” requires some tweaking to fit the project description or client requests, I can do that immediately and even re-deploy the application via the Web to people who are already using it. Automatic updates is a feature not all developers will need, but creating a prototype that with a little polishing turns into a working program is something any overworked developer can appreciate.
You can get a full copy of Omnis Studio for $149. That doesn't include any printed manuals, but all of the documentation (several thousand pages) is included on the CD. Separate printed documentation sets are available if you need one. Several free downloads are available from the Omnis Software web site, including additional database support modules, an evaluation version of Omnis Studio, and the web plug-in (so you can try existing applications at the web site using your browser). A limited edition of Omnis Studio 2.4 is also included with Caldera's OpenLinux 2.4 eDesktop product.
Okay, so I'm very impressed with Omnis Studio. But a couple of flags need to be raised as well. First, the learning curve with this product can be steep. Maybe this is best expressed as “easy to understand, difficult to master”, which of course is much like Linux itself. Studio uses a proprietary scripting language and a number of “wizards” and widgets of its own design. All this is similar to products like Visual Basic, but Studio has its own way of doing things. If you're willing to put some work into learning the product, you can generate amazing results; if you just tinker, you're unlikely to even scratch the surface of what the product can do. Omnis is working hard to make it easier to learn their product, and they have a terrific group of experienced developers who help each other via the Net. In addition, the documentation is solidly written and full of complete examples, included on the product CD-ROM.
The other big catch is that this is true commercial software. It comes with a heritage of big UNIX and Windows installations at Fortune 500 companies. Although Omnis has lowered their prices significantly as they enter the Linux market, the product is really intended for internal or consultant-oriented development at medium to large companies. To that end, you must pay a run-time engine license fee for each workstation on which you deploy the application you write. It's a small fee, on the order of $10, but it's certainly not open source. On the other hand, when you're under the gun to create a powerful program with a ridiculous deadline, it's a price you may be happy to pay.
Nicholas Wells (email@example.com) is the director of technical services at embedded Linux vendor Lineo, Inc. He has published about ten books on Linux, KDE and the Web.
- My Childhood in a Cigar Box
- Papa's Got a Brand New NAS
- Tech Tip: Really Simple HTTP Server with Python
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- Panther MPC, Inc.'s Panther Alpha
- Returning Values from Bash Functions
- Simplenote, Simply Awesome!
- NethServer: Linux without All That Linux Stuff