The Source for Java Technology Collaboration
User: Password:



Harold Carr's Blog

July 2007 Archives


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





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