EncartaLabs

Mastering Core Web Services and SOA for J2EE Developers

( Duration: 4 Days )

The Mastering Core Web Services and SOA for J2EE Developers Training course provides Participants the skills necessary to understand the fundamentals of Service Oriented Architectures (SOA) and the core standards that enable Web Services. Throughout this course Participants will explore what separates an ad hoc set of Web Services (NOT SOA) from a managed, vibrant, reusable catalog of enterprise services (definitely SOA), providing an overview of the entire spectrum from the promise of cloud computing to the grit of XML content.

By attending Mastering Core Web Services and SOA for J2EE Developers workshop, Participants will:

  • Apply the basic concepts of SOA to the identification and design of Web Services
  • Discuss Web Services and the core technologies involved
  • Utilize the basic concepts of SOA to the identification and design of web services
  • Discover the concept of layered services including orchestration
  • Design, develop, and deploy real-world J2EE Web Services
  • Expose existing Java components as XML Web Services
  • Identify Java components that access remote Web Services hosted by a third party
  • Recognize a WSDL document
  • Parse, process, and respond to a SOAP message
  • Classify the concepts behind REST and implement a REST-based Web Service
  • Implement handlers to inject cross-cutting solutions for security, logging, auditing, and other needs
  • Employ WS-Security to protect content, resources, and other assets

  • 1-2 years of working knowledge with Servlets and HASPs
  • Familiar with XML, Namespaces, and XML Schema

  • Developers
  • Architects

COURSE AGENDA

1

Overview

  • Service Defined
  • SOA Defined
  • Organizational Framework
  • Technical Framework
  • Orchestration
  • Reusability
  • Services vs. SOA
  • SOA in the Past
  • What is New in SOA
  • Business Impact/ROI
  • Myths/Reality
  • Adoption Issues
2

SOA: The Business Proposition

  • Drivers for Business-Orientation
  • Accessible Services and Data
  • Leveraging Business Processes
  • Leveraging Legacy Applications
  • Challenges to Adoption
  • Role of Governance
  • Role of an ESB
  • SOA Maturity Model
  • SOA Adoption
3

Service-oriented Architecture

  • Principles
  • Business Process-driven Development
  • SOA Team
  • Messaging
  • Orchestration
  • Business Modeling
  • Integrating Legacy Applications
    • Extending the Lifetime of Legacy Apps
  • Governance
    • What Needs to be Governed and What is Already Governed
    • Governing IT vs. SOA
    • Continuous Improvement
    • Strategies
4

Modeling Business Processes

  • Top-down Process Design
  • Bottom-up Process Design
  • WSDL as Service Description
  • Identifying Services
  • Identifying Messages
  • Identifying Collaborations
  • BPFL Overview
5

Service-oriented Analysis and Design

  • The SOAD Process
  • Analysis
  • Design
  • Implementation
  • Process
6

SOA Best Practices

  • Planning
  • Standardizing
  • Designing
  • Managing
  • Implementing
7

Common Framework: Governance

  • Governance Overview
  • Importance Responsibilities
  • Implementation
8

Common Framework: Infrastructure

  • Overview
  • Role in SOA
  • Security Issues
  • Scenarios and Analysis
  • ESB Issues
9

Mapping Frameworks to SOA

  • SOA Concepts and .NET
  • SOA Concepts and J2EE
10

Services via the Web

  • Service Defined
  • SOA Defined
  • Organizational Framework
  • Technical Framework
  • Orchestration
  • Services vs. SOA
  • SOA in the Past
  • What is New in SOA
  • Business Impact/ROI
  • Myths/Reality
  • Adoption Issues
  • Characteristics of a Good Service
  • Services and their Formal Contracts
  • Services Should be Stateless
  • Service Design Guidelines
  • SOA Anti-Patterns
11

Web Services Overview

  • Crossing Boundaries
  • What are Web Services
  • Six Key Components
  • Web Services Characteristics
  • Web Services Architecturally
  • Technology Comparison
  • Architectural Perspective
  • Web Services Enable Decoupling
  • Many Web Services Challenges
  • Secure Services
  • Spec and Standard Evolution
  • Web Services Interoperability Organization
  • WS-I Has Many Deliverables
  • Basic Profile 1.0 Consists of:
  • Has > 100 Requirements and Suggestions
  • .NET Platform and .NET Web Services
  • Java and Web Services
12

Web Services, Java, and J2EE

  • XML and Java APIs at a Glance
  • XML Signature
  • XML Digital Signatures
  • XML Encryption
  • JAXP
  • JAXB
  • JAX-WS
  • SAAJ
  • JAX-WSA and XWSS
  • Web Services APIs
  • Web Services for J2EE (JSR109)
  • J2EE and Web Services
  • Web Services Metadata
  • Web Services Stacks at a Glance
  • WSIT
  • Apache Axis2
  • JBossWS
  • JWSDP
  • WebSphere WS
  • Spring-WS
  • Key Features
13

Web Services Quickstart

  • What is WSIT
  • WSIT Tool Support
  • How is WSIT Used
  • Web Service Development with WSIT
  • Debugging Web Services
  • TCP/IP Monitors Provide View of Wire
14

XML, Namespaces, and Schema

  • What is XML
  • XML Can Provide Application-Specific Information
  • Content: XML Document Syntax Rules
  • Structure: A document Type Definition
  • XML Transformation to HTML
  • XML Separates Structure, Content and Format
  • TriveraTunes Purchase Order
  • Content as MarkUp
  • Tell Parser that Text is Data
  • Use Predefined Entities
  • Well-Formed and Valid XML Documents
  • Why are these Definitions Important
  • XML Namespaces
  • Name Collision – Example
  • Inter-Organization Name Collisions
  • W3C’s Solution: Namespaces
  • Uniform Resource Indicator
  • Declaring a Namespace
  • Namespace Scope
  • Parsers Use URI, Not the Alias
  • Default Namespace
  • Attributes and Namespaces
  • Example of Namespaces
  • Namespaces Best Practices
  • Benefits from Valid XML
  • W3C XML Schemas
  • Impacts of Schemas
  • General Form of an XML Schema
  • Simple Types – Primitive Datatypes
  • Restricting Simple Types: Facets
  • Complex Types Bring More to Validation
  • Repetition Control
  • Restricting Simple Types
  • Complex Types Can be Derived
  • Derivation by Extension
  • Extension of Phone Number
  • Associating Schemas with XML Instances
  • Using XML Schema with Namespaces
  • Namespaces Provide Thread of Connection
  • Schema Defines a Target Namespace
  • XML Doc Uses Schema-Defined Namespace
  • SchemaLocation Links Namespace to Location
  • Relating Schemas to XML
15

XML in Java – JAXP and JAXB

  • XML Parsers are Complex and Powerful
  • Parsers are Integral to XML Processing
  • Parsers and API’s
  • Parser Generates DOM, Then Hands to App
  • Parsing with a DTD or Schema
  • Many Options to Consider
  • XML and Java
  • Security Concerns Relative to Parsing
  • Bridging Application Data and XML
  • JAXP: Java API for XML Processing
  • JAXP and Transformations
  • Challenges to Mapping XML
  • Generating XML is Nondeterministic
  • JAXB: Binding XML to Java
  • JAXB Incorporated Changes
  • JAXB and Java Versions
  • Defining the Rules in JAXB
  • Turning Rules into Java Classes
  • Using the Generated Classes
  • Creating Content
  • Some JAXB Type Bindings
  • XML Schema for List of Items
  • Corresponding Class Interface
  • A Word about Validation…
16

SOAP Overview

  • SOAP in a Nutshell
  • Anatomy of a SOAP Message
  • SOAP and HTTP
  • A Typical Scenario
  • What is SOAP
  • SOAP Specification Provides:
  • Why do I need SOAP
  • Simple Scenario
  • Less Simple Scenario
  • Uses of SOAP
  • A Simple Example…
  • Remote Procedure Calls
  • Example of a SOAP RPC Call
  • Example of Response
17

SOAP in Detail

  • Protocols Used with Web Services
  • Request and Response Example
  • The SOAP Envelop
  • SOAP Header
  • SOAP Body
  • SOAP Request/Response Example
  • SOAP Defines a Fault Element
  • SOAP Data Model
  • Example Using XSD Data Type
  • SOAP Styles and Modes
  • SOAP with Attachments
  • SOAP Messaging
  • Endpoint Behavior
  • SOAP Encoding Styles
  • SOAP 1.1 vs. SOAP 1.2
  • What is SAAJ
  • Understanding SAAJ
  • SOAPElement
  • SOAPElement Methods
  • SOAPMessage
  • SOAPPart
  • SOAPEnvelope
  • SOAPBody
  • SOAPBodyElement
  • SOAPHeaderElement
  • SOAPHeaderElement Methods
  • SOAPFault
  • Connections
  • Security Concerns Relative to SOAP
18

REST

  • Representational State Transfer
  • REST Characteristics
  • REST Elements
  • REST in Web Service Terms
  • REST: Another Option for Binding
  • Characterizing REST
  • REST Example
  • REST Design Principles
  • REST/SOAP Comparison
  • SOAP vs. REST
  • RESTing in Java
  • Security Concerns Relative to REST
19

WSDL

  • Describing Web Services
  • WSDL in Practice
  • WSDL Extensibility
  • WSDL/SOAP Namespaces
  • WSDL Elements
  • WSDL Anatomy
  • element
  • element
  • element
  • and
  • ele,emt
  • and elements
  • Looking Ahead – WSDL 2.0
20

JAX-WS Overview

  • JAX-WS
  • JAX-WS Introduction
  • JAX-WS Architecture
  • JAX-WS vs RMI
  • What about JAX-RPC
  • JAX-WS Under the Hood
  • JAX-WS Basics
  • JAX-WS Features
  • Web Service Annotation Examples
  • JAX-WS Programming Model
  • JAX-WS Handlers
21

Working with JAX-WS

  • JAX-WS Service
  • JAX-WS Development Process
  • Bottom-up Building of a Web Service
  • Top-down Building of a Web Service
  • JAX-WS Client
  • Types of JAX-WS Clients
  • JAX-WS Basic Client Operations
  • Static Web Service Client
  • Dynamic JAX-WS Client
  • DII JAX-WS Client
  • SOAP Handlers
  • Handlers Applied Via Declaration
22

Web Services for J2EE (WSEE)

  • WSEE and WSEE Server Programming Model
  • Server Programming Model
  • Servlets as WEB Services
  • EJBs as Web Services
  • Routing SOAP Requests to an EJB
  • WSDD
  • WSDD Example
  • WSEE Client Programming Model
  • Types of WSEE Clients
  • WSEE Basic Client Operations
  • Static WSEE Client
  • Dynamic WSEE Client
  • DII WSEE Client
  • WSEE Client Packaging
23

Handlers

  • Handlers: The Basics
  • WSEE and Handlers
  • Handler Life Cycle
  • Applying Handlers
  • Handler Interface and Implementation
  • SOAPMessageContext
  • Example of Handler Class
  • Configuring Handlers
  • Web Service Handler Configuration
  • Using Handlers for Security
24

Discovery Overview

  • Discovery Options
  • What is UDDI
  • UDDI Background
  • Interacting with UDDI
  • What is WSIL
  • What is WS-Discovery
25

XML Signature and Encryption

  • Cryptography Addresses Many Aspects of Security
  • Common Solutions to Big Three
  • XML Challenges
  • XML Signature
  • XML Digital Signatures
  • XML Signature Usage
  • Standard for Digital Signature
  • XML Encryption
  • XML Encryption Usage
  • XML Encryption Protects Data
26

WS-Security

  • Securing a Web Service
  • Web Service Security Exposures
  • Transport-Level Security
  • Secure Sockets Layer (SSL)
  • SSL in Action
  • When to Use Transport-Level Security
  • Message-Level Security
  • Web Services Security Roadmap
  • WS-Security Enables Interoperability
  • Security Tokens; Example of Security Token
  • Message Authentication
  • XML Signature and Encryption
  • Picture is Evolving
  • What is XWSS
  • XWSS Provides Many Functions
27

Securing Untrusted Input

  • Input Data Attacks
  • Protecting a Web Service
  • Tenacious D
  • Defending a Web Service
  • Responding to Error State
  • Best Practices for Untrusted Data
  • Defenses to Consider
  • Additional Types of Attacks

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 4,000 Modules on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting http://encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top