The Source for Java Technology Collaboration
User: Password:



Harold Carr's Blog

Community: Java Web Services and XML Archives


Joint Sun/Microsoft J1 talk on Web Services

Posted by haroldcarr on April 10, 2008 at 10:04 AM | Permalink | Comments (0)

Kevin Wittkopf and I will be giving a joint talk on Java (using Metro and GlassFish) and .NET 3.5 interoperable web services at JavaOne.

TS-6128
Interoperable Businesss Web Services Using Project Metro and .NET 3.5
Harold Carr, Sun Microsystems, Inc.
Kevin Wittkopf, Microsoft

Wednesday
05/07/2008
2:50 PM -3:50 PM

Technorati: wsit glassfish projectmetro

CFP DOA 2008

Posted by haroldcarr on April 09, 2008 at 03:13 PM | Permalink | Comments (0)

I'm on the program committee (my fourth time) for the Distributed Objects, Middleware, and Applications conference (DOA'08) being held in Monterrey, Mexico, Nov 10 - 12, 2008. Here is the Call For Papers. Submit something or plan on attending and discussing cutting edge middleware research.

======== DOA 2008 Call For Papers ===================

The 10th International Symposium on

Distributed Objects, Middleware, and Applications (DOA'08)

Monterrey, Mexico, Nov 10 - 12, 2008

http://www.cs.rmit.edu.au/fedconf

Continue Reading...



Metro Web Services .NET 3.5 Plugfest 3/08 Results

Posted by haroldcarr on March 25, 2008 at 02:30 PM | Permalink | Comments (0)

4 Sun development engineers (myself, Jiandong, Rama and Marek) were at Microsoft's Redmond campus last week to participate in the latest plugfest to test interoperability between future releases of Metro Web Services and Windows Communication Foundation in .NET 3.5.

Note: our shipping product, Metro 1.0 (built into GlassFish V2 UR1 and runs in other web containers---e.g., Tomcat), interoperates with .NET 3.0 based on mostly non-standard specifications. What we tested at this plugfest was our current development codebase that will interoperate with .NET 3.5 based on standard specifications. If you are interested in the interop results for our shipping products see the Metro 1.0 Status Notes.

We tested Security, Trust 1.3, SecureConversation 1.3, ReliableMessaging 1.1, MTOM and Addressing. Here are our results. The test results are in line with our expections for this point in our development cycle.

Security scenarios:

                                   Metro->WCF      WCF->Metro
WsSecurity10-X10                   PASS            PASS
WsSecurity10-X10-NoTimestamp       PASS            PASS
WsSecurity11-A                     PASS            PASS
WsSecurity11-AD                    PASS            PASS
WsSecurity11-AD-ES                 PASS            PASS
WsSecurity11-A-ES                  PASS            PASS
WsSecurity11-A-NoTimestamp         PASS            PASS
WsSecurity11Sign-AS                did not run*    PASS
WsSecurity11Sign-ASD               PASS            PASS
WsSecurity11Sign-UXS               PASS            PASS
WsSecurity11Sign-UXSD              PASS            PASS
WsSecurity11Sign-XS                PASS            PASS
WsSecurity11Sign-XSD               PASS            PASS
WsSecurity11-UX                    PASS            PASS
WsSecurity11-UXD                   PASS            PASS
WsSecurity11-UXD-SEES              PASS            PASS
WsSecurity11-UX-NoTimestamp        PASS            PASS
WsSecurity11-UX-SEES               PASS            PASS
WsSecurity11-X                     PASS            PASS
WsSecurity11-X-AES128              PASS            PASS
WsSecurity11-X-AES192              PASS            PASS
WsSecurity11-XD                    PASS            PASS
WsSecurity11-XD-ES                 PASS            PASS
WsSecurity11-XD-SEES               PASS            PASS
WsSecurity11-X-NoTimestamp         PASS            PASS
WsSecurity11-X-TripleDES           PASS            PASS

* Not present in MS external endpoint.

WS-Trust 1.2:

            S-S-M  S-M-M  S-M-S  M-S-S  M-S-M  M-M-S
Scenario1:  P      P      P      P      P      P
Scenario2:  P      P      P      P      P      P
Scenario5:  P      P      P      P      P      P
Scenario6:  P      P      P      P      P      P 

WS-Trust 1.3:

            S-S-M  S-M-M  S-M-S  M-S-S  M-S-M  M-M-S
Scenario1:  P      P      P      P      P      P
Scenario2:  P      P      P      P      P      P
Scenario3:  P      P      P      P      P      P
Scenario4:  P      P      P      P      P      P
Scenario5:  P      P      P      P      P      P

WS-SecureConversation 1.3:

           S-M  M-S
scenario6: P    P
Scenario8: P    P 

Trust, SecureConversation Notes:

  • S-S-M means Metro (Sun) client, Sun STS, WCF (Microsoft) Service, etc.
  • P = Pass, F = Failed

WS-ReliableMessaging 1.0 and 1.1

                                 Metro->WCF  WCF->Metro  Metro->WCF  WCF->Metro  Metro->WCF  WCF->Metro
                                 external    external    internal A  internal A  internal B  internal B
RM1.0 SOAP1.2 One-way            pass        NR          pass        pass        pass        pass
RM1.0 SOAP1.1 One-way            pass        NR          pass        pass        pass        pass
RM1.0 SOAP1.2 One-way Secured    pass        NR          FAIL        FAIL        pass        pass
RM1.0 SOAP1.1 One-way Secured    pass        NR          FAIL        FAIL        pass        pass

RM1.0 SOAP1.2 Roundtrip          pass        NR          pass        pass        pass        pass
RM1.0 SOAP1.1 Roundtrip          pass        NR          pass        pass        pass        pass
RM1.0 SOAP1.2 Roundtrip Secured  pass        NR          FAIL        FAIL        pass        pass
RM1.0 SOAP1.1 Roundtrip Secured  pass        NR          FAIL        FAIL        pass        pass

RM1.1 SOAP1.2 One-way            pass        NR          pass        pass        pass        pass
RM1.1 SOAP1.1 One-way            pass        NR          pass        pass        pass        pass
RM1.1 SOAP1.2 One-way Secured    pass        NR          pass        pass        FAIL        FAIL
RM1.1 SOAP1.1 One-way Secured    pass        NR          pass        pass        FAIL        FAIL

RM1.1 SOAP1.2 Roundtrip          pass        NR          pass        pass        pass        pass
RM1.1 SOAP1.1 Roundtrip          pass        NR          pass        pass        pass        pass
RM1.1 SOAP1.2 Roundtrip Secured  pass        NR          pass        pass        FAIL        FAIL
RM1.1 SOAP1.1 Roundtrip Secured  pass        NR          pass        pass        FAIL        FAIL

NR=="Not Run"

There seemed to be a configuration problem on the internal plugfest machines (i.e., internal A and internal B)

MTOM

Soap11MtomSignEncrypt        4  
Soap11MtomSignOnly           5 
Soap11MtomUtf16              5 
Soap11MtomUtf8               5  
Soap12MtomUtf8               5  
Soap12MtomUtf8Aug04          5  
Soap12MtomUtf8Security       5   
Soap12MtomUtf8SecurityAug04  4 

Metro->WCF: 38/38
WCF->Metro: 38/38

WS-Addressing

Metro->WCF:
WS-Addressing CR SOAP 1.1:                22/23 (1143 failed)
WS-Addressing CR SOAP 1.2:                24/25 (1243 failed)
WS-Addressing Member Submission SOAP 1.1: 10/10
WS-Addressing Member Submission SOAP 1.2: 11/11

WCF->Metro:
WS-Addressing CR SOAP 1.1:                24/25 (1152 failed)
WS-Addressing CR SOAP 1.2:                26/26 (1152 failed)
WS-Addressing Member Submission SOAP 1.1: 10/11 (1152 failed)
WS-Addressing Member Submission SOAP 1.2: 11/12 (1152 failed) 

We will be continuously running the above tests along with the rest of the interop scenarios as we work toward Metro / .NET 3.5 interop for a release sometime in 2008. Check out Jiandong's, Marek's and Rama's blogs for more details on interop results from this plugfest.

Technorati: wsit glassfish projectmetro



$175K in prizes for GlassFish and Metro web services stack

Posted by haroldcarr on March 18, 2008 at 12:04 PM | Permalink | Comments (2)

The GlassFish Community Awards (GAP) program is giving away $175,000 (USD) in cash prizes for the best bug reports and other contributions to the GlassFish community---that includes the Metro web services stack. Contributions include:

  • Develop a Metro application or plugin
  • Create Metro blueprints and/or documentation
  • Develop Metro curricula or tools courseware that are localized and technology focused
  • Setup a Metro users group
  • Create a localized Metro portal
  • Promote Metro at a university
  • Conduct research to improve Metro

See the Project Ideas page for additional information, and the GAP Rules for the details on creating an Entry. Email your Entry to gap-submissions@glassfish.dev.java.net.

Looking forward to seeing a lot of creative submissions. Send in an Entry right away.

Technorati: wsit glassfish projectmetro



Sun and Microsoft speaking on Java/.NET integration in Utah

Posted by haroldcarr on February 19, 2008 at 03:29 PM | Permalink | Comments (0)

I will be speaking with Kevin Wittkopf (Senior Solutions Architect from Microsoft) on Java/.NET integration at the Utah Java Users Group on Thursday, February 21, 2008.

I will speak on "Java/.NET 3.x Web Service Interoperability using Project Metro" (aka WSIT or Tango) at 6pm MT. I will show how easy it is to build web service clients and services that interoperate with Windows Communications Foundation.

Kevin will speak on "Java and .NET - Best of Both Worlds" at 7pm MT. From his abstract: "Are your customers (like most) predominantly running Windows and Office on the desktop, and would like to have an Windows-specific client to work with their J2EE server?"

There are breakout sessions afterwards. If you are in Utah, please stop by and say hello.

Technorati: wsit glassfish projectmetro



Presenting Project Metro in Frankfurt and Antwerp

Posted by haroldcarr on November 29, 2007 at 02:01 PM | Permalink | Comments (2)

I will be giving presentations on the Metro web services stack at Sun Tech Days in Frankfurt, Germany (Dec 3-5) and at JavaPolis in Antwerp (Dec 10-14). If you are interested in using Metro (or already use it) please drop by and say hello.

Technorati: wsit glassfish projectmetro



Metro Web Services / .NET 3.5 Plugfest Results

Posted by haroldcarr on November 14, 2007 at 06:32 AM | Permalink | Comments (2)

3 Sun development engineers (myself, Jiandong and Ashutosh were at Microsoft's Redmond campus last week to participate in the latest plugfest to test interoperability between future releases of Metro Web Services and Windows Communication Foundation in .NET 3.5.

Note: our shipping product, Metro 1.0 (built into GlassFish V2 FCS (b58g) and runs in other web containers---e.g., Tomcat) ), interoperates with .NET 3.0 based on mostly non-standard specifications. What we tested at this plugfest was our current development codebase that will interoperate with .NET 3.5 based on standard specifications. If you are interested in the interop results for our shipping products see the Metro 1.0 Status Notes.

We tested Kerberos token support, Trust 1.3, SecureConversation 1.3, ReliableMessaging 1.1, MTOM and Addressing. Here are our results. The test results exceed our expections for this point in our development cycle.

Kerberos scenarios:

                                   Metro->WCF      WCF->Metro
WsSecurity10-K                     Pass            Pass
WsSecurity10-KD                    Pass            Pass
WsSecurity10Sign-KS                Pass            Pass
WsSecurity10Sign-KSD               Pass            Pass
WsSecurity11-K                     Pass            Pass
WsSecurity11-KD                    Pass            Pass
WsSecurity11-KD-ES                 Pass            Pass
WsSecurity11-K-NoTimestamp         Pass            Pass
WsSecurity11Sign-KS                Pass            Pass
WsSecurity11Sign-KSD               Pass            Pass
WsSecureConversation10-KC10        Pass            Pass
WsSecureConversation10-KDC10       Pass            Pass
WsSecureConversation11-KC          Pass            Pass
WsSecureConversation11-KDC         Pass            Pass
WsSecureConversationSign11-KSDC    Pass            Pass
WsSecureConversationSign10-KSC10   Pass            Pass
WsSecureConversationSign10-KSDC10  Pass            Pass
WsSecureConversationSign11-KSC     Pass            Pass

WS-Trust 1.3:

             S-S-M  S-M-M  S-M-S  M-S-S  M-S-M  M-M-S 

Scenario1:   F 	    F      P      P      P      P
Scenario2:   P      P      P      P      P      P
Scenario3:   P      P      P      P      P      P
Scenario4:   P      P      P      P      P      P
Scenario5:   P      P      P      P      P      P
Scenario9:   F      F      F      P      P      P
Scenario10:  P      P      P      P      P      P
Scenario11:  P      P      P      P      P      P

WS-SecureConversation 1.3:

            S-M  M-S
scenario6:  P    P
Scenario8:  P    P

Trust, SecureConversation Notes:

  1. S-S-M means Metro (Sun) client, Sun STS, Microsoft Service, etc.
  2. P = Pass, F = Failed
  3. For scenario1, the F due to a bug on WCF.
  4. For scenario9, the F due to an imcomplete feature support.
  5. The tests are based on the standard versions of all the technologies: WS-Policy 1.5, WS-Addressing 1.0 with addressing metadata, Oasis WS-SX ( WS-Trust 1.3, WS-SecureConversation 1.3, WS-SecurittyPolicy 1.2).

WS-ReliableMessaging 1.0 and 1.1: Metro client to WCF service:

604> ant run-reliableoneway | grep TestRM
     [java] TestRM v1.0, SOAP1.2, One-way: PASSED.
     [java] TestRM v1.0, SOAP1.1, One-way: PASSED.
     [java] TestRM v1.1, SOAP1.2, One-way: PASSED.
     [java] TestRM v1.1, SOAP1.1, One-way: PASSED.
605> ant run-reliableroundtrip | grep TestRM
     [java] TestRM v1.0, SOAP1.2, Roundtrip: PASSED.
     [java] TestRM v1.0, SOAP1.1, Roundtrip: PASSED.
     [java] TestRM v1.1, SOAP1.2, Roundtrip: PASSED.
     [java] TestRM v1.1, SOAP1.1, Roundtrip: PASSED.
606> ant run-securereliableoneway | grep TestRM
     [java] TestRM v1.0, SOAP1.2, One-way, Secure: PASSED.
     [java] TestRM v1.0, SOAP1.1, One-way, Secure: PASSED.
     [java] TestRM v1.1, SOAP1.2, One-way, Secure: ERROR!!!
     [java] TestRM v1.1, SOAP1.1, One-way, Secure: ERROR!!!
607> ant run-securereliableroundtrip | grep TestRM
     [java] TestRM v1.0, SOAP1.2, Roundtrip, Secure: PASSED.
     [java] TestRM v1.0, SOAP1.1, Roundtrip, Secure: PASSED.
     [java] TestRM v1.1, SOAP1.2, Roundtrip, Secure: ERROR!!!
     [java] TestRM v1.1, SOAP1.1, Roundtrip, Secure: ERROR!!!

Note: We fixed the four errors above but did not get a chance to try them at the plugfest. They now pass on the external endpoints.

WS-Addressing: Metro client to WCF service:

     [java] Tests run: 23,  Failures: 0,  Errors: 7
     [java] Tests run: 25,  Failures: 0,  Errors: 1
     [java] OK (10 tests)
     [java] OK (11 tests)

We had 8 Metro->WCF addressing failures. We are still investigating these.

WS-Addressing: WCF client to Metro service:

--------------------------------------------------
ttp://10.10.34.101:8080/jaxws-wsacrs12/cr

 +  	Test1200	Pass
 +  	Test1201	Pass
 +  	Test1202	Pass
 +  	Test1203	Pass
 +  	Test1204	Pass
 +  	Test1206	Pass
 +  	Test1207	Pass
 +  	Test1208	Pass
 +  	Test1230	Pass
 + 	Test1231	Pass
 +  	Test1232	Pass
 +  	Test1233	Pass
 +  	Test1234	Pass
 +  	Test1235	Pass
 +  	Test1236	Pass
 +  	Test1240	Pass
 +  	Test1241	Pass
 +  	Test1242	Pass
 +  	Test1243	Pass
 +  	Test1244	Pass
 +  	Test1246	Pass
 +  	Test1247	Pass
 +  	Test1250	Pass
 +  	Test1251	Pass
 +  	Test1252	Fail
 +  	Test1270	Pass
--------------------------------------------------
http://10.10.34.101:8080/jaxws-wsacrs11/cr

 +	Test1100	Pass
 +  	Test1101	Pass
 +  	Test1102	Pass
 +  	Test1103	Pass
 +  	Test1104	Pass
 +  	Test1106	Pass
 +  	Test1107	Pass
 +  	Test1108	Pass
 +  	Test1130	Pass
 +  	Test1131	Pass
 +  	Test1132	Pass
 +  	Test1133	Pass
 +  	Test1134	Pass
 +  	Test1135	Pass
 +  	Test1136	Pass
 +  	Test1140	Pass
 +  	Test1141	Pass
 +  	Test1142	Pass
 +  	Test1143	Pass
 +  	Test1144	Pass
 +  	Test1146	Pass
 +  	Test1147	Pass
 +  	Test1150	Pass
 +  	Test1151	Fail
 +  	Test1152	Fail
 +  	Test1170	Pass
--------------------------------------------------
http://10.10.34.101:8080/jaxws-wsamss12/member

 +  	Test1200	Pass
 +  	Test1201	Pass
 +  	Test1230	Pass
 +  	Test1231	Pass
 +  	Test1232	Pass
 +  	Test1233	Pass
 +  	Test1234	Pass
 +  	Test1235	Pass
 +  	Test1250	Pass
 +  	Test1251	Pass
 +  	Test1252	Fail
 +  	Test1270	Pass
--------------------------------------------------
http://10.10.34.101:8080/jaxws-wsamss11/member

 +	Test1100	Pass
 +  	Test1101	Pass
 +  	Test1130	Pass
 +  	Test1131	Pass
 +  	Test1132	Pass
 +  	Test1133	Pass
 +  	Test1134	Pass
 +  	Test1135	Pass
 +  	Test1150	Pass
 +  	Test1152	Fail
 +  	Test1170	Pass

We are investigating the 5 failures.

MTOM: Metro client to WCD service:

Names                                       Tests   Failures   Errors
indigo.mtom.soap11signenc.client            5       1          0
indigo.mtom.soap11signonly.client           5       0          0
indigo.mtom.soap11utf16.client              5       0          0
indigo.mtom.soap11utf8.client               5       0          0
indigo.mtom.soap12utf8.client               5       0          0
indigo.mtom.soap12utf8aug04.client          5       0          0
indigo.mtom.soap12utf8security.client       5       0          0
indigo.mtom.soap12utf8securityaug04.client  5       1          0	

The two failures are the same:

testEchoBinaryHeaderAsString	Error	An error occurred when verifying security for the message.

According to Kumar, the tests that fail are using WSS 1.0 instead of WSS 1.1. The failed tests are encrypting a SOAP Header - encrypted headers are not specified in WSS 1.0. So it seems the tests are invalid.

We will be continuously running the above tests along with the rest of the interop scenarios as we work toward Metro / .NET 3.5 interop for a release sometime in 2008. Check out Jiandong's and Ashutosh's blogs for more details on Kerberos, Trust and SecureConversation interop results from this plugfest.

Again, let me emphasize, these results are for a future Metro release that will interop with .NET 3.5. Our current shipping release interoperates with .NET 3.0

Technorati: wsit glassfish projectmetro



How to test Metro to .NET web service interop

Posted by haroldcarr on October 29, 2007 at 03:14 PM | Permalink | Comments (2)

My tech tip on how to test ReliableMessaging interop between a Metro client with a public .NET service is now available. It's also available as an RSS-enabled blog entry.

Being able to run these tests should give you confidence in our interoperability capabilities. We do run the entire gamut of interop tests, such as these, in both directions everyday. Knowing this info is also useful if you want to join our open source effort and contribute to developing the platform.

Note: A future article will show the reverse direction: a .NET client with a Metro service.

Technorati: wsit glassfish projectmetro



Mid-West Java Tech Days Trip Report

Posted by haroldcarr on October 03, 2007 at 11:33 AM | Permalink | Comments (0)

I presented the Metro web services stack at Mid-West Java Tech Days in Columbus, Ohio and Indianapolis, Indiana last week.

These are mini-Java Ones with sessions on the NetBeans IDE, the jMaki Ajax framework, the JavaFX rich content platform, the Java Persistence API, SOA using OpenESB BPEL and NetBeans, and Java SE 6 top 10 features.

If you missed last week's sessions there are two more coming up: Minneapolis on October 16 and Chicago on October 18. Arun will be giving the Metro presentation. These are events free.

For me, the best part of giving a talk is trying to respond to the questions asked. I always learn something. Here are some questions and answers from my two sessions.

  • Dynamic updates (server): Can one change the quality-of-service (e.g., Reliable Messaging, Transactions, Security) of a service at runtime?
    • No. It is easy to change the quality-of-service using NetBeans (no code changes). But the changed service must be redeployed
    • We may provide such a feature in a future release, but neither Metro nor .NET 3.x provide this feature now.
  • Dynamic updates (client): If one redeploys a service with a quality-of-service change do clients automatically pick up the change?
    • No. The client proxies must be regenerated (application code does not need to change).
    • We may provide such a feature in a future release, but neither Metro nor .NET 3.x provide this feature now.
  • Java only: Does one need .NET 3.x to use the Tango features of Metro?
    • No. If you need the Tango features on Java only then using Metro for both clients and services will provide all the benefits of Security, Reliability and Transactions.
  • Interop with other platforms: Does Metro interoperate with other web service platforms?
    • Yes. If you use WS-I Basic Profile 1.1 or Basic Security Profile 1.0 then Metro interoperates with any web service stack that conforms to these profiles.
    • Yes. It interoperates with Windows Communication Foundation in .NET 3.0. We do extensive joint testing with Microsoft in this area.
    • Maybe. Metro might interoperate with other platforms that implement the set of WS-* specifications implemented by Metro (and .NET 3.0). We only claim and test interoperability with .NET 3.0.
  • Specification: Do I need to read the WS-* specifications?
    • NO. The specifications are used by Sun, Microsoft and other engineers to build web services platforms. Engineers that are using those platforms to build web service clients and services do not need to read or even know the existence of those specifications. Those specifications enable features such as reliability, transactions, and security. We expose those feature via NetBeans. The tutorial shows you how and when to use those features.
  • Interop with C++: Is is possible for Metro to interoperate with C++ based clients and services?
    • Maybe. This is really a question for Microsoft. It depends on how well their C++ is supported in their WCF platform. In theory, if WCF supports C++ then Metro should interoperate with it.
  • Solaris, Sparc, Windows, etc: Many off-topic questions about open source Solaris, Java on embedded devices, Windows on Sun Hardware, and more.
    • Check the links above for more info.

Technorati: wsit glassfish projectmetro



Metro at Mid-West Java Tech Days

Posted by haroldcarr on September 26, 2007 at 12:09 PM | Permalink | Comments (1)

I spoke on the Metro web services stack (aka Tango) today (Wednesday 9/26) in Columbus, Ohio at the Mid-West Java Tech Days. Tomorrow I do the same in Indianapolis. It's free. Come on down. Lots of other stuff to hear about too.

p.s.: Arun will be speaking at the ones in October.

Technorati: wsit glassfish projectmetro



Tango FCS - Metro Web Services now ready for production use

Posted by haroldcarr on September 18, 2007 at 08:49 AM | Permalink | Comments (2)

FCS

Project Tango (aka WSIT - Web Services Interoperability Technology) is now FCS (First Customer Shipment)! Tango provides the .NET 3.0 interoperability features (i.e., security, reliability, transactions) built into the Metro Web Services stack. Besides including Tango, Metro includes the core JAX-WS platform and JAXB.

Metro FCS is built into GlassFish V2 FCS (b58g) which FCSed yesterday as Sun Java System Application Server 9.1. Metro also runs in other containers (e.g., Tomcat).

Metro FCS also has a NetBeans module to make building advanced web services easy---just point and click---no code, no config files.

Metro = Tango + JAX-WS

JAX-WS

We've been shipping our JAX-WS production implementation for quite some time. It's a high-performance implementation of the JAX-WS specification. It produces and consumes WS-I Basic Profile 1.1 services and clients.

Tango

The Tango part of Metro 1.0 FCS implements numerous WS-* specifications to enable interoperability with Web Service producers and consumers Microsoft's .NET 3.0 Windows Communication Foundation. Specifically, we implement the specifications listed here.

Note: most of these specifications (but not all - e.g., WS-Security) are submission specifications, not standards. That is because these are the specifications implemented in .NET 3.0, and that is the main point of Tango: to enable interop with .NET 3.0 (although there is nothing stopping you from using the advanced Tango features in Java-only scenarios).

Also note: a future version of Metro will implement standard versions of the above specifications---once again, the same set as implemented by .NET 3.5 when it is released.

Use Cases

Even though we are just FCSing now, we have real users building real systems using Metro in the finance, telco and health care industries.

Finance

A large finance company uses Metro to provide the secure web services backbone for services that securely interoperate with

  • Axis 1.4
  • WSE 2.0
  • .NET 3.0
We needed to add some special policy assertions like:
<sc:InclusiveC14NWithComments sc:forCm="true"/>
to enable the use of the C14NWithComments algorithm for canonicalization of XML documents to enable security interop with Apache WSS4J. Metro, by default uses a different algorithm: Exclusive XML Canonicalization.

Telco

A well-known telco has already deployed an international trouble ticketing system based on Metro. They implemented a subset of WS-Eventing and WS-Notification to push and pull trouble tickets between various partners. An interesting thing we added here was the ability for SSL information to be retained, end-to-end, in headers, even though the SSL transport was terminated at a load-balancer.

Health Care

A government agency is building a unified health care system based on Metro to serve millions of people. The will be using the Metro security and reliable messaging features. In addition, they will be integrating at a deep level---building their own tubes to handle client authorizations. They will also be adding and setting headers via Packet. They have voluminous data they are adding to headers.

BTW: I don't recommend putting application data in headers. Put it in your own application-specific envelope. Otherwise your data model is split between your application data and header data making it hard to manage. Worse, if you use JAX-WS specification handlers your performance will go down the drain. If you must read or write headers, send us a note at users@metro.dev.java.net and we will show you an easy and efficient way to do with without using handlers (or a tube).

What's next?

It's been an exciting and hard-working 2 years from spinning up Tango to our FCS release. I'd like to savor the moment and keep the focus on Metro 1.0 FCS, so I don't want to say much about the future in this blog entry. Suffice it to say that we plan on Metro updates every 8 weeks---with each release containing bug fixes and some new features. In the Tango area the big thing on the horizon is interop with .NET 3.5 via standard versions of the WS-* specifications. That should happen the first half of 2008.

For now, start using Metro 1.0 in GlassFish (or other containers) and let us know how it works for you. We'd really like to see your use-cases. Send us mail at users@metro.dev.java.net.

Enjoy!

Technorati: wsit glassfish projectmetro



Project Tango at last week's .NET 3.5 plugfest

Posted by haroldcarr on July 18, 2007 at 01:51 PM | Permalink | Comments (2)

Members of the Project Tango (part of the Metro web services stack) team (Harold Carr, Jiandong Guo, Mike Grogan, Ken Hofsass) were at Microsoft's Redmond campus last week to participate in a plugfest to ensure web service interoperability between Java and .NET 3.0 and 3.5.

This is the fourth plugfest we've participated in. The first three were focused on interoperability between Java and .NET 3.0. WSIT 1.0 passes all the scenarios for all all technologies when interoperating with .NET 3.0.

Microsoft has shipped Vista that includes .NET 3.0. We will FCS WSIT 1.0 in September as part of GlassFish v2.

The specifications that describe the interop between WSIT and .NET 3.0 are listed here.

Note that most of the specifications in the above list are not standard. Implementations of the standard versions of these specifications will be included in .NET 3.5 and a post-FCS version of WSIT.

We are just winding up our WSIT 1.0 FCS work and beginning our work on the standard versions of the specs. We went to the plugfest to ensure that web services and web service clients developed with .NET 3.5 will interoperate with WSIT 1.0 clients and services. Here I mean either a service developed with .NET 3.5 but choosing to use the non-standard versions from .NET 3.0---or a .NET 3.5 client that can communicate with a WSIT 1.0 service:

.NET 3.5 --> WSIT 1.0
WSIT 1.0 --> .NET 3.5
This is important since no one can control what platforms and tools are used to build web service providers and consumers. (Note: as noted above, we have already done extensive testing of .NET 3.0 <--> WSIT 1.0 so feel confident with that configuration.)

We did not have time to run all test scenarios, but, of those that we did run, all passed except one (which is a test problem). Specifically:

WS-Trust: scenarios: 1, 2, 5, 6 -- all passed.

WS-Trust: scenarios: 7, 9, 10 -- all passed
   in the following configurations:
    	client      sts        service
	WSIT 1.0    WSIT 1.0   .NET 3.5
	.NET 3.5    .NET 3.5   WSIT 1.0

WS-SX: scenarios: 1, 4, 5, 6, 8 -- all passed
        .NET 3.5 <--> WSIT 1.0

WS-SC: scenarios: 1, 2, 3, 4, 5, 6 ,7, 8, 9, 10, 11, 12 -- all passed
        .NET 3.5 <--> WSIT 1.0

WS-Addressing: 
        .NET 3.5 --> WSIT 1.0: 

           Soap 1.1, Addressing 1.0 -- 24/24
           Soap 1.2, Addressing 1.0 -- 25/25
           Soap 1.1, Addressing 2004 -- 11/11
           Soap 1.2, Addressing 2004 -- 12/12

        WSIT 1.0 --> .NET 3.5:

           Soap 1.1, Addressing 1.0 -- 24/25 (we're investigating the failure)
           Soap 1.2, Addressing 1.0 -- 25/25
           Soap 1.1, Addressing 2004 -- 10/10
           Soap 1.2, Addressing 2004 -- 11/11

WS-ReliableMessaging:
        WSIT 1.0 <--> .NET 3.5 -- all passed:

           RM1.0 Anonymous SOAP1.1 Request/Reply
           RM1.0 Anonymous SOAP1.1 Secure Request/Reply
           RM1.0 Anonymous SOAP1.1 OneWay
           RM1.0 Anonymous SOAP1.1 Secure OneWay
           RM1.0 Anonymous SOAP1.2 Request/Reply
           RM1.0 Anonymous SOAP1.2 Secure Request/Reply
           RM1.0 Anonymous SOAP1.2 OneWay
           RM1.0 Anonymous SOAP1.2 Secure OneWay

MTOM:

        WSIT 1.0 --> .NET 3.5:

           Soap 1.1 Utf8  No Security -- 5/5
           Soap 1.1 Utf16 No Security -- 4/5
           Soap 1.2 Utf8  No Security -- 5/5
           Soap 1.2 Utf8  No Security Aug2004 -- 5/5

The exact numbers and specifications above are not a concern of a web service developer that uses WSIT. That's the whole point of WSIT---to provide an easy to use platform that interoperates with .NET 3.x. It is not necessary to read nor understand the underlying specifications nor to know the details of the above tests. That's our job. The point of this blog entry is to let you know were still working hard---about to release WSIT 1.0 and starting the WSIT 1.1 implementation of the standard specifications.

Project tango is responsible for the WS-* implementations (e.g., reliability, transactions, security) in the GlassFish Metro web services stack.

Here's a picture of the four of us in Redmond:

2007-07-18-pict0065_sm.jpg width=

Technorati: wsit glassfish projectmetro



My Jazoon Report

Posted by haroldcarr on July 03, 2007 at 09:06 PM | Permalink | Comments (4)

Arrival in Zurich

Last week I presented at Jazoon in Zurich, Switzerland. I arrived on Sunday morning. Even though I had been awake for almost 24 hours traveling from the U.S., I knew not to go to bed when I checked into the hotel—otherwise, it just prolongs the jet lag. So, after registering for the conference and meeting its organizer, Dr. Jürg Eberhard, I took a tram to the center and proceeded to walk along the lake shore. It was beautiful but I was not in the best shape to enjoy it. Whenever I sat down on a bench I would fall asleep.

Jazoon day 1

Daniel C. Milks (left) moderated the conference. He introduced the opening keynote by Ted Neward titled ”Why the Next Five Years will be about Programming Languages”. Ted accurately pointed out that many of the features of Java and other modern mainstream programming languages were pioneered in Lisp (e.g., automatic garbage collection, macros==annotations, reflection, …).

My session (that’s me to the left, in the hallways outside the presentation rooms) was scheduled in the very first technical time slot (along with 6 other simultaneous technical presentation and software demonstrations). My presentation, on Project Tango, was essentially the same as the one Arun Gupta and I gave at JavaOne in San Francisco in May this year. You can see the JavaOne version of the slides here along with a screencast of the demos in the session in three parts: part 1, part 2, part 3. You can also audio and transcript synchronized with the slides here.

Here are some questions and answers from my session:

  • “Does Tango work on other platforms besides GlassFish?”
    • Tango is built into GlassFish v2. However it should run on any Servlet compliant web container. Besides GlassFish, we test with Tomcat. We know others have run successfully in other containers but we do not test this.
  • “I already have security configured in the container. How do I have my web services deployed in that container inherit the security setting?”
    • I’m not sure. Our security experts would know. Please ask this question on our mailing list: users@wsit.dev.java.net.
  • “All your examples start from Java. Do you support creating web services starting from WSDL?”
    • Yes. WSDLs take up a lot of screen space in presentations so we opt for the more concise Java example. But we definitely support starting from WSDL and most enterprise customers take this route for optimal interoperability.
  • “Do you need .NET 3.0 to use Tango features?”
    • No. Although the motivation for Project Tango was to ensure Java interoperability with .NET 3.0, all the Tango features (e.g., Security, Reliability, Transactions) work from Java to Java.
  • “What about interoperability with other vendors?”
    • Tango might be interoperable with other vendors. However, we only test interoperability with .NET 3.0. We are encouraging other vendors to join and contributed to the Project Tango open source effort to create a unified web services stack for all Java platforms.

After my presentation I attended Jakub Podlesak’s software demo on Tango. Jakub was on the team that implemented our WS-Policy framework used to dynamically configure Tango based on requirements expressed as policy assertions in WSDLs. Jakub is also the engineer who wrote the main demo I gave in my presentation. He is now working of Sun’s RESTful web services framework.

Another presentation I attended on day 1 was Alexandre Gachet’s “Output Management with Java and XML: The XSL-FO Way.” I’m always interested in ways to create and manage documents. I’ve tried many systems but I always seem to come back to latex combined with the hyperref package and TeX4ht for generating HTML output.

Jazoon day 2

Day 2 started with Roy Fielding’s (to the left) intro to REST. Even though I work on WS-* based web services I am a fan of REST. I think there is a place for both types of services. One thing Roy emphasize was the processing model implied by REST: a respond can contain state (e.g., the URIs to all the items currently in one’s shopping cart) and URIs to the next actions to take (e.g., a URI to continue shopping and a URI to checkout). There is nothing standard in this area. Each application pretty much has to decide how it will represent this info in response documents.

Paul Sandoz (to the left) and I spent some time with Roy at his Day booth after his keynote. Paul (along with Marc Hadley) are heading up Sun’s REST framework, called Jersey, an implementation of JAX-RS (JSR 311).

I then attended Martin Grebac’s demo of GlassFish in action. Martin gave a very convincing demo of GlassFish’s clustering and loadbalancing capabilities using a combination of command line and web-based tools. Martin is the engineer behind Tango’s tooling support in NetBeans.

The first session I attended after lunch was Dean Allemang’s “Semantic Mashups using RDF, RSS and Microformats.” I’ve used RDF for years (and before RDF, Lisp and Prolog) to manage my own information. One of the benefits of RDF is the ability to integrate disparate information through it use of globally unique identifiers (i.e., URIs). Dean gave a good demo of using the capability to “mashup” data from different websites using RDF as the central organizing method. Dean’s presentation was one of the better attended technical sessions at the conference.

After his presentation, Dean, Henry Story, myself and others (Rags Srinivas in the picture to the left) continued giving demos of semantic web technology in the hallway. Henry is Sun’s “semantic web guy.”

Dean, Henry and myself really hit a chord. We continued our conversation in the conference cafe until 8:30pm (which caused me to miss Paul Sandoz’ talk on RESTful web services). We went into town (along with Greg Murray) and had dinner at Santa Lucia (in the Niederdorf) then finished up at the Odeon around 1am. The conversation was a rich mixture of religion, philosophy, literature, semantic web and more. That’s me in the picture to the left as we catch the Jazoon tram to dinner.

Jazoon day 3

Eric Gamma gave the keynote on day 3. There were only a few sessions (on Groovy, Phobos, grid computing) since Jazoon had arranged an afternoon boat cruise to Rapperswil at the other end of Lake Zurich. Not that many people took the cruise since it was raining. But I hooked up with Greg Murray and others and took the tour. The rain wasn’t that bad. I’m glad I went. The picture at the left is the castle as we arrive in Rapperswil.

Besides having a guided tour of the city and castle, we also visited the Universary of Applied Sciences. Peter Sommerlad, a name in the “patterns movement”, gave us an overview of his research into “decremental programming”—reducing the size of programs by 90 percent through refactoring, better library usage, etc.

Jazoon day 4

The final day of the conference started off with keynotes by Neal Gafter on “Adding Closures to the Java Programming Language” and Danny Coward on “Evolving the Java SE and Java EE Platforms.”

The first technical session was Henry Story’s “Web 3.0: This is the Semantic Web.” It was very well attended as you can see from the picture to the left that Henry took from the stage (I’m in the picture - 2nd row from the back with my open laptop on my knees). Henry gave an intro to the Semantic Web, trying to convince people how simple it is but its great benefits. Henry, Dean and myself talked quite a bit throughout the conference about different ways to present the semantic web. It is indeed simple, but suffers from bad RDF XML syntax and overblown names like “Ontologies” that confuse the issue.

Henry’s session was immediately followed by an extra demonstration and question and answer session on the semantic web that was organized on-the-fly by the conference due to the popularity of the semantic web sessions. Dean gave a demo of his company’s (Top Quadrant) TopBraid Composer. He mashed up data on restaurants from various sources and mapped them on Google Maps.

Another session I attended was “Customize, control or extend OpenOffice.org with Java.” It's great to be able to create and/or manipulate docuements using programmatic APIs in OpenOffice.

The closing session included a series of 2 minute “lightning” talks where anyone could get up and talk about anything. I got up an gave a demo on a semantic web tool I developed to manage my personal information.

I enjoyed Jazoon very much. The smaller size (compared to JavaOne) certainly makes it easier for me to connect with individuals. Also, unlike JavaOne, I did not have a bunch of customer visits scheduled so I could actually attend the sessions. Dr. Jürg Eberhard, the conference organizer (in the picture to the left with me at the cafe), said there will be a Jazoon next year. I’d like to go.

After the conference was over I hooked up with Henry for dinner and live music on Friday and Saturday nights. I saw a bit of the sites of Zurich, including the Marc Chagall stained glass windows in the Fraumünster abbey.

Technorati: wsit glassfish projectmetro jazoon



Presenting Tango features of the Metro web services stack at Jazoon

Posted by haroldcarr on June 22, 2007 at 10:19 AM | Permalink | Comments (0)

I'll be in Zurich next week at Jazoon giving a presentation (from 2-2:40pm) on the Tango features in the GlassFish Metro web services stack.

I'll be showing interoperability between the Metro stack and the Microsoft's WCF stack in .NET 3.0.

By-the-way: these features (i.e., eliable messaging, atomic transactions, security, secure conversation, trust) work just fine in Java-only scenarios. You don't need WCF to take advantage of this work.



The GlassFish web services stack is now called Metro

Posted by haroldcarr on June 19, 2007 at 11:06 AM | Permalink | Comments (3)

Giving names to software is always a difficult task. For example, we refer to our implementation of advanced features such as atomic transactions, reliable messaging and security (based on various WS-* specifications that interoperate with MS Windows Communiations Foundation, but also work Java to Java) as Project Tango. But some people think that Tango is a different stack than our JAX-WS RI stack. But that is not the case. Tango is implemented on top of the JAX-WS RI. So, sometimes, to make this point in email messages, we've been saying "JAX-WS RI + Tango".

There is also the problem that the term "RI" (i.e., Reference Implementation) implies "not production quality" to some people. The JAX-WS RI functions as an RI since Sun is the specification lead on the JAX-WS specification. But our implementation is much more than an RI. The JAX-WS RI is a full feature, high quality, high performance web services stack in production use at many sites.

To emphasize that we have a single, high quality, high performance, producation ready web services stack we have created Project Metro. Metro primarily consists of the JAX-WS RI as the base stack and Tango as the implementation of WS-* based features (that interoperate with WCF).

It takes time to make shifts such as this. The existing JAX-WS and Tango sites will continue to exist, the Tango documentation will continue to refer mostly to itself, etc. But over time we will align the various pieces such that everything refers to Metro. The Metro binary is essentially identical to the Tango binary (which includes the JAX-WS RI), so following the Tango install instructions and tutorial will work fine.

The immediate change you will notice is that we will now be refering to our web services stack by the name Project Metro.

Metro is built into GlassFish V2. It can also be downloaded and installed into other web containers. We test it on Tomcat and we provide a Tomcat installer.

Welcome to Project Metro.



Project Tango releases WSIT Milestone 5

Posted by haroldcarr on June 11, 2007 at 11:16 AM | Permalink | Comments (0)

WSIT Milestone 5, the latest and greatest in our march towards FCS, is now available. We are past the point of adding new features. What this release gives you is better performance, higher quality (i.e., bugs have been fixed) and more complete documentation. It's not too late to effect the outcome. Please download it and try it out and let us know of anything that needs fixing.

Note: WSIT Milestone 5 is built into GlassFish v2 b50, so you don't have to download anything extra to try WSIT there.



Project Tango Milestone 3 Released

Posted by haroldcarr on February 21, 2007 at 03:43 PM | Permalink | Comments (2)

Project Tango (a.k.a. WSIT) enables Java interoperability with Microsoft's Windows Commmunication Foundation. Our milestone 3 release features

  • a redesigned IDE that makes using security features much easier
  • more complete coverage of interop plugfest scenarios
  • performance improvements (our internal measurements show us to be on par with the other side of the wire, if you know what I mean)
  • bug fixes

Project Tango is built into the GlassFishJava EE 5 Application Server. It also can be downloaded separately and overlayed on GlassFish (to use a more recent version than built into GlassFish) or installed into Tomcat.

Check out the other Project Tango member's blogs for more details on individual technologies.

SD Times on Java/.NET 3.0 Interoperability (i.e., Project Tango)

Posted by haroldcarr on February 02, 2007 at 04:17 PM | Permalink | Comments (0)

SD Times has an interesting article on Project Tango. Having participated in all the plugfest trips to Redmond, I can attest that the engineer-to-engineer relations between Sun and Microsoft engineers is very good --- we both like solving problems and building systems.

WSIT in Prague

Posted by haroldcarr on December 05, 2006 at 04:47 PM | Permalink | Comments (0)

I recently spent two weeks in Prague. I worked face-to-face with some of our WSIT engineers located there, some I had never met in person. I also participated in Sun Tech Days where I gave a overview of JAX-WS and WSIT. A number of people have asked for the slides. You can find them (along with other slides from the Prague event) here. Look for my presentation titled "JAX-WS and Tangoing with .NET (WSIT)". You can also find a copy of my presentation on The GlassFish Wiki on the presentations page.

WSIT Milestone 2 Released

Posted by haroldcarr on September 21, 2006 at 07:37 PM | Permalink | Comments (0)

Project Tango (aka WSIT - Web Service Interoperability Technology) just released our Milestone 2 binary. Although you will not see new user visible features in this release, you may rest assured that we have been busy. WSIT Milestone 2 has performance improvements, bug fixes, and more extensive testing. Areas where you will see additions in WSIT Milestone 2 are documentation and sample code.

We have added documentation on how to write a Windows Communication Foundation (WCF) consumer interacting with a WSIT provider. We have also added more sample code. In particular, the code for the brokered trust demo we gave at a keynote at JavaOne is available.

Here are some more blog entries that give more milestone 2 details on specific technologies in WSIT:

Please try WSIT out and send feedback so we can make it even better.



WSIT Info Online

Posted by haroldcarr on August 24, 2006 at 10:02 AM | Permalink | Comments (0)

Many people want to know what WSIT is. WSIT (Web Services Interoperability Technology - aka Project Tango) is Sun's implementation of WS-* specifications that enable interoperability with Microsoft's WCF (Windows Communications Foundation). To learn more you can see my (and Nick Kassem's) JavaOne slides. Also, I wrote an overview of Sun's Project Tango for SDN that gives a good summary of the functionality enabled by WSIT. Please give them a read and try WSIT and let us know what other information you need and your use cases so we can be sure they are covered.

Be a Wiz at Project Tango

Posted by haroldcarr on May 18, 2006 at 12:01 PM | Permalink | Comments (3)

Here are four simple steps to try out the Web Service Interoperability Technologies (WSIT) from Project Tango:

  • Step 1: How to checkout and build WSIT from source, and how to install in GlassFish or Tomcat.
  • Step 2: How to write, deploy and execute a simple JAX-WS web service that uses the installed WSIT code but does not use WSIT features to ensure that step 1 worked.
  • Step 3: How to write, deploy and execute a simple JAX-WS web service that uses WSIT features. (Step 3 is optional. Skip to step 4 to use NetBeans.)
  • Step 4: How to download NetBeans, the WSIT module for NetBeans, and how to develop JAX-WS web services with WSIT features using NetBeans.

Note:At the time of writing this blog entry, these instructions are known to work with hudson-104 tagged version of the source. That version may be checked out via:

cvs -d:pserver:guest@cvs.dev.java.net:/cvs co -r hudson-104 wsit/wsit

Read more about Project Tango at our Interop site. Become a member of Project Tango and develop code with us at: wsit.dev.java.net. Talk with us at our interop forum.



Repeat of Web Services with NetBeans Lab

Posted by haroldcarr on May 17, 2006 at 02:07 PM | Permalink | Comments (0)

In case you missed the morning lab - so many people wanted to attend it that it's being repeated:
LAB 4335 Developing Interoperable Next Generation Web Services with Project Glassfish, Netbeans IDE & WSIT Martin Grebac, Ramesh Babu Mandava, Ana Lindstrom-Tamer (Sun Microsystems) Wednesday, 17-MAY-06
7:20 PM
Hall E 130/131
See you there.

Live Tango!

Posted by haroldcarr on May 16, 2006 at 10:21 AM | Permalink | Comments (0)

We've been working hard to get Project Tango's initial source access ready in time for JavaOne. Good news. We did it! Go to wsit.dev.java.net to try it out. We are still in the early stages so now is a good time to get involved and help shape the code.

If you are in the mood to read more about Project Tango right now go to java.sun.com/webservices/interop for the big picture. Also, read my overview article that was just published on Sun Developer Network last Friday.

Finally, if you are going to JavaOne in San Francisco be sure to come to the Project Tango sessions (listed in chronological order):

Session # Title Speakers Location
TS 5540 Making Java Technology-Based/.NET Web Services Interoperability Real Kirill Gavrylyuk (Microsoft)
Arun Gupta (Sun Microsystems)
Tuesday, 16-MAY-06
11:00AM
Esplanade 307-310
TS 4661 Composable Web Services Using Interoperable Technologies from Sun's "Project Tango" Harold Carr, Nick Kassem (Sun Microsystems) Tuesday, 16-MAY-06
02:00 PM
Esplanade 307-310
BOF 2477 Secure Interoperable Webservices Using XML Web Services Security 3.0 Venugopal K, Jayanthi Kumar , Jiandong Guo (Sun Microsystems), Michael Jones, Kirill Gavrylyuk (Microsoft) Tuesday, 16-MAY-06
09:30 PM
Hall E 135
LAB 4335 Developing Interoperable Next Generation Web Services with Project Glassfish, Netbeans IDE & WSIT Martin Grebac, Ramesh Babu Mandava, Ana Lindstrom-Tamer (Sun Microsystems) Wednesday, 17-MAY-06
11:30 AM
Hall E 130/131
LAB 4335 (repeat) Developing Interoperable Next Generation Web Services with Project Glassfish, Netbeans IDE & WSIT Martin Grebac, Ramesh Babu Mandava, Ana Lindstrom-Tamer (Sun Microsystems) Wednesday, 17-MAY-06
7:20 PM
Hall E 130/131
TS 3473 Building Secure and Trusted Web Services Using Project Tango Venugopal K, Jayanthi Kumar, Jiandong Guo (Sun Microsystems) Thursday, 18-MAY-06
12:15 PM
North Mtg Rm 121/122
TS 1603 Reliable and Transacted Web Services between Java Technology-Based Project Tango and Microsoft Indigo Joe Fialli, Mike Grogan, Ryan Shoemaker (Sun Microsystems) Thursday, 18-MAY-06
02:45 PM
North Mtg Rm 121/121


An Overview of Sun's Project Tango

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

Continue Reading...



Notes from SDForum's Interoperability event

Posted by haroldcarr on February 01, 2006 at 11:27 AM | Permalink | Comments (1)

Continue Reading...



Introducing Java Web Services / WCF Interoperability

Posted by haroldcarr on January 26, 2006 at 12:45 PM | Permalink | Comments (1)

Hello. My name is Harold Carr. I'm the engineering lead for Sun's Java Web Services interoperability project with Microsoft's Windows Communication Foundation (WCF). We initially unveiled this project in November 2005. Sun engineers are interacting with Microsoft engineers to ensure interoperability in areas such as reliable messaging, security and atomic transactions.

In upcoming blog entries I will provide details of our interop work, let you know when we make releases (i.e., early access, beta and FCS), show you how to use those releases and answer any questions you may have.

When we start making releases you will be able to download our bits as part of the Java Web Services Developer Pack. In fact, JAX-WSA (i.e., JSR 261), the Java APIs for W3C Web Services Addressing, is available in the developer pack now. Try it out and let us know how it goes. You will be seeing much more in the future. I'll give you an overview of what's in the pipe in a future post.





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