Runtime architecture
At a logical design level, Social Program Management applications are platform independent. The concrete realization of an Social Program Management application must be deployed in a real world environment.
As already mentioned, business objects can be deployed in various ways. The online client/server environment is one of the more important (and complex) ways. Online applications follow the Java EE architecture, which is a modern n-tier architecture with separate Presentation, Application, and Persistence tiers. This logical three-tier architecture has become the standard for developing client/server applications. Separating presentation, application logic, and persistent storage allows the different concerns of these tiers to be considered in relative isolation and promotes easier design. Social Program Management simplifies this concept even further by hiding much of the complexity of n-tier application development.
The relationship to Java EE architecture
Consider the Java Enterprise Edition (J2EE) architectural layers, as described in the Distributed Multitiered Applications topic in the Jave EE 5 Tutorial.
For more information about the Distributed Multitiered Applications, see the The Java EE 5 Tutorial .
The IBM Cúram Social Program Management client-side presentation tier consists of HTML and JavaScript user interfaces that are rendered by a standard browser program on the user's desktop. Only HTML and JavaScript user interfaces are directly supported with client generation tools. Other types of clients can also be developed by using generated Server Access Beans to connect to the server.
At run time, the HTML user interface is generated by a server-side presentation layer that consists of JavaServer Pages. Browser clients communicate with this layer over HTTP, typically encrypted with SSL for security reasons.
The server-side presentation layer communicates with the server-side business logic through the RMI-IIOP protocol. Typically, business objects are presented in the business logic tier as Session EJBs although they can also be simple Java RMI objects for the simpler deployment option that is often used during application development. In summary, business objects are plain Java objects. Any required middleware connections are generated when the application is built.
The back end of the IBM Cúram Social Program Management architecture is a relational database plus other enterprise and legacy applications. Again, the middleware plumbing that is required to communicate with the EIS is generated.
Summary of Java Technologies used
A summary of the Java Technologies used by Social Program Management.
- EJB Enterprise Java Beans
- Social Program Management uses Enterprise Java Beans for its server component model.
- Java Servlets
- Java Servlets are used by the presentation tier.
- JSP Java Server Pages
- Java Server Pages are used to generate the user interface.
- JTA Java Transaction API
- Java Transaction API is used for starting and committing transactions.
- JDBC Java Database Connectivity
- Java Database Connectivity is used for the middleware to communicate with the application database.
- JMS Java Message Service
- Java Message Service is used for deferred processing and workflow within Social Program Management.
- JNDI Java Naming and Directory Interface
- Java Naming and Directory Interface is used in Social Program Management both for application initialization-time lookup of Data Sources and Queues as well as to locate Enterprise Java Beans from the Presentation Tier.
- RMI-IIOP Remote Method Invocation
- Remote Method Invocation over IIOP is used as the communications protocol between the presentation and application tiers.