Web Applications

Why is the Web so Important?

"The Web" is a generic term for the collection of protocols, networks and computers which make up the worldwide Internet, and smaller, discrete networks, called Intranets. These networks and protocols connect computers of various types, allowing them to have common access to a wide variety of different resources. As well as "static" content, such as pages of text and images, and "media" content, such as animations, videos, music and so on, there has been an increasing amount of dynamic application content, whereby surfers can run programs on remote servers using their web browser. These cover a range of applications, from games to on-line shopping and trading (eCommerce). It is fair to say that a software company which doesn't have a web strategy would be burying it's head in the sand, with possible associated health hazards.

Alternative Web Development Techniques

To cope with the increasing demand for dynamic application content on the Internet, various different web programming techniques have evolved.

CGI
The original method of allowing web browsers to run remote scripts, usually (but not always) written in a language called PERL. This works well, allowing the script to create web pages, which are written in a code called Hypertext Markup Language (HTML), and return them to the surfer. Requires no special software at the client or server end (other than a PERL interpreter) but is limited in terms of database connectivity, user interface, and development effort.


Scripting
Using JavaScript (and VBScript in Internet Explorer) you can give a standard web page a certain degree of functionality, albeit limited. The possibilities were vastly expanded by DHTML, but different browsers implement some of the standards differently. Not recommended for heavy duty application development.


ASP
Microsoft Web Servers support Active Server Pages, where VBScript in the page definition is executed on the server before the page is returned, a bit like a page based version of CGI.


Cold Fusion
An application server from Allaire, which works a little bit like ASP.


ActiveX
Internet explorer supports these controls, which can do just about anything a normal program on your computer can. Like delete everything on your hard disk, for example. They can come with electronic trust certificates, but the best use of ActiveX is as a web client. Once it's installed once, it doesn't need to download each time, and communicates with an application server to provide a rich display interface. This is how the Omnis WebClient works.


Java
Java is an object oriented computer language based on the syntax of C++. It was designed to provide a cross platform development tool for networked computers. It is delivered in semi-compiled form, and then run by a virtual machine (VM) on the user's computer. Internet browsers come with this Java VM built in (although there are some differences between different implementations). Java is good for building rich user interfaces, but requires much development effort in comparison to an Omnis WebClient application.


Citrix/Metaframe
Technologies which allow you to run normal desktop applications through a browser plug-in. You are connected directly to a remote server, and can run programs as if you were at that computer, rather than 'web-based' applications. An option for distributing regular application functionality.


Types of Omnis Web Application

There are two types of Omnis Studio web application - WebClient applications and pure HTML solutions. In the former case, the user's browser must have the Omnis webClient plug-in installed, and the program uses Omnis remote forms, which are displayed like an Omnis window. They can use many kinds of graphical controls to create a rich graphical user interface (GUI), and allow sophisticated communication between client and server.

In a pure HTML solution, the HTML page calls a remote task in the Omnis application server, which returns either the address of another page (which it may have created itself on the server as a result of the request), or the actual HTML code to be displayed in the browser (a bit like a CGI program or Active Server Pages page).

The Omnis Web Application Server

The Omnis web server is a runtime instance of Omnis Studio, which has the added ability to listen for and respond to calls on one of the computer's internal ports. These calls are forwarded by the Omnis Web Server Extension, which is either a CGI program or an ISAPI DLL (depending on what your web server supports).

When used with the Omnis WebClient, the server persists a user connection for anyone who refers to a remote form class in a library open on the server. The application server is licensed by concurrent user. If you have a 10 user license, then the 11th person to attempt to connect to the application will receive a message informing them that the server is busy.

The Omnis WebClient

This propietary browser extension handles the display of Omnis remote forms in the browser window, and the communication with the Omnis application server. It allows for sophisticated user interfaces for the Internet to be developed more quickly than, say, using Java.

Document prepared 8 AUG 2000 by Tim Stewart