on web services


tim finin (finin@cs.umbc.edu)
Mon, 05 May 2003 10:38:23 -0400


Here is a guide to web services. In additional to reading the DAML-S
paper,

   The DAML Services Coalition (alphabetically Anupriya Ankolenkar,
   Mark Burstein, Jerry R. Hobbs, Ora Lassila, David L. Martin,
   Drew McDermott, Sheila A. McIlraith, Srini Narayanan, Massimo
   Paolucci, Terry R. Payne and Katia Sycara),
   "DAML-S: Web Service Description for the Semantic Web",
   The First International Semantic Web Conference (ISWC),
   Sardinia (Italy), June, 2002.
   http://www.daml.org/services/ISWC2002-DAMLS.pdf

Please read through these notes and check out the links.

--

The topic of "web services" is very popular today. It might be useful to think of it in three waves: (1) the one that is washing up on the beach right now, (2) the big one we can see starting to crest off shore, and (3) that large swell still pretty far out to sea which could turn into a tsunami. Or it might just dissipate.

As technologists, we should be alert and always be ready to catch the next big wave while avoiding being caught in a rip tide and being swept out to sea. For consultants, its probably best to stay on shore, looking cool and waxing your board -- the surf is a bit rough. SO, here is my humble take on it...

(1) the wave lapping at the shore today

Semantic web services today are defined using several simple languages, protocols and environments which are part of the web today (XML, CGI, XSL, ASP, JSP, .NET, J2EE, etc.). There are many competing proprietary systems available that attempt to build more elaborate frameworks on top of these. The companies involved include the usual suspects (e.g., IBM, Microsoft, Sun, Oracle, HP, etc), several important web technology companies (e.g., BEA, Webmethods, Ariba) who are focused on developing web technology for mostly B2B applications, as well as just about everyone else who makes software to put stuff on the web, from open source efforts (e.g., apache) to proprietary systems (e.g., peoplesoft, SAP) to major content providers (e.g., amazon) to non-profit industry-based standards consortia (e.g., Oasis). There is a struggle going on for control and dominance and it's somewhat messy.

For examples of what's on the web, take a look at

- http://msdn.microsoft.com/webservices/ - http://www.ibm.com/developerworks/webservices/ - http://webservices.oreilly.com/ - http://associates.amazon.com/exec/panama/associates/ntg/browse/-/1067662/ref=gw_hp_ls_1_3/

For an overview article, see

Web Services Primer, Darren Barefoot, Technology Evangelist @ CapeScience, September 9, 2002, http://www.capescience.com/education/primer/

(2) The cresting wave that will hit the beach tomorrow

We can't be sure which standards the next generation of web services will be built on. We are talking about web years here, so the next generation should be here in two to five years.

Some interesting technology pieces (e.g., UDDI, SOAP, WSDL) have been developed by industry and prototyped. We will have to understand how these pieces can fit together, what we need to develop to fill in the gaps, and how it should all evolve. Maybe some of the large companies will get together and push through their own languages, protocols and technologies. Many are trying to do just this.

The other likely alternative is that the W3C will produce a good set of standards that will form the foundation. The W3C's efforts on web services is currently organized around four working groups:

(a) The "Web Services Architecture Working Group", http://www.w3.org/2002/ws/arch/ is focused on application-to-application communication and interoperability among components that provide web services.

(b) XML Protocol Working Group. http://www.w3.org/2000/xp/Group/. This group is essentially working on the specification for SOAP -- Simple Object Access Protocol. SOAP is an way to make RPCs (remote procedure calls) using XML syntax. You might think of SOAP as the replacement for the CGI (common Gateway Interface) that has been used to call applications on the web.

(c) Web Services Description Working Group. http://www.w3.org/2002/ws/desc/. This group is working on a specification for WSDL -- Web Services Description Language. WSDL is an XML-based language used to describe the services a business offers and to provide a way for individuals and other businesses to access those services electronically.

(d) Web Services Choreography Working Group. http://www.w3.org/2002/ws/chor/. This group assumes that the others will develop good ways to describe and access basic, atomic services. It's goal is to develop standards to compose and describe the relationships between lower-level services. It's the newest of the groups and also the shakiest -- several big companies (IBM, Microsoft) pulled out of this in February 2003 probably because they want to pursue their own plans.

(3) That big swell farther out that might develop into a Tsunami

The semantic web languages are seen by many as providing the path to smarter, more automated web services. One common visions involves intelligent agents that can take a high level requirement from a human ("arrange for my trip to Acapulco to attend the IJCAI conference in August") and find and invoke appropriate web-based services to "make it so". Web services are not just for the web, either. The same principles, languages, and technology can be used to provide more automated services in mobile and pervasive computing environments and applications.

One approach is to use a semantic web language to define an ontology useful for describing and reasoning about services. This is just what DAML-S is. DAML-S supplies Web service providers with a core set of markup language constructs for describing the properties and capabilities of their Web services in unambiguous, computer-intepretable form. DAML-S markup of Web services will facilitate the automation of Web service tasks including automated Web service discovery, execution, interoperation, composition and execution monitoring. See http://www.daml.org/services/ for more information.

There are other approaches as well -- there is a convergence, of sorts, on web services in a number of communities -- the ecommerce, semantic web, grid computing, peer-to-peer, pervasive computing, agent-based systems, pervasive computing. All share a common interest in describing, registering, matching, composing, invoking, and/or monitoring services made available on the internet/web/aether.

Here are some more pointers.

- Business Process Execution Language for Web Services http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/

BPEL4WS provides a language for the formal specification of business processes and business interaction protocols. By doing so, it extends the Web Services interaction model and enables it to support business transactions. BPEL4WS defines an interoperable integration model that should facilitate the expansion of automated process integration in both the intra-corporate and the business-to-business spaces.

- Semantic web services initiative http://swsi.org/

DAML-S was the product of an ad-hoc group consisting (mostly) of researchers from SRI, Stanford and CMU and funded under the DARPA DAML program. There is a new initiative drawing on researchers from the EU and US. It's goal is to develop a new language and architecture to support semantic web services.

- Grid computing http://www.globus.org/ogsa/

Grid computing also has a strong need to to describe and reason about services sought or offered on the grid. Here is just one example of an attempt to provide a better infrastructure for this.

- Multiagent systems http://www.fipa.org/activities/services.html

The best (imho) infrastructure for multiagent systems is defined by the FIPA specifications. Agents also have a need to describe the services they seek and offer and explored the idea before the web was ubiquitous (e.g., see Tim Finin, Rich Fritzson, and Don McKay, ``A Knowledge Query and Manipulation Language for Intelligent Agent Interoperability'', Fourth National Symposium on Concurrent Engineering, CE & CALS Conference, Washington, DC June 1-4, 1992. http://umbc.edu/~finin/papers/cecals.pdf).



This archive was generated by hypermail 2.0b3 on Mon May 05 2003 - 10:38:46 EDT