Home | Articles

WebLogic Interview:
Writing Robust and Reliable Java Enterprise Programs

By Monica Pawlan
December 1997

Designing enterprise-wide distributed Java applications has never been easier or more reliable since WebLogic of San Francisco unveiled its new Java application server, Tengah. Named for the central region on the Island of Java, Tengah is coded entirely in the Java language and completely to Java industry standards.

Tengah is a unified and integrated implementation of JavaSoft enterprise and distributed application programming interfaces (APIs). It gives you a complete, reliable platform for the development, deployment, and management of robust Java enterprise programs.

Now you can focus on innovative business solutions and rely on Tengah to provide the server-side functionality. With Tengah, your applications run reliably in networks of heterogeneous hardware, software, operating system, and database configurations with no low-level programming on your part. Building the network infrastructure for an application can easily be 75 percent of your programming effort. Tengah gives you that infrastructure off the shelf.

For example, a client application can send a Structured Query Language (SQL) request through Tengah to a database management system (DBMS), and the DBMS sends its reply back to the client through Tengah. The type of DBMS, and operating system and hardware platform where the DBMS resides are of no consequence to the client. Even more importantly, all processing associated with the DBMS can be moved to the server, enhancing DBMS security and minimizing the results that need to be sent back to the client.

Tengah includes a management console for remotely monitoring and managing the overall Tengah configuration. Objects to be managed (such as databases, connections, or configurations) and their property information are easily added to the console.

Why Java?

The Java language, Java class libraries, and Java1 Virtual Machine (JVM) provide an excellent platform on which to build a Java application server like Tengah. The language has a well thought out class structure making it easy to add new features that propagate through the system. The JVM loads code dynamically from classes enabling client applications to receive code to be executed from the server without shared object libraries. The java.lang.Thread class and absence of pointers in the Java language enable isolated and platform-independent threads of execution without extra coding.

Value Added

Tengah builds on the many advantages inherent in the Java platform by implementing a full range of reliable, server-side, and Java-compliant functionality for the enterprise:

The next section highlights how some of the server-side functionality is designed and implemented. Not all the items listed are covered here.

Performance Tuning

Database connections are fast because connections can be pooled in memory at startup.

The event manager lets you write applications that update in real time without polling or camping. In addition, Tengah provides publish-and-subscribe capabilities with server-side filtering and actions to reduce network and subscriber load.

All client service requests are multiplexed across single connections, and client and server connections are persistent throughout a session.

Tengah's remote method invocation (RMI) implementation uses a single multiplexed, bidirectional connection for optimal performance and scaling.

Security

Server-side business logic is encapsulated into secure, transactional components. Tengah provides optional encryption and authentication features based on the Internet standard Secured Sockets Layer (SSL), X.509 certificates, and access control lists (ACLs). Tengah supports tunneling through Hypertext Transfer Protocol (HTTP) and Internet InterORB Protocol (IIOP) to facilitate applications that must cross a firewall.

Distributed Objects and File Systems

Implementations of JavaSoft remote method invocation (RMI) APIs enable platform-independent, scalable distributed applications.

RMI lets an application invoke methods on objects in any remote Java Virtual Machine as if those objects exist locally. Business objects like customer and account can be passed over the network as arguments to method calls. Tengah has optimized the implementation of RMI for high-performance and socket-sharing across multiple objects.

You can also use the standard Java file system APIs to access files and directories on multiple platforms.

Database Connectivity

Tengah's multitiered Java Database Connectivity (JDBC) implementation allows Java programs to access multiple databases. Tengah supports DBMS security and transactions, and enhances performance with server-side data caching and pooled database connections. Tengah includes WebLogic's high-performance native JDBC drivers for leading DBMS products and works with any third-party JDBC driver.

Dynamic Application Partitioning

Tengah's Enterprise JavaBeans make it easy to encapsulate server-side business logic as secure, transactional components, while Tengah's Distributed JavaBeans allow any off-the-shelf JavaBean to be partitioned into a client and server.

Timing Services

Tengah timing services ensure that all clients have a unified view of time in the network. The implementation automatically accounts for communication delays and local time differences.

© 1994-2005 Sun Microsystems, Inc.