RAD for Linux: A Review of Omnis Studio
Manufacturer: Omnis Software, Inc.
Price: $149 US
Reviewer: Nicholas Wells
The gcc compiler we all rely on when developing programs for Linux is a standard recognized throughout the entire UNIX world. It's fast, it's straightforward, and it compiles standard C (or C++ for the g++ compiler). But anyone who has written a large makefile knows it isn't a complete development environment by itself. With the advent of some serious tools like Code Fusion and Source Navigator from Cygnus, developing large projects with multiple programmers is getting easier all the time.
Rather than use these tools, however, many professional software developers rely on Rapid Application Development (RAD) products to design, prototype and code applications. Many of these applications revolve around database access; many are created by an organization for internal use or by consultants for vertical markets. These might be billing or database access systems, customer support systems, or pieces that integrate existing web services so all employees can access data using a browser. The issues facing these internal developers are different from those that face someone creating a “boxed product” or a standard open-source project for eventual public consumption. Three examples of these issues include very tight deadlines, a need to integrate with existing IT infrastructure, and a need to run on multiple platforms running in an organization.
The process for completing an internal project might look something like this:
Plan the project, including creating a schedule for development.
Create a demo (if things are moving slowly) or a prototype (if they're moving rapidly).
Develop the actual program.
Test it within the department where it will be used.
Deploy the program, and begin the revision phases as needed.
Java is the proposed solution to many of these internal development projects. It's a cross-platform language, it works with the Web, and everyone seems to accept it as a good idea. But Java is not always the answer, as developers on many abandoned projects can attest. Microsoft Visual Basic is also widely used for these internal projects.
The problem with so many of these internal projects is that after a lot of work has been put into the planning step, the prototype and development take so long and cost so much that the whole project may become unworkable (or at a minimum, go way over budget). Part of the problem lies in converting a plan into a prototype, or a prototype into a working program. Other problems often revolve around a lack of appropriate tools or talent, or the need to create the program so that it runs on multiple platforms (or the Web—which brings a separate set of challenges). RAD tools are the solution many developers look to. These developer tools combine a graphical interface, database access and additional tools to help code, debug and deploy an end-user-oriented application.
While a few high-end tools have been available on Linux for a while—some for $10,000 or more per developer—those needing RAD tools normally didn't consider Linux. (One promising tool, Borland's Kylix, is still in beta testing.)
A recent entrant in the field of Linux software development is Omnis Studio from Omnis Software (http://www.omnis-software.com/). Though this company and product have been around for over twenty years, they began shipping a Linux product just last year. Fortunately, the maturity of their products and the depth of the feature set have carried over very well to the Linux port. Omnis Studio takes a Java-like approach to software development that creates a single cross-platform program in a very powerful graphical development environment.
Omnis uses a run-time engine to both develop and execute programs. If “editing” is enabled in your license, you can create new programs; otherwise, you can run only existing programs. Amazingly, this engine (without the libraries your program may require) is only about 1MB. Both the small size and the execution speed of Omnis Studio applications are surprisingly good, given that this is an interpreted environment. Engines that let you create and execute Omnis Studio programs are available on Linux, Windows and Macintosh. To show the flexibility of the technology behind this product, consider that you can develop a program on Linux, make changes to the same program file on a Windows system (running a developer license of Studio), then run the newly altered program on a Macintosh. You can think of the “program” as a script that can be run or edited on any of the platforms. Figure 1 shows the architecture of the product.
Longtime users of both Omnis and other tools (Java or Visual Basic) have told me that Studio requires about 20% of the development time of Visual Basic because of the automation Studio includes. Some of these automation features are things like auto-typed variables which are tokenized throughout the project, and single-file projects that collect all relevant information in one place.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- RSS Feeds
- Readers' Choice Awards
- Tech Tip: Really Simple HTTP Server with Python
2 hours 59 min ago
- Reply to comment | Linux Journal
3 hours 31 min ago
- All the articles you talked
5 hours 55 min ago
- All the articles you talked
5 hours 58 min ago
- All the articles you talked
5 hours 59 min ago
10 hours 24 min ago
- Keeping track of IP address
12 hours 15 min ago
- Roll your own dynamic dns
17 hours 28 min ago
- Please correct the URL for Salt Stack's web site
20 hours 40 min ago
- Android is Linux -- why no better inter-operation
22 hours 55 min ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?