Arun Gupta, Miles to go ...

Arun Gupta is a technology enthusiast, a passionate runner, and a community guy who works for Sun Microsystems.
« Previous page | Main | Next page »

http://blogs.sun.com/arungupta/date/20070627 Wednesday June 27, 2007

Yet Another Microsoft Interop Plugfest

Microsoft announced a 3-day Web services interoperability plugfest from Jul 10-12, 2007. At Sun Microsystems, we love to Tango with Windows Communication Foundation component of .NET 3.0 framework and so we'll be participating using GlassFish V2. This may be the last plugfest before GlassFish V2 is released later this year.

As in earlier events, attendees implement a set of pre-defined scenarios based on WS-* specs using their Web services stack. They participate with implementation on their laptops and interoperate using their client and Microsoft endpoint and vice versa.

The set of scenarios are based on the following specifications:

  • Basic Messaging Scenarios using protocols: SOAP1.1, SOAP1.2, WS-Addressing 2004/08 and 2005/10, MTOM
  • Message Security Scenarios using WS-Security 1.0, WS-Security 1.1, WS Secure Conversation 2005/02, WS-Trust 2005/02, Username Token Profile (1.0, 1.1), X509 Token Profile (1.0, 1.1), SAML Token Profile (1.0, 1.1), Kerberos Token Profile 1.1.
  • STS - Security Token Service scenarios
  • Reliable Messaging using WS-ReliableMessaging v1.0 (2005/02)
  • Transactions using WS-AtomicTransaction v1.0 (2004/10) and WS-Coordination v1.0 (2004/10)
  • WS-Policy v1.2 (2004/09) and WS-Metadata Exchange (2004/09) are included in several scenarios
  • Windows CardSpace scenarios

Microsoft is also looking for interop testing with pre-release version of .NET Framework 3.5 (codename Orcas) with the following versions of specifications:

  • Message Security Scenarios using WS Secure Conversation v1.3 (2005/12), WS-Trust v1.3 (2005/12)
  • RX - Reliable Messaging using WS-Reliable Messaging v1.1 (2007/02)
  • Transactions using WS-Atomic Transaction v1.1 (2006/06) and WS-Coordination v1.1 (2006/06)
  • WS-Policy v1.5

We run the interop tests regularly with our builds. The results for Tango M5 milestone build shows details for each technology.

Microsoft still need to work out some kinks before the real work can begin:

  • The plugfest schedule still seem to be dated March
  • Not all the scenarios and endpoints as mentioned in the announcement are available
  • Invite logistics page is giving a 404
  • Not all the endpoints are up, atleast RM endpoints are down. Anyway, the endpoints have been down at multiple instances (here, here, here, here and probably other times too!).

But we are still going to participate :) Sun's participation in the previous plugfests can be followed here.

Technorati: webservices wsit plugfest glassfish microsoft interoperability

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

http://blogs.sun.com/arungupta/date/20070623 Saturday June 23, 2007

Audio and Transcript for TS-4865

Audio and transcript synchronized with the slides for JavaOne 2007 session TS-4865 (Takes two to Tango: Java Web Services and .NET Interoperability) is now available. Read a review of the session by an attendee.

WSIT is now part of Project Metro and is integrated in GlassFish V2.

Technorati: wsit webservices glassfish javaone metro

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

http://blogs.sun.com/arungupta/date/20070619 Tuesday June 19, 2007

Announcing Metro - Naming the Web Services stack in GlassFish

The GlassFish V2 Web services stack consists of JAX-WS as the core platform and Project Tango (aka Web Services Interoperability Technology, WSIT) as an implementation of key WS-* specifications on top of it. This stack, so far referred as "JAX-WS RI + Project Tango", now has a new name - Project Metro.

Why name Project Metro ? - JAX-WS, the core platform, uses Tube as a basic processing unit that represents SOAP-level protocol handling code such as MustUnderstand and WS-Addressing processing. Multiple tubes are put together in a sequential fashion to complete the SOAP message handling. Project Tango uses this extensible architecture to implement they key WS-* specs, such as Reliable Messaging and Atomic Transactions, as Tubes as well. Effectively, all your SOAP messages are moved from one point (client) to another (endpoint), potentially spanning intermediaries, through Tubes. This is a direct correlation to Metro (aka Rapid Transport) that exists all over the world.

What is Metro ? - A picture is worth a thousand words - this shows all the components of Metro.

The two main components of Metro are:

  • JAX-WS - The Core Web services platform
  • WSIT - Implementation of key WS-* specs and interoperability with .NET 3.0

The Core Web services that provides all the SOAP message functionality, including WS-Addressing and MTOM, is available from JAX-WS. Project Tango implements Security, Reliability and Transactions on this Core layer that interoperate with Windows Communication Foundation. All the applications on Metro can be easily developed using NetBeans 5.5.1 and deployed on GlassFish V2.

How does Metro provide interoperability with .NET 3.0 ? - Metro provides a complete Web services solution for both homogeneous and heterogeneous architectures. For any Web service, there is a Client that invokes an Endpoint. The Endpoint advertises the metadata which the Client uses to bootstrap communication with the Endpoint. This metadata indicates which of the capabilities - security, reliability and transactions - are supported at the Endpoint. For a Metro Client or Endpoint, NetBeans IDE 5.5.1 or later takes care of processing all the details.

 

The figure shows a pair of Client and Endpoint - one using the Metro Web services stack and the other using .NET 3.0. The Metro Client and Endpoint can be deployed on any of the GlassFish V2 supported platforms (Solaris Sparc, Solaris X86, Windows, Linux and MacOS). The .NET 3.0 Client and Endpoint can be deployed on any of the .NET 3.0 supported platforms (Windows Vista, Windows 2003 Server and Windows XP + SP2).

For a homogeneous architecture, where both Client and Endpoint are using Metro, the arrow labeled 1 shows a Metro Client invoking a Metro Endpoint. If this serves your purpose, then all you need is GlassFish V2 for WSIT runtime, NetBeans IDE for tooling and WSIT tutorial.

For a heterogeneous architecture, where only one of Client or Endpoint is using Metro and the other is based on .NET 3.0, the arrow labeled 2 and 3 shows a Metro client can invoke a .NET 3.0 endpoint and a .NET 3.0 client can invoke a Metro endpoint respectively. This use case has been extensively tested as well by participating in multiple plug-fests with Microsoft.

What is the change ? - The biggest change you'll notice is a unified single name for what was called "GlassFish Web services stack" or "JAX-WS RI + Tango" so far. This is only a consolidation of our multiple offerings and is backed up high quality, high-performance and production-ready Web services stack integrated in GlassFish V2. This stack is also tested on Tomcat and has been reported to run on Jetty and JavaSE as well.

Metro Binary 1.0 M5, aligned with Tango Milestone 5, already integrated in GlassFish V2 b50, is available for download. The JAX-WS and Tango binaries and documentation are still available for download but will be aligned with Metro over time.


Discover Metro

Use Metro

Extend Metro

Technorati: webservices glassfish metro wsit jax-ws

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

http://blogs.sun.com/arungupta/date/20070618 Monday June 18, 2007

Tango on JavaSE 6

Fabian explained how WSIT features can be configured on Java SE 6 Endpoint API exposed as part of JAX-WS 2.1. In this blog, I start with a Reliable Messaging-enabled endpoint developed using NetBeans IDE 5.5.1 and WSIT plug-in and then provide detailed steps, along with code, to deploy it in Java SE 6.

  1. Create a Reliable Web service endpoint using WSIT plug-in and NetBeans 5.5.1 by watching this screencast.
  2. Download and install WSIT Milestone 5. Copy webservices-api.jar in Java SE 6 'jre\lib\endorsed' directory.
  3. All the capabilities enabled at an endpoint, such as Reliable Messaging for this one, are stored in the WSIT configuration file. In NetBeans IDE, expand your Project, 'Web Pages', 'WEB-INF'. The configuration file be named something similar to 'wsit-server.HelloWebService.xml' following the format 'wsit-<packageName>.<ServiceName>.xml'. Here is how the config file looks like:
    	
    <?xml version="1.0" encoding="UTF-8"?> <definitions
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="HelloWebServiceService" targetNamespace="http://server/" xmlns:tns="http://server/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsaws="http://www.w3.org/2005/08/addressing" xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm/policy">
    <message name="sayHello"/>
    <message name="sayHelloResponse"/>
    <portType name="HelloWebService">
    <wsdl:operation name="sayHello">
    <wsdl:input message="tns:sayHello"/>
    <wsdl:output message="tns:sayHelloResponse"/>
    </wsdl:operation>
    </portType>
    <binding name="HelloWebServicePortBinding" type="tns:HelloWebService">
    <wsp:PolicyReference URI="#HelloWebServicePortBindingPolicy"/>
    <wsdl:operation name="sayHello">
    <wsdl:input/>
    <wsdl:output/>
    </wsdl:operation>
    </binding>
    <service name="HelloWebServiceService">
    <wsdl:port name="HelloWebServicePort" binding="tns:HelloWebServicePortBinding"/>
    </service>
    <wsp:Policy wsu:Id="HelloWebServicePortBindingPolicy">
    <wsp:ExactlyOne>
    <wsp:All>
    <wsaws:UsingAddressing xmlns:wsaws="http://www.w3.org/2006/05/addressing/wsdl"/>
    <wsrm:RMAssertion/>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    </definitions>
    Copy this config file by the name wsit-server.HelloWebService.xml in META-INF directory in your classpath.
  4. The Web service implementation class looks like:
    package server;

    import javax.jws.*;

    @WebService(targetNamespace="http://server/")
    public class HelloWebService {
        @WebMethod
        public String hello(@WebParam(name="name")String text) {
            return "Hello " + text;
        }
    }
    As you see, this is a plain JAX-WS Web service endpoint class.
  5. The JAX-WS Endpoint code that starts the Web service endpoint looks like:
    package server;
    
    import java.io.IOException;
    import javax.xml.ws.Endpoint;
    
    public class Main {
    
       private static final int PORT = 58888;
       private static final String HOST = "localhost";
    
       public static void main(String[] args) {
            Endpoint endpoint = Endpoint.create(new HelloWebService());
            String address = "http://" + HOST + ":" + PORT + "/";
            endpoint.publish(address);
            System.out.println("Endpoint hosted at ... " + address);
       }
    }
    
  6. The sequence of commands to deploy the endpoint is:
    "\Program Files\Java\jdk1.6.0_01\bin\javac.exe" -d . server\*.java
    "\Program Files\Java\jdk1.6.0_01\bin\wsgen.exe" -cp . server.HelloWebService
    java -classpath .;\jax-ws-latest-wsit\lib\webservices-rt.jar server.Main
  7. And then you see the following output on the command prompt:
    java -classpath .;C:\testbed\jax-ws-latest-wsit\lib\webservices-rt.jar server.Main
    Jun 18, 2007 4:46:34 PM [com.sun.xml.ws.policy.jaxws.PolicyConfigParser] parse
    INFO: WSP1049: Loaded WSIT configuration from file:
    file:/C:/workarea/wsit/javase6/META-INF/wsit-server.HelloWebService.xml
    Jun 18, 2007 4:46:34 PM [com.sun.xml.ws.tx.common.TxMapUpdateProvider] update
    INFO: WSTX-COMMON-2005: running in a non Java EE container; disable mapping of Container Managed Transaction EJB to WS-AT Policy assertions due to 'javax/ejb/TransactionManagement'
    Endpoint hosted at ... http://localhost:58888/

That's it, the endpoint now deployed at 'http://localhost:58888/MyService?wsdl' is Reliable Messaging enabled. This endpoint can be invoked using any of the methods shown here.

Technorati: webservices wsit jax-ws glassfish javase6

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

http://blogs.sun.com/arungupta/date/20070614 Thursday June 14, 2007

Sun to showcase WS-I Sample App at Burton Catalyst Conference

At the upcoming Burton Group's Catalyst Conference, WS-I is hosting an interoperability demo. Sun Microsystems will be showcasing the WS-I Sample Application that supports the Basic Security Profile 1.0 (BSP1.0) on the evening of June 28, 2007 at the Hilton San Francisco. This version of Sample Application is built using WSIT integrated in GlassFish V2.

The BSP1.0 defines clarifications to a set of non-proprietary specifications to promote interoperability of secure Web services. In addition to BSP1.0, the Web services stack in GlassFish V2 is fully compliant with Basic Profile 1.0 (BP1.0), Basic Profile 1.0 Errata, Basic Profile 1.1 (BP1.1), Simple SOAP Binding Profile 1.0 (SSBP1.0), Attachments Profile 1.0 (AP1.0), and Basic Security Profile 1.0.

The Sample Application is a sample Supply Chain Management scenario that consists of a 8 Web service endpoints - Retailer, 3 Warehouses (A, B, C), 3 Manufacturers (A, B, C) and a LoggingFacility. This application demonstrates both B2C and B2B scenarios. Each Web service endpoint can be hosted using a different vendor's implementation. For example Retailer endpoint can be deployed using WSIT integrated in GlassFish V2, Warehouse endpoint on Novell's stack and LoggingFacility endpoint on SAP's stack. And because the business flow between different endpoints and stock levels at each of the Warehouse and Manufacturer is clearly defined, this application has the potential of showing multiple vendors interoperating with each other.

I was member of the first Sample Application team that delivered Use Cases, Architecture and Usage Scenarios. It was a lot of fun getting the basic interoperability working (and of course attending plenaries at exotic locations ;-)

Technorati: burtongroup burtoncatalyst ws-i conf wsit glassfish webservices

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

http://blogs.sun.com/arungupta/date/20070613 Wednesday June 13, 2007

2 More Days - 52" Flat Screen TV Up for Grab

Two more days remaining and you could be the lucky winner of this 52" LCD HD TV. Here is what you need to do:
  1. Download and install Java EE 5 SDK Update3 Preview or GlassFish v2
  2. Try it's new and exciting features
  3. Blog about it and provide a link to your blog.

There are lots of cool and exciting features (Clustering, Load Balancing, Web Services Interoperability Technology, integrated NetBeans IDE experience, Java Business Integration, Ajax, Scripting, REST and many more) and you will definitely find something of your liking.

Download NOW and Go Fishing! Hurry, the contest ends Jun 15.

Technorati: glassfish javaee5sdk webservices wsit

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

http://blogs.sun.com/arungupta/date/20070605 Tuesday June 05, 2007

NetBeans 5.5.1 Update Centers

NetBeans IDE 5.5.1 comes with multiple Update Centers as shown

If a plug-in needs to be installed, it's not clear which of the Update Centers will serve it. This difference is now explained here. For example, the WSIT module, which is still not final yet, is available from 'NetBeans Update Center Beta'.

Read more about NetBeans Auto Update Center.

Technorati: netbeans wsit

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

http://blogs.sun.com/arungupta/date/20070604 Monday June 04, 2007

Tango and Web Service Designer in NetBeans 6

NetBeans 6 M9 was released a few weeks ago. One of the new and noteworthy features is Web Services Designer and support for WSIT. In this blog, I'll share my experience on that support.

  1. After you've installed NetBeans 6 M9, download and install GlassFish V2 b49 and configure it in the IDE Runtime tab.
  2. Create a new Web project by right-clicking in Project window, selecting 'Web' from the 'Category' and 'Web application' from 'Projects'. Choose the configured GlassFish instance as the Server.
  3. Right-click on the newly created project, select 'New' and then 'Web Service ...'.
  4. Everything so far is exactly the same experience as in prior versions of the NetBeans IDE. But NetBeans 6 introduces Web Service Designer. Instead of showing the default source code view, it shows a graphical representation of Web service as shown below


    You can still see the source view by click on the 'Source' tab.
  5. Once you click on 'Add Operation' then it allows you add a new operation using the same same interface as in the prior versions of NetBeans IDE. Then you see the following screen

    Once the operation is added, then you see the following Design view:

    A completely expanded view of the operation is available by clicking on the multiple lines icon next to operation name and looks like:

  6. After the operation is created, right-click on the Project and select 'Deploy Project'. The Web service gets deployed successfully to the GlassFish instance. The endpoint is hosted at 'http://localhost:8080/WebApplication1/HelloWebServiceService?wsdl'. Notice there are new icons that shows the sample input and output SOAP messages from the Web service. If you click on any of these icons, sample SOAP messages are shown as below



  7. Right-click on the 'HelloWebService' and select 'Test Web Service'. This generates client-side artifacts and generates a template HTML page (as in previous NetBeans releases) to invoke the Web service.
  8. One big change from the previous versions of NetBeans is that WSIT is pre-bundled with NetBeans 6. To enable Reliable Messaging, right-click on 'HelloWebService', select 'Edit Web Service Attributes', select 'Reliable Message Delivery', click 'OK' and then deploy the endpoint again. There Web Service Designer allows to configure Reliable Messaging support but it's non-intuitive at this moment.
  9. Invoke the endpoint again following the step#7 and you see several WS-Addressing and WS-Reliable Messaging headers in the request and response messages indicating that the endpoint is now reliable.

I tried Web services support in NetBeans 6 3 months ago and this is tremendous improvement since then. This is the first time anyway NetBeans 6 is claiming Web services support so pretty cool :) Here are few issues I filed:

  1. Unable to add/edit name/type/number of parameters using the Designer (issue# 105654)
  2. Default generated Web service code shows missing @param/@return javadoc tags (issue# 105656)

  3. Unable to add Exception to Web service in Designer (issue# 105659)

  4. Edited and unsaved file status not shown (issue# 105661)
  5. Selected/Unselected icons for MTOM, RM and Security are confusing (issue# 105665). Here is the current state of selected and un-selected icons:

     
    Selected:
    Unselected:

 

Technorati: wsit webservices glassfish netbeans

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

http://blogs.sun.com/arungupta/date/20070523 Wednesday May 23, 2007

Tango on Jetty

Web Services Interoperability Technology (WSIT, aka Project Tango), integrated in GlassFish V2 builds, provides a implementation of key enterprise Web services specifications and enables first-class interoperability with .NET 3.0 framework. However if you download stand-alone WSIT builds, then you can also install similar bits on Tomcat 5.5.17. In this entry, I provide a script that allows you to install the same bits on Jetty 6.1.0.

 

  1. Download WSIT Milestone 4 and J2SE 5.0 U2 or later.
  2. Install (detailed instructions) the bundle by giving the following command:

    java -jar wsit-1_0-fcs-bin-b14-09_apr_2007.jar
  3. Copy the script below in 'jax-ws-latest-wsit' directory and name it as 'wsit-on-jetty.xml':

    <?xml version="1.0"?>

    <project name="WSIT 1.0 Beta On Jetty" default="help" basedir=".">
      <property environment="env"/>
      <property name="jetty.home" value="${env.JETTY_HOME}"/>
      <property name="jetty.lib.home" value="${jetty.home}/lib"/>
      <property name="java.home" value="${env.JAVA_HOME}"/>
      <patternset id="wsit-jars">
        <include name="webservices-rt.jar"/>
        <include name="webservices-tools.jar"/>
        <include name="webservices-extra.jar"/>
        <include name="webservices-extra-api.jar"/>
        <include name="webservices-api.jar"/>
      </patternset>

      <target name="install" description="Install latest WSIT jars on Jetty 6.1.x">
        <echo message="Installing WSIT 1.0 Beta on ${jetty.home} ..."/>

        <copy toDir="${jetty.lib.home}" overwrite="true">
          <fileset dir="lib">
            <patternset refid="wsit-jars"/>
          </fileset>
        </copy>
        <echo message="... installation complete."/>
      </target>

      <target name="uninstall" description="Install latest WSIT jars on Jetty 6.1.x">
        <delete>
          <fileset dir="${jetty.lib.home}">
            <patternset refid="wsit-jars"/>
          </fileset>
        </delete>
      </target>

      <target name="help">
        <echo message="install :"/>
        <echo message=" Installs WSIT 1.0 Beta on Jetty 6.1.x"/>
        <echo/>
        <echo message="uninstall: "/>
        <echo message=" Uninstalls WSIT 1.0 Beta from Jetty 6.1.x"/>
        <echo/>
        <echo message="$JETTY_HOME must be set to the installation directory of Jetty 6.1.x."/>
        <echo/>
        <echo message="Usage:"/>
        <echo message=" ant -f wsit-on-jetty.xml {install,uninstall}"/>
      </target>
    </project>
  4. Download and install (basically unzip the downloaded file) Jetty 6.1.0. Set an environment variable JETTY_HOME pointing to the location of Jetty install directory.
  5. Invoke the command to install WSIT M4 bits on Jetty as:

    ant -f wsit-on-jetty.xml install
  6. Create a Reliable WSIT endpoint by choosing 'J2EE 1.4' as the 'Java EE version' and make sure 'Set Source Level to 1.4' is unchecked.
  7. Copy the WAR file from the 'dist' directory of your application such '\Users\Arun Gupta\WebApplication1\dist\WebApplication1.war' to 'JETTY_HOME/webapps'.
  8. Start Jetty instance using the following command:

    java -jar start.jar etc/jetty.xml

    It's weird that 'bin' directory contains only 'jetty.sh' (no .bat script) and the only way documented to run is using this command.
  9. The endpoint should now be available at: 'http://localhost:8080/<context-root>/<service-name>?WSDL', for example 'http://localhost:8080/WebApplication1/HelloService?WSDL'. Note, Jetty does not seem to support hot deployment. So if you drop a WAR file in 'webapps' directory then you need to re-start your Jetty instance.

  10. A Web service client to this endpoint can be easily generated following #ws2 screencast.

This is one trivial sample. If you try other interesting combinations and they don't work, please file an issue.

Technorati: wsit glassfish webservices jetty

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

http://blogs.sun.com/arungupta/date/20070516 Wednesday May 16, 2007

WSIT endorsements

Web Services Interoperability Technologies (WSIT, aka Project Tango), integrated in GlassFish V2, is an implementation of key WS-* specifications and provides first-class interoperability with Microsoft .NET 3.0 framework. Here is a collection of quotes from developers, media and partners endorsing WSIT in the past few months.

1. Microsoft, Sun Do Web Services Interoperability Tango (Personal blog, May 15, 2007) - The key message is: Developers are happy with WSIT.

Finally, a simple prove that Microsoft and Sun has been continuing their own "peace" agreement. More power to software developers!

2. Microsoft discusses Interop at JavaOne (TheServerSide, May 11, 2007) - They key message is: Most customers use both .NET and Java, look to WSIT for interop.

The Web Service Interoperability Technology (WSIT) is an interesting initiative, because it is primarily between .NET 3.0 and Java EE 5.0. ... primary users ... are early adopters. WSIT will become more interesting in the future, when more companies move to the technologies.
...
When you want to do reliable messaging and transactions that span tech borders, [BP 1.1] does not go far enough. WSIT goes beyond the basic profile to make sure we do all of the open standards, but adds secure token exchange and transfer across technology boundaries, and we test our technology against those.
...
We have found that about 70-90% of our customers have both .NET and Java in their systems... WSIT improves ease of use in deploying interoperable applications.

3. Takes two to Tango: Java Web Services and .NET Interoperability (Personal blog, May 11, 2007) - The key message is: Complexity hidden by NetBeans/WSIT plug-in, Convincing demo: Excel -> JavaEE

I must say I was quite convinced by the WSIT demo, which used an Excel/.NET client to invoke a JEE web service deployed in Glassfish. From the developer point of view, the complexity of adding reliable delivery, security, etc seems to be completely hidden by the Netbeans plug-in, so developing interoperable web services might not be a complete nightmare after all. The project is still very young, but I find it very promising.

4. Tango Day at JavaOne: .NET 3.0 dances with Sun GlassFish (TheServerSide, May 10, 2007) - The key message is: Integrate with .NET via GlassFish/Tango, Excel to back-end Unix

Sun show[ed] how easy it was to integrate .NET 3.0 and Sun Glassfish applications using Web Services Interoperability Technology, code named Tango
...
The presentation gave a demonstration of how it was possible to use a Microsoft Excel application as a client to post data to a back end server ... running on Unix.

5. Sun Shines On WS-* Integration (SDTimes, Feb 1, 2007) - The key message is: Sun engineers work with MS engineers on-site in Redmond, Microsoft calls WSIT best impl of WS-* outside its own

Chutzpah was the word most used to describe Sun Microsystems’ Redmond emissaries. When eight of Sun’s enterprise Java engineers flew up to Washington state to collaborate with Microsoft's engineers, many industry watchers trotted out that venerable Yiddish word, which, loosely translated, means gall.
...
But as these two teams worked together to bring about some calm in the turbulent seas of Web services, they found that engineering knows no prejudice. The result, three years later, is Sun’s Web Services Integration Technology, and Microsoft has called it the best implementation of the WS-* standards outside of its own.

6. Project Tango (Redmond Developer News, Feb 2007) - The key message is: Microsoft "supports" Tango, Microsoft says GlassFish/Tango enables communication with .NET.

Working with Microsoft engineers, Sun has developed Project Tango, a set of Web services interoperability standards -- WSIT for short -- which the company says will ensure a happy marriage between the Java platform and WCF.
...
Gartner analyst Nick Gall says ensuring clean interoperability between Java and WCF clearly holds value for both companies. "There's no question the Microsoft community will flock to [WCF]. It's the unified communications architecture for environments that are .NET-centric," he says. "... The question is, if I heavily use WCF, and if I use its default settings, will I be automatically interoperable with the JEE world? There, the question mark is really big.
...
A Microsoft spokesperson noted that Project Tango "is a Sun initiative and Microsoft supports the initiative."
...
Jorgen Thelin, Microsoft's senior program manager for interoperability standards, offered general praise for the effort: "The combination of .NET Framework 3.0 with Sun's Glassfish and Tango technologies enable high-fidelity communication between the Java and .NET Framework 3.0."

7. State of Web services. Interoperability (JRoller, Jan 5, 2007) - The key message is: Interoperability is the main criteria to evaluate a Web services framework.

Interoperability should be the main criteria when you evaluate a Web Services framework.
...
Any serious Web Services framework should ship with interoperability examples/tests demonstrating all four combinations of Java and .NET clients and services calling each other.
... Java client to call Java service does not have much value.
...
The only framework that lists interoperability with .NET as a top priority and ships some interoperability .NET examples is WSIT.

This is by no means an exhaustive list because many of you, in JavaOne last week, expressed your excitement around WSIT. Please leave a comment on the blog if you have seen other comments not quoted here.

Technorati: glassfish webservices wsit

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

http://blogs.sun.com/arungupta/date/20070509 Wednesday May 09, 2007

Slides for TS-4865

Slides for TS-4865 are available here. The demo shown in the preso is available in 3 parts - part 1, part 2 and part 3.

This session is repeated again on Friday, 1:30pm.

UPDATE: See a review of the session at TheServerSide Interoperability Blog.

Technorati: wsit webservices glassfish javaone

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

JavaOne 2007 - Day 1 Finished

After attending the keynote session, and getting ready for the technical keynote demo on JavaScript Everywhere! jMaki on client, Phobos on server, performing the keynote demo (which I think went well) and talking to many of you, alternating between booth #953 and booth #966 in the Pavilion, the day concluded with a Sun-only party at the third floor of W Hotel. Here are some pictures of movers and shakers at Sun. You'll see pictures of Rich Green, James Gosling, John Gage, Karen Tegan Padir and many others.

Tomorrow, I and Harold will be presenting on TS-4865: Takes Two to Tango (Wed 4:10 pm and Fri 1:30pm). See you there!

Thanks to Jeet for arranging the drinks in a timely manner, always a great resource and knows how to keep his team happy :)

Technorati: javaone glassfish jmaki phobos webservices wsit

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

http://blogs.sun.com/arungupta/date/20070508 Tuesday May 08, 2007

Screencast #WS5: Excel using WSIT! JavaOne 2007 Demo

Web Services Interoperability Technology (WSIT, aka Project Tango) enables first-class interoperability between Sun's Web services stack and Microsoft .NET 3.0 framework. First-class means truly out-of-the-box which does not require any configuration of parameters on either side. To demonstrate that, in JavaOne 2007, we are showing how an Excel 2007 spreadsheet on Windows Vista can invoke a secure and reliable WSIT endpoint hosted on GlassFish V2.

If you are attending JavaOne, session TS-4865 (Wed 4:10pm and repeat on Fri 1:30pm) and booth #966 in the Pavilion shows this sample in detail. But if you are not able to attend, then you can enjoy the screen cast.

Enjoy it here!

Here are the key points highlighted in this demo:

  1. Proven real-world interoperability with .NET 3.0. It's not just confined to "Hello World" or some arcane test case.
  2. Technologies transparent to applications
    1. No new APIs (use existing JAX-WS or EJBs)
    2. Excellent support in NetBeans IDE.
  3. Integrated with GlassFish V2, an open source, production-quality and Java EE 5 compatible application server.

Leave a comment on the blog if you have a similar scenario in your organization and would like to know more details.

Technorati: wsit webservices glassfish javaone screencast wcf

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

http://blogs.sun.com/arungupta/date/20070507 Monday May 07, 2007

TS-4865: Takes two to Tango

If you are attending JavaOne 2007, then attend "TS-4865: Takes Two to Tango - Java and .NET interoperability". Read a preview of the session here.

See you on Wed 4:10pm or May 11th, 1:30pm.

Technorati: javaone wsit webservices glassfish

del.icio.us | furl | simpy | slashdot | technorati | digg |
|
« Previous page | Main | Next page »

Valid HTML! Valid CSS!

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