Presentation is loading. Please wait.

Presentation is loading. Please wait.

J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.

Similar presentations


Presentation on theme: "J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento."— Presentation transcript:

1 J0 1 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Roles EJB Roles

2 J0 2 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento MAIN ROLES: Enterprise Bean Provider The Enterprise Bean Provider is typically an application domain expert. The Bean Provider develops reusable enterprise beans that typically implement business tasks or business entities. The Bean Provider is not required to be an expert at system-level programming. Therefore, the Bean Provider usually does not program transactions, concurrency, security, distribution, or other services into the enterprise Beans. The Bean Provider relies on the EJB Container for these services. A Bean Provider of multiple enterprise beans often performs the EJB Role of the Application Assembler.

3 J0 3 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento MAIN ROLES: Application Assembler The Application Assembler is a domain expert who composes applications that use enterprise Beans. The Application Assembler works with the enterprise Beans deployment descriptor and the enterprise Beans client-view contract. Although the Assembler must be familiar with the functionality provided by the enterprise Beans home and component interfaces, he or she does not need to have any knowledge of the enterprise Beans implementation.

4 J0 4 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento MAIN ROLES: Deployer The Deployer is an expert at a specific operational environment and is responsible for the deployment of enterprise Beans. The Deployer takes one or more ejb-jar files produced by a Bean Provider or Application Assembler and deploys the enterprise beans contained in the ejb-jar files in a specific operational environment. The Deployer must resolve all the external dependencies declared by the Bean Provider, and must follow the application assembly instructions defined by the Application Assembler. To perform his or her role, the Deployer uses tools provided by the EJB Container Provider. The Deployers output are enterprise beans (or an assembled application that includes enterprise beans) that have been customized for the target operational environment, and that are deployed in a specific EJB Container.

5 J0 5 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento AUXILIARY ROLES: EJB Server Provider The EJB Server Provider is a specialist in the area of distributed transaction management, distributed objects, and other lower-level system-level services. A typical EJB Server Provider is an OS vendor, middleware vendor, or database vendor. The current EJB architecture assumes that the EJB Server Provider and the EJB Container Provider roles are the same vendor. Therefore, it does not define any interface requirements for the EJB Server Provider.

6 J0 6 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento AUXILIARY ROLES: Container Provider The Container Provider provides: The deployment tools for the deployment of enterprise beans. The runtime support for the deployed enterprise bean instances. The Container Provider insulates the enterprise Bean from the specifics of an underlying EJB Server by providing a simple, standard API between the enterprise Bean and the container. This API is the Enterprise JavaBeans component contract. The Container Provider typically provides: support for versioning the installed enterprise Bean components. tools that allow the system administrator to monitor and manage the container and the Beans running in the container at runtime.

7 J0 7 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento AUXILIARY ROLES: System Administrator The System Administrator is responsible for the configuration and administration of the enterprises computing and networking infrastructure that includes the EJB Server and Container. The System Administrator is also responsible for overseeing the well-being of the deployed enterprise beans applications at runtime. The EJB architecture does not define the contracts for system management and administration. The System Administrator typically uses runtime monitoring and management tools provided by the EJB Server and Container Providers to accomplish these tasks.

8 J0 8 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento ROLES: Overall view Image taken from Mastering EJ2B

9 J0 9 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Co-tech Collaborating technologies

10 J0 10 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento ROLES: Overall view Image taken from Mastering EJ2B Typical Architectural View

11 J0 11 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Collaborating technologies (Co-tech): the core Enterprise JavaBeans (EJB) EJB defines how server-side components are written and provides a standard contract between components and the application servers that manage them. EJB is the cornerstone for J2EE and uses several other J2EE technologies. Java Remote Method Invocation (RMI) and RMI-IIOP RMI is the Java languages native way to communicate between distributed objects, such as two different objects running on different machines. RMI-IIOP is an extension of RMI that can be used for CORBA integration. RMI-IIOP is the official API that we use in J2EE (not RMI).

12 J0 12 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Co-tech: interface for Web clients Java Servlets. Servlets are networked components that you can use to extend the functionality of a Web server. Servlets are request/response oriented in that they take requests from some client host (such as a Web browser) and issue a response back to that host. Java Pages (JSPs). JSPs are dual to servlets: Servlets embed HTML into Java code, while JSP scripts embed Java code into HTML pages. Especially when using JSP Custom Tags, JSP pages can be easily written and maintained by non-Java savvy staff members You would use JSP when you want the look and feel of your deployment to be physically separate and easily maintainable from the rest of your deployment.

13 J0 13 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Co-tech: interface for non-Web clients Java IDL. Java IDL is Sun Microsystems Java-based implementation of CORBA. Java IDL allows for integration with other languages. Java IDL also allows for distributed objects to leverage CORBAs full range of services. J2EE is thus fully compatible with CORBA, completing the Java 2 Platform, Enterprise Edition.

14 J0 14 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Co-tech: access to Back-ends Java Database Connectivity (JDBC). JDBC is an API for accessing relational databases. The value of JDBC is that you can access any relational database using the same API. Java Transaction API (JTA) Java Transaction Service (JTS). The JTA and JTS specifications allow for components to be bolstered with reliable transaction support.

15 J0 15 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Co-Tech: access to legacy/proprietary systems J2EE Connector Architecture (JCA). Connectors allow you to access existing enterprise information systems from a J2EE deployment. This could include any existing system, such as a mainframe systems running highend transactions (such as those deployed with IBMs CICS or BEAs TUXEDO), Enterprise Resource Planning (ERP) systems, or your own proprietary systems. Connectors are useful because they automatically manage the details of middleware navigation to existing systems, such as handling transaction and security concerns. Another value of the JCA is that you can write a driver to access an existing system once, and then deploy that driver into any J2EE- compliant server.

16 J0 16 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Co-Tech: general communication Java Messaging Service (JMS). JMS allows for your J2EE deployment to communicate using messaging. You can use messaging to communicate within your J2EE system as well as outside your J2EE system. For example, you can connect to existing message-oriented middleware (MOM) systems such as IBM MQSeries or Microsoft Message Queue (MSMQ). Messaging is an alternative paradigm to RMI-IIOP, and has its advantages and disadvantages. JavaMail. The JavaMail service allows you to send email messages in a platform-independent, protocol-independent manner from your Java programs. Note that JavaMail depends on the JavaBeans Activation Framework (JAF), which makes JAF part of J2EE as well.

17 J0 17 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Co-tech: general services Java Naming and Directory Interface (JNDI). JNDI is used to access naming and directory systems. You use JNDI from your application code for a variety of purposes, such as connecting to EJB components or other resources across the network, or accessing user data stored in a naming service such as LDAP, Microsoft Exchange or Lotus Notes. The Java Authentication and Authorization Service (JAAS). JAAS is a standard API for performing security- related operations in J2EE. Conceptually, JAAS also enables you to plug in a security system to a J2EE deployment.

18 J0 18 Marco Ronchetti - ronchet@dit.unitn.it ronchet@dit.unitn.it Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento Collaborating technologies: XML The Java API for XML Parsing (JAXP). There are many applications of XML in a J2EE deployment. For example, you might need to parse XML if you are performing B2B interactions (such as through Web services), if you are accessing legacy systems and mapping data to and from XML, or if you are persisting XML documents to a database. JAXP is the de facto standard API for parsing XML documents in a J2EE deployment and is an implementation- neutral interface to XML parsers (SAX, DOM…).


Download ppt "J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento."

Similar presentations


Ads by Google