Eric Meyer and friends have a way of producing slide shows (a la PowerPoint) that is lightweigh, standards based (the content is xhtml, for example) and way cool. You can see examples in action: S5: A Simple Standards-Based Slide Show System. No dynamic content as yet, but presumably it's only a matter of time before someone integrates SVG with S5 to recreate those horrid little animations you see in all too many PowerPoint presentations.
Thursday, October 28, 2004
Tuesday, October 26, 2004
Saturday, October 23, 2004
The Simile folks have released Longwell, their RDF browser suite. Looks good. It's a web application, but it's not clear that there's a web-services access point. Clearly, for a tool that's primarily user-facing, having a web-service endpoint is less relevant. But from first impressions, I would guess that some of Longwell's reasoning and storage capabilities would be useful components in a more general loosely-coupled semantic web application.
Wednesday, October 20, 2004
Tim Finin forwarded a link to this competition to the FIPA chat list. There are two parts to the competition: Part A is about choosing a service to invoke, based on some required input and output messages, and given a collection of WSDL service descriptions. I don't know all the details, and sample problems are not yet available, but it sounds like some fairly straightforward XML crunching and therefore rather uninteresting. Part B sounds a little more interesting: again given input and output messages, the requirement is to construct a web-service composition that gets as close as possible to the desired service. Since the only service descriptions are WSDL, it seems complex reasoning about the services themselves is not required. So, it could be that a simple A* solution is all that's needed, which would be a shame.
Something to revisit when the details of the sample problems are available.
Sunday, October 17, 2004
Something I've been wondering about, but don't have an answer for yet. Suppose an agent or service is notified of the address of a service, or is given the service end-point as a WSDL document. How does the agent discover the category information about the given service? I haven't yet come across an agreed way of embedding that information in the WSDL document (I suppose it could be seen as an application of ws-policy). Of course if you discover the WSDL by querying a UDDI registry you know the category because it's in the registry (and was probably part of the initial query). But if you already have the WSDL end-point, it seems inefficient and potentially non-deterministic to query the registry to do a reverse lookup on the service category, always assuming that the service is published in an accessible UDDI registry in the first place.
Saturday, October 16, 2004
Addendum to the previous collection:
Wednesday, October 13, 2004
Bob DuCharme asked on the RDF interest list what web services are publicly available that return RDF. A summary of replies and pointers:
- daml.org hosted gateways for NYSE listed stocks, US zip codes and airport data
- Bitzi media catalogue returning RDF descriptions for media objects
- Semantic web search tool general web search using RQDL-like queries
- Nearest airport to a given lat/long pair
- Sunset and sunrise times based on a known lat/long location
As a nice example of reverse lookup, given that I know my nearest airport (BRS), I could determine a very approximate location for myself: latitude 51.4, longitude -2.7 .... something I probably ought to have known but didn't!
Interestingly, the various developers of these services have provided HTTP GET interfaces to the services, but no-one has (so far) volunteered WSDL description of the services.
Friday, October 08, 2004
One of the more impressive papers I attended at AAMAS'04 was presented by Steve Chien on the Earth Observing One satellite mission. The agent system on EO-1 has been allowed to control the satellite, run the scientific data capture instruments, and decide which data to discard and which to transmit back to the ground - fully closed loop. During his presentation, Steve said they had even more ambitious goals for the mission, including being able to run fully autonomously for days or weeks at a time. A NASA press release today indicates further progress to this goal. What makes this work really impressive is that the computer system running the satellite subsystems, planning missions and performing fault diagnosis and repair is significantly less powerful than the laptop I'm using at the moment.
Thursday, October 07, 2004
I'm learning about web services, so that I can add WS- interfaces to Nuin. There is a heck of a lot to grok, more or less all-at-once, but I'm concentrating on soap, wsdl, and uddi to begin with. In particular, getting a good grip on wsdl seems key, because there are various other tools, like apache axis that have automated tools that use the wsdl description to deploy web services or create Java stubs and skeletons automatically.
The problem is that wsdl is horrible. You can see how each piece belongs in the spec, but when you put all of the ports, messages, pieces, bindings, etc etc together it just becomes a complex mess. For RDF coding, the online RDF validators are very helpful for spotting errors buried in complex documents. So, I googled in hope for wsdl validators. There aren't many hits, and most of those are now defunct or useless. Salvation however, came with the wsvt plugin for Eclipse. Wonderful! Does good validation, with the results integrated into the Eclipse problem reports tab. Recommended.
This posting was copied from my former blog at 20six.co.uk
I've been slowly building up my web-service knowledge by building a web-service endpoint into Nuin, using Apache Axis as the web-service tool. The Axis documentation presumes that you are using Tomcat as the servlet container (though it doesn't require Tomcat, I would stress). I've had several different attempts at using Tomcat over the past few years, and I've never really got on with it. It just seems so darned complicated! I've found Jetty to be a much better alternative. Jetty is much simpler than Tomcat, so there are probably some things it doesn't do that Tomcat or the other big players do do. On the other hand, Jetty is small and efficient and, best of all, launches easily from inside Eclipse so you can debug servlets easily using the Eclipse debugger. There are even Eclipse plugins to support deploying services to Jetty. I've never deployed Jetty for production use, so I can't comment on that, but I find it ideal for personal development prototypes and experimental use.
Note: this post was copied from my former blog at 20six.co.uk
This article by Kevin Jones, linked from the Apache site, shows how to get Axis to return the given WSDL file for a service, rather than rely on Axis to auto-generate new WSDL from a deployed service. Kevin's tip essentially is to add:
<wsdlFile>your wsdl file here</wsdlFile>
server-config.wsdd file. It turns out that you can put the same element in the service's own
deploy.wsdd file, and it will be copied from there to server-config - saving you the trouble of finding and tweaking the server configuration. The ony gotcha is that if you re-generate the depoy.wsdd (via wsdl2java), the wsdlFile element will be overwritten. I guess it would be nice if wsdl2java acquired a new command line option to generate the wsdlFile element.
Note: this entry was copied from my former blog at 20six.co.uk