The Oracle Java Server platform allows a lot of flexibility in terms of application development. Four different types of application developers are supported:
Database programmers. Traditional stored procedures, triggers, and object-relational methods that are generally written with the help of PL/SQL can be written using Java. Any standard development environment such as Visual Café, Oracle JDeveloper, Inprise JBuilder, and so on can be used to develop the Java application. The Java application can be loaded into the database server as a source file or packaged into a Java archive (JAR) file. The loaded file remains in the database as a persistent store in the form of a library unit and can be managed (for security-related matters) just like other database objects. The execution of these loaded Java objects can be supported by the JVM.
Component developers. Reusable server code can be written in the form of Enterprise Java Beans (EJBs), which can be supported by the JVM in the database or by the Java cartridge in the Oracle iAS. The EJBs can be deployed in a two-tier or a multi-tier configuration and support various types of clients, such as the following:
Pure Java clients communicating with the database using RMI (Remote Method Invocation) tunneled over IIOP (Internet Inter-ORB Protocol).
CORBA clients using CORBA IIOP.
ActiveX/COM clients communicating via DCOM/CORBA half bridge.
EJB clients and servers communicate using the RMI (Remote Method Invocation) type system, which is more flexible than the SQL type system.
Distributed application developers. CORBA servers can be written in Java. Oracle9i provides a CORBA-compliant Object Request Broker (ORB) that allows applications to access Java stored procedures and EJBs through the IIOP protocol. Java applications can also be written to call out of the database and communicate with other ORBs through IIOP. Use of CORBA servers allows the integration of applications in many different languages and distribution of these applications on different servers. CORBA clients and servers communicate using the IDL (Interface Development Language) type system which is more flexible than the SQL type system.
Web developers. Java server pages can be used to embed Java tags in HTML pages. These Java tags allow the generation of dynamic HTML pages using data that's queried from the database.