Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

Oracle8i's ORB does the trick

Develop scalable and secure Java CORBA applications with Oracle8i

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Oracle8i features a built-in JVM, an embedded ORB (object request broker) based on OMG's (Object Management Group) CORBA specification, and useful services such as an EJB component model. In this article, we'll look at the Java-based Oracle8i Aurora ORB's distinguishing features and demonstrate how to develop applications with it. OMG's CORBA architecture is the industry's most-deployed distributed component model. Oracle8i's integrated JVM uses the database's session-based architecture to achieve better scalability, so Oracle8i's embedded ORB provides scalability and rich functionality interoperable with other ORBs.

Oracle8i also comes with an EJB container. EJB is simpler from an end user's perspective because of its declarative security and transactional attributes, but a large number of applications still use ORB technology because of its language independence. Oracle8i's ORB and embedded services such as NameService and Security Service make it a powerful component model. The clear ORB interoperability standards also enable the mixing and matching of ORBs from different vendors and languages, as well as support for legacy applications written in non-Java languages. We'll also look at guidelines for interoperability with other ORBs and support for C++ clients. So, if you are a Java developer wanting to develop large-scale distributed and scalable applications, this article is for you.

Note: From this point on, I'll refer to the Oracle8i ORB as Aurora ORB, Oracle's code name for its ORB product. The ORB features listed will be part of Oracle's 8.1.6 release, which will support both JDK 1.1 and JDK 1.2.

FIGURE 1. The big picture



Features of Aurora ORB

Oracle 8.1.6's Aurora ORB, based on Inprise's vbroker Java code base, complies with OMG CORBA 2.0 specifications (with one exception: it supports GIOP 1.0 but not GIOP 1.1). Aurora ORB's current version supports BOA (Basic Object Adapter) but not POA (Portable Object Adapter). Nearly all applications access a database at some point. Since Aurora ORB runs inside the database, it facilitates ORB-server applications' database access by using the default JDBC connections. Details can be found in Oracle JDBC manuals. (See Resources for a link.)

Aurora ORB's features include:

  • The ORB core
  • The COS naming and bootstrapping services
  • Implicit activation of factory objects on first lookup
  • JNDI SPI (Service Provider Interface) for COS naming
  • Strong Security (authentication and authorization) services that do security checks at various levels
  • IIOP/SSL (both server-side and client-side authentication)
  • Session-based IIOP, whereby a single client can access multiple sessions
  • OTS/JTS supporting single resource
  • Interface Repository (beta)
  • Highly scalable server architecture
  • Caffeine (generates IIOP stubs from a Java class without using IDL files)


Developing CORBA applications

Except for small variations in exporting (to a name service) and activating objects, writing an application for CORBA is generally the same as for almost any ORB, including Aurora ORB. However, there is one clear difference in Aurora ORB: because its server code runs in the database, you need to load the Java classes to the database, as explained below. Let's take a step-by-step look at how to write a CORBA application with Aurora ORB:

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources