Visão Geral
Este curso ensina os alunos a desenvolver, implantar e proteger serviços da Web. Os recursos do Eclipse que otimizam o desenvolvimento e a implementação de serviços da Web são abordados em detalhes. Os serviços da Web SOAP e RESTful estão incluídos. Os conceitos ensinados neste curso são reforçados por exercícios práticos de laboratório.
Conteúdo Programatico
Java/Eclipse Review
- Java Development
- Tools
- Perspectives and Editors
- Server Configurations
- Debugging Tools
- Project Properties
Web Services Basics
- Service-Oriented Architecture (SOA)
- What are Web Services?
- Web Services Advantages
- Interactions and Component
- Web Services Standards: XML, SOAP, WSDL and UDDI
- Web Services Interoperability (WS-I)
- Java Web Services Developer Pack (Java WSDP)
Web Service Development
- Development Approaches
- Runtime Environments: Apache Axis2, Weblogic, and IBM WebSphere
- WS-I Compliance
- Creating a Web Service from a JavaBean
- Exposing a Stateless Session Bean as a Web Service
- Creating an Axis2 Web Service
- Generated Files
- Testing the Web Service
- Defining Deployment: webservices.xml, ibm-webservices-bnd.xmi and ibmwebservices-ext.xmi
- Editing WSDL
- Using the Web Services Explorer
SOAP
- SOAP Processing Model
- SOAP Messages
- SOAP Message Elements (Envelope, Header, Body and Fault)
- Communication Styles (Document Style & RPC Style)
- Encoding
- Java/SOAP Mappings
- SOAP Bindings
- Error Handling
- SOAP Implementations
TCP/IP Monitor
- Overview
- TCP/IP Monitor Configuration
- Controlling the Monitor
- Using the TCP/IP Monitor View
- Examining Requests and Responses
- Examining SOAP Messages
WSDL
- Overview
- Java/WSDL Mapping
- Abstract vs. Concrete Descriptions
- WSDL Document Structure
- WSDL Elements (Types, Ports, Services, Messages, Operations and Port Types)
- Bindings and Extensibility Elements
- WSDL Style/Use
- Service and Port Definitions
- Binding to a Service (Early vs. Late Binding)
UDDI
- Overview
- Registries
- UDDI Interactions
- UDDI Data Model
- UDDI4J
- UDDI Clients
Web Services Explorer
- Overview of the Publishing Process
- Web Services Explorer Functions
- Launching the Web Services Explorer
- Accessing a UDDI Registry
- Publishing a Business Entity, Business Service and Service Interface
- Locating Web Services
JAX-RPC
- Overview
- JAX-RPC Model
- Service Endpoint Definition
- Development Steps
- The Service Life Cycle Interface
- Service Deployment
- Java/XML Mappings
- Web Service Clients (Static Stub, Dynamic Proxy and Dynamic Invocation Interface)
- The javax.xml.rpc.Service Interface
- Handlers
- Data Type Mapping
- JAX-RPC Implementations
Web Services Client Development
- Web Service Client Wizard
- Generating a Proxy
- Client Types
- Generating Sample JSPs
- Testing the Proxy
- Generated Files
- Using the Generated Proxy
- Web Services Client Editor
Axis2
- History
- Engine
- Framework
- Handler Chains
- Services
- Deployment Options (JWS and WSDD)
- Mapping Tools (Java2WSDL and WSDL2Java)
- Generated Files
- Development Process
- Handlers
- Clients
- Custom Type Mapping
- TCP Monitor Tool (tcpmon)
Web Services for JEE
- JEE Architecture
- Port Definition
- Managing Ports
- Requirements for Exposing Session Beans and Java Classes
- Service Implementation Bean Lifecycle
- Container Responsibilities
- Web Services Deployment Descriptor (webservices.xml)
- JAX-RPC Mapping
- Client Development
- Client Deployment Descriptors
- Security
Application Assembly Overview
- Application Assembly and Packaging
- Deployment Descriptors
- Bindings
Web Services Security Concepts
- Web Service Security Risks
- Encryption and Decryption
- Cryptography
- Certificates
- Digital Signatures
- Security: Message Level vs. Transport Level
- SSL/TLS
- WS-Security
Defining Web Services Security
- App Server Security Model for Web Services
- WS-Security Authentication
- Enabling Authentication
- Message Integrity Using XML Signatures
- Configuring Integrity
- WS-Security Confidentiality
- Configuring Confidentiality
Deploying Web services in an Application Server
- Architecture
- Administrative Console
- Web Services Support
- Creating Required Resources
- Deploying a Web Service to an Application Server
- Managing Deployed Applications
SOAP Messages with Attachments
- The Need for SOAP Attachments
- Attachments vs. Encoding
- MIME defined
- MIME Header Fields
- Multipart/Related Content Type
- SOAP Message Package
- Referencing Attachments
- Related Java APIs
- JAX-RPC Mappings: MIME to Java
- WSDL MIME Binding
RESTful Web Services
- The Big picture
- RESTful Events and Event Handlers
- An Example RESTful Service
Appendix: XML Basics
- The History of XML
- XML Documents: Markup and Data
- XML Document Components and Structure
- XML Tags
- Well-Formed XML
- Elements and Attributes
- Names and Name Tokens
- Namespaces
- Entities and Escape Sequences
- CDATA Sections and Comments
Appendix: Namespaces
- The Need for Namespaces
- Declaring Namespaces
- Qualified Names
- Namespace Scoping
- Default Namespaces
Appendix: Validating XML With DTDs
- Approaches to Validation
- DOCTYPE Declaration
- Element Declarations and Element Content
- Modifiers
- Mixed Content
- Attribute Declarations
- Entities
- Notation Declarations
- Validating vs. Non-Validating Parsers
Appendix: Validating XML With XML Schemas
- XML Schema Structure
- Element Declarations
- Built-in Data Types
- Creating and Extending Types
- Defining Restrictions
- List Types and Union Types
- Anonymous Types
- Complex Types
- Occurrence Constraints
- Defining Attributes and Attribute Groups
- Global Elements & Attributes
- Declaring Mixed Content