Tuesday, November 16, 2010

Driving Value with Service Component Architecture

Note: Originally posted on the IBM Impact events blog for "App Infrastructure Tuesday."

I met Yang Lei last month at the IBM employee car show in Research Triangle Park. She and I strolled around the visitors lot checking out vintage cars, modern hot rods and an antique fire engine. Yang is very passionate about helping customers to be successful. She has had the honor of being named as one of the most “Influential Lab Advocates” in IBM Software Group two years in a row. She talked to me about the value that Service Component Architecture (SCA) delivers for application developers.

Yang Lei at IBM RTP employee car show 2010.

Yang, what is SCA in two sentences?

SCA, Service Component Architecture, defines a language-neutral framework for composing and deploying services. Customers using SCA can use any language to implement loosely-coupled services that can be deployed using a variety of protocols by declarative configuration.

Why do you believe SCA helps to simplify SOA? Does SOA have to be complicated?

The core of SOA is the notion of a service; however, SOA itself does not specify the protocols that are used to connect the services together. Some people may think that Web Services is the only way to implement SOA but that is only one of the many ways a service can be presented.

SCA provides an abstraction layer that can be used to compose services. By using SCA, the customer can focus on the service itself and not worry about the protocol that is used to deploy the service. Later on, the service can be deployed as needed using a variety of protocols, for example as an HTTP/REST service or even as an message queue service in addition to deploying as a Web Service.

Why does IBM care about SCA and why should java developers care about SCA?

SCA offers an agile and flexible framework to build an SOA solution that can exploit the latest technologies and that is easily extendable to future advancements of the standards. SOA is a strategic initiative for IBM, and SCA is the ideal way to implement an SOA solution. That is why IBM cares about SCA.

For Java developers, SCA offers them a way to expose their services to developers who are using other languages as well as to consume services implemented in other languages. In addition, SCA provides Java annotations that can be coded directly in the Java code to describe service and reference configurations.

Can you talk about integration between IBM products and SCA?

In a broader view, SCA as a service composition architecture has been in IBM for a long time. The BPM stack product (WPS/WID) is built with what we called “Classic” SCA, a version of SCA before the open standard emerged.

WebSphere started to deliver Open SCA (OSOA) support as Feature Packs with WAS V6.1. There were multiple alpha and beta releases between 2006 and 2008. In 2008, the SCA Feature Pack V1.0 on Websphere V7.0 pioneered the support for OSOA SCA v1.0 specifications: Assembly, Java Implementation, Policy, WebService Binding, EJB binding and default binding. In 2009, the second SCA Feature Pack V1.0.1 provided additional support for JMS binding, Web2.0 (widget implement, Http binding with JSON-RPC wireformat, Atom) as well as JEE and Spring as implementation types. With 1.0.1, open SCA application and WPS classic application can hinter-op over default binding. Recently, we also delivered OSGi as a component implementation type.

Open source software is a key part of the IBM SCA solution. How did Tuscany start and who was responsible for it?

It helps to understand the background of the Open SCA specification and Apache Tuscany. Here are key milestones leading up to the current project release:

2003 Dec – BEA and IBM start collaborating on Open SCA
2005 – Classic SCA delivers in WID / WPS V6.0
2005 Nov – Open SCA v0.9 specification published
2005 Dec – Apache Tuscany enters incubation
2006 July – OSOA formed (17 members including IBM, BEA, Oracle, Interface21)
2006 Dec – WAS V6.1 Feature Pack for SOA Beta
2007 Mar – Open SCA v1.0 specification published, and submitted to OASIS
2008 May – Apache Tuscany graduates
2008 Aug – WAS V7.0 Feature Pack for SCA V1.0 Beta
2008 Dec – WAS V7.0 Feature Pack for SCA V1.0 released
2009 Dec – WAS V7.0 Feature Pack for SCA V1.0.1 released

What is an example of IBM's contribution to Tuscany?

The Apache Tuscany project has been around for 5 years now. IBM has been a strong support of this project and contributors from IBM have been participating in Tuscany since Day 1. IBM contributors are intimately involved in many different facets of Tuscany and are particularly active in ensuring Tuscany’s compliance with the OASIS SCA 1.1 standard.

Let's switch gears and talk about WebSphere, what's new since SCA v1.0.1?

We delivered OSGi as a SCA component implementation type after SCA v1.0.1. Now SCA is in WebSphere V8 beta.

How does SCA work together with OSGi?

SCA enables OSGi applications to communicate in a distributed environment. In a way, SCA gives OSGi application the wings to “fly”. Using SCA, an OSGi application can consume a wide variety of services through different protocols using SCA binding configuration. An OSGi application can also provide services to be consumed by other OSGi applications or non-OSGi applications using SCA bindings.

Where can we find more information about SCA on the web?

Here is a quick list of bookmarks:
Open Service Oriented Architecture website for SCA v1.0 Specifications
OASIS Open CSA website for SCA v1.1
Apache Tuscany website
SCA Feature Pack for WebSphere Application Server support website

Where can people meet you (and the team) at upcoming events?

ApacheCon just happened earlier this month but now we're already looking ahead to IBM Impact in April. You can find the SCA presentations from ApacheCon on Slideshare.net, such as:
Building Applications with Apache Tuscany by Luciano Resende, Jean-Sebastien Defino and Simon Laws
SCA reaches the Cloud by Luciano Resende and Jean-Sebastien Defino

What is the current hot topic in the SOA technology space?

What is your favorite development language and why?

Smalltalk. It is a pure object-oriented programming language that happened to be the first object-oriented language I built a real industrial application with. I fell in love with its powerful dynamicity, flexibility and extensibility. It changed my view on computer programming!

And for a quick diversion, please share with us your favorite hobby, tech related or not?

Food and travel. I have traveled around the world to dine at some of the best restaurants on the planet. So far I have dined in restaurants that have a total of 14 Michelin Stars amongst them.

Thanks to Yang for providing this look at Service Component Architecture and WebSphere Application Infrastructure. Yang Lei is the architect for the IBM WebSphere SCA Feature Pack. In this role, she leads a team of software engineers responsible for integrating the open source project named Tuscany into the WebSphere Application Server. In addition, she helps drive the development of the public SCA specification by serving on several technical committees in the OASIS project. Yang is a champion for Agile methodology within IBM. Before working on SCA, she was the lead architect and team lead for EJB CMP 2.x persistence in WebSphere software.

Until next time,
Ryan Boyles

No comments:

Post a Comment