The Source for Java Technology Collaboration
User: Password:



Harold Carr

Harold Carr's Blog

An Overview of Sun's Project Tango

Posted by haroldcarr on February 09, 2006 at 01:46 PM | Comments (4)

duke_tango_sm.jpg Sun Java Web Services (JWS) engineers are working with Microsoft Windows Communication Foundation (WCF) engineers to ensure interoperability of enterprise features. such as security, reliable messaging and atomic transactions. At Sun, we call this work "Project Tango" and like to think of Duke doing the dance. This is accomplished by implementing a number of WS-* specifications and holding plugfests where our engineers work together for a week to test our implementations of those specifications. This entry maps the enterprise features to particular specifications and talks about interoperability testing. Source and binaries will be available in the upcoming weeks.

The enterprise features fall into four main categories: messaging, metadata, security and quality-of-service (QoS), as shown in the following figure:

SpecOverview_sm.png

Starting with the core XML support built into the Java platform, we use or extend existing features and add new support for:

  • Messaging
  • Metadata
    • WSDL: Support for the Web Services Description Language is built into JAX-WS.
    • WS-Policy: Policies express and handle requirements and capabilities of web service consumers and providers.
    • WS-MetadataExchange: "WS-MEX" is a protocol to enable a consumer to obtain a service's metadata (i.e., its WSDL and policies). Think of it as a bootstrap mechanism for communication.
  • Security
    • WS-SecurityPolicy: Defines specific policies (i.e., assertions) that describe how messages are secured.
    • WS-Security: Provides message content integrity and confidentiality (even in the presence of intermediaries).
    • WS-Trust: Provides methods for issuing, renewing, and validating security tokens used by WS-Security. It also provides ways to establish and broker trust relationships
    • WS-SecureConversation: Can be viewed as a security optimization (i.e., better message level security and efficiency in multiple-message exchanges).
  • QoS
    • WS-ReliableMessaging: Enables a messaging system to recover from failures caused by messages that are lost or misordered in transit.
    • WS-Coord: A framework for providing protocols that coordinate the actions of distributed applications. Used by WS-AtomicTransactions.
    • WS-AtomicTransactions: Supports two phase commit semantics such that either all operations invoked within an atomic transaction succeed or are all rolled back.

From a functional point-of-view the main features enabled by the above specifications are:

  • bootstrapping communication
  • securing communication
  • optimizing communication
  • enabling reliability
  • enabling atomic transactions
In future entries I will provide more detail on these specifications and I will show how the specifications play together (i.e., compose) to provide enterprise features.

Interoperability Testing

Last November 2005 Sun and Microsoft engineers worked in the same room for a number of days testing the interoperability of our implementations. We will do this again next month, March 2006, at another "plugfest." Arun's blog is a good place to go to keep up-to-date on our plugfest progress and results.

Availability of JWS/WCF Interoperability Software

We plan to make Sun's interoperability software available in time for this year's Java One. Binaries will be available in the Java Web Services Developer Pack and source code will be available as part of the Glassfish community.

Technorati:


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • IBM makes a J2EE Application Server called WebSphere.

    I wanted to mention that because the people at Sun generally act like it doesn't exist. Some places in forums people ask about running the JWSDP in WebSphere, and the reply is along the lines of "we never tried that, we have the free Sun Application Server...".

    I'm sure SAS and Glassfish are wonderful, but we have customers that want to hand us bags of money to have our Web Services work in their WebSphere shops. Some interoperability between Sun and IBM would be as nice as between Sun and Microsoft.

    Posted by: ralphc on February 23, 2006 at 07:26 AM

  • Then, go ask IBM's support! :P
    ps: I don't work for Sun (just in case)

    Posted by: ronaldtm on March 13, 2006 at 08:59 AM

  • Thanks for very interesting article. Can I translate your article into polish and publish at my website?
    I will back here and check your answer. Keep up the good work.
    Kyosho-Fingerprint-Garment

    Posted by: teamagazine on November 04, 2007 at 11:51 PM

  • You may translate the article. However, the interoperability and availability sections are out-of-date. We are now calling the interoperable web services stack Metro. Metro is built into
    GlassFish b59g which ships as Sun Java System Application Server 9.1. Metro also runs in any Servlet 2.4 compliant web container (e.g., Tomcat). You might also consider using material for a companion article to this post
    Sun's Project Tango.

    Posted by: haroldcarr on November 05, 2007 at 08:36 AM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds