Arch2Arch Tab BEA.com
Syndicate this blog (XML)

SCA and the future of development

Bookmark Blog Post

del.icio.us del.icio.us
Digg Digg
DZone DZone
Furl Furl
Reddit Reddit

Bill Roth's Blog | November 29, 2005   9:08 PM | Comments (9)


BEA announced on 11/30/2005 that, along with IBM, Oracle, SAP, Iona, Siebel, and Sybase, it is supporting a new specification for building and packaging applications called Service Component Architecture or SCA.

What is SCA?

SCA is a specification that allows developers to focus on writing business logic. More directly, it is a deployment descriptor on steroids, that works with any language, not just Java. Moreover, you can use procedural languages and declarative language like BPEL and XSLT as well. The key difference is that it uses the notion of declarative policies for things like security, transactions and reliable messaging.

One thing that sets SCA apart is that it has been designed for SOA, unlike other systems like J2EE which has been adapted to it. It focuses on being able to describe assemblies of components which have been written in a variety programming models and protocols.

The goal of SCA is the same as BEA's goal: Make things (building apps, in this case) easier. SCA allows the development off application assemblies without regard to specific middleware APIs or language.

At the heart of SCA is the notion of a service, and its related implementation. A service is defined by an interface which includes a set of operations. Service implementation can reference other services, called references. These services may have one or more properties which are data values that can be configured externally.

A key actor in the SCA universe is is the Service Data Object(SDO). AquaLogic Data Services Platform has been using these for a while. SDOs are used to represent business data, parameters and return values of service invocations, and are a way to represent data as it travels across a service network. Note that XMLBeans and other technologies can be used as well.

SCA components are composed into assemblies. Assemblies are service level applications which are collections of services connected together and appropriately configured. An SCA assembly operates at two levels: First, assemblies are a set of loosely connected components connected within a system. Second, assemblies are a set of loosely connected components connected within a module. The distinction between the two is (roughly) that a module is a collection of components, and a systems is a collection of modules. Furthermore, a system corresponds to "programming in the large" or megaprogramming, and a model is "programming in the small", akin to building one of today's typical applications. For examples and a further explanation, see the SCA whitepaper on Dev2Dev.

This wiring of components to the services they depend on is how service networks are "assembled." Assembly has been pioneered in a number of technologies and frameworks such as CORBA, J2EE, ATG Dynamo, and Spring, that is, it is nothing new. We have learned from these technologies that assembly provides important benefits (some of the frameworks mentioned do a better job than others at this) such as easier iterative development and avoiding making business logic dependent on middleware containers. SCA uses the concept of assembly to solve key problems presented by SOA development including:

  • Separation of business logic from underlying infrastructure, qualities of service, and transport.
  • Linking programming in the small with programming in the large.
  • Providing a unified way to move to and from architectural design, coding, and operational deployment in a bottom-up or top-down approach.

What does this mean for BEA?

The SDO 2.0 specification, which is part of the overall SCA technology platform, will be implemented in the next major release of AquaLogic Data Services Platform (ALDSP) product family (which already supports SDO 1.0 today). BEA AquaLogic Data Services Platform has been built from the ground up for SOA, and has been using SCA technology since the release of version 2.0.It provides automation for creating and maintaining enterprise data services which can help customers achieve greater productivity, business optimization, and faster time to value. The BEA AquaLogic Data Services Platform offers a single location to capture logic that is relevant to data access and data updates. A data services layer provides reusable, simplified access to relevant, real-time heterogeneous data. Note that SCA support in BEA Workshop will be forthcoming. It should be noted that BEA Workshop is available for free download.

Why does SCA matter?

SCA matters, because this is the first technology that promises a compositional model that will enable the Service Network and allow the building of the next generation of service-oriented applications. Each innovation in this field allowed a new layer of abstraction to appear which made new tiers of applications possible. C allowed applications to be built that could not be built in assembler, or whose effort would have been prohibitive. C++ allowed things to be built that could not be built in C. Java allowed things not possible in C++. All of these are progenitor to SCA. To put it simply, SCA is the future of building THE large scale enterprise composite application.

Comments

Comments are listed in date ascending order (oldest first) | Post Comment

  • I haven't been able to find any information on BEA Aqualogic Data Services Platform Version 3.0. Is this a typo, or is there a place to find info on 3.0?

    Posted by: cs225gome on May 23, 2006 at 3:55 PM

  • You are right, its a typo. Should be 2.0. I will fix.

    Posted by: wgroth2 on May 23, 2006 at 3:56 PM

  • Hi Bill, in BEA World 2006- as i read on the net, BEA had shown capabilities for supporting SCA containers like Tuscany as well as integrating SCA tooling such as visual service composer as part of WLW.Above you have also mentioned that.Does the newly released workshop 10 supports it, because i could not find the feature in the Data sheet.

    Posted by: gsatyaki on April 6, 2007 at 5:33 PM

  • Thanks for the question. The support for SCA will not show up in Workshop per-se, but will be include across all our rich-client tooling projects, especially those delivered around AquaLogic 3.0.

    Posted by: wgroth2 on April 6, 2007 at 5:44 PM

  • Thanks a lot for the prompt answer Bill. It was extremely helpful. So I guess currently SIs working on software projects for some clients who already has an investment in Workshop 8.1 and Integration Server 8.2 does NOT have an option of harnessing SCA enabled service development using these, not even if they upgrade for WLW 10.The only possible hope for them should be something like Eclipse STP, which ideally should be plugged in WLW 9.x/10...unless they are going for something like IBM's WID. Does BEA plan to integrate the SCA tooling support in ALBPM/ ALBP Enterprise studio 3.x or they would be integrated as part of ALSB 3.x as some added wizards/ Web UIs for Service Composition.And what about the SCA container support. Can we expect Weblogic Server 10 to support it or the SCA binary libraries needs to be manually configured somehow to support the SCA 1.x runtime for the WLS x.x. Thanks a ton in advance...

    Posted by: gsatyaki on April 7, 2007 at 1:54 PM

  • gsatyaki, The answer to your question "Does BEA plan to integrate the SCA tooling support..." is yes. And in fact, this is what the core design principle is around Workspace 360, which you can read about here: http://www.bea.com/framework.jsp?CNT=workspace360.jsp&FP=/content Sounds like we need to do a Workspace 360 & SCA for developers. br

    Posted by: wgroth2 on April 10, 2007 at 9:31 AM

  • Thanks Bill for all the info.In continuation with the same, is there a link or something where i can get/ download the Presentaion Slides of the BEA World 2006 demo about implementing SCA using Weblogic environment?

    Posted by: gsatyaki on April 10, 2007 at 10:36 AM

  • Send me your email address at broth at bea dot com, and I will send you a link.

    Posted by: wgroth2 on April 10, 2007 at 10:38 AM

  • Thanks Bill for raising a upbeat on SCA Standards. Can we see presentation slides of forthcoming SCA based release where we can see how composite application development is following SOA/SCA Standards. How do you compare with standards being followed by WebSphere Process Server, And BPMN/BPEL Tools, Oracle SOA/ESB Suites, JBOSS, Sun Technologies. Is it possible to see visual assembly of networked SCA Standards based services? Thanks Maneesh Innani Enterprise SOA Architect

    Posted by: injmaneesh@hotmail.com on August 8, 2007 at 7:05 AM



Only logged in users may post comments. Login Here.

Powered by
Movable Type 3.31