1109-1112

Previous Table of Contents Next

Page 1109

CHAPTER 50

Using the AIS Web Development Suite

IN THIS CHAPTER

  • Common Problems When Building Java Database Applications 1110
  • Application Architecture 1111
  • Architecture Building Blocks 1112
  • Features of the Architecture 1112
  • Tools 1113

Page 1110

The AIS Web Development Suite is a set of tools and utilities you can use to simplify the process of developing, deploying, and managing pure Java/Oracle8 database applications and components that are 100 percent CORBA (Common Object Request Broker Architecture) compliant. Java applications built with the AIS Web Development Suite overcome the limitations inherent in the typical browser-based applet model and enable you to develop full-featured graphical interfaces without sacrificing security. The code-generation utility and Oracle's Oracle Call Interface (OCI) provide additional benefits for Oracle users. This chapter presents an overview of common problems encountered by developers attempting to build Java database applications. It then focuses on using the AIS Web Development Suite to make database Web connectivity a much simpler and less costly task. AIS can be reached at (800) 327-9725 or http://www.advanis.com for access to sample applications.

Common Problems When Building Java
Database Applications

Choosing a Java development environment can be a very confusing process; an abundance of tools is availableparticularly for Windows 95 and Windows NT. Unfortunately, many vendors have veered away from the Java Development Kit (JDK) and pure Java implementations to develop their own GUI libraries and components. This trend would be fine, except that many of these extensions rely on platform-specific native code libraries for the sake of producing a native-looking interface. Reliance on native code in client applications defeats one of the primary purposes of the Java language. These tools prevent developers from realizing the benefits of the Java write once, run everywhere strategy.

The reliance on native libraries is not unique to GUI components. Many vendors also supply proprietary database interfaces that not only depend on platform-specific code, but require development to their own proprietary API. This reliance further limits portability and hinders the development process by requiring programmers to learn the proprietary database API, which is useless outside the context of the particular development tool. In many cases, these proprietary databases provide inadequate security and limit the capabilities of the underlying RDBMS.

Fortunately, Java database connectivity (JDBC) can be used to communicate with databases using almost any tool. However, JDBC is only as good as the underlying driver. Currently, most JDBC drivers are fat-client implementations, which require native libraries and additional RDBMS-specific network software on each client workstation. An Oracle driver, for example, would require SQL*Net in addition to the vendor-specific JDBC native library. To eliminate native code from the client, a number of vendors provide two-tiered drivers with pure Java client components that communicate with server components. These drivers generally are superior to the fat-client implementations, but they often require the use of driver-specific APIs in addition to JDBC. Some two-tiered drivers communicate with proprietary protocols and provide only limited security.

Page 1111

Another drawback to using JDBC is that it is considered to be a low-level API, so developing applications with JDBC requires in-depth knowledge of the API and SQL escape syntax. JDBC applications can be difficult to maintain if not properly designed, because database code is embedded in the client application.

The AIS Web Development Suite addresses all these issues by providing a pure Java client, encapsulation of database code in server components, multiple levels of security, and standard Inter-ORB Protocol (IIOP) communications between the client and server. The following sections discuss the architecture of applications built with the AIS Web Development Suite and provide an overview of the tools it offers.

Application Architecture

The AIS Web Development Suite builds on the capabilities of the JDK 1.1 and JavaIDL from JavaSoft. Using these industry-standard and widely available tools as a foundation, this suite provides a layer of abstraction that enables developers to focus on the tasks of building client applications and management tools to simplify configuration deployment.

Client applications developed with the AIS Web Development Suite are 100 percent pure Java. Instead of accomplishing this through a proprietary solution or a two-tiered JDBC driver, the suite removes all database code from the client by providing CORBA-compliant object interfaces that expose simple methods to perform database operations transparently . These client components communicate with a pure Java Object Request Broker (ORB) via IIOP with optional encryption of all data (not just passwords). All code that interfaces with the database is in the server-side implementations of the CORBA objects.

The AIS Web Development Suite builds on the generic ORB core provided with JavaIDL to provide a simple means of developing and deploying CORBA-based applications. The suite includes a set of extensible components that work together to satisfy requests in a secure environment, including an ORB Listener/Locator, an Object Factory, a Database Interface, and optionally , an Implementation Repository and RSA Encryption Interface.

The ORB Listener/Locator accepts client requests and routes them based on information stored in the Implementation Repository. This information includes the host name or address, port number, and Object Factory class name of the implementation. To access objects on remote nodes, the Locator service uses a client proxy to obtain the object reference and return it to the client. In this case, an exception is raised to inform the client of the location of the ORB in which the object is bound. If the Implementation Repository is not used, the Locator attempts to create an instance of the object by using the default Object Factory supplied with the product. Optionally, you can configure the Listener to authenticate users, in which case you must use the RSA Encryption Interface.

Page 1112

Architecture Building Blocks

As mentioned previously, the Implementation Repository contains all the information required to locate an object's implementation and determine the required level of security. You can store this information in a database or an encrypted file. To support multinode configurations, you can use the optional Repository Replication service to communicate configuration changes to other ORBs.

The Object Factory is responsible for creating the actual instance of the object implementation. You can use and customize additional Object Factories to provide local access to implementations developed in C++ or other languages.

You use the RSA Encryption Interface to provide the additional security of full data encryption. Although a default implementation is provided, it is a configuration option that you can replace with a third-party or custom-developed public or private key algorithm.

You can generate or custom develop object implementations. Object implementations optionally provide an additional level of authentication. Generated implementations are based on database tables and views that encapsulate all methods that operate on database objects. (The code generated by the AIS Web Development Suite is discussed in greater detail later in this chapter.)

The Database Interface is a high-level API that supports SQL queries and procedural transactions. This interface requires database authentication (which may be the only authentication required in secure intranet environments). You can use this interface to access Oracle databases through a native interface or other databases through a JDBC interface. The native Oracle interface is designed to simplify development and provide improved performance by enabling you to handle most of the data manipulation automatically in the C/C++ library. This OCI interface is the only component of the suite that is not pure Java. Note that a persistent connection is maintained for each client to provide a consistent environment that supports pessimistic locking, complex transactions, and other RDBMS features that require persistent state information.

The multithreaded design of the server is intended to provide a fail-safe environment in the smallest footprint possible. You can run multiple servers on the same machine or distribute them across the network to provide improved performance and fail-over capabilities.

Features of the Architecture

The architecture described in this section ensures that components and applications built with the AIS Web Development Suite have the following features:

  • Portability: Pure Java client and server components built with the AIS Web Development Suite realize the full benefit of the Java write once, run everywhere strategy.
  • Scalability: Full compliance with the CORBA standard allows clients developed with the AIS Web Development Suite to access any ORB. Server components can be
Previous Table of Contents Next


Oracle Unleashed
Oracle Development Unleashed (3rd Edition)
ISBN: 0672315750
EAN: 2147483647
Year: 1997
Pages: 391

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net