Java ile Web Servisleri
Kurs Dili: Türkçe/İngilizce
Süre: 3 gün
Tamamen güncellenmiş yapısıyla Web Servisleri kursu Java Web Servisleri dünyasına kapsamlı bir
giriş sağlamaktadır. Bu kurs, Java kullanarak temel ve orta seviyede
Web Servisleri kurabilmeleri için katılımcılara ihtiyaç duydukları bilgi ve beceriyi
oluşturmalarında yardımcı olmaktadır.
Bu kapsamlı kurs Web Servisleri dünyasına detaylı bir giriş sağlamaktadır. Kurs kapsamında
temel kavramların tümünü ve ileri konuların önemli olanlarını işlemekte,
JAX-WS, JAXB ve SAAJ gibi API'leri ve Java standartlarını açıklamakta ve kullanmaktadır.
Kurs, SOAP ve SOAP'ın Java API'si SAAJ'ın da dahil edildiği detaylı bir
giriş ile başlamakta ve SOAP'ın tüm önemli kavramları açıklanmaktadır. SAAJ, SOAP mesajlarını
okumak, yazmak ve göndermek için kullanılan bir Java API'sidir.
Kurs daha sonra WSDL ile devam etmektedir. WSDL, WS-I Temel Profili perspektifi ile
açıklanmaktadır. WS-I Temel Profili farklı uygulamalar arasında uyumluluğu
sağlamak üzere kullanılan bir tekniktir (Java ve .Net gibi). Bunu takiben kurs Java'nın ana
web servisleri teknolojisi ile devam etmektedir: JAX-WS. JAX-WS kurs
süresince hem tabandan tepeye (önce Java) hem de tepeden-tabana (önce WSDL) bir yaklaşımla
irdelenmektedir. Farklı özelleştirmeler de (binding declarations ve
Java annotations) kurs içeriğinde kapsanmaktadır. JAX-WS, XML bağı için JAXB kullanır;
Bu nedenle de "JAXB-xml binding framework" kurs kapsamında ayrıntılı
olarak ele alınmaktadır (hem Java hem de XML tabanlı geliştirme yaşam döngüsü perspektiflerinden).
Kimler katılabilir? Java yazılım geliştirici ve tasarımcılar.
Katılımcıların J2EE/Java EE konularında deneyimli, XML ve
XML şemaları konusunda da temel bilgiye sahip olmaları gerekmektedir.
Kurs İçeriği
Session 1: Introduction to Web Services in SOA
Lesson: Introduction to Web Services
- Define Web Services
- Look at Web Service from an Business and Architectural perspective
- Look at Web Service from a Technical Architectural perspective
- List benefits of using Web Services for the SOA
- Discuss the maturity of Web Services
- List criteria when and where and to use Web Services in your Archiecture
Lesson: Web Services technologies
- List different types of applications of Web Services
- Layout the Web Services technologies: technologies for meta data, messaging, transactions and process, presentation, security and management
- List important organizations, companies and bodies involved with Web Services
- Introduce SOAP
- Understand the role of WSDL
- Understand the significance of the WSDL document
- Understand the role of UDDI
- Understand different ways of using UDDI is used
- Discuss the ESB (Enterprise Service Bus) and Web Services
Session 2: SOAP and SAAJ
Lesson: Overview of the SOAP Recommendation
- Understand the structure of the SOAP1.2 specification
- Understand the SOAP1.2 terminology
- Understand the different parts that make up the specification
- Explain the SOAP Messaging Framework
- The anatomy of a SOAP message
- Understand SOAP Faults
- Understand the structure of a SOAP Faults
- Understand the use of headers with SOAP Faults
Lesson: SOAP Processing
- Understand the The SOAP Processing Model
- Explain the use of headers in vertical extensibility
- Understand the use of the header for extensibility (role attribute)
- Explain the use of the mustUnderstand flag
- Explain the use of Intermediaries
- Understand a SOAP Module
- Understand the concept of Message Exchange Patterns (MEP)
- Understand the SOAP HTTP Binding
- Introduce WSIAP and SOAP Messages with Attachments (SwA)
- Introduce MTOM and XOP
- Understand differences between SOAP1.2 and SOAP1.1
Lesson: SAAJ 1.3 Overview
- Understand the core of SAAJ
- Understand the core classes that make up SAAJ
- Understand the relationship between SOAP message elements and SAAJ classes
- For each class understand its use
- Be able to send SOAP messages using SAAJ
Session 3: WSDL
Lesson: Comprehensive overview of WSDL
- Understand the structure of a WSDL document
- Understand the relationships
- Understand how to define Services compliant with the WS-I Basic Profile
- Understand the SOAP Binding
- Understand how to define RPC style web services
- Understand how to define Documented oriented web services
- Using the Import element to split the WSDL into contract and implementation
- Understand the role of WSDL in the SOA and a SOP (Service Oriented Process)
- List the different transmission primitives (aka message exchange patterns)
- List different WSDL Extensions
- List changes made for WSDL2.0
Session 4: Introduction to JAXB 2.x
Lesson: JAXB Overview
- Introduce JAXB 2.x
- List the goals of JAXB 2
- Explain the architecture of JAXB
- Introduce the XML to Java mapping
- Introduce the concept of a Value Class
- Explain handling of naming differences between XML and Java
- Introduce the ObjectFactory
- Introduce JAXB Binding Declarations
- Explain how these binding declarations are provided
- Introduce key JAXB annotations
- Introduce the core API of JAXB and how to configure the JAXB implementation
- Understand and use the JAXBContext class
- Understand and use the core functionality of the Marshaller and Unmarshaller
- List possible input sources and sinks
Lesson: XML to Java binding
- Understand how Simple types are mapped to Java
- Understand how simple types derived by list and union mapped
- Understand the difference between indexed and list collection properties
- Use binding declarations to customize this bindings
- Understand how simple types with enumeration facet(s) are bound to Java
- Use binding declarations to configure enum binding
- Understand how complex types are bound to Java (Value Classes)
- Understand the relation between value classes and elements
- Understand how complex types with simple and complex content models are mapped
- Understand how model groups are mapped (sequence, choice etc)
- Understand how wildcard particles are mapped
- Understand how element particles are mapped
- Understand when a general content property is used to bind a complex type
- Understand where and how collection of element types is used
- Use binding declarations to customize the binding of complex types to Java
- Understand different ways of binding elements to Java
- Understand the JAXBElement (its rational, importance and usage)
- Understand the relation with its type (e.g., with value classes)
- Use binding declarations to customize the binding of element declarations to Java
Lesson: Java to XML binding
- Provide the default mapping of Java to XML
- Explain all JAXB annotations to configure the Java to XML binding
- Explain different package level annotations
- Explain different class level annotations
- Explain different property level annotations
Session 5: JAX-WS
Lesson: JAX-WS Overview
- Understand what JAX-WS is
- Understand the JAX-WS Architecture in detail
- Understand the JAX-WS 2.1 Specification
- Understand the role of WSDL
- Discuss bottom-up versus top-down service realization
- Overview of the WSDL and Java Mapping and vice versa
- Introduce the two APIs (client/service side)
Lesson: Building a JAX-WS Client
- Understand the static service use
- Understand how to build a JAX-WS client using a given WSDL
- Understand the internal sequence of service invocation (OSD)
- Understand dynamic service use
Lesson: Service realization using JAX-WS
- Recap the two models: bottom-up and top-down
- Understand the dynamic programming model
- Understand the different Provider<T> implementations
- Understand the static programming model
- Understand the developments steps for bottom-up
- Understand the developments steps for top-down
- Customize Java to WSDL mapping using JAX-WS and Web Services Metadata (JSR 181) annotations
- Appreciate the use of JAXB 2.1 annotations (JSR 222)
- Configure the SOAP Binding
- Understand JAX-WS exception handling
- Add Service Endpoint exception and map these to SOAP faults
- Use the SOAP 1.1 HTTP Binding
- Add support for MTOM/XOP
- Understand lightweight Endpoint and Servlet container deployment
Lesson: Advanced JAX-WS
- Understand the Handler Framework
- Understand the difference between logical and protocol handlers
- Understand the API and accessible classes for each handler type
- Understand the life-cycle of a handler
- Using the Catalog Facility
- Implement handlers that operate on header elements
- Understand different ways of configuring handler chains
- Understand how to manage state in handlers (e.g, MessageContext)
- Understand the structure of an OASIS 1.1 Catalog file