Internet Inter-ORB Protocol (IIOP) is a protocol that enables distributed programs located anywhere in the Internet to communicate with each other. It is an interoperability protocol that supports heterogeneous environments. IIOP offers possible communication between applications regardless of the platform and programming elements used in their development.
IIOP is an element of Object Management Group's (OMG) standard architecture called CORBA (Common Object Request Broker Architecture). It is a TCP/IP-based protocol and a GIOP mapping that provides standard communication methods between ORBs. ORB (Object Request Broker) is a communication mediator used by CORBA during requests and data interchange between clients and servers.
CORBA/IIOP is a solution to the complexity that web applications are now becoming. Before, protocols are specifically developed on the basis of applications to allow compatibility in communication. But with CORBA/IIOP, communication is possible between diverse application platforms.
IIOP technology is an element of Internet applications allowing communication between distributed applications.
Remote Method Invocation (RMI)
Remote Method Invocation (RMI) is a Java technology distributed computing that allows a remote object to call and execute another remote object from different virtual machines within a network. Through an object's reference or address, an object can be called by another remote object as if they reside in the same machine. This method is possible between clients and servers in which either can be a client that calls an object of the other.
RMI allows connection to systems using JNI (Java Native Interface), and to relational database using JDBC package (Java Data Base Connectivity) (java.sun.com). RMI is flexible in communicating in non-Java languages through the combination of RMI/JNI and RMI/JDBC (java.sun.com). Utilizing objects is the best advantage of RMI. It makes use of many capabilities mobile distributed objects can offer.
RMI technology, according to Sundan Rajar, is appropriate to "...applications which require a client to an application residing on another machine."
CORBA/Java Interface Definition Language (IDL)
Java IDL is a web technology that allows communication between distributed objects within a network regardless of their platforms. Like RMI (Remote Method Invocation), Java IDL supports distributed objects (What is Java IDL? java.sun.com). The difference between the two interface is that RMI supports only those objects written in Java, while IDL supports objects written in any programming language (What is Java IDL? java.sun.com).
Through RMI, Java IDL, Java ORB, and IIOP, CORBA works with Java. To further explain Java IDL and its relation to CORBA, the following paragraph is stated in Java's web site with page entitled What is Java IDL?, and located at http://java.sun.com/docs/books/tutorial/idl/intro/intro.html
This is possible because Java IDL is based on the Common Object Request Brokerage Architecture (CORBA), an industry-standard distributed object model. A key feature of CORBA is IDL, a language-neutral Interface Definition Language. Each language that supports CORBA has its own IDL mapping -- and as its name implies, Java IDL supports the mapping for Java. CORBA and the IDL mappings are the work of an industry consortium known as the OMG, or Object Management Group. Sun is a founding member of the OMG, and the Java IDL team has played an active role in defining the IDL-to-Java mapping.
To allow communication between a Java IDL application and a CORBA application, an ORB (Object Request Broker), which is a component of Java IDL, is used.
Java IDL technology is appropriate for applications written in Java and whose interfaces are based on CORBA.
Java Servlets are programs used in the enhancement and extension of web servers. They are Java programs on the server side. Java Servlets provides extension of the capabilities of a web server.
Current extension mechanisms for servers are dependent to servers and the platforms used. Java Sevlets, on the other hand, are free and independent to such elements. They provide the development of web applications without the limitations of elements such as Apaches and Network Sever APIs. Java Servlets are components that are downloadable and can be integrated to web applications and servers
The Java Servlet API is the counterpart of ASP and CGI technologies. Further, from java.sun.com (web site of Java), a characteristic of Servlets is stated as Servlets have access to the entire family of Java APIs, including the JDBC API to access enterprise databases. Servlets can also access a library of HTTP-specific calls and receive all the benefits of the mature Java language, including portability, performance, reusability, and crash protection.
Java Server Pages (JSP)
Java Server Pages (JSP) is a web technology that allows easy development and maintenance of web pages. It is a useful medium in developing dynamic web applications because of its capability of separating the contents of a page from the user interface. JSP does this through the use of Servlets that are server-based small programs. With JSP, developers are able to change the entire appearance and design of a web page or application without changing the contents.
JSP is a member of the Java family developed by Sun Microsystems. It is platform independent and is the counterpart of ASP (Active Server Pages) that was developed by Microsoft. While ASP uses a script interpreter to execute the scripts it contains, JSP uses Java programs residing in a web server (What Is.Com).
JSP handles the generation of the contents of a web application through an XML-like language. This method that can be accessed from the server which contains the logic in generating the contents. Through the separation of the process of contents generation from the process of page design, the development of web-based applications becomes easier. Java's website states its goal why JSP was developed.
Sun has made the JSP specification freely available to the development community, with the goal that every Web server and application server will support the JSP interface. JSP pages share the "Write Once, Run Anywhere" characteristics of Java technology.
Java Server Pages technology is appropriate for all web applications that may require dynamic pages.
With the introduction of Java, applets are small programs that are integrated with many web applications. It is almost similar to servlets only that servlets are on the server side while applets can be in either client or server side.
An Applet is a separate program or function that does a specific task such as computations, animations, or any interactive tasks. Java applets are usually used in web pages that are sent to users (What Is.Com). They are customized or built-in object-oriented programs that can be called from an HTML page.
Applet technology is appropriate in all web applications to provide ease in technical maintenance because of its usually small-sized codes, and to provide reusability of codes.
Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC) is an Application Program Interface (API) and Java tool that provides connection to a database regardless of its format, whether spreadsheets, tabular, or flat files. With the library of routines of JDBC, it is able to connect and be used easily as an interface in connection with other database.
JDBC's function of interfacing with a wide range of database is similar to that of Microsoft's Open Database Connectivity (ODBC). Being a part of the Java family, the object libraries of JDBC are developed using Java.
JDBC accesses a database by sending an SQL request to the program that handles the database.
The results of the request are passed back to another JDBC interface. JDBC is also capable of using an ODBC interface to connect to a database. This is made possible with the use of an ODBC Bridge. For instance, a java program using JDBC can access a Microsoft database such as Microsoft Access.
JDBC accesses a database by addressing it almost similar to a URL or web page address. For intance, a database can be addressed by a Java SQL statement as jdbc:odbc:/ / www.javaexample.com:700/sampledbase
JDBC also has an interface from the JDBC manager. This interface communicates with the drivers of other database product and to the JDBC drivers as well.
JDBC is appropriate in web applications that require connectivity in diverse database formats.
Sockets are end-to-end communication points in a connection between a client and server program within a network. It is used by the client and the server in reading and writing data.
Socket communication has 2 classes, the connection oriented and the connectionless. The TCP (Transmission Control Protocol), and the UDP (User Datagram Protocol) are 2 protocols used by TCP/IP in supporting connection oriented and connectionless types.
Sockets programming is appropriate in all client/server network models.
Java Client/Server Computing
Client/Server computing is a communication between two programs in which a client program makes a request to the server program. Client/Server architecture may also be used within one computer but its idea is more applicable within a number of computers connected within a network.
The Client/Server model is the most popular method of computing in various industries today. It provides a convenient way of communicating data between computers located in different locations. The web applications that currently exist in diverse networks apply the Client/Server model.…