By Mikalai Zaikin
The purpose of this document is to help in preparation for exam CX-310-220 (Sun Certified Developer for Java Web Services). This document should NOT be used as the only study material for SCDJWS (Sun Certified Developer for Java Web Services) Test. It does NOT covers all objective topics. I tried to make this document as much accurate as possible, but if you find any error, please let me know.
Following are the exam objectives covered in this SCDJWS study guide.
The purpose of this document is to help in preparation for exam CX-310-220 (Sun Certified Developer for Java Web Services). This document should NOT be used as the only study material for SCDJWS (Sun Certified Developer for Java Web Services) Test. It does NOT covers all objective topics. I tried to make this document as much accurate as possible, but if you find any error, please let me know.
Following are the exam objectives covered in this SCDJWS study guide.
- XML Web Service Standards: Given XML documents, schemas, and fragments determine whether their syntax and form are correct (according to W3C schema) and whether they conform to the WS-I Basic Profile 1.0a. Describe the use of XML Schema in J2EE Web services. Describe the use of namespaces in an XML document.
- SOAP 1.1 Web Service Standards: List and describe the encoding types used in a SOAP message. Describe how SOAP message header blocks are used and processed. Describe the function of each element contained in a SOAP message, the SOAP binding to HTTP, and how to represent faults that occur when processing a SOAP message. Create a SOAP message that contains an attachment. Describe the restrictions placed on the use of SOAP by the WS-I Basic Profile 1.0a. Describe the function of SOAP in a Web service interaction and the advantages and disadvantages of using SOAP messages.
- Describing and Publishing (WSDL and UDDI): Explain the use of WSDL in Web services, including a description of WSDL's basic elements, binding mechanisms and the basic WSDL operation types as limited by the WS-I Basic Profile 1.0a. Describe how W3C XML Schema is used as a typing mechanism in WSDL 1.1. Describe the use of UDDI data structures. Consider the requirements imposed on UDDI by the WS-I Basic Profile 1.0a. Describe the basic functions provided by the UDDI Publish and Inquiry APIs to interact with a UDDI business registry.
- JAX-RPC: Explain the service description model, client connection types, interaction modes, transport mechanisms/protocols, and endpoint types as they relate to JAX-RPC. Given a set of requirements for a Web service, such as transactional needs, and security requirements, design and develop Web service applications that use servlet-based endpoints and EJB based endpoints. Given an set of requirements, design and develop a Web sevice client, such as a J2EE client and a stand-alone Java client, using the appropriate JAX-RPC client connection style. Given a set of requirements, develop and configure a Web service client that accesses a stateful Web service. Explain the advantages and disadvantages of a WSDL to Java vs. a Java to WSDL development approach. Describe the advantages and disadvantages of web service applications that use either synchronous/request response, one-way RPC, or non-blocking RPC invocation modes. Use the JAX-RPC Handler API to create a SOAP message handler, describe the function of a handler chain, and describe the role of SAAJ when creating a message handler.
- SOAP and XML Processing APIs (JAXP, JAXB, and SAAJ): Describe the functions and capabilities of the APIs included within JAXP. Given a scenario, select the proper mechanism for parsing and processing the information in an XML document. Describe the functions and capabilities of JAXB, including the JAXB process flow, such as XML-to-Java and Java-to-XML, and the binding and validation mechanisms provided by JAXB. Use the SAAJ APIs to create and manipulate a SOAP message.
- JAXR: Describe the function of JAXR in Web service architectural model, the two basic levels of business registry functionality supported by JAXR, and the function of the basic JAXR business objects and how they map to the UDDI data structures. Use JAXR to connect to a UDDI business registry, execute queries to locate services that meet specific requirements, and publish or update information about a business service.
- J2EE Web Services: Identify the characteristics of and the services and APIs included in the J2EE platform. Explain the benefits of using the J2EE platform for creating and deploying Web service applications. Describe the functions and capabilities of the JAXP, DOM, SAX, JAXR, JAX-RPC, and SAAJ in the J2EE platform. Describe the role of the WS-I Basic Profile when designing J2EE Web services.
- Security: Explain basic security mechanisms including: transport level security, such as basic and mutual authentication and SSL, message level security, XML encryption, XML Digital Signature, and federated identity and trust. Identify the purpose and benefits of Web services security oriented initiatives and standards such as Username Token Profile, SAML, XACML, XKMS, WS-Security, and the Liberty Project. Given a scenario, implement J2EE based web service web-tier and/or EJB-tier basic security mechanisms, such as mutual authentication, SSL, and access control. Describe factors that impact the security requirements of a Web service, such as the relationship between the client and service provider, the type of data being exchanged, the message format, and the transport mechanism.
- Developing Web Services: Describe the steps required to configure, package, and deploy J2EE Web services and service clients, including a description of the packaging formats, such as .ear, .war, .jar, deployment descriptor settings, the associated Web Services description file, RPC mapping files, and service reference elements used for EJB and servlet endpoints. Given a set of requirements, develop code to process XML files using the SAX, DOM, XSLT, and JAXB APIs. Given an XML schema for a document style Web service create a WSDL file that describes the service and generate a service implementation. Given a set of requirements, develop code to create an XML-based, document style, Web service using the JAX-RPC APIs. Implement a SOAP logging mechanism for testing and debugging a Web Service application using J2EE Web Service APIs. Given a set of requirements, develop code to handle system and service exceptions and faults received by a Web services client.
- General Design and Architecture: Describe the characteristics of a service oriented architecture and how Web Services fits to this model. Given a scenario, design a J2EE service using the Business Delegate, Service Locator, and/or Proxy client-side design patterns and the Adapter, Command, Web Service Broker, and/or Façade server-side patterns. Describe alternatives for dealing with issues that impact the quality of service provided by a Web service and methods to improve the system reliability, maintainability, security, and performance of a service. Describe how to handle the various types of return values, faults, errors, and exceptions that can occur during a Web service interaction. Describe the role that Web services play when integrating data, application functions, or business processes in a J2EE application. Describe how to design a stateless Web service that exposes the functionality of a stateful business process.
- Endpoint Design and Architecture: Given a scenario, design Web service applications using information models that are either procedure-style or document-style. Describe the function of the service interaction and processing layers in a Web service. Describe the tasks performed by each phase of an XML-based, document oriented, Web service application, including the consumption, business processing, and production phases. Design a Web service for an asynchronous, document-style process and describe how to refactor a Web service from a synchronous to an asynchronous model. Describe how the characteristics, such as resource utilization, conversational capabilities, and operational modes, of the various types of Web service clients impact the design of a Web service or determine the type of client that might interact with a particular service.