.h1 Work In progress
Audiance
New user
Its ready to useful things
Target
SOA World on line initialy
October 15th
Contents
Intoduction - Haleh
- What is SCA
- What is Tuscany project
- Summary of V1.0 - status and what's in it
Applying Tuscany SCA To SOA
- Typical patterns
- Relate to current Tuscany features
- Real Use cases? Maybe Deloitte might be interested to add some notes here.
Getting started with your own project
- First steps to Using Tuscany
- Walk through 1 or 2 of the samples
- Pointers to useful information
- How to get involved in the project
- You can extend it but details are a different paper
Summary - Haleh (first draft)
- Its ready to use
Introduction
Applying Tuscany SCA To SOA
Introduction
The Service Component Architecture would never claim to solve every one of you distributed computing problems, or even provide and answer to all of the questions you are likely to have about Service Oriented Architecutures. It does how ever provide a consistent component programming and assembly model that will pay dividends in lots of situations.
The most first benefit you will see when you start to use the Tuscay SCA implementation is that it removes the need to learn lots of different APIs for connecting to remove service or for exposing service for others to connect to.
Before SCA the typical mode operation for building a program that had to talk remotely to other programs was to read the SOAP, RMI, REST manual for the product of you choice.
You ended up with code like the following
// some business logic // some comms api logic // some business logic
With Tuscany SCA the application developers to focus on business logic and all other concerns to be addressed by the supporting runtime. There are many more benefits of course alongside conmmuncation technology abstraction
- Implement the business logic in your preferred programming language
- Externalize the dependencies to promote loose-coupling and use the dependency injection to
- Declarative bindings to eliminate the learning curve/coupling of technology APIs such as JAX-WS, EJB, JMS
- Declarative intents/policies to enforce the QoSs
Enterprise Integration
In almost every enterprise today there is a requirement to have one computer system talk to another. For example, imagine the invoicing system wanting to get at the central CRM system
SCDL showing Invoicing talking to CRM over binding.ws
This XML SCA configuration language allows you to describe you loosly coupled enterprise component integration in the same way you do configure spring inside you applications.
With this in place we can;
Expose our existing enterprise application as a service using a variety of binding technologies
SCDL showing and extra binding.rmi added
Access enterprise services using a variety of binding technologies
The reference side with a binding.jms (JMS not in v1.0 though)
Create new components that direct the operation of services according to your business process regardless of the protocols that the services require
A simple Java component
TODO - bring in binding.ejb
Enabling Web 2.0
A web2.0 style application's ability to present a dynamic and responsive interface relies on and organizations ability to provide services for the application to interact. As you might expect Tuscany SCA is ideally placed to provides those services using popular technologies such as JSON, XML, RSS, Atom.
SCDL showing component exposing JSON and RSS bound service
Here a browser based application can connect direct to the SCA sevices using the usual approach
A snippet of java script showing JSON request
Tuscany SCA support other modes of operation also, for example, Direct Web Remoting link is supported with bining.dwr. Using this binding service to browser communication is supported slongside browser to service communication.
Script language based components can also be used. Tuscany SCA provides implementation.script. Those developers comfortable with writing browser based scripts can, for example, write service base java script components
SCDL showing implementation.script
Simple javascript component
Bringing IT and the business together
One of the less obvious benefits of the Service Component Architecture is that it has the potential to shrink the gap between the business and the IT organization.
Using a model of an organisation's applications and of the components that are composed to form those applications can provide a common language between traditionally disparate groups
Use of common terminology and semantics encourages good service design. Using Tuscany SCA to build and assemble components encourages a contract led and technology and protocol independent approach. This in itself tends to lead to cleaner more business aligned components.
The benfits here can also extend to any divides across an IT organization. Again a common approach regardless of implementation and binding technology and the ability to be able to describe and application concisely in terms of the services provided and services required can lead to a better appreciation of the features and facilities provided across the IT organization and can
TODO - Policy driven approach
Enabling B2B
- Providing and assembling the service behind your B2B exchanges
binding.ws
Data integration
- Databindings (XML, SDO, JAXB, JSON ...)
- implementation.xquery
- implementation.data and implementation.das
- binding.ws
- binding.feed
Getting Started With Your Own Project
Summary
V1.0 ready for prime time?
It is extensible so you can add to it (and contribute)