1.1 Distributed systems overview 2
Distributed systems concepts 3, N-tier application architecture 12, Overcoming common challenges 14
1.2 The J2EE development process 22
J2EE and development methodologies 22, J2EE development tools 24
1.3 Testing and deployment in J2EE 29
Testing J2EE applications 29, Deploying J2EE applications 33
1.4 Summary 35
2.1 XML and its uses 38
XML validation technologies 41, XML parsing technologies 44, XML translation technologies 46, Messaging technologies 48, Data manipulation and retrieval technologies 51, Data storage technologies 54
2.2 The Java APIs for XML 55
JAXP 57, JDOM 66, JAXB 69, Long Term JavaBeans Persistence 74, JAXM 76, JAX-RPC 77, JAXR 78
2.3 Summary 78
3.1 XML component interfaces 82
Using value objects 84, Implementing XML value objects 87, When not to use XML interfaces 95
3.2 XML and persistent data 96
Querying XML data 97, Storing XML data 103, When not to use XML persistence 110
3.3 Summary 110
4.1 Integrating J2EE applications 114
Traditional approaches to systems integration 114, XML-based systems integration 122
4.2 A web services scenario 125
4.3 J2EE and SOAP 125
Creating a simple SOAP message 126, Using SOAP with Attachments 129, Using JAXM for SOAP Messaging 131
4.4 Building web services in J2EE 138
What is a web service? 139, Providing web services in J2EE 140, Implementing our example web services 142, Consuming web services in J2EE 153, J2EE web services and Microsoft .NET 153
4.5 Summary 154
5.1 Creating a thin-client user interface 158
Serving different types of devices 159, Serving multiple locales 159, An example to work through 160
5.2 The pure J2EE approach 162
The J2EE presentation tool kit 163, Issues in J2EE MVC architecture 164, Building our example in J2EE 166, Analyzing the results 177
5.3 The J2EE/XML approach 177
Adding XSLT to the web process flow 177, Analyzing the results 185, Extending to binary formats 186
5.4 XML web publishing frameworks 195
Introduction to Cocoon architecture 196, Using Cocoon to render the watch list page 197, Analyzing the results 200
5.5 A word about client-side XSLT 201
5.6 Summary 201
6.1 Case study requirements 204
6.2 The application environment 206
6.3 The analysis phase 207
Services and data layer analysis 207, Data storage analysis 208, Other necessary components 208
6.4 The design phase 210
Designing the application logic layer 210, Designing the user interface 212
6.5 Validating our design 213
6.6 The implementation phase 215
Building the controller servlet 215, Building the ApplicationMenu component 217, Building the ComponentLocator 218, Building the BugAccessorBean 221, Building the XSLTFilter 223
6.7 Structuring application data 224
6.8 The Amaya web service 225
6.9 Running the application 229
Installation 229, Viewing the main menu 230, Viewing common system problems 231, Viewing and updating the Amaya problem list 231, Inspecting the web services SOAP messages 232
6.10 Summary 233