| Course Description | |
| Web services are designed to allow Web-based access to distributed software and business services. They bring a standard, open service architecture to component development that allows them to be accessed over the Web with standard protocols such as HTTP and standard XML formats for messages and service descriptions. This course will give you a thorough understanding of the current Web services architecture, and the technologies that support Web services including the new Java APIs such as JAX-WS and JSR-181. Topics include SOAP, WSDL, JAX-WS, SAAJ, Security, UDDI, and the WS-* Standards. We will look at the current state of the art of Web services, what works and what doesn’t work, and also at newer standards, and how they fit into the Web services picture. This course is hands on, and students will actually build and deploy a Web service during the course. All labs are programmed/deployed with the Eclipse IDE. Course Length: 3 Days Course Tuition: $990 (US) |
|
| Prerequisites | |
| Experience programming in Java and a good working knowledge of XML are required. | |
| Course Outline |
|
• Service Oriented Architecture (SOA) and Web Services SOA Overview The Challenge of Enterprise Systems The Challenge of Legacy Systems Service Oriented Architecture (SOA) The Evolution of Computing SOA Concepts Some Advantages of SOA Some Issues with SOA Web Services Overview Web Services Defined Value Proposition Web Services Defined WS-* Web Services Specifications The Web Services Stack Web Services Stacks Architectural Perspective Architectural Details SOAP and WSDL Concepts SOAP Concepts Anatomy of a SOAP Message A Typical SOAP Scenario WSDL Concepts • Introduction to Java Web Services Java Web Services (JWS) Standards Java First Web Services Java Web Services Platform SOA Architecture with Java Web Services A Simple Web Service Defining a Simple Web Service Annotating the Implementation Class A Brief Note About Annotations Declaring the Web Service in web.xml Deploying the Web Applicatin • WSDL Introduction to WSDL Overview of WSDL WSDL Elements WSDL Bindings WSDL in Practice XML Namespaces and XML Schema WSDL Documents are XML Documents XML Namespaces Namespaces Described Names Terminology Default Namespaces Namespaces in a WSDL Document XML Schema xsd:complexType xsd:complexType in WSDL WSDL Structure and Elements WSDL Anatomy <definitions> Element <documentation> Element <types> Element The Generated Types <message> Element <portType> and <operation> <binding> Element <port> and <service> Elements Operation Type • SOAP SOAP in a Nutshell What is SOAP SOAP 1.1 vs. 1.2 What is a SOAP Message SOAP Message Structure A SOAP Message SOAP Detailed Structure SOAPMessage SOAP Faults SOAP Messaging and HTTP Binding SOAP Messaging SOAP Intermediaries SOAP Message Exchange Patterns SOAP Binding SOAP HTTP Binding HTTP Request/Response Details SOAP Styles and Encoding SOAP Styles Literal Encoding SOAP Encoding • The Java Web Service Specifications JSR-181: WS-Metadata JSR-181 Defines the Web Service @WebService Details Affecting the Generated WSDL Other Important JSR-181 Annotations The Service Endpoint Interface (SIE) An SEI and an Associated SIB @WebMethod Details @oneway Details @SOAPBinding Details WRAPPED vs. BARE @WebParam and @WebResult/span> JAX-WS Capabilities JAX-WS WSDL / Java Mapping XML Messaging Support Handler Framework SOAP and HTTP Binding JAX-WS Client Side Programming Creating JAX-WS Clients Client Side Programming Model Generated Classes for Service and Port Details of the Generated JavaInstructor Details of the JavaInstructorService Class Writing a JAX-WS Client Dynamic Proxies The QName and Service Types SAAJ SAAJ Overview SAAJ message Structure SOAPMessage SOAPPart and AttachmentPart SAAJ Classes (in Brief) – In javax.xml.soap SAAJ Classes (in Brief) Creating SOAP Messages with SAAJ Sending a Message with SAAJ SOAP Attachments DOM SAAJ and DOM DOM Overview JavaTunes Order XML Document JavaTunes Order as a Dom Tree The DOM Tree The DOM Interfaces The Node Interface Navigating the DOM Tree The Document and Other Interfaces Extracting Content with SAAJ DOM SOAP Handlers Handler Processing Logical and Protocol Handlers The SOAPHandler Interface MessageContext SOAPMessageContext Handler Invocation MessageContext Properties Configuring Handler Chains Returning a Fault Logical Handlers JAXB JAXB Overview JAXB Architecture Java Web Services and JAXB JAXB and WSDL Mapping The JAXB Annotations Using JAXB with Java Web Services Using JAXB Starting from WSDL or WSDL & Java Starting from WSDL Binding Customization Other Customizations Starting from WSDL and Java |
• XML Based Web Services XML Services – JAX-WS Providers XML Messaging JAX-WS Providers A SOAP Provider How Providers Work WebServiceContext MessageContext XML Clients – The Dispatch Interface XML Clients Service and Dispatch XML/HTTP Messaging and REST XML/HTTP Based Messaging A Provider Implementation WSDL for the HTTP Binding A Very Simple XML/HTTP Request A Very Simple XML/HTTP Response Provider Based Endpoints Overview of REST REST Details REST Characteristics Comparison of REST and SOAP JAX-WS and REST JAX-RS • Security Java EE Security and Web Services Security Requirements Security in Java EE Transport Level Security with HTTPS/SSL Java EE Security Overview Java EE Security Java EE Declarative Security Specifying Security Constraints Security Constraints – Deployment Descriptor Mapping Users to Roles HTTP Basic Authentication JAX-WS Clients and Basic Authentication HTTPS HTTPS / SSL – Transport Level Security HTTPS / SSL Meets Some Security Needs SSL Pros / Cons SSL Requires Server Setup Requiring HTTPS on a POJO Web Service Invoking a Web Service with HTTP WS-Security (WSS) Message Level Security XML Digital Signatures XML Encryption WS-Security Roadmap • EJB Based Web Services EJB Overview What is EJB EJB Goals Types of Enterprise JavaBeans EJ Transaction Support EJB 3.0 Overview Session Bean Capabilities Benefits of Using EJB SOA Architecture with EJB Issues with EJB Programming EJB What are Session Beans Stateless Session Beans (SLSB) Defining a Session Bean Stateless Session Bean Definition Remote Business Interface EJB Packaging – ejb-jar File The EJB Container Server Deployment Creating EJB Based Web Services EJB Based Web Services Why Use EJB for Web Services Specifying the Context and Service URLs Security in EJB Based Web Services • UDDI UDDI Overview UDDI Capabilities What is Stored in a Registry? Locating and Invoking a Web Service UDDI Elements Programming in UDDI JAXR JAXR Overview JAXR Architecture JAXR Information Model JAXR Packages ConnectionFactory The RegistryService Interface Other Common JAXR Types • WS-* Overview The WS-* Specifications WS-I Interoperability WS-I Profiles WS-I Basic Profile WS-Addressing Contact us for course schedules or more information. |


