Chapter 1. Java EE Tools in Eclipse WTP
|
| |
- Eclipse Platform
- Eclipse Workspace
- Perspectives, Views & Editors
- Basic Operations with Eclipse Views and Perspectives
- The Java Perspective
- The Debug Perspective
- Navigator View
- Package Explorer
- Outline View
- Problems View
- Eclipse Preferences
- Build and Validation
- Code Completion, Templates and Snippets
- Searching
- Configure Compiler Class Path
- JRE Switching
- Eclipse WTP
- Java EE Perspectives
- Project Explorer View
- Servers View
- JPA Tools
|
| |
Chapter 2. Introduction to Web Services
|
| |
- A Conceptual Look at Services
- Defining Services
- Service Communication Analogy
- Three Key Service Questions
- Connecting the Dots
- SOA: Runtime Implementation
- What Is a Web Service?
- Enterprise Assets as Services
- Typical Development Workflow
- Advantages of Web Services
- Web Service Business Models
- Example: Internal System Integration
- Example: Business Process Externalization
- Web Services Standards
- Binding via SOAP
- SOAP in Protocol Stack
- SOAP Structure
- SOAP Message Architecture
- Applying SOAP
- Interface via WSDL
- WSDL Structure
- Applying WSDL
- Locating a Service
- UDDI Overview
- UDDI Terminology
- UDDI Structure
- Applying UDDI
- WS-I Overview
- WS-I Deliverables
- Summary
|
| |
Chapter 3. Introduction to Schema
|
| |
- What is an XML Schema?
- Instance Documents
- A Simple Instance Document
- Creating a Schema File
- Defining a Simple Element
- Defining a Complex Element
- Defining Element Attributes
- Referring to an Element From Another Element
- Adding Restrictions
- Putting It All Together
- Referring to a Schema from an XML Document
- Global Elements vs. Local Elements
- Summary
|
| |
Chapter 4. Complex Data Types In Schema
|
| |
- Simple Types
- Complex Types
- Complex Type Example
- Controlling Content
- <sequence>
- <choice>
- <all>
- Combining It All
- The XML
- Anonymous vs. Named
- Address Example
- Named Complex Types
- Named ComplexType Example
- Using Named Complex Type
- The XML
- <xs:any>
- Summary
|
| |
Chapter 5. The Java Architecture for XML Binding (JAXB)
|
| |
- Introduction to JAXB
- Overview of Data Binding
- JAXB Architecture
- Binding Example
- Binding Framework Example
- Java and XML Mapping Overview
- Namespace and Package Name Mapping
- Simple Type Mapping
- Complex Type Mapping
- Customizing Complex Type Mapping
- Property Accessor Customization
- Property Mapping Customization
- XML Element Mapping
- Mapping Java Enums
- Mapping Collections
- Generating Java Class and Schema
- Marshalling and Unmarshalling
- Summary
|
| |
Chapter 6. Introduction to JAX-WS
|
| |
- What is JAX-WS?
- Advantages of JAX-WS
- Why Do We Need a Programming Model?
- Basic Java to WSDL Mapping
- Developing a Service Provider
- The Service Implementation Class
- The Service Endpoint Interface (SEI)
- Service Implementation Options
- Developing a Consumer
- Static Client Development
- The Service Class
- The BindingProvider Interface
- Summary
|
| |
Chapter 7. Web Services Description Language (WSDL)
|
| |
- WSDL Overview
- WSDL Syntax Overview
- <definitions>
- <import>
- <types>
- <message>
- <portType>
- <operation>
- <binding>
- <service>
- Summary
|
| |
Chapter 8. JAX-WS Mapping Details
|
| |
- Introduction to Mapping in JAX-WS
- Top-down and Bottom-up Mapping
- WSDL to Java Mapping
- XML Data Type to JavaBean Mapping
- Mapping <portType> to the SEI
- Mapping the SOAP <binding>
- Customizing WSDL to Java Mapping
- Java to WSDL Mapping
- JavaBean to XML Mapping
- Mapping SEI to <portType>
- Mapping Java Method to <operation>
- Input Parameter Mapping
- Method Output Mapping
- Bare Input and Output Mapping
- RPC Literal Style
- Summary
|
| |
Chapter 9. Simple Object Access Protocol (SOAP)
|
| |
- SOAP Overview
- SOAP in Protocol Stack
- SOAP Document Components
- Example SOAP Request Document
- Example SOAP Response Document
- The <Envelope> Element
- The <Header> Element
- The <Body> Element
- SOAP Communication Style
- Communication Style Example
- Setting the Style in WSDL
- RPC/Encoded Style
- RPC/Literal Style
- Document/Literal Style
- Document/Literal Wrapped Style
- Summary
|
| |
Chapter 10. Web Services Interoperability (WS-I)
|
| |
- Introduction
- Goal
- What Comes out of WS-I?
- WS-I Tools
- Profiles
- WS-I Messaging
- Messaging Highlights
- Service Description
- Service Description Highlights
- Service Publication/Discovery
- Security
- .NET Interoperability
|
| |
Chapter 11. Building an EJB Based Web Service
|
| |
- Introduction
- Why Use EJB as Service Implementation?
- Implementing EJB Web Service
- Using a Service Endpoint Interface (SEI)
- Summary
|
| |
Chapter 12. Advanced JAX-WS API
|
| |
- Publishing a Web Service
- Web Service Context
- Message Context
- Working With Raw XML
- Raw XML: Server Side
- XML Handling Strategies
- Raw XML: Client Side
- Summary
|
| |
Chapter 13. Error Handling
|
| |
- Introduction
- Fault
- Designing Faults
- System Problems
- Business Rule Violation
- Summary
|
| |
Chapter 14. Managed Web Service Client Binding
|
| |
- JBoss Web Service Deployment
- Routing Web Service Requests
- Writing Portable Web Service Clients for JBoss
- Using a Packaged WSDL
- Managed Web Service Clients
- JBoss @WebServiceRef Customization
- JBoss Web Service Tools
- Running JBoss Web Services in Eclipse
- Summary
- Reference
|
| |
Chapter 15. Entities and Java Persistence API
|
| |
- Data Persistence
- Java Persistence API
- Entities
- Session Beans Vs Entities
- Entities
- Persisting and Retrieving Data
- Accessing Entities
- EntityManager & Persistence Unit
- Persistence Context
- Entities - Example
- persistence.xml – Hibernate Provider
- persistence.xml – Open JPA Provider
- persistence.xml - Toplink
- Entity Instance Lifecycle
- Creating EntityManager in Session EJB
- Creating EntityManager in a Plain Java Class
- Working With the EntityManager Interface
- Transaction Basics
- Summary
|
| |
Chapter 16. Using MTOM for Binary Data
|
| |
- What is MTOM?
- How MTOM Differs from Previous Approaches
- Role of XML-binary Optimized Packaging (XOP)
- Example of MTOM Messages
- Enabling MTOM on a JAX-WS Service
- Enabling MTOM on a Client
- Summary
|
| |
Chapter 17. Web Services Security (WS-Security)
|
| |
- The Challenges
- Public Key Infrastructure (PKI)
- Digital Signature
- Certificates
- Overview of Web Services Security
- SOAP Message Security
- Message Integrity
- Message Confidentiality
- Symmetric Encryption Example
- Authentication Using Identity Token
- Authentication
- Transport Level Security
- Audit Tracking
- Identity Assertion Using SAML
- SAML SOAP Example
|
| |
Chapter 18. Interoperability of WS-Security
|
| |
- Interoperability Challenges
- Recall WS-Security
- Platform Run-Time Issues
- Hints
- Recall: WS-I
- Basic Security Profile v1.0
- Using Basic Security Profile 1.0
- BSP 1.0 Details
- BSP 1.0 Highlights
- Summary
|
| |
Chapter 19. WS-Addressing
|
| |
- What is WS-Addressing?
- WS-Addressing and Long Running Services
- Other Uses of WS-Addressing
- WS-Addressing SOAP Header Elements
- Example Client SOAP Request
- Example Callback SOAP Request
- Writing JAX-WS Clients to use WS-Addressing
- Enabling Asynchronous Service Requests
- Using WS-Addressing from the Client
- Providing an AsyncHandler to Handle Callbacks
- WS-Addressing Headers in SOAP Messages
- WS-Addressing Sequence of Events
- Asynchronous "Polling"
- Security and Firewall Issues
- Summary
|
| |
Chapter 20. WS-ReliableMessaging
|
| |
- The Problem with HTTP
- Enter WS-ReliableMessaging
- When to Use Reliable Messaging?
- How Does WS-RM Work?
- Importance of Persistence
- The Problem With Firewall
- How Does WS-MakeConnection Work?
- Using WS-MakeConnection
- Summary
|
| |
Chapter 21. Web Services Handlers
|
| |
- Handlers
- Basic Handler Behavior
- Basic Steps
- JBoss Note
- Handler Classes
- LogicalHandlers
- Protocol Handlers
- Sample Handler
- Getting Message Details
- Inbound and Outbound
- Handler Configuration File
- Sampler Handler.xml
- Specify the Handler Chain
- Sample: Using A Handler
- Executing
- Summary
|
| |
Chapter 22. Best Practices
|
| |
- Architecture Best Practices
- Data Format Best Practices
- Security Best Practices
- Programming Model Best Practices
- Summary
|