Arun Gupta, Miles to go ...

Arun Gupta is a technology enthusiast, a passionate runner, and a community guy who works for Sun Microsystems.

http://blogs.sun.com/arungupta/date/20061224 Sunday December 24, 2006

http://blogs.sun.com/arungupta/date/20061004 Wednesday October 04, 2006

WSIT and WCF Plugfest

"I" in WSIT stands for Interoperability. To ensure WSIT is interoperable with .NET 3.0, WSIT engineers made a third visit to Microsoft headquarters in less than a year. Microsoft hosted the third plugfest at their campus and Sun Microsystems showed up to test WSIT and GlassFish interoperability with their upcoming .NET 3.0 stack.

Harold, Mike, Jiandong, Joe, Ken and myself (all from Sun) "wsited" Microsoft last week. We were just representations of the bigger team and effort scattered all over the globe (Santa Clara, Burlington, Salt Lake City, Portland, Prague, Germany, France, Bangalore). And then there were some engineers doing remote testing as well.

As mentioned earlier, WS-Addressing functionality in JAX-WSA is cleaned up and now an integral part of  JAX-WS 2.1 RI. That has been my focus for the past few weeks. So in this plug-fest, I took our JAX-WS 2.1 RI for interop on WS-Addressing test cases. Microsoft has caused a few interop problems with WS-Addressing in the past (Member Submission policy assertion namespace change, incorrect Action from WCF client, WS-Addressing WSDL namespace change). But this time everything worked, it just worked. And that's what is out-of-the-box interoperability.

Other than that, we had a good success rate doing interop on WS-Atomic Transactions, WS-Reliable Messaging, WS-Secure Conversation, WSS 1.0 and 1.1, WS-Trust. We achieved interop on composite scenarios like Secure Reliable Messaging and Secure MTOM. And this interop is two-way meaning that WCF client invoke WSIT endpoint and WSIT client invoke WCF endpoint.

We care about "I", the most, in WSIT. GlassFish v2 now integrates WSIT bits on a regular basis. When GlassFish v2 goes final, be assured it will be interoperable with .NET 3.0 framework shipping in Windows Vista and other platforms.

Read about our success stories from first and second plugfests.

Technorati: WSIT Interoperability Indigo WCF Dotnet

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20061003 Tuesday October 03, 2006

WS-Addressing Member Submission Policy Assertion Namespace Change in WCF

WCF RC1 (probably in Jul CTP as well) changed the policy assertion namespace URI to declare the usage of Member Submission WS-Addressing. The namespace was changed from:

http://schemas.xmlsoap.org/ws/2004/09/policy/addressing

to

http://schemas.xmlsoap.org/ws/2004/08/addressing/policy

Thus any WSDL published by a WCF-based service endpoint using Member Submission WS-Addressing cannot be imported by WSIT clients directly. We will provide a fix in the days to come.

But in order to fix the problem, in the meanwhile, when importing such a WSDL using wsimport, you need to localize the WCF-generated WSDL, change the namespace to the original namespace (ending in 2004/09/policy/addressing) and then import it using wsimport.

Similarly, any WSDL published by a WSIT-based endpoint cannot be imported by svcutil directly. The temporary fix involves localizing the WSIT-generated WSDL, changing the namespace as it is recognized by their tools (ending in 2004/08/addressing/policy) and then importing it using their tool.

Technorati: WSIT Web-services  WCF Interoperability WSIT

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20060918 Monday September 18, 2006

Upcoming WCF Plugfest

Microsoft is hosting a Windows Communication Foundation (a.k.a. Indigo) interop plug-fest in Seattle from Sep 26-28. Sun Microsystems will participate in this plug-fest as we did during the previous two (Mar 2006, Nov 2005). We will be taking WSIT and GlassFish for all the interop testing.

I'll post another blog entry, with our interop report, after the plug-fest.

Technorati: Interoperability WSIT WCF Indigo

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20060817 Thursday August 17, 2006

WSIT Milestone 1

WSIT Milestone 1 release has been available for few days now.

Follow 4 simple steps to download the binary release or build from the source and build a secure, reliable and interoperable Web service using the comprehensive tutorial. The samples range from simply adding the two numbers to a price quote service using secure, reliable and brokered trust pattern. All the samples can be installed on GlassFish or Tomcat.

Although the milestone binary does not interoperate with a publicly-available Windows Communication Foundation the current version of the sources does interoperate with the July CTP (runtime and SDK). A WSIT binary release that does interoperate with WCF will be available soon.

Your feedback is very appreciated.

Technorati: WSIT Web-services WCF Indigo GlassFish

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20060807 Monday August 07, 2006

JavaOne 2006 Keynote WSIT Demo

A new sample is added to WSIT samples that shows an enterprise Web service enabling integration both within and across boundaries. This sample demonstrates a price quotation service that provides list price to clients based on the product identifiers. The client makes a request to a Retail Quote Service (RQS)  which then communicates with multiple Wholesale Quote Service (WQS) to get the best price and returns that to the client. In the first version of this sample, the client and all the service endpoints (RQS + 2 WQS) are built and deployed using WSIT. A later version of the sample will replace one of the WQS to be built and deployed using Windows Communication Foundation (WCF) and also have a WCF client, in addition to WSIT client, invoking the RQS.

The sample demonstrates secure reliable communication between RQS and two WQS. It also demonstrates secure MTOM between the client and RQS. A picture is worth a thousand pictures and so this graphical representation should help visualize.

This sample was demonstrated in JavaOne 2006 keynote and used as the basis of my JavaOne 2006 technical session (TS-5540). In case, you need more technical details, the StarOffice version of slide has speaker notes and animation.

Instructions to check out the sample

This sample can be checked out using the instructions given here. These instructions will retrieve WSIT sources along with the sample sources as both are required to build, run and deploy the sample. The sample exists in wsit/wsit/samples/pricequote directory. Once checked out, follow the instructions in readme.html in the pricequote directory to build and deploy the sample on GlassFish.

Technorati: Javaone Indigo WCF Web-services Interoperability presos

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20060714 Friday July 14, 2006

RESOLVED: WSIT and WCF Jun CTP Interop Bug

Taking on from previous post ...

Even though the list of breaking changes from Feb CTP to Vista Beta 2 and Vista Beta 2 to Jun CTP are documented. The list is missing a "minor" detail of changing the WS-Addressing 1.0 WSDL Binding namespace from http://www.w3.org/2005/08/addressing (same as SOAP Binding namespace) to http://www.w3.org/2006/05/addressing/wsdl (WSDL Binding CR namespace). As a result a user reported interop problems between Jun CTP and WSIT.

I updated the namespace for WS-Addressing WSDL Binding in WSIT this morning. After deploying one of the JAX-WSA unit tests and invoking svcutil.exe to generate proxy, got the following warning:

Warning: The optional WSDL extension element 'UsingAddressing' from namespace 'http://www.w3.org/2006/05/addressing/wsdl' was not handled.
XPath: //wsdl:definitions[@targetNamespace='http://example.org/wsaTestService2']/wsdl:binding[@name='wsaTestPortTypeBindingAddressingRequired']

Seems like this CTP completely ignores a standard W3C extension element to indicate WS-Addressing on a binding/port. It generated the proxy correctly but of course the client did not send expected WS-Addressing headers and thus the endpoint faulted appropriately. Anyway, I specified UsingAddressing within a policy assertion, regenerated the proxy and invoked the client. The server returned the response correctly and CTP client displayed the response in console.

WSIT is now again interoperating with Jun CTP.

Technorati: WSIT Interoperability Web Services

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

WSIT and WCF Jun CTP Interop Bug

One of WSIT user reported an issue with WCF June CTP in WSIT user forums. And thus I tried installing the latest CTP from Microsoft. But as always, there are different runtime and SDKs floating on the website (dejavu). Lets see which one are required. 

The runtime components can be downloaded from here. There is a separate link for .NET Framework 3.0 Runtime Components Beta2 for Windows XP + SP2. But similar runtime components for Jun CTP are available for Windows XP only, no SP2. This is confusing but I took "Jun CTP" in the link name as the main indicator and hoped it was just a typo. Plug and Pray and yep, that was the correct runtime component.

The Windows SDK can be downloaded from here. If I click on 3rd bullet to download Windows SDK, then this is SDK for Beta2 of Vista and WinFX Runtime Components. This seemed incorrect but I still tried installing it and hoping it was a typo as in the previous case. But nope, not this time. Related Resources on the runtime website finally showed a link to the correct Windows SDK.

Why cant the runtime and SDK be published together in a consistent manner ? Once again, here is the correct runtime and SDK that gives you the functionality of Jun CTP.

Now I can get back to my work. 

BTW, The svcutil version is 3.0.4219.0.

Technorati: Bugs WSIT

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20060531 Wednesday May 31, 2006

Project Tango @ SDN Channel

View Sun and Microsoft on Project Tango at Sun Developer Network Channel (SDN). SDN caught me and Kirill at the Microsoft pod in the JavaOne 2006 pavilion and talked to us about Project Tango and how developers can have access to this content. If interested in the content, you can view the video cast from 28:35 through 31:09.

Technorati: Javaone Microsoft Interoperability

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20060517 Wednesday May 17, 2006

JavaOne 2006 - Project Tango Keynote Demo

We, at Sun Microsystems, have been working with Microsoft for past several months on achieving interoperability between Java EE and .NET technologies. Web Services Interoperability Technology (WSIT, a.k.a Project Tango) is Sun's Web services interoperability portal and provides all information on that effort. Earlier yesterday, we gave a demonstration of our work so far in JavaOne 2006 keynote. The main points from the talk is that Project GlassFish community and Windows Communication Foundation make Interoperability a Reality TODAY.

A video clip of the keynote demo is available here. This clip starts with our keynote presentation where Nick Kassem explains the business scenario which shows how Web services technologies enables integration within and across business boundaries. Watch me explaining the development environment to Jeff Jackson from 3:46 to 4:48. All the tools and technologies used in the demo are available today. And then Kirill Gavrylyuk shows an interoperability demo between Infocard and Sun's Secure Token Service. A picture is worth thousand words, here is a graphical representation of the scenario.

On the right, a Retail Quote Service (RQS), running in Sun-managed environment, uses Wholesale Quote Service (WQS) to serve car quotes to Java and WCF consumers shown on the bottom left. RQS also gets competitive bids from a WQS running in a Microsoft managed environment. The clients talk to the RQS secure MTOM, RQS talks to WQS using a Secure and Reliable Connection. Each managed environment has it's own identity provider, also known as Secure Token Service or STS in short. A trust relationship between the two environments is enabled by a trust relationship between a priori trust relationship between STS.

We also plan to share the demo code in the near future and I'll post another blog when it's available.

A specific Call To Action for you is to:

Test Drive Web Services Interoperability
java.sun.com/webservices/interop: Your main Web services interoperability portal.
Download! and Contribute!
wsit.dev.java.net: Your main source for downloading the source code, samples, documentation, etc.
Get the FREE Project GlassFish Open Source App Server
java.sun.com/javaee/glassfish: All WSIT technologies can be installed on this FREE app server
Download Netbeans IDE Module:
websvc.netbeans.org/wsit: All WSIT technologies available today can be configured visuall using this Netbeans module.

Check out some of the pictures I took at JavaOne on Tuesday. This picture shows me, Nick and Kirill.

Technorati: presos

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20060516 Tuesday May 16, 2006

Introducing wsit.dev.java.net

  • 637 new Java source files
  • Approx 111K lines of new code
  • How To Documentation and Samples
  • Integrated NetBeans 5.5 tooling
  • Implementations of WS-Policy, WS-Security Policy, WS-Metadata Exchange, WS-Security 1.0 and 1.1, WS-Secure Conversation, WS-Trust and WS-Reliable Messaging.
  • Leverage existing JAX-WS programming model
  • User list and interoperability forum

These are some of the statistics of Sun's open-source implementation of next generation Web services technologies that deliver interoperability between Sun's Application Server 9.1 PE (part of GlassFish) and Microsoft's Windows Communication Foundation (WCF, aka Indigo). This implementation is known as Web Services Interoperability Technology (WSIT) and is part of Project Tango. Sun delivers on the initial promise of facilitating interoperability with .NET platform by embracing and open sourcing implementations of key WS-* specifications. Read more about the various technologies involved here.

We, engineers in Sun, have been working directly with Microsoft engineers ensuring out-of-the-box interoperability for WSIT artifacts with WCF. Read about Sun's participation in previous plugfests (Nov 2005 and Mar 2006).

NetBeans 5.5 IDE and documentation is released along with the source. This facilitate users to download the WSIT bundle and try the pre-existing samples or create new ones from scratch without remembering the exact syntax of config files or any other option that might be required to configure the sample.

Everything mentioned above can be downloaded at wsit.dev.java.net.

Download it, try it and pretty soon you'll find yourself completely immersed. And we do appreciate your feedback.

Technorati:

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20060331 Friday March 31, 2006

Project Tango @ Java One 2006

JavaOne is 6 weeks away and I can see the momentum building up within Sun for the slideware, demoware, machines etc. As it gets closer, everything starts revolving around JavaOne. I've been involved with Project Tango since it's inception and here is the list of related technical sessions and BoFs that will be presented:

Session # Title Speakers Location
TS - 5540 Making Java™ Technology-Based/.NET Web Services Interoperability Real Kirill Gavrylyuk (Microsoft)
Arun Gupta (Sun Microsystems)
Room: Esplanade 307-310
Date: 16-MAY-06
Start Time: 11:00 
TS - 4661 Composable Web Services Using Interoperable Technologies from Sun's "Project Tango" Harold Carr, Nick Kassem (all Sun Microsystems) Room: Esplanade 307-310
Date: 16-MAY-06
Start Time: 02:00 PM 
TS - 1603 Reliable and Transacted Web Services between Java™ Technology-Based Project Tango and Microsoft Indigo Joe Fialli, Mike Grogan, Ryan Shoemaker (all Sun Microsystems) Room: North Mtg Rm 121/121/124/125
Date: 18-MAY-06
Start Time: 02:45 PM 
TS 3473 Web Services Security, WS-Trust, WS-Policy, and WS-SecureConversation Using Java™ Web Services Developer Pack Venugopal K, Jayanthi Kumar, Jiandong Guo  (all Sun Microsystems) Room: North Mtg Rm
Date: 18-MAY-06
Start Time: 12:15 PM 
BOF 2477 Interoperating Using XML Web Services Security 3.0 Jiandong Guo, Janet Breur, Pat Patterson (all Sun Microsystems), Mike Jones (Microsoft) Room: Hall E 135
Date: 16-MAY-06
Start Time: 09:30 PM 
LAB 4335 Developing Interoperable Next Generation Web Services with Project GlassfishSM, Netbeans IDE & WSIT Martin Grebac, Ramesh Babu Mandava, Ana Lindstrom-Tamer (all Sun Microsystems) Wednesday, 17-MAY-06
7:20 PM
Hall E 130/131

Each of these sessions will use code samples and current products to demonstrate interoperability between Glassfish and Windows Communication Foundation. I will update the location for other bofs as I get them.

Technorati: Javaone Indigo WCF Interoperability presos  

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

http://blogs.sun.com/arungupta/date/20060310 Friday March 10, 2006

Bigger and Better and Second Plugfest!

As reported earlier, Sun particiapted in the second plugfest hosted by Microsoft. Harold, Vivek, Mike, Jiandong and myself (all from Sun) spent most of the week in Redmond testing interoperability between Sun's Project Tango technologies and Microsoft's Windows Communication Foundation. There were other Sun participants engaged remotely as well.

Again as mentioned, we were bigger and performed much better than the last plugfest. We tested interoperability of implementations of WS-Addressing (both W3C CR Core and SOAP Binding and W3C Member Submission), MTOM, Reliable Messaging, Schema and WSDL, Web Services Security 1.0 and Metadata Exchange. The source code of these implementations will be available in Glassfish and binaries in the Java Web Services Developer Pack in the future.

Robert Scoble stopped by during lunch yesterday and talked to us about our visit. As always, our answer was "It's all about customers"!. I'll post a link to the video log whenever it's available. Kirill and Jorgen were the main host and a bunch of other Microsoft engineers were present to help debug the problems through out the day.

I think the social aspect of participating in the plugfest really helps us to resolve problems quicker at the engineering level, when working remotely. Check out the some pictures from our participation at the plugfest.

BTW, catching up on my blog entries, I found Yasser Shohoud from Microsoft posted a link to WCF architecture overview and it's a good read!

Technorati: Interoperability Indigo

del.icio.us | furl | simpy | slashdot | technorati | digg |
|

Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.