Introduction | p. xv |
Acknowledgments | p. xvii |
The Problem with Service-Oriented Architecture | p. 1 |
What Drives a Business to SOA? | p. 3 |
Software Developers Like Mashups | p. 6 |
Architects Need a Flexible and Fast Data Model | p. 8 |
CIOs Need Control | p. 9 |
SOA Benefits in an Enterprise | p. 10 |
Make Existing Data More Useful | p. 10 |
Software Maintenance Gets Easier | p. 11 |
SOA Enables a Service Marketplace | p. 12 |
SOA Building Blocks | p. 12 |
Contrasting SOA with Web Services | p. 13 |
Workflow and Documents for SOA Scalability | p. 14 |
The Problem with Workflow Containers | p. 18 |
SOA Service Mediation | p. 20 |
Intermediaries and Transformation | p. 20 |
Aggregators, Orchestration, and Federation | p. 22 |
Security | p. 22 |
Can I Build SOA with My Existing Tools? | p. 23 |
There Is No Gatekeeper for XML Schemas | p. 25 |
Your Choice of XML Tools Impacts Performance | p. 26 |
Criteria for Applying Database Technology for SOA | p. 27 |
Flexibility or Performance | p. 32 |
While You Can, You May Not Want To | p. 33 |
Data in the Service-Oriented Architecture | p. 34 |
The Dark Side of SOA | p. 37 |
The SOA Checklist | p. 39 |
Summary | p. 39 |
Managing the XML Explosion | p. 41 |
A Love Affair with XML | p. 41 |
XML Impact on Data | p. 45 |
Master Data Management and XML | p. 48 |
XML and the Nature of Software Developers | p. 51 |
Why XML in SOA Makes Sense | p. 55 |
What XML Is Not:A Language for Semantics | p. 56 |
XML Benefits in a Service World | p. 60 |
Mid-Tier Persistence | p. 61 |
Multiple Schema Support | p. 62 |
Federated Service Requests | p. 63 |
Summary | p. 63 |
Understanding SOA Patterns | p. 65 |
SOA Players | p. 65 |
Actions: Publish, Discover, Bind, and Execute | p. 66 |
Messaging and Message Exchange Patterns | p. 67 |
Three Popular Message Exchange Patterns | p. 72 |
Summary | p. 74 |
Identifying And Avoiding SOA Performance Problems | p. 75 |
Patterns and Experiences That Led to FastSOA | p. 75 |
Use SOAP Document-literal Encoding-Avoid SOAP RPC Encoding | p. 76 |
Use XML Tools to Build XML Services-Java App Server Tools Handle XML Data Poorly | p. 80 |
Mitigate Performance Problems with the FastSOA Architecture | p. 84 |
Use Unencoded XML Elements with Strings-Avoid JAX-RPC SOAPElement | p. 86 |
Use the XML Parser That Is Appropriate to Your Data | p. 91 |
Use a Database That Is Tuned to Your Data Definition-Native XML Databases Help Relational Databases | p. 92 |
Understanding the FastSOA Pattern | p. 94 |
Mid-Tier Cache Pattern and Example | p. 95 |
Patterns That Accelerate SOA Performance | p. 97 |
Summary | p. 100 |
Solve Performance Problems with FastSOA Patterns | p. 103 |
Three Use Cases and the FastSOA Pattern | p. 103 |
Scenario 1: Accelerating Service Interface Performance and Scalability | p. 105 |
Scenario 2: Improving SOA Performance to Access Services | p. 113 |
Scenario 3: Flexibility Needed for Semantic Web, Service Orchestration, and Services Dynamically Calling Other Services | p. 116 |
Summary | p. 118 |
The PushToTest Method to Identify SOA Scalability and Performance Metrics | p. 119 |
The Method to Identify SOA Performance Metrics | p. 119 |
An SOA Industry Supporting the PushToTest Methodology | p. 120 |
User Goal Oriented Testing (UGOT) | p. 122 |
The Method | p. 127 |
Method for Black Box and White Box (Profiling) Tests | p. 128 |
Applying the Method to SOA and Web Services | p. 129 |
Planning: Background and Goals | p. 130 |
Definitions: Use Cases and Test Scenario | p. 132 |
Additional Use Cases Considered but Not Implemented | p. 134 |
Defining the Test Scenario | p. 135 |
Identify the Test Environment (Hardware and Software) | p. 136 |
Using the XSTest Pattern for Performance Tests | p. 137 |
Calibration Testing | p. 137 |
Scalability Index | p. 141 |
UnderstandingTPS | p. 143 |
Calibration What-If Chart | p. 148 |
Summary | p. 149 |
Learning XML-Centric Technology for SOA | p. 151 |
XML-Centric Options | p. 151 |
Reasons to Like XQuery and Native XML Databases | p. 153 |
XQuery in the SOA Stack: The Cookie Factory | p. 155 |
The Data Used in the Cookie Factory Example | p. 157 |
A Tour of XQuery | p. 160 |
Starting with the Basics | p. 160 |
Structure of an XQuery | p. 162 |
The Data Model: Nodes, Elements, and Sequences | p. 163 |
From XPath to XQuery | p. 168 |
Element Constructors | p. 170 |
FLWOR Expressions | p. 171 |
Functions | p. 176 |
Type Specification | p. 179 |
Namespaces | p. 179 |
Dates and Times | p. 181 |
My First XQuery Blunders | p. 181 |
Blunder 1:Declarative, Modal, Dynamic All at Once | p. 182 |
Blunder 2:The Generic Error and Debugging | p. 184 |
Blunder 3:Semicolons in the Query Prolog | p. 185 |
Blunder 4:XML versus XML Documents | p. 185 |
Blunder 5:Don't Think Procedurally | p. 187 |
Blunder 6:Sometimes You Need to Be Explicit | p. 187 |
Blunder 7:Value versus General Comparisons | p. 190 |
The Unfinished Parts of XQuery | p. 192 |
Federated Queries: SOAP,JDBC, and Java Data Sources | p. 192 |
Where to Find Answers to XQuery Questions | p. 197 |
Summary | p. 198 |
Getting SOA-Ready | p. 201 |
Composite Data Services | p. 201 |
Class/Object Definition | p. 205 |
Language and Platform | p. 206 |
Workflow Container | p. 208 |
Taxonomy and Registry | p. 209 |
Data Access Services | p. 211 |
Creating Business Value with Metadata | p. 214 |
Microformats | p. 216 |
Discovery Metadata | p. 217 |
Business Object Documents | p. 218 |
Enterprise Options to Build Business Logic | p. 220 |
LazySOA and Being Ready for SOA | p. 222 |
Service Registry | p. 223 |
XML Accelerator | p. 225 |
Enterprise Service Bus (ESB) | p. 227 |
Data Access Service and Components | p. 231 |
Deployment and Monitoring | p. 233 |
Composite Data Service Container | p. 234 |
SOA-Ready | p. 235 |
How to Evaluate SOA Tools | p. 237 |
Delivering Business Value with SOA | p. 238 |
Glossary | p. 241 |
Resources | p. 263 |
Index | p. 267 |
Table of Contents provided by Ingram. All Rights Reserved. |
The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.