About this Book

The Apache Tuscany open source project was created to overcome the challenges associated with creating, deploying, and managing service-based applications—in particular, applications made of many components, potentially written using different programming languages, using different data formats, and communicating with various communication protocols. Apache Tuscany, or just Tuscany for short, provides the infrastructure that solves this problem and allows companies to focus on developing business components rather than worrying about managing and maintaining the underlying infrastructure.

The Tuscany project encompasses a number of different technologies, but the glue that binds everything together is provided by the Service Component Architecture (SCA). Tuscany SCA in Action focuses on SCA and explains how composite applications can be developed easily using the Apache Tuscany SCA Java runtime, or Tuscany SCA for short. This book is a tool for learning SCA and Tuscany. It provides detailed practical examples and is a guide for those wanting to learn how to create real applications. The source code for the examples in this book is available from the Apache Tuscany project at http://tuscany.apache.org/sca-java-travel-sample-1x-releases.html, or from the publisher’s website at www.manning.com/TuscanySCAinAction.

How the book is organized

Tuscany SCA in Action is divided into four parts, plus four appendixes. The first part introduces SCA as a programming model and Apache Tuscany as the platform for developing applications using SCA. In this part of the book we introduce the TuscanySCATours travel-booking application. The travel-booking application is developed in the book as we cover various aspects of Tuscany and SCA. Part 2 looks in more detail at SCA’s support for developing services and assembling them into composite applications. It starts by explaining the SCA-supported component interaction patterns. It continues with a detailed description of the various implementation, binding, data-binding, and policy technologies that Apache Tuscany supports. Part 3 explores techniques for deploying the travel-booking application locally or into a distributed environment. Apache Tuscany supports a number of technologies out of the box to facilitate integration with a variety of existing technologies. In addition, it offers an extensible architecture that allows users to extend it with new technologies. Part 4 explains the Apache Tuscany architecture and how it can be extended to support new technologies.

After reading this book you’ll have a thorough understanding of SCA and its benefits for your business. You’ll learn this through practical examples that are available as runnable applications from the Apache Tuscany website. You’ll also learn how to join the community of users and developers who work with Apache Tuscany and extend Apache Tuscany to support new technologies. Let’s look at how each part is divided into chapters.

Roadmap

Part 1 consists of chapters 1 through 3. Chapter 1 explains what Apache Tuscany is and highlights its benefits. It also introduces SCA, including a quick jumpstart for creating an application using SCA and Tuscany. Chapters 2 and 3 demonstrate most of the features of SCA at a high level using examples. They highlight how SCA can be used to assemble components into applications when the components may have been developed with a variety of technologies, using a variety of data formats and communication protocols.

Part 2 of the book focuses on understanding the detailed features of Apache Tuscany. This part consists of chapters 4 through 10. Chapter 4 covers interaction patterns in composite applications. Chapters 5 and 6 provide examples of developing components and services using Java, BPEL, Spring, and scripting technologies. Chapter 7 describes how components can be assembled and easily reassembled, using SCA bindings for a variety of technologies including Web Services, RMI, and more. In chapter 8 we focus on the client side and how Web 2.0 can be used with SCA to provide a flexible web client.

Chapter 9 explains how SCA services can use different data formats to interact with one another. It covers Service Data Objects (SDO) and Java Architecture for XML Binding (JAXB) as examples.

By now we’ve covered how to create and deploy composite applications. In chapter 10 we talk about how to apply quality of service features to these applications using policies, for example, to handle security configuration.

Now that we’ve developed a flexible application and shown how to deploy it, in part 3 we look at the choice of host platforms that Tuscany supports. Tuscany can be embedded into a variety of host platforms, for example, Apache Tomcat, Jetty, and Apache Geronimo. Chapter 11 covers hosting environment choices. Chapter 12 finishes off part 3 by describing how the pieces discussed in the earlier chapters come together to complete the travel application.

Part 4 of the book is for developers who’d like to learn to extend Apache Tuscany to support new technologies. This part consists of chapters 13 and 14. Chapter 13 describes the architecture of the Tuscany SCA Java runtime. Chapter 14 talks about how Tuscany can be extended to add a new component implementation and a new binding type. It also discusses how Tuscany seamlessly handles protocol format differences between components through its databinding framework and how that too can be extended.

Tuscany SCA in Action has four appendixes. Appendix A helps you set up your environment to run the examples in the book. Appendix B shares some thoughts on likely future directions for the Apache Tuscany project. Appendixes C and D include copies of the OSOA SCA specification license and ASF2 license, respectively.

Who should read this book

Tuscany SCA in Action is for all enterprise developers who care about creating reusable services and assembling those services into flexible composite applications (business applications). The particular focus is on freedom of choice of technology for developing component implementations, using communication protocols, and handling data formats. The book guides you through learning SCA and Tuscany using code examples and concludes with the assembly and deployment of the travel-booking application.

Although a major portion of the book is focused on developing applications using Tuscany and SCA, part 4 talks about how to extend Tuscany to support new technologies. This part is particularly relevant for architects and developers who would like to extend Tuscany to embrace other technologies not currently supported by Tuscany and to learn about how to get involved with the Tuscany open source project.

The scope of the Tuscany project is quite broad, and so we assume that you’re familiar with some of the basic techniques and technologies on which the Tuscany project builds, in particular the following:

  • The Java programming language
  • XML, XML Schema, and the use of XML namespaces
  • Web Services Definition Language (WSDL) and the use of tools for transformation between WSDL and Java classes

If you need more information on any of these subjects, then the internet is your friend. Many online resources are available that you can refer to.

Code conventions

The book contains many code examples. These examples will always appear in a fixed-width code font. Any class name, method name, or XML fragment within the normal text of the book will appear in code font as well. All runnable code pieces will appear as listings. Code annotations accompany many of the listings, highlighting important concepts. In some cases, numbered bullets link to explanations that follow the listing.

Author Online

Purchase of Tuscany SCA in Action includes free access to a private web forum run by Manning Publications, where you can make comments about the book, ask technical questions, and receive help from the authors and from other users. To access the forum and subscribe to it, point your web browser to www.manning.com/TuscanySCAinAction. This page provides information on how to get on the forum once you’re registered, what kind of help is available, and the rules of conduct in the forum.

Manning’s commitment to our readers is to provide a venue where a meaningful dialog between individual readers and between readers and the authors can take place. It isn’t a commitment to any specific amount of participation on the part of the authors, whose contribution to the book’s forum remains voluntary (and unpaid). We suggest you try asking the authors some challenging questions, lest their interest stray!

The Author Online forum and the archives of previous discussions will be accessible from the publisher’s website as long as the book is in print.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.242.204