Middleware is computer software that connects software components or application. There are different middleware technologies such as Java EE, JDBC, JMS, RPC, RMI, EJB ,Entity bean, Message bean, Session bean. In this part-I we will see middleware technologies such as Java EE, JDBC, JMS, RPC, RMI. Let us start with Java EE-
1) Java EE– Java EE stands for Java Platform, Enterprise Edition. It is used for server programming and as the name suggest, language used is Java. Earlier it was known as J2EE(Java 2 Platform, Enterprise Edition). It provides various functionality such as fault-tolerent, distributed, multi-tier java software, through its own defined libraries. Java EE application server can handle transaction, security, scalability, concurrency. This helps developer to concentrate on business logic rather than on integration and infrastructure tasks.
Distributed multi-tiered application model is used in Java EE platform. This model is used so that enterprise application can be created easily. Java EE multitier application are generally three tiered divided as-
i) Client machine
ii) Java EE server machine and
iii) Database server machine.
Currently version 6 of Java EE is being used and it is called as Java EE 6.
2) JDBC– It is acronym for Java Data Base Connectivity. It is Java based data access technology. It provides an API to client for accessing database. JDBC also provides method for accessing database, updating and also querying database. Various SQL statement such as CREATE, INSERT, UPDATE and DELETE are provided for updating database. These update statements returns an update count that indicates how many rows were affected in database. JDBC connection are managed via a connection pool. JDBC has four components such as-
i) JDBC API- JDBC API provides access to relational data. It includes Java Standard Edition(Java SE) and Java Enterprise Edition(Java EE). It is divided into two packages as- java.sql and javax.sql.
ii) JDBC Driver Manager- It defines objects which can connect Java application to a JDBC driver.
iii) JDBC Test Suite- This Test Suite helps to determine that JDBC driver will run your program.
iv) JDBC-ODBC Bridge- This bridge helps to provide JDBC access via ODBC driver. To have access it is necessary that on each client machine ODBC binary code needs to be loaded.
3) RPC– RPC stands for Remote Procedure Call. RPC helps programmer to invoke procedure or subroutine on remote computer. To invoke procedure on remote computer, programmer do not have to write any other code but same code is written whether the procedure is remote or local. An important difference between Remote Procedure Call and local call is that RPC can fail due to network problems. In RPC, client sends a request to remote server and server sends response to this request.
4) RMI– RMI stands for Remote Method Invocation. RMI performs object-oriented equivalent of remote procedure call. That means when object oriented principles are used, RPC is called RMI. In RMI a server program creates some remote objects and waits for client to invoke methods on these objects. A client program then invokes methods on these objects by obtaining reference to these objects.
5)JMS– JMS stands for Java Message Service. It is used for sending message between two or more clients. It is messaging standard that allows application component to create, send, read and receive messages. But it is necessary that application components must be based on Java Enterprise Edition. JMS consist of following elements such as-
i) JMS client- It is an application or process that produces or receives message.
ii) JMS producer- JMS client that creates or sends message.
iii)JMS consumer- JMS client that receives message.
iv)JMS message- It is an object that is passed between JMS clients. This object contains data.
v) JMS queue- It is an area that contains message that is sent but are waiting to be read.