contents


preface
acknowledgments
about this book
about the authors
about the title
about the cover illustration

Part 1 Understanding Tuscany and SCA

1 Introducing Tuscany and SCA
1.1 The big picture
1.2 Designing a sample composite application
1.3 Implementing a composite application
1.4 Working with other SOA technologies
1.5 Summary
2 Using SCA components
2.1 Implementing an SCA component
2.2 Using components to provide services
2.3 Connecting components using references and wires
2.4 Configuring components using properties
2.5 Enabling communication flexibility using bindings
2.6 Summary
3 SCA composite applications
3.1 Running a composite application in a single process
3.2 Understanding the SCA domain
3.3 Running a distributed composite application
3.4 Using SCA composites as application building blocks
3.5 Summary

Part 2 Using Tuscany

4 Service interaction patterns
4.1 Understanding the range of SCA service interaction patterns
4.2 Remote interaction
4.3 Local interaction
4.4 Request response interaction
4.5 One-way interaction
4.6 Callback interaction
4.7 Conversational interaction
4.8 Summary
5 Implementing components using the Java language
5.1 Defining a Java component implementation
5.2 Using SCA annotations in Java implementations
5.3 Services and references with Java interfaces
5.4 Java component services
5.5 Java component references
5.6 Java component properties
5.7 Java component instance creation and scope
5.8 Making callbacks
5.9 Holding conversations
5.10 Passing SCA service references
5.11 Handling errors
5.12 Summary
6 Implementing components using other technologies
6.1 Implementing components using Spring
6.2 Implementing components using BPEL
6.3 Implementing components using scripts
6.4 Summary
7 Connecting components using bindings
7.1 Introduction to SCA bindings
7.2 Demonstrating SCA bindings
7.3 Connecting component services with binding.sca
7.4 Connecting component services with web services
7.5 Connecting component services with CORBA
7.6 Connecting component services with RMI
7.7 Connecting component services with JMS
7.8 Connecting to EJBs
7.9 Summary
8 Web clients and Web 2.0
8.1 Servlets as SCA component implementations
8.2 Writing web component implementations using JSPs
8.3 HTML pages as SCA component implementations
8.4 Exposing file system resources
8.5 Exposing component services as Atom and RSS feeds
8.6 Referencing Atom and RSS feeds
8.7 Summary
9 Data representation and transformation
9.1 Data exchange between SCA components
9.2 Representing data within component implementations
9.3 Describing data contracts within SCA compositions
9.4 Data transformations
9.5 The Tuscany databinding framework
9.6 Summary
10 Defining and applying policy
10.1 An overview of policy within an SCA domain
10.2 The policy runtime
10.3 Using intents and policy sets for implementation policy
10.4 Using intents and policy sets for interaction policy
10.5 Other features of the SCA Policy Framework
10.6 Tuscany intents and policy sets
10.7 Summary

Part 3 Deploying Tuscany applications

11 Running and embedding Tuscany
11.1 Understanding the Tuscany runtime environment
11.2 Running Tuscany standalone
11.3 Running Tuscany using APIs
11.4 Running Tuscany with web applications
11.5 Configuring distributed nodes
11.6 Embedding Tuscany with a managed container
11.7 Summary
12 A complete SCA application
12.1 Getting ready to run the application
12.2 Assembling the travel-booking application
12.3 The travel-booking application in a distributed domain
12.4 Hints and tips for building composite applications
12.5 Summary

Part 4 Exploring the Tuscany runtime

13 Tuscany runtime architecture
13.1 An overview of the Tuscany architecture
13.2 A structural perspective of the Tuscany architecture
13.3 A behavioral perspective of the Tuscany architecture
13.4 Summary
14 Extending Tuscany
14.1 The high-level view of developing a Tuscany extension
14.2 Developing a POJO implementation type
14.3 Developing a new binding type
14.4 Summary

appendix A Setting up
appendix B What’s next?
appendix C OSOA SCA specification license
appendix D Travel sample license
index