Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Java™ 2 Platform, Enterprise Edition (J2EE) Mark Hapner J2EE Lead Architect, Sun Microsystems, Inc. Bill Shannon J2EE Platform Architect, Sun Microsystems, Inc. J1-680, Hapner/Shannon 1 Agenda • The Vision – Why another Java™ 2 Platform? – What is the purpose of J2EE Containers? • The Platform – Why does J2EE focus on deployment? – What exactly is in J2EE? J1-680, Hapner/Shannon 2 A Short History of Java Enterprise Technology J1-680, Hapner/Shannon 3 The Java™ Platform Where Have We Been? Where Are We Going? Year 1 • JDK All Things to Everyone J1-680, Hapner/Shannon Year 2 • JDK “All Things to the Enterprise” • Early Development of Consumer Java • Early Development of “Enterprise” APIs” Year 3 • Micro Edition • Standard Edition • Enterprise Edition 4 Java 2 Platforms Java Technology Enabled Devices J1-680, Hapner/Shannon Java Technology Enabled Desktop Workgroup Server High-End Server 5 Why another Java™ 2 Platform? J1-680, Hapner/Shannon 6 The Global Enterprise D EIS Tier Middle-Tiers Clients J1-680, Hapner/Shannon D D ERP Systems DBMSs Enterprise Services Device 7 Enterprise Services Require • Concurrency (multi user) • Scalability • Administration • Consistency (Transactions) • EIS Integration • Security • Distribution • Availability J1-680, Hapner/Shannon 8 The Java™ 2 Platform, Enterprise Edition • Develop – With the J2EE App Model • Deploy – With the J2EE App unit • Run – On the J2EE Platform J1-680, Hapner/Shannon 9 J2EE Platform J1-680, Hapner/Shannon 10 What is the purpose of J2EE Containers? J1-680, Hapner/Shannon 11 J2EE Platform HTTP/ HTTPS JavaMail JAF JDBC JMS JAF JNDI JavaMail JTA JMS App Client Container App Client JNDI J2SE EJB RMI RMI/IIOP Servlet JSP JDBC HTTP/ HTTPS EJB Container RMI/IIOP Applet Web Container JTA Applet Container J2SE J2SE JDBC RMI/IIOP JMS JNDI RMI J2SE Database J1-680, Hapner/Shannon 12 Containers and Components • The container is the car • The component is the driver • The container is the platform • The component is your application J1-680, Hapner/Shannon 13 J2EE Containers • Containers do their work invisibly – No complicated APIs – They control by interposition • Containers implement J2EE – Look the same to components – Have great freedom to innovate J1-680, Hapner/Shannon 14 J2EE Containers Handle • Concurrency (multi user) • Scalability • Administration • Consistency (Transactions) • Integration • Security • Distribution • Availability J1-680, Hapner/Shannon 15 J2EE Components Handle • Presentation • Business logic • Data access J1-680, Hapner/Shannon 16 Container Perspectives • To a J2EE vendor – It is their product • To a component developer – It is a standard app model • To an app assembler – It is a standard app package • To an executing component – It is god J1-680, Hapner/Shannon 17 Why Does J2EE Focus on Deployment? J1-680, Hapner/Shannon 18 Application Packaging EJB EJB Module EJB 1 1 DD DD Web Client Module 2 APP DD EJB WEB 2 WEB DD DD Application Client Module 3 DD J1-680, Hapner/Shannon 3 Deployment Tool DD 19 Application Life Cycle Creation Created by Component Developer Assembly Assembled J2EE Modules and Augmented by Application Assembler Deployment J2EE APP Processed by Deployer Deploy J2EE Container Enterprise Components J1-680, Hapner/Shannon 20 The Deployer • Is an expert in the operational environment – Familiar with local security practices – Familiar with local EIS configuration – Familiar with local containers and their apps • Uses J2EE platform product tools J1-680, Hapner/Shannon 21 Deployer’s Responsibility • Configure environment – Set application configuration parameters – Resolve external references • To EJBs • To Resource Factories • To URLs J1-680, Hapner/Shannon 22 Deployer’s Responsibility • Assign Security – – – – J1-680, Hapner/Shannon Map logical roles to user population Set up authorization Choose authentication mechanisms Provide authentication data for resource access 23 Deployment Tools • Provided by the J2EE platform product vendor • Support the operations described earlier • Tools will vary in sophistication – Ease of use – Customization capabilities – Application assembly features J1-680, Hapner/Shannon 24 Deployment Summary • Apps may be written without knowledge of the operational environment • Deployment Descriptor communicates app’s needs • A key interface between application developer and platform J1-680, Hapner/Shannon 25 What Exactly Is in J2EE? J1-680, Hapner/Shannon 26 J2EE API Summary • J2SE 1.2 • JNDI 1.2 • JDBC™ 2.0 • JTA 1.0 • RMI/IIOP 1.0 • JMS 1.0 • EJB 1.1 • JavaMail™ 1.1 • Servlet 2.2 • JAF 1.0 • JSP 1.1 J1-680, Hapner/Shannon 27 J2EE Standards • TCP/IP • HTTP 1.0 • HTML 3.2 • SSL 3.0 • IIOP 1.0 J1-680, Hapner/Shannon 28 The Java™ 2 Platform, Enterprise Edition • Platform Specification – Defines J2EE requirements • Compatibility Test Suite – Validates J2EE platform compatibility • Reference Implementation – Operational J2EE platform • Application Programming Model – Describes how to build J2EE applications J1-680, Hapner/Shannon 29 Status and Schedule • J2EE Platform Spec – Public Draft – Public Release – Final Release June 15 July 1999 December 1999 • J2EE RI & CTS – Beta – FCS September 1999 December 1999 • J2EE APM document – Public Draft – Sample App Beta J1-680, Hapner/Shannon August 1999 August 1999 30 How Have We Done? • What exactly is in J2EE? • Why does J2EE focus on deployment? • What is the purpose of J2EE Containers? • Why another Java™ 2 Platform? J1-680, Hapner/Shannon 31 More Information • http://java.sun.com/j2ee J1-680, Hapner/Shannon 32 J1-680, Hapner/Shannon 33