Jonathan's profileDesign by CommitteePhotosBlogLists Tools Help

Blog


    July 06

    WSO2 Mashup Server v0.1 released

    I'm sure you're all tired of hearing about WSDL 2.0, so it's time to change the subject!

    Today we released our first alpha version of the WSO2 Mashup Server.  The capabilities are quite limited at present but the fundamentals are in place to deliver an innovative product.

    The primary issue we're trying to solve is that of Web Service composition.  There are a number of specifications such as BPEL and WS-Choreography which target this space, but they are fairly heavyweight and difficult while still being limited in their capabilities.  Rather than these more formal orchestration methods, we've approached the problems of service composition from another direction, inspired by the Web 2.0 phenomenon of mashups.

    Mashups are light and quick compositions of information from various sources - usually a mix of individual information with global information - my pictures appearing on a map is the archetype of these kinds of mashups.  As Web 2.0 technologies erode the boundaries of the enterprise, we feel that mashups and service compositions will converge into the same space.

    So what we've done is fairly simple, yet also pretty unique:

    • Provide a platform for easy invocation of Web Services from within a JavaScript + E4X environment.  This enables you to grab data in XML format from a variety of Web Services and manipulate it fluidly.
    • Expose JavaScript functions as Web Service operations, complete with WSDL 2.0 or WSDL 1.1 and XML Schema descriptions, and automatically generate bindings for SOAP 1.2, SOAP 1.1, and REST access.

    There you have the basic service composition capability: acquire data, manipulate it, and expose it again as a new Web Service.  The ability to recursively expose mashups and allow them in turn to be mashed up is But wait there's more!

    • Automatically generate artifacts that make it easy to consume the service in other JavaScript environments, such as browsers, widgets and gadgets, and other mashups.  This includes stubs that can be included in clients to aid in invoking a service synchronously or asynchronously, a try-it page that presents a form interface to the service, and the ability to bundle custom web UI with the service.  As we go forward I hope to use the separation of content and presentation (user interface) to broaden the user experience beyond HTML to the whole gamut of ways that information touches people - email, SMS, IM, feeds, desktop alerts, and so forth.
    • Provide bridges to information not in strict Web Service format (e.g. described by WSDL), including at present screen scraping tools (for HTML and other non-XML dialects), feeds (RSS and Atom), and files.
    • A management user interface so you can see which services are running, start|stop|edit them, and configure their metadata.
    • The ability to publish services to another Mashup Server (for instance, to move your service from your laptop to a network server).
    • An online community (not live just yet) that will host your service for you and help incubate a variety of interesting Web Services for you to invoke.

    We have a long way to go to before our 1.0 release, but I'm proud of the fundamentals we've put in place.  Look for steady improvement in future releases.

    Download the alpha now, and let us know what you think!

    July 05

    My WSDL 2.0 interview with ADT

    This morning I had an interview with Kurt Mackie from Application Development Trends Magazine, and discussed the implications of the completion of WSDL 2.0. 

    In retrospect I realized I'm used to long-winded deliberations from years in Working Groups, rather than sound bites that are easy for the press to grab on to.  I guess Kurt Mackie had the same impression, since he decided to transcribe large parts of our conversation ;-).  I'm not too disappointed with the result though.  Even managed to get in an unexpected plug for the WSO2 Mashup Server.  Take a look at the article and see if you agree...