Java is
Transcription
Java is
O racl e 9 iAS Te ch nicalO ve rvie w Management & Security e-Business Integration Portals J2EE & Web Services Sandor Nie uw e nh uijs M anh -Kie t Yap 9 iAS EM EA Product M anage m e nt O racl e Corporation Age nda Business Intelligence Wireless Performance & Caching O racl e 9 iA S D e ve l opm e nt Ÿ 9 iAS Te ch nicalPl atform O ve rvie w Ÿ O racl e Containe rs for Java (O C4J) A rch ite cture and supporte d Standard A PIs ;W e b Se rvice s Ÿ Ins tal l ation/Configuration; M anaging th e 9 iAS Environm e nt Ÿ RAS - Re l iabil ity, A vail abil ity and Scal abil ity Web Services J2EE Integration Business Intelligence Portals Wireless Ÿ Pe rform ance , cach ing; Se curity Oracle Corporation 1 O racl e 9 iAS Depl oym e nt Indus try Tre nds Ÿ M iddl e w are Grow ing in Com pl e xity Caching – Incom pl e te offe rings ing Cos t of O w ne rs h ip – Inte gration of com pone nts – Grow Performance Scalability Systems Management Ÿ Appl ications D ifficul t to D e ve l op – Re gre s s ion – Tool s catch Availability Security from 4GLto 3GL ing up Ÿ Appl ications D ifficul t to D e pl oy – Scal abil ity, Re l iabil ity, Manage abil ity Probl ems Ÿ Appl ication Se rve rs Reduce Com pl e xity – Footprint Broade ning Th e M ark e ting Vis ion O racl e 9 i Appl ication Se rve r v2 Major Update Run Your Applications Manage Your Data Ÿ Most Productive Development – – – Ÿ Most Reliable Deployment Open Standards Devices – – – Clients Oracle Corporation Complete J2EE, Web Services Better Portal, Wireless, Integration, Caching New Personalization, Clickstream, BI, Personal Information Management Oracle9i Application Server Oracle9i Database Server Performance, Reliability, Availability, Scalability, Clustering Manageability, Security Ÿ 100% Standards Compliant 2 Tool s & Te ch nol ogy Partne rs Java is... • a language O racl e 9 iAS Arch ite cture Java is... Browser Oracle DB Non-Oracle Wireless Packaged Apps Web Services Oracle Corporation • a language • a runtime architecture • Platform-independent, portable code & bytecode • Focus on networking • Focus on security B2B Apps 3 Java is... • a language • a runtime architecture • a standard • created by SUN • adopted by all: Oracle, IBM, … • now driven by the Java Community Process (jcp.org) • participates in 60+ JSRs Java is... • a language • a runtime architecture • a standard • 3 editions : 3 platforms J2EE Appl ication A rch ite cture Java is... Firewall Client • a language • a runtime architecture • a standard • 3 editions : 3 platforms EJB Container EJB Client Client Client HTTP Client EJB JSP/ Servlet Enterprise Information Systems (EIS): Relational-Database, Legacy Applications, ERP Systems XML J2EE Application Server Client Tier Oracle Corporation RMI / IIOP Other Services: JDBC, JMS, JCA, JavaMail Middle Tier EIS Tier 4 J2EE Appl ication A rch ite cture J2EE Appl ication A rch ite cture J2EE com ponents : appl et J2EE com ponents : Ente rpris e JavaBe ans EJB Container URL in the Browser (J2EE) EJB Spec / Container provides ? remote access Gui ? transactions ? security ? standardized packaging / deployment (-ejb.jar) ? database persistence (entity beans) ? messaging integration (message-driven beans) HTTP HTTP Applet in the Browser Client Tier Middle Tier Employee Employee Database SelfService PayRoll Deployment Descriptor PayRoll Database EIS Tier J2EE Appl ication A rch ite cture EJB: Program m ing M ode l s J2EE com ponents : Se rvl e ts ŸState l e s s Se s s ion Be ans (EJB 1.0) URL in the Browser HTTP HTTP HTML in the Browser Client Tier Oracle Corporation (J2EE) Servlet spec / container provides • session management • declarative security • standardized packaging / deployment (.war) Servlet Java Server Pages Middle Tier EIS Tier ŸState fulSe s s ion Be ans (EJB 1.0) ŸEntity Be ans –Be an M anage d Pe rs is te nce (EJB 1.1) Pe rs is te nce (EJB 1.1/2.0) –Containe r M anage r Re l ations h ips (EJB 2.0) –Containe r M anage d ŸM e s s age D rive n Be ans (EJB 2.0) 5 J2EE Appl ication A rch ite cture J2EE Appl ication A rch ite cture J2EE com ponents : Ente rpris e JavaBe ans J2EE com ponents : Ente rpris e JavaBe ans EJB Types EJB Types Session Beans ? Entity Beans ? Message-driven Beans ? Session Beans Entity Beans ? Message-driven Beans ? ? Server-side objects that expose remote methods and can persist their attributes in a database automatically (CMP) or not (BMP) J2EE Appl ication A rch ite cture J2EE Appl ication A rch ite cture J2EE com ponents : Ente rpris e JavaBe ans J2EE com ponents : Ente rpris e JavaBe ans EJB Types EJB Types public class Session Beans ? Entity Beans ? Message-driven Beans ? ? Server-side objects that expose remote methods: • stateless session beans and keep their session state : • stateful session beans Oracle Corporation EmployeeBean implements EntityBean { Session Beans public Integer employeeId ; ? Entity Beans public String employeeName ; public Adress Beans employeeAddress ; ? Message-driven Server-side objects that expose // some code remote methods and can persist their } attributes in a database automatically (CMP) or not (BMP) 6 J2EE Appl ication A rch ite cture J2EE Appl ication A rch ite cture J2EE com ponents : Ente rpris e JavaBe ans <entity> <description>CMP Entity Bean</description> public class EmployeeBean implements EntityBean-name> <display -name>Employee</display { <ejb-name>Employee</ ejb-name> ? Session Beans public Integer<home>employee. EmpoyeeId ; EmployeeHome </home> ? Entity Beans public String <remote>employee.Employee</remote> EmpoyeeName ; public Adress Beans <ejb-class>employee. EmployeeAddress ; EmployeeBean </ejb-class> ? Message-driven <persistence -type>Container</persistence -type> Server-side objects that expose // some code <primkey -field> employeeId </primkey -field> remote methods and can persist its } <prim -key-class>java.lang.Integer</prim -key-class> <reentrant>False</reentrant> attributes in a database automatically <cmp-field> (CMP) or not (BMP) <field -name> employeeId </field -name> </cmp -field> <cmp-field> <field -name> employeeName </field -name> </cmp -field> <cmp-field> <field -name> employeeAddress </field -name> </cmp -field> </entity> EJB Types J2EE Appl ication A rch ite cture J2EE com ponents : Ente rpris e JavaBe ans J2EE com ponents : Ente rpris e JavaBe ans EJB Types Session Beans Entity Beans ? Message-driven Beans ? ? sends receives EJB: M e s s age D rive n Be ans ŸM D Bs h ave no conve rs ationals tate EJB Types – Session Beans ? Entity Beans ? Message-driven Beans – ? New in EJB 2.0 – Container-managed relations EJB Query Language (EQL) ŸM D Bs are anonym ous – – – – Oracle Corporation Sim il ar to State l e s s Se s s ion Be ans Al lins tance s of m e s s age drive n be ans are ide ntical Any m e s s age drive n be an can s e rvice any re q ue s t M D Bs don’ t h ave a Re m ote Inte rface M D Bs don’ t h ave busine s s m e th ods Cl ie nts can not acce s s th e m using H om e Inte rface s Cl ie nts just s e nd m e s s age s to a q ue ue or topic 7 J2EE Conne ctor A rch ite cture (J2C) EJB: Proce s s ing M e s s age s us ing M D Bs Message Sends Message Destination Queue Receives Client ŸAn arch ite cture to provide a s tandard m e ans for inte grating a J2EE appl ication s e rve r and Ente rpris e Inform ation Sys te m s (EISs ) Message Driven Bean ŸJ2EE Conne ctor Arch ite cture is part of J2EE 1.3 s pe cification Message Driven Bean Pool EJB Container ŸJ2C can be us e d in th e fol l ow ing s ce narios The EJB Container maintains a pool of MDBs that service requests from the Queue –Appl ication to A ppl ication Inte gration (A2A) –Bus ine s s to Bus ine s s Inte gration (B2B) J2EE Appl ication A rch ite cture J2C: Be ne fits J2EE com ponents : J2EE Conne ctor A rch ite cture (J2C) ŸTh e conne ctor arch ite cture re duce s th e inte gration e ffort from an (m *n)probl em to an (m + n)probl e m , w h e re ‘ m ’is th e num be r of appl ication s e rve rs and ‘ n’th e num be r of EISs to be inte grate d. JNDI EJB Container Client Session Bean Entity Bean Connector EIS Session Bean Entity Bean Connector EIS Webserver Servlet JSP ŸJ2C de fine s a s tandard s e t of s y s te m -l e ve l contracts b e tw e e n a J2EE appl ication s e rve r and an EIS. Th e EIS s ide of th e contract is im pl e m e nte d by a re s ource EIS adapte r. EIS AS AS J2C m*n Oracle Corporation m+n 8 Java is... Java is... •specifies the runtime architecture and building blocks for • a language developing and deploying distributed applications • a runtime•standardizes packaging and deployment (.ear), means portability and scalability by design architecture • a standard•documents best practices (J2EE blueprints) so all J2EE application servers are the same ? • J2EE • a language • a runtime architecture • a standard • J2EE Not really ! J2EE application servers (vendors) agree on the specification, compete on the implementation Java is... Servlets EJBs (Session Session,, Entity Entity,, MDBs MDBs)) W h at are W e b Se rvice s ? JAAS JCA JDBC Java Mail JMS JNDI RMI-over-IIOP JSP JTA • a language http Apache (9iAS) • a runtime Browser RMI architecture Client EJB • a standard CORBA Client • J2EE Database J2EE Container JDK Java VM 9iAS Oracle Corporation 9 Web Services are Business Applications or Business Processes that ... Expose and D e s cribe Th e m s e l ve s Al l ow Cl ie nt Appl ications to Locate Th e m on Inte rne t Can Be Invok e d and Re s pond ove r Standard Protocol Simple Web Services are Applications that Communicate ... Point-to-Point, Re q ue s t-Re s ponse , Tigh tl y Coupl ed Appl ications Expose XM L Inte rface s (W SD L) W SD L Inte rface s Publ is h e d to Re gis try (UD D I) Cl ie nts l ook up UD D I and Invok e ove r XM LProtocol (SO A P) Th e W e b Se rvice s M ode l Web Services are Different... UNIX RPC - Re q uire s b inary-com patibl e Unix im pl e m e ntation at both e nds CO RBA -Re q uire s com patibl e O RBs RM I-Re q uire s Java at e ach e ndpoint D CO M -re q uire s W indow s at e ach e ndpoint W e b Se rvice s are pl atform and l anguage ne utral Client Application 2. Find XML Interface (WSDL) 3. Find Web Services Directory 4. Invoke (XML Protocol - SOAP) (UDDI) Publish 2.1.Publish XML Interface (WSDL) 1. Generate Application Web Service Oracle Corporation 10 Bus ine s s Cas e : M e dicalCl aim s Proce s s ing Be fore : Pape r invoice s (cl aim s ) INVOICE 1 date: 1 nov 2002 amount € 250 INVOICE 2 date: 1 nov 2002 amount € 100 Healthcare provider INVOICE 3 date: 1 nov 2002 amount € 450 Insurance companies INVOICE 4 date: 1 nov 2002 amount € 50 INVOICE 5 date: 1 nov 2002 amount € 750 Infomedics http://www.infomedics.nl INVOICE 6 date: 1 nov 2002 amount € 35 Th e D utch h e al th care s e ctor produce s 380 m il l ion cl aim s annual l y Dutch healthcare spending EUR billion National Insurance Fund Covering Long Term Care (“’AWBZ”) 11.8 13.7 5.9 Healthcare Insurers (“Particuliere Ziektekosten”) Oracle Corporation Now : El e ctronic cl aim s via th e Inte rne t Share in spending Healthcare Providers (non AWBZ) National Health Insurance Fund (“Ziekenfonds”) Hospitals Pharmacists 19.6% Specialists GP’s Claims Processing 8.1% Insurance companies 5.9% Paramedical 4.8% Auxiliaries 4.7% Dental care Healthcare provider 47.3% 4.5% Transport 2.0% Midwives 1.5% Other 1.5% Total of 380 million claims 11 A rch ite cture Management & Security e-Business Integration Portals J2EE & Web Services Business Intelligence Oracle Corporation Wireless Performance & Caching 12