Hello Michael,
(I cross-post this message to the Java Workflow Tooling newsgroup since
BPM using SOA is an important topic for this project)
I would add to the list of articles Stephane pointed you another
interesting one:
* "BPM is not software engineering"
http://www.infoq.com/news/2009/01/BPMSoftwareEngineering
IMHO, SCA is "only" a Sofware Engineering technology that makes the
composition, use and exposition of services easier.
You should use it when you want to create an _application_ that makes
use of several fine-grained services to create more coarse-grained
business logic units (and eventually expose them as services).
According to this article (and my personal thoughts ;)) you should not
try to use SCA as a modeling or technical solution for Business Process.
BPM already has a set of technology (BPMS, workflow engines,
modelers...) and languages (BPMN, XPDL...) that are made for it.
The ability to call services in Business Processes must come from those
technologies.
A lot of BPM-related projects (eg JWT, Bonita, in a near future probably
OW2 Scarbo) are working to make consumption of services easy in business
process. But this is not yet a "native" feature.
Calling services in workflows is a topic I am currently working on in
the context of SCorWare & Scarbo projects. For this, we use OW2 Frascati
SCA implementation as a "Service Provider" to make the bridge between
BPM and SOA. The interest of using SCA in such case is that it provides
a common solution for several services bindings and implementations, but
also that we believe that SCA is a well-grained technology to implement
processes automated tasks (a business analyst models a business process
that contains some automated tasks, that tasks will have to be
implemented by a developer, in such situation SCA seems really fine).
PS: an implementation.bpel seems to exist in Tuscany, using ODE
http://tuscany.apache.org/sca-java-implementationbpel.html
Regards,
Mickael
Stephane Drapeau a écrit :
Hi Michael,
Michael Gebhart a écrit :
Hi,
I have a problem understanding the intention of SCA. Of course I
know, what I can do with it, but I do not see why and when I should
use it.
In my opinion it seems to be well-suited for building software
applications that consists of several components.
But what about business processes and SCA? I have 10 existing systems
that provide their capability by means of web services. Now I want to
realize a business processes requiring those capabilities. Here I
need user interfaces to interact with the process and so on. Sure, I
can use bpel as implementation for a component.
But why should I do this? I have Webservices, I have BPEL-engines. I
don't see the advantages.
And if I want to have components I can use Java. Sure, SCA supports
several languages. But SCA does not support .NET as one of the most
important big players.
Maybe you can help me, why SOA needs SCA :) Isn't IBM the only
enterprise using SCA? Haven't seen SCA engines from Oracle/BEA, SAP etc.
Some interesting articles:
- SOA is dead; long live Model-Driven SOA (January 26, 2009) [0]
- Oracle Tuxedo 10gr3 (January 21, 2009): [1]
"Certainly the most exciting part of these releases is the support for
the Service Component Architecture (SCA) in SALT 10gR3."
- SAP: [2]
SAP forms part of the OASIS SCA-BPEL TC.
- Relevance of the Service Component Architecture Standard to a
Business Process Expert (an old article from SAP): [3]
Stephane Drapeau
Obeo
[0]:
http://www.theenterprisearchitect.eu/archive/2009/01/26/soa-is-dead-long-live-model-driven-soa
[1]:
http://blogs.oracle.com/Tuxedo/2009/01/oracle_tuxedo_10gr3_releases_1.html
[2]:
https://www.sdn.sap.com/irj/sdn/index?rid=/webcontent/uuid/2aff9bd8-0701-0010-5db4-beec85d4008e
[3]:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7bf32533-0c01-0010-a6a2-eb16a23ea817