Skip to main content

Web Service Data Sources

1 reply [Last post]
Joined: 2004-06-28

I've had a quick scan of the demo and it all looks good - the XML api looks nice for quick starting an app.

My question is about integrating web services - or XML data sources - with the XML api. 2 things would be nice:
1. Viewing output from WS
2. Prototyping form based WS apps


Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Mark Davidson
Joined: 2006-02-17

> My question is about integrating web services - or
> XML data sources - with the XML api. 2 things would
> be nice:
> 1. Viewing output from WS

We would probably provide something like a dynamic model which uses the DII approach of JAX-RPC rather than bind directly to the SOAP data. I'm not rulling out that approach but my intuition says that binding directly to the XML is not scalable.

> 2. Prototyping form based WS apps

You may want to take a look at this application:

Greg Murray (Blueprints, Servlet spec lead) and I developed this rich web service client for the JavaOne Hands On Lab and session TS-3077: "Building Rich SOAP-Based Clients with J2SE Technology". If you're attending J1 this year, you may want to check out this talk. It's the session before the JDNC talk.

This example above uses the JDNC swingx API which places all the web service data in a form. It uses the static stub generation approach so this example is pretty much hard coded to the web service endpoint. The challenge for us is to generalize this so we can point to a WSDL in the jdnc xml and dynamically generate a form which can display JAX-RPC value types.

There are still a lot of challenges to dynamically generate a rich client form ui from a WS endpoint. There is a lot of context missing which expresses the relationships between the service methods and the value types. Perhaps this would require the inference of JavaBean-like patterns. For example, given a JAX-RPC value type "Foo", service methods could look like:

Foo getFoo(String id)
void setFoo(String id, Foo foo)

This type of pattern is probably impossible to enforce for web service endpoints. The whole point of web services is that that the endpoint is a black box so we (Java) have no bearing on the implementation of endpoints. We can probably make recommendations on the implementation of Java based endpoints via the Blueprints program but we can't make these same recommendations with .NET or AXIS endpoints. This would have to be part of the WSI.

I'm not an expert in web services. I only know enough to be dangerous ;-) However, I do know a lot of people who are experts in WS and they are willing to help us out. Watch this space.