Oracle Power Objects
Internet Strategy

SEPTEMBER 1996

Oracle Tools Division


Contents

SEPTEMBER 1996

1. Abstract

2. Internet Standards Today

3. Power Objects And The Internet

4. Power Objects & The Netscape Plug-In

5. Internet Access Through ActiveX Controls

6. The Future

7. Power Objects Intranet Competitive Summary

1. Abstract

This document is designed to explain the work that is taking place within the Oracle Power Objects team to enable Power Objects Version 2.0 to make use of information on corporate intranets as well as services and information on the internet. Information contained in this document is targeted primarily at developers evaluating tools for developing database oriented intranet applications.

Oracle Power Objects v2.0 provides a pragmatic approach to building intranet solutions. Like the approach taken in other Oracle development teams, it is a process of evolution, not revolution, and is based on technology available today rather than any potential future standards. Oracle Power Objects allows customers to leverage the investment they have made in client/server solutions as they move to intranet systems. Traditional client/server technology is still the best way to do transactional work on Local Area Networks.

2. Internet Standards Today

If we take a look at the internet today we see many standards emerging. Several suppliers are trying to determine the definitive direction for the Internet to follow.

Sun Microsystems and Netscape are driving the Java programming language and Plug-In architecture respectively. Java has had the lions share of media coverage in recent months and is seen by many programmers as a migration path from C++ for building interactive applications. Java is interpreted, cross platform and secure making it an ideal Figure 1 : Emerging Internet Standards

internet building block. Netscape's Plug-In

standard is a much cruder solution to achieve a similar end result, namely extending the abilities of simple web browsers to support more complex functionality. Already, Netscape boasts over 200 plug-ins available and is probably leading the race, with Java close behind.

Although Microsoft entered the Internet race late they have not been slow to catch up, particularly in their marketing and technical evangelism. As recently seen in the case of HTML their `Embrace and Extend' strategy for the Internet takes existing standards and builds on them with proprietary extensions.

As well as embracing existing standards, Microsoft has looked at what is out in the market and proposed its own technology which it will aggressively market as an industry standard. The first technology is called ActiveX, an extension of the popular OCX standard, best known for building components for tools such as Visual Basic. ActiveX really competes directly with Java since it allows functional components to be build and plugged into an HTML page. OLE is Microsoft's strategic direction for the future in all its operating systems, languages and applications products. It is essential for Microsoft that they extend OLE to encompass the internet. To stimulate the growth and availability of ActiveX Microsoft has pressed into action its army of component partners to migrate OCX's to ActiveX and also announced that Visual Basic V5.0 will allow the generation of ActiveX components.

The DocObject standard is Microsoft answer to Netscape's plug-in technology, it does of course revolve around OLE. Instantiating a plug-in inside a Netscape browser is not dissimilar to an Excel document activating in-place inside a Word document. It is logical therefore that this document embedding idea is carried over to a Web browser - that is what DocObjects are all about. Word, Excel, PowerPoint or whole VB applications will soon be able to be generated as DocObjects and activated from within a web browser.

Of course some things on the internet are largely intact as standards, HTML and HTTP underpin the Sun, Netscape and Microsoft technologies, although HTML is starting to diverge with both Netscape and Microsoft implementing their own proprietary extensions.

So, where is all this headed ? We have available to us a new paradigm, new technology to implement systems with several unique benefits, and several unique limitations.

There are still many issues today's internet technologies. Java is a first release language with associated limitations, for example for data access JDBC has been specified but this is little more than a bridge to ODBC from Java over HTTP - which is what many client/server systems are using today anyway.

Microsoft's ActiveX standard is based upon the older OCX standard with extensions to enable internet functionality. The OLE custom control specification is a proven one for the desktop and client/server applications for which it was designed. However they have some limitations in the intranet space which Microsoft must yet overcome, for example they are large in size and have potential flaws in security (an OCX and therefore an ActiveX has full access to the Windows API). There is also some confusion arising from the fact that Microsoft has condoned the renaming of any OLE custom control `ActiveX' regardless of whether it has any internet functionality.

Even the underlying technology is changing, HTML has regular revisions, frames, tables and so on. HTTP delivers benefits owing to its message oriented nature, it is a lightweight protocol with little overhead, ideal for document browsing across a network. On-line transactions are quite different, problems can arise if they are done asynchronously and since web browsers typically communicate with web servers using the http protocol it is not possible to maintain state across connections. This has a potentially severe impact on database applications as it is critical that, for example, orders are not committed to the database unless all line items on the order are valid. To circumvent this problem, tools that are database-aware and can interact directly with a database provide distinct advantages to developers building transaction processing applications on the web.

In fact, the only complete specification right now is that for Netscape Plug-Ins. This may account for the large number of available plug-ins on the market, also the fact that Netscape Navigator has been setting the standard for browser functionality to date. This would appear to be a logical starting point for any web work. Oracle has been very successful over the years at producing software that bridges multiple standards, the web is no different. As practical standards emerge it is our intention to develop upon them to enable sophisticated and reliable intranet applications. For applications Netscape's plug-in specification is the first here, as more appear then these will be embraced too.

3. Power Objects And The Internet

There has been much investment in Client/Server computing over the last decade, many corporations have been decentralizing IT into workgroup lines of business. Mainframe systems are being downsized to departmental or workgroup servers, enterprise information is distributed amongst numerous disparate geographical sites.

Oracle Power Objects is a new rapid application development tool focused on the needs of the workgroup market. It allows developer to build database applications quickly using familiar skills such as BASIC & OLE. Oracle Workgroup Server & Oracle Power Objects provide the ideal solution for the developer implementing workgroup systems.

The internet is now a part of everyday life, it brings the promise of faster, cheaper access to information, but so far the internet has under-delivered. Much more interesting to corporations is something known as an `intranet', this is essentially a set of published services and information within a companies internal network. Why is an intranet attractive ?

  • The architecture of the web is 3 tier, it promises high levels of scalability for applications
  • The deployment environment is a browser, easy to install & maintain
  • Application and logic are held centrally for easy maintenance.

The Web gives the promise of a highly scaleable architecture because of its message based nature, it uses a familiar three tier architecture of client/application server and database server. The browser client sends HTTP messages to a Web Server which interacts with a datasource. Message oriented middleware is less protocol intensive that traditional client/server protocols, it is asynchronous and ideal for read-only data access and communication over low bandwidth networks.

There are however a number of problems associated with the above scenario. Firstly, state is not preserved in the browser making transactional work difficult. Secondly, the client is dumb (it is not dissimilar to the block mode mainframe architecture) though recently certain browsers have begun to include local BASIC and Java engines to provide some sort of intelligence in the client.

Oracle Power Objects is proven in providing both of these facets, it has native database intelligence to both Oracle and non-Oracle datasources and a local interpreted BASIC engine for scripting.

Release 2.0 of Oracle Power Objects includes features to enable the application developer to leverage these core product competencies when developing corporate web based solutions. These features come in three areas;

  • Netscape Compatible Plug-In For Runtime Engine
  • Oracle PowerBrowser OCX
  • Crystal Reports V5.0 Professional web publishing
  • Third party ActiveX controls

4. Power Objects & The Netscape Compatible Plug-In

The Netscape plug-in architecture allows applications to run from within the context of a browser window. For example, the Macromedia Director plug-in allows the playing of Macromedia sequences from within any Netscape compatible browser. Power Objects V2.0 has been compiled into a DLL to run as a plug-in, it is approximately 1 Mb in size - less than Shockwave!

As mentioned earlier, there has been a lot of investment in client/server skills, the Power Objects plug-in allows users to move to an intranet environment - leveraging existing skills in database access, languages and components, such as Power Objects classes. Doing so also addresses the issue of developing transaction oriented applications - a Power Objects plug-in can perform any web based transaction oriented operation. Even Java cannot offer this ability, since currently JDBC is simply a hook to ODBC, if you're going to use a client/server standard like ODBC the best way is from an integrated database tool like Oracle Power Objects.

So, what is needed for the plug-in to run ? The plug-in will install two new DLL's in the Netscape plug-in directory. If you are connecting to an Oracle7 database then you also need the Oracle7 drivers (e.g. ORA7232.POD) and SQL*Net installed on your client. With this, any Power Objects application file (*.PO) should run unchanged within the browser, there are of course some design and use issues which need to be taken into account. Traditional menu's would not be implemented on the browsers menu, but are constructed dynamically on the right mouse button click. Toolbars are not rendered at all within the plug-in window. A second window will appear outside of the browser frame. Multiple window/screen applications will create additional windows outside of the browser frame. However there can be multiple instances of the browser active and multiple embedded `.PO' files on each HTML page

Figure 2 : Architecture of the plug-in for Power Objects connecting to a database just as it would within a client/server system

Figure 3 : Power Objects running as a plug-in within the Oracle PowerBrowser

5. Internet Access Through ActiveX Controls

1. The Oracle PowerBrowser ActiveX

Microsoft's OLE defines a framework by which components can inter-operate. The Oracle PowerBrowser has been designed so that it may function as a full featured Web Browser, or as a self contained web component which can be embedded into any application development environment which supports ActiveX (OCX) containment.

There are literally hundreds of commercially available ActiveX's (OCXs) on the market today, they range from the simplest of button type controls to highly complex word processor or charting engines. The Oracle PowerBrowser ActiveX appears as an HTML window on the form, it exposes a set of properties and methods which can be programmatically manipulated from Oracle BASIC. It is therefore possible for the user to create his or her own Web Browser in Power Objects, or any other development environment supporting the ActiveX standard.

Figure 4: The Real PowerBrowser! A browser written entirely in Power Objects, the HTML windows is the PowerBrowser ActiveX and offers the same functionality.

2. Crystal Reports V5.0 Professional ActiveX control

A new feature of Oracle Power Objects Version 2.0 is the inclusion and integration of Crystal Reports V5.0 Professional Edition for users to easily produce database reports. Crystal Reports V5.0 benefits from native integration with a local or remote Oracle7 server and with the ODBC driver supplied to Personal Oracle Lite. New to Crystal with Version 5.0 is an output option to HTML with full support for the native capabilities of Netscape Navigator 3.0 and Microsoft Internet Explorer V3.0. This allows web publishing of database information from within the Power Objects environment.

Figure 5: Viewing a web based report published using Crystal Reports V5.0

3. Crescent Software Internet Control Pack

In Oracle Power Objects V2.0 Crescent Software is a major partner. Four controls from Crescent are bundled with Power Objects V2.0. Additional controls included in the Crescent internet control pack (available separately) allows users to gain access to FTP, NNTP and other internet protocols, all exposed in a simple OCX wrapper. If you require any ad-hoc internet or intranet access then this OCX pack is essential.

Figure 6: The Crescent SMTP control provides Internet standard Email access for Power Objects Developers.

6. The Future

So, where is all this leading ? Where is the ideal solution for the intranet coming from ? Its is quite clear that there are many tools that are very proficient at building windows forms, this is an essential requirement of any client/server application. The web is no different, the architecture of data management systems is changing but the business data and processes people need to perform are very similar. Business simply feels that by using an intranet system they can make their processes more efficient, more easily managed and made available to more users. So, people need forms, they need to insert, update and delete data, they need to query.

The Power Objects plug-in solution is a starting point, it gives corporations a route to migrate to the benefits promised by the web. Power Objects is however a polished form builder, it can build screens you can only dream of writing in Java , it is also aware of transactions, locking and general database functionality. So why is the Power Objects plug-in not the answer to everyone's prayers ? The answer is simply that it depends on client networking software - ODBC, SQL*Net, DBLIB, OCI. All the things that make maintaining the PC a nightmare - DLL's getting mismatched, updated, deleted, renamed etc. The great benefit of the web is that you only need a browser to run everything.

With this in mind, the answer is to move the troublesome parts to the server, giving us the following possible scenario's

Figure 7: Using the plug-in with the Oracle WebServer for persistent database connectivity.

This is the perfect solution

  • Thin client : Only Power Objects plug-in DLL and POD on client (Equivalent to a Java interpreter and JDBC driver)
  • Interpreted application (secure and small in size)
  • Polished proven form builder for producing complex transaction oriented data entry and query screens

7. Power Objects Intranet Competitive Summary

Internet Feature Visual Basic V4.0 Borland Delphi V2.0 Oracle Power Objects V2.0 Sybase Powerbuilder V5.0
Netscape Plug-in (1) X (2)
Browser OCX Included X X X
Internet Control Pack X X X
Web Reporting (3) X
Generate HTML
Create ActiveX (4)
Generate Java Apps (5)

(1) VB V5.0 expected in early `97 has the ability to create DocObject Forms, this is Microsoft's OLE answer to the plug-in. Microsoft demonstrated DocObject support for the first time at the Professional Developers Conference in San Francisco, March `96 using VB5.0.

(2) Sybase announced the intent to develop plug-in support for PowerBuilder in May.

(3) VB 4.0 ships with Crystal V3.0, VB5.0 will only ship with Crystal V4.5 - this does not include Web reporting. Only Power Objects includes Crystal V5.0 with full Web reporting capabilities.

(4) Microsoft have declared the intent that VB5.0 will be able to generate ActiveX Controls, due in early `97.

  1. Borland announced plans to surround the Java language with the Delphi IDE.