J2EE
J2EE(Java 2 Enterprise Edition)
(Web Services) :,,
SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol - SOAP) Client Application XML Interface (WSDL) 2. 3. Find Web Services Directory 1. 2. Publish (UDDI) XML Interface (WSDL) Application Web Service 1. J2EE, PL/SQL
Publish Find Bind
Applications Development Tools Application Server Oracle 11i e-business Suite Oracle 9i9 JDeveloper Oracle9i Application Server
E-Business Suite 11i SOAP SOAP e-business Suite 11i
Oracle JDeveloper J2EE Java classes Entity EJB Session EJB Message EJB SOAP services SOAP proxies WSDL Service deployment J2EE Code Insight/Advice UML Class Modeler UML Activity Modeler
Oracle9iAS J2EE Browser HTTP Server ** ** JavaServer Pages 1.2 Servlets 2.3 Enterprise Java Beans 2.0 Java Naming & Directory Interface 1.2 Java Database Connectivity 2.0 Java Transaction API 1.0 Java Messaging Service 1.0.2 J2EE Connector Architecture 1.0 Java Mail 1.2 Java Authentication & Authorization Service 1.0 JTA JSP JMS JNDI Java Mail Servlets EJBs Session, Entity (BMP, CMP) J2EE Container RMI JDK Java VM (1.2, 1.3) Oracle9iAS JDBC Database Table Multimedia LOB Files XML
Oracle9iAS J2EE J2EE EJB Client CORBA Client Web Service Client UDDI Repository A P A C H E RMI Handler IIOP Handler SOAP Handler W S D L I D L Transactions Messaging R M I Naming/ Directory Oracle9iAS Stateless Java Class Stateful Java Class Stateless Session EJB Stateful Session EJB Message Driven Bean Security JDBC JMS JCA Pooling
Proxy Client JAX-M Messaging Infrastructure XML Payload over SOAP (HTTP, SMTP) A P A C H E SOAP Servlet Encoder/ Decoder JAX-B Binding JMS JAX-M Message Driven Bean Messaging Infrastructure Message Driven Beans SOAP/JAX-M SOAP Oracle 9iAS9 JAX-M: Java API for XML Messaging JAX-B: Java API for XML Binding
Message Driven Bean Client Proxy Messaging Infrastructure XML Payload over ebxml, RosettaNet A P A C H E B I N D I N G JMS JAX-M Business Process Manager Data, Semantic Transforms JCA JMS Enterprise Applications Messaging Systems Oracle 9iAS9
FIREWALL Encoded URLs (Secure Cookies) Web Service 9iAS SOAP over HTTP-S Web Cache HTTP-S Single Sign-On HTTP-S Apache mod_osso Single Sign-On Server Web Service 9iAS External Web Service (JAAS, SSL, LDAP) Single Sign-On JAAS UserManager LDAP Certificates Privileges Roles
W3C Web Services WG (SOAP,WSDL,UDDI) XMLP WG XML Schema WG XML Query WG ebxml WG Protocol/JAXP Repository/JAXR Messaging/JAXM OMG XMI Metadata WG Component Model WG RosettaNet RNIF WG Java/J2EE J2EE Web Services JSR JAXM JSR JAXM Messaging OASIS/XML.org TPAML BOPC WG
: Web Service Application Legacy Application WSDL Registry W/S W/S 10. 3. W/S 2. 1. W/S 4. 8. ( ) 5. W/S 7. ( ) 9. W/S 6.
: SOAP RFQWebSvc (Static) RFQStub (Proxy ) (Static) QuoteWebSvc QuoteStub (Proxy ) SOAP Entity EJB Java Class Stateless Session EJB JSP
SOAP/WSDL J2EE Deploy SOAP/WSDL JSP, XML Proxy
Oracle9i JDeveloper Build Deploy SOAP/WSDL J2EE Deploy Consume SOAP/WSDL Proxy JSP, XML Analyze
UML Class Modeler Model Code Code Model Activity Modeler Workflow Oracle AQ JMS/XML Messaging Configuration Management Check in Check out WebDAV
JDeveloper J2EE End-to-end J2EE Framework Support - Business Components for Java - Caching, Locking JSP TagLibs JSP Beans Data Aware JavaBeans JDBC JavaServer Pages Java Servlets Enterprise JavaBeans
Java SOAP service Stateless Stateful Enterprise Java Beans SOAP service Stateless & Stateful Session EJB Messaging EJB Entity EJB PL/SQL, Java Stored Procedure SOAP service
D E M O N S T R A T I O N Modeling and Implementing Web Services
Oracle9i JDeveloper Build Deploy SOAP/WSDL J2EE Deploy Consume SOAP/WSDL Proxy JSP, XML Analyze
SOAP/WSDL Java public class TrackService // public boolean getstatus // public boolean setstatus // public boolean gethistory // private void changestatus } SOAP Descriptor WSDL <?xml version = '1.0'?> <definitions...> <types>...</types> <message>... </message> <porttype> <operation name=getstatus> <input message=...> <output message=...> </operation>...
public class TrackingService /** * @webservice */ public boolean getstatus // public boolean setstatus // private void changestatus }
Web Service Publishing
WSDL
SOAP Server UDDI
SOAP SOAP WSDL
D E M O N S T R A T I O N Deploying Web Services
Oracle9i JDeveloper Build Deploy SOAP/WSDL J2EE Deploy Consume SOAP/WSDL Proxy JSP, XML Analyze
JSP, Servlet, XML Web Services Clients
Web Service Proxy Wizard SOAP client WSDL Java SOAP proxies
D E M O N S T R A T I O N Consuming Web Services
Oracle9i JDeveloper Build Deploy SOAP/WSDL J2EE Deploy Consume SOAP/WSDL Proxy JSP, XML Analyze
Web Service Debugging Threads, stack, heap, data
Java Applications Profiler?? CodeCoach?? Debugger deadlock? null pointer?
Oracle9i JDeveloper Profilers Execution Sampling Profiler Memory Profiler Event Profiler
D E M O N S T R A T I O N Debugging a Web Service