Jonas Presentation
Total Page:16
File Type:pdf, Size:1020Kb
Java Open Application Server The Objectweb J2EE Platform JOnAS 4 Preview Third ObjectWeb Consortium Conference, 20-21 November 2003 François Exertier [email protected] www.objectweb.org J2EE Architecture Browser WEB Container http Servlets html JSPs JDBC JMS JTA Applets rmi JCA DB rmi JAAS EJBs JavaMail rmi JNDI public static void EIS main(…) { … EJB Container Client Container Java Application J2EE Application Server www.objectweb.org (JOnAS) - D2 - 20/11/2003 JOnAS Introduction & Current Status www.objectweb.org JOnAS: Availability and Requirements !Available at: –jonas.objectweb.org " tgz or exe (windows installer) packages: #JOnAS binary or source #JOnAS-Tomcat-Axis #JOnAS-Jetty-Axis !Requirements # jdk1.3, jdk 1.4 (Sun, IBM, BEA JVMs) !Supported Environments # Operating Systems : – Solaris, AIX, Windows, Linux, HP-UX, etc. # Databases : – PostgreSQL, MySQL, Oracle, SQL Server, DB2, Access, Objectstore, Interbase, InstantDB, Sybase, Informix, Versant, etc. www.objectweb.org (JOnAS) - D4 - 20/11/2003 JOnAS as an ObjectWeb Integration Platform ObjectWeb Project Version in Used for JOnAS 3.3 CAROL 1.5.5 Communication protocol "switcher" and clustering EJB JONATHAN 3.0 Jeremie as optimized RMI JORAM 3.6.2 JMS Implementation JORM 2.1 CMP 2.0 impl. MEDOR 1.2.6 CMP 2.0 impl. (EJB-QL) JOTM soon Transaction Manager Monolog 1.6.3 Logging Wrapper C-JDBC Database Clustering SPEEDO 0.9.7.5 JDO impl. (+ connector) www.objectweb.org (JOnAS) - D5 - 20/11/2003 JOnAS also uses Apache Components Apache Project Version in Used for JOnAS 3.3 APACHE 2 HTTP server/clustering ANT 1.5.4 Build tool AXIS 1.1 Web Services engine Digester (*) 1.5 XML parsing Log4j 1.2.8 Logging mod_jk HTTP Clustering STRUTS 1.0.2 JonasAdmin console Tomcat 4.1.27 Web container Velocity 1.2 Template based code generation (GenIC, Newbean) Xalan 2.5.1 HTML formatting of On-line doc and tests results Xerces 2.5.0 XML parsing (*) and related commons packages: beanutils, collections, logging, modeler www.objectweb.org (JOnAS) - D6 - 20/11/2003 JOnAS Features [1/3] !J2EE "Web and EJB containers # EJB 2.0 support – entity beans (BMP, CMP), session beans, with local/remote interfaces, message-driven beans – security (EJB permissions) – Transactions (JTA 1.0, 2-phase commit) # Servlet/JSP support through Tomcat or Jetty "All J2EE services available: JDBC, JMS (JORAM, SwiftMQ, MQSeries), JavaMail, Transaction, Security, … "EAR files deployment: using the JOnAS Ear service, at configuration time or at runtime (admin tools) "J2EE environment: “java:comp/env” for both Web and EJB components, and for Java Clients "J2EE Connector architecture support #possibility to deploy J2EE CA compliant Resource Adapters www.objectweb.org (JOnAS) - D7 - 20/11/2003 JOnAS Features [2/3] !JMX based management " + Web GUI (Struts) !Web services "AXIS integration "Web Services Endpoints and Clients deployment !Clustering "At HTTP (Web) and RMI (EJB) levels !JOnAS Services "possibility to launch services required by a J2EE application "Most of the components of the JOnAS server are pre-defined JOnAS services (TM, JMS, JMX, ...) "User defined services !Scalability/Optimizations "Pooling: connections (JDBC, JMS, J2EE CA, …), instances (any kind of EJBs), threads, JDBC PreparedStatements … "Activation/Passivation "Data access optimizations (cache, shared, isModified, prefetching) "Communication optimization (Jeremie, …) www.objectweb.org (JOnAS) - D8 - 20/11/2003 JOnAS Features [3/3] !Interoperability "Through Web Services "Between Application servers (RMI/IIOP) "With CORBA !Multi-protocol support "Through CAROL ObjectWeb project: RMI/JRMP, RMI/IIOP, JEREMIE, CMI !Enhanced configuration and deployment facilities "ejb-jars, wars, ears directories (autoload directories) "Deployment from the admin console or automatic "JONAS_BASE: possibility to define several application environments (for configuration and deployment) !Security "EJB permissions management "JAAS LoginModules support "Certificate based authentification "Users/Roles repository: file, Db, LDAP !JDO www.objectweb.org (JOnAS) - D9 - 20/11/2003 JOnAS Architecture HTML Clients Appli.ear RMI Clients Apache P T T H EJB Container WEB Container EJBs JSPs Servlets on i ail JCA EAR EJB Database Messaging Security JavaM Transaction HooX Management Web Services Communicat Web Container DB JDBC Calls JORAM JOTM Tomcat / JORM AXIS CAROL/Jonathan Services Jetty / MEDOR JOnAS J2EE Server GCOS www.objectweb.org (JOnAS) - D10 - 20/11/2003 JOnAS 4 J2EE 1.4 www.objectweb.org JOnAS 4: Web Services J2EE 1.4/JSR 109 compliance: Web Services Endpoints and Web Services Clients Deployement EJB Container WEB Container EJBs JSPs Servlets ail EAR EJB Database Messaging Security J2EE CA JavaM Transaction Management Web Services Communication Web Container Services JOnAS J2EE Server www.objectweb.org (JOnAS) - D12 - 20/11/2003 Web Services Support [1/2] ! J2EE 1.4 Requirements: Web Services deployment integrated in the JOnAS deployment tools "Web Services Endpoints # « EJB session stateless » or « JAX-RPC class in the Web container » may be exposed as a Web Service "Web Services clients #Any J2EE component (Servlet/JSP/EJB) may access external Web Services ! AXIS based implementation "AxisServlet in JOnAS Web Container for providing Web Services Endpoints "Axis deployment/generation tools used by JOnAS #Use of WSDL2Java for generating Client stubs #Use of Axis configuration files (server-config.wsdd, client- config.wsdd), will be generated in JOnAS 4 "A JOnAS service (« Web Services ») for running AXIS webapp and necessary tools !Next: Integration of a WS registry (UDDI) www.objectweb.org (JOnAS) - D13 - 20/11/2003 Web Services Support [2/2] Web Service Web Service Client Provider SOAP/HTTP SOAP/HTTP Generated by Axis WSDL2Java Stubs AxisServlet (AxisEngine) EJB as (AxisEngine) a WS client EJB EJB JAX-RPC Stateless class Session WEB Container EJB Container JOnAS J2EE Server www.objectweb.org (JOnAS) - D14 - 20/11/2003 JOnAS 4: EJB 2.1 J2EE 1.4/EJB 2.1 Support: MDB Enhancements, Timer, … EJB Container WEB Container EJBs JSPs Servlets ail EAR EJB J2EE CA Database Messaging Security JavaM Transaction Management Web Services Communication Web Container Services JOnAS J2EE Server www.objectweb.org (JOnAS) - D15 - 20/11/2003 EJB 2.1 !Timer Service: A scheduler for EJB components !MDB support for any Messaging System (JMS, SMTP, JAXM, …), may use the EJB Timer Service !EJB-QL enhancements (ORDER BY, aggregate functions, …) www.objectweb.org (JOnAS) - D16 - 20/11/2003 JOnAS 4: Servlet 2.4 / JSP 2.0 J2EE 1.4 -> Servlet2.4 / JSP 2.0: Tomcat 5 EJB Container WEB Container EJBs JSPs Servlets ail EAR EJB Database J2EECA Messaging Security JavaM Transaction Management Web Services Communication Web Container Services JOnAS J2EE Server www.objectweb.org (JOnAS) - D17 - 20/11/2003 JOnAS 4: Connector 1.5 J2EE 1.4/ Connector 1.5 Support: Asynchronous Resource Adapters EJB Container WEB Container EJBs JSPs Servlets ail EAR EJB Database Messaging Security JavaM J2EE CA Transaction Management Web Services Communication Web Container Services JOnAS J2EE Server www.objectweb.org (JOnAS) - D18 - 20/11/2003 J2EE CA 1.5 !Asynchronous communication "Messages can be delivered to MDBs through the Resource Adapter (RA), "The RA is the new and standard way to plug a messaging provider implementation (JMS, SMTP or JAXM) "A RA for JORAM will be provided !Imported transactions from the EIS may be propagated into the application server !Resource Adapters may do « works » by submitting « work instances » to the application server (the application server allocates threads for doing the work, since it is its job to perform threads pooling) www.objectweb.org (JOnAS) - D19 - 20/11/2003 JOnAS 4: Management J2EE 1.4/JSR 77 Compliance: Management Model, MEJB EJB Container WEB Container EJBs JSPs Servlets ail EAR EJB Database Messaging Security J2EE CA JavaM Transaction Management Web Services Communication Web Container Services JOnAS J2EE Server www.objectweb.org (JOnAS) - D20 - 20/11/2003 J2EE 1.4 Mgt Model SessionBean EJEJBB SessionBean StatelessSessionBeanStatelessSessionBean EntityBean ResourceAdapterResourceAdapter EntityBean StatefulSessionBeanStatefulSessionBean MessageDrivenBean ServletServlet MessageDrivenBean JDBCDatasourceJDBCDatasource J2EJ2EEEMMooduledule EJEJBMoBModduleule JDBCDriverJDBCDriver J2EJ2EEEAApppplicationlication WebModuleWebModule J2EJ2EEEDDeployedObjecteployedObject JCAResourceJCAResource AppClientModuleAppClientModule J2EEManagedObjectJ2EEManagedObject JTJTAResAResourceource ObjectName: OBJECT_NAME J2EEServerJ2EEServer ResourceAdapterModuleResourceAdapterModule stateManageable: boolean statisticsProvider: boolean J2EJ2EEERResourceesource JDBCResourceJDBCResource eventProvider: boolean J2EJ2EEEDDomainomain JMSJMSRResesourceource JCAManagedConnectionFactoryJCAManagedConnectionFactory JNDIResourceJNDIResource JCAConnectionFactoryJCAConnectionFactory RMIIIOPResourceRMIIIOPResource JVMJVM JavaMailResourceJavaMailResource www.objectweb.org URLResourceURLResource (JOnAS) - D21 - 20/11/2003 www.objectweb.org Communication Messaging JOnAS 4:Security J2EE 1.4/JACC1.0Support EJ JOnAS J2EE Server EJB Bs Transaction EJB Container Security Services EAR J2EE CA Management WEB Container Servlets JSPs Web Container JavaMail Web Services Database (JOnAS) - - D22 20/11/2003 Java Authorization Contract for Containers J2EE Container J2EE Depl Tool (GenIC) Provider Auth. Auth. Configuration query result Policy Decision Subcontract and Enforcement (javax.security.jacc) Subcontract Policy Configuration