Project Tango - WCF And Java Interop
Sun Microsystems has launched the open source initiative called Project Tango. Windows Communications Foundation Engineers are working together with Java Web Services Engineers on the interoperability of enterprise features.
Project Tango focuses on five key functional areas of interoperability.
wsimport from JAX-WS uses WS-Transfer and WS-MetadataExchange to retrieve the WSDL for a WCF service and create the consumer proxies that will be used to communicate with the service. Using wsimport spares the developer from having to know how the metadata is used to implement the proxies.
Also built into the JAX-WS platform are MTOM and XOP. This enables binary encoding of the XML content. Content can be encoded as MIME body parts or ecapsulated in as binary-encoded XML within HTTP packets. The net result is reduced XML size which helps to speed communication.
WS-SecureConversation is employed to establish a shared security context at the beginning of a multiple message exchange. This reduces the security communication overhead during complex interactions that require several message exchanges.
The WS-ReliableMessaging specification allows the underlying system to handle the recovery of message failures and removes that responsibility from application code. Enabling reliability in a Project Tango web service is as simple as checking a checkbox in a reliability panel in NetBeans.
Enabling Atom Transactions
Project Tango implements the WS-Coordination and WS-AtomicTranscations specifications for interoperable atomic transaction support.
Project Tango goes a step further than transport-based security such as SSL by implementing WS-Security to provide message security even if the message must pass through an intermediary. WS-Trust is also implemented for the management of security tokens and establish broker trust relationships.
WCF & Java Interop tutorial series
These articles are based on my real world development experience of SCM Anywhere (www.scmsoftwareconfigurationmanagement.com), a SCM tool with integrated version control, bug tracking and build automation.
The series has not been finished, but I am adding articles several times per week. Please check back for the latest articles.
The URL of the series is:
Thanks a lot.
Kevin Gao, MCSD MCDBA
Chris Mattmann Apr 15, 2014