Moving to Omnis Studio
Reasons
There are several good reasons for the adoption of Omnis Studio as a platform for the development
of business applications.
- "Classic" Phase-Out
- Omnis Software International (OSI) does not plan to support previous versions of Omnis, up to
and including Omnis 7.3.8, after 2001. It is possible to interface Omnis Classic
and Studio applications side-by-side on the same database.
- Web Technologies
- The Omnis Web Application Server and
WebClient plug-in make it easy to program various kinds of
Internet or Intranet application.
- Platform Support
- Omnis Studio is the first "rapid application development" (RAD) tool to support the
three main computer operating systems of importance today - Microsoft Windows, Macintosh
and Linux. Applications can be developed on any of these systems, and then deployed across
any others (assuming platform specific features,
such as DDE, Appletalk etc. aren't used).
- Future Development
- At time of writing, I am evaluating Omnis Studio 3.0 Beta, which includes support for
multithreading and client side execution within web applications, mobile connectivity with
WAP, and upgrades to the development environment such as notation syntax checking.
Features
Omnis Studio, currently at release 2.4, continues to build on the strengths of Omnis as a
tool for the rapid development of database applications with many new features.
- Object Orientation
- Omnis Studio implements an
object oriented programming paradigm, to enable code
re-use and maintainability.
- Technology Support
- Studio supports a wide range of current technology standards, such as the incorporation of
ActiveX controls, Java beans, Quicktime streaming media etc. Independent developers are
either offering or working on solutions for incorporation of COM+ and CORBA, enabling Omnis
to fit into and make use of existing and planned technology combinations.
- Database Support
- As well as having its own ("native") datafile format, Omnis Studio supports a wide
range of other data servers, such as OracleTM, Informix, Sybase and DB2 through
drivers called Data Access Modules (DAMs). It also includes a DAM for ODBC, allowing
connection to many compliant data servers, such as Microsoft's Access and SQL Server products.
From Studio release 3.0, the API for programming DAMs will be public, and several new
drivers (including OpenBase and MySQL) are rumoured to be forthcoming.
Studio vs. Classic
Studio inherits many of the features of Omnis 7,
but there are several differences to get used to.
- Performance
- It's worth remembering that Omnis 7 was released in the early nineties, when the fastest
computers used 486 processors. With the increase in performance of more recent computers, many
newer software packages rely on more powerful hardware, and Omnis Studio is no exception.
The development system loads and performs noticeably slower than Omnis 7 on the same computer.
On modern machines and networks, this is not a problem, but it's worth considering clients with
legacy systems (aka. old boxes) in planning the roll-out of a Studio solution.
- Conversion
- There is a fairly workable migration path for porting existing Omnis applications to Studio,
but the process could not be described as painless. There is debate amongst developers
as to the relative
merits of performing as quick a conversion as possible, against taking the opportunity to
use Studio's new features, and possibly even convert the application to use SQL data access.
There are pre- and post- conversion routines to assist with the process.
- Language
- Although some commands and constructs (such as window control procedures) have become obsolete,
and some (such as smartlists) have been added, the
basics of the language are common to both Classic and Studio. Studio's development environment
is a joy to work with, having such features as colour coded syntax, drag and drop support
for notation, and superb debugging and find-and-replace tools. However, it's worth noting
that the use of
Omnis Notation
(the $dollar commands) is more heavily emphasised - and more
powerful - in Studio.
- Subwindows
- Along with the philosophy of allowing a more structured approach to application design,
Studio allows developers to split window functionality into hierarchical units. This will
be welcomed by any developer who's had to figure out a window with hundreds of overlapping
fields and labels in Omnis Classic.
Studio vs. VB
Microsoft Visual Basic is the world's most widely used tool for the develeopment of Windows
applications. Anyone who's ever written a macro in Excel, or incorporated some VBScript into
a web page, has used it in one of its various forms. Visual Basic 6 has several points in its
favour when it comes to writing applications, such as the availability of developers (Omnis being
quite a minority tool in comparison). But Omnis is also a good choice in many situations.
At some Omnis developers conferences, sessions have been run comparing Omnis and VB. I'm not sure
if the results could be considered impartial, but Omnis won.
- Distribution
- VB applications can be distributed at little cost to the provider, as they do not rely on a
runtime license, as do Omnis applications. However, personal experience suggests that Omnis is
often easier to distribute, as the runtime removes problems with DLL version control, which was
VB5's major bugbear. And, of course, applications written in Omnis can run on non-Windows
computers, such as Macintosh.
- Web Development
- Several of Microsoft's models for web development involve VB. These are discussed in the
section on web development alternatives.
- List Handling
- Handling lists is of paramount importance to a database application. There is a saying amongst
Omnis developers, that "Omnis Rocks!". When it comes to lists, this is true.
The power of smartlists, SQL lists, $sendall, object lists and similar make it easier
to handle such constructs than the VB equivalents -
arrays, collections and recordsets.
- Development Environment
- This is really a matter of personal taste. The Omnis "command palette" takes a bit
of getting used to when you've been keying code directly into a text window for a while. Omnis
version of Visual Basic's "Intellisense" assistance (currently only in Studio 3.0
beta) is less powerful, but also less intrusive.
- Database Connectivity
- Again, it's a matter of different styles - VB's ADO against the Omnis DAM. VB has some nice
visual data mapping tools. Of course, Omnis can connect to and modify an Omnis database -
a considerable advantage if that's where your data is!
You can if you wish download course notes for a short introduction to Visual Basic for
geographical systems users (presented by yours truly, of course).
Document prepared 8 AUG 2000 by
Tim Stewart