XML and Web Services In The News - 23 November 2006

Provided by OASIS | Edited by Robin Cover

This issue of XML Daily Newslink is sponsored by BEA Systems, Inc.



HEADLINES:

 Voice Browser Call Control: CCXML Version 1.0
 Drill-down on Three Major New Modules in Python 2.5 Standard Library
 OpenOffice Extension Rivals SharePoint
 W3C Issues XSLT 2.0, XML Query, XPath 2.0 as Proposed Recommendations
 Incorporating Enterprise Data into SOA
 Enterprise Mash-ups
 Grid and Bear It
 Web Syndication and the RDF


Voice Browser Call Control: CCXML Version 1.0
RJ Auburn (ed.), W3C Technical Report
W3C's Voice Browser Working Group has published a new Working Draft for the "Voice Browser Call Control: CCXML Version 1.0" specification, updating the previous draft of 2005-06-29. The specification is being produced as part of the W3C Voice Browser Activity, which seeks to apply Web technology to enable users to access services from their telephone via a combination of speech and DTMF. The Call Control Extensible Markup Language (CCXML) is designed to provide telephony call control support for dialog systems, such as VoiceXML. While CCXML can be used with any dialog systems capable of handling media, CCXML has been designed to complement and integrate with a VoiceXML interpreter. Because of this there are many references to VoiceXML's capabilities and limitations. There are also details on how VoiceXML and CCXML can be integrated. However, it should be noted that the two languages are separate and are not required in an implementation of either language. For example, CCXML could be integrated with a more traditional Interactive Voice Response (IVR) system or a 3GPP Media Resource Function (MRF), and VoiceXML or other dialog systems could be integrated with other call control systems. A CCXML Implementation Report Plan is currently being developed for this specification. The Working Group currently expects to require at least two independently developed interoperable implementations of each required feature, and at least one implementation of each feature, in order to exit the next phase of this document, the Candidate Recommendation phase.
See also: W3C Voice Browser Activity

Drill-down on Three Major New Modules in Python 2.5 Standard Library
Gigi Sayfan, devX.com
The freshly minted 2.5 version of Python has lots of goodies, but the three in this article are the cream of the crop. This article explains how ctypes, pysqlite, and ElementTree can save you time and aggravation. Module No. 3: xml.etree.ElementTree. This module contains pythonic XML processing tools for parsing and constructing XML documents. Python boasts several standard XML modules that support the DOM and SAX APIs. However, the DOM API (xml.dom.minidom) is modeled after the W3C DOM API and is quite cumbersome. ElementTree is the brainchild of Fredrick Lunde. It is a highly pythonic and high-performance XML package. Lunde also contributed the cElementTree, which is a C extension that exposes the same API as the Python package. The performance of cElementTree is amazing (speed and memory foot print). Many pythonistas reject XML as a data exchange format altogether and prefer to simply use direct Python data structures for data exchange. This can be done either as plain text (to be evaluated on the other side using the eval() function) or pickled. However, no one can escape XML these days. It is especially dominant in the important web services domain. To discuss ElementTree, I will continue with the role-playing game example. ElementTree is based on the Element data type. An element has a tag and may also have children (sub-elements), attributes (key-value pairs), content (text string), and a tail (text string that follows the element until the next sibling element). ElementTree is optimized for non-mixed data models, where text never contains elements.
See also: references for XML and Python

OpenOffice Extension Rivals SharePoint
Steven J. Vaughan-Nichols
Most people think that OpenOffice.org is a strong office-suite in its own right. But, when it came to a back-office document collaboration and management engine, like Microsoft SharePoint to enable OpenOffice users to work together, it was a different story. Things have changed, with the release by Dutch firm O3Spaces B.V. of a program that lets OpenOffice and StarOffice users collaborate on projects. O3Spaces works by providing users a single web-based team environment, with built-in search capabilities and an optional Java-based Desktop Assistant. Its search functionality is said to work across PDF, ODF, and Microsoft Office document formats. With its built-in alert capabilities, users can be notified whenever changes are made to their shared information. The integrated O3Messenger provides users with the means to communicate while shared calendars allow them to manage their time. The program also includes workflow management tools and discussion boards. The document-centric system makes the process of creating and reviewing documents simpler, by means of built-in document version control plus check-in/check-out capabilities, according to the company. It also includes an integrated Rights Management Services. With this, authors can determine how their documents are distributed and used by others. All of this is tightly integrated into Open-Office.org and StarOffice, according to O3Spaces. With a web browser or direct access via the Desktop Assistant, users can access the shared workspace via any Internet-capable computer.

W3C Issues XSLT 2.0, XML Query, XPath 2.0 as Proposed Recommendations
Michael Kay, Scott Boag, Anders Berglund (et al., eds), W3C PRs
W3C is has announced the advancement of XML Query 1.0, XSLT 2.0, XPath 2.0 and supporting documents to the status of Proposed Recommendations. XSLT transforms data model instances (XML and non-XML) into other documents including into XSL-FO for printing. Important for databases, search engines and object repositories, XML Query (XQuery) is XML-aware syntax for querying collections of structured and semi-structured data both locally and over the Web. Both XSLT 2 and XQuery use XPath expressions and operate on XPath Data Model instances. XPath defines an expression syntax for referring to parts of XML documents. The "XQuery 1.0 and XPath 2.0 Functions and Operators" draft documents the functions you can call in XPath expressions and the operations you can perform on XPath 2.0 data types The "XML Syntax for XQuery 1.0 (XQueryX)" draft provides a precise representation in XML of the XML Query language, suitable for machine processing and introspection. "XQuery 1.0 and XPath 2.0 Formal Semantics" documents the type system used in XQuery and XSLT 2 via XPath defined precisely for implementers. The new Working Drafts incorporate changes since Candidate Recommendation and move the xdt:* types to the XML Schema xs namespace, a change made in conjunction with the XML Schema Working Group. Comments on the Proposed Recommendation specifications are welcome through 31-December-2006.
See also: the W3C news item

Incorporating Enterprise Data into SOA
Boris Lublinsky, InfoQ
The majority of today's SOA design techniques are centered around definition of services. They use 1service-oriented decomposition, based on the business processes, enterprise business/functional model, required long term architectural goals and reuse of the existing enterprise functionality. This approach usually incorporates one of the most important assets of the modern enterprise — enterprise data as an afterthought. In this article we will revisit a typical SOA architecture, outline the complexities of dealing with the enterprise data, and discuss several design patterns for incorporating of this data into SOA implementations. A typical SOA design approach leads to implementation of the enterprise services in a form of a specialized layer rationalizing existing enterprise functionality (applications) against "ideal" enterprise business model. In order to enhance services interoperability, such architecture usually defines semantic messaging model — enterprise-wide business objects, used for the services interface definitions. This semantic model is typically derived from the same enterprise business model, which is used for the services definition, and consequently assures "common language" used by all services invocations. As a result typical SOA implementation effectively introduces two different data models — "outside data" exposed by the service interfaces and "inside data" — enterprise data used by service implementations. Several design patterns are aimed at support of the enterprise data in SOA implementations, some of which are well established and some are emerging, based on the experiences in the current SOA implementations. (1) Aligning enterprise data support with the business services; (2) Enterprise data access as a business service; (3) Enterprise data bus. Design patterns presented in this article define different approaches to dealing with the enterprise data in the SOA environment along with the drawbacks and advantages of each approach.

Enterprise Mash-ups
Richard Edwards, Computer Business Review Online
A mashup is a Web site, or more usually a Web-based application, comprised of two or more components from different sources, but presented to the user as a single, seamless experience or application. Today, most developers experimenting with mashups are using consumer centric content from the likes of eBay, Amazon, Google, and others; but in the future, corporate developers may well combine Web service elements from a range of vendor solutions with bespoke, in-house line-of-business applications to present business users with their very own Enterprise Mashups. As one might expect, the software for building consumer-oriented mash-ups is typically offered by the provider of the Web service being consumed as part of the mash-up; so developers will work with the documented Web service calls from say Amazon Web Services, eBay Developers Program, Windows Live Dev, etc. The examples of mashup are almost endless, but what does this mean in the enterprise; where does it take us? Well, perhaps delegates attending the Butler Group Services Oriented Architecture (SOA) Master Class being held in London this week will have a clearer idea, as many of the issues surrounding the application and adoption of SOA within the enterprise have many direct parallels with the world of mashups. Aspects such as models, infrastructure requirements, controls and governance, and implementation roadmaps are the things that IT Development managers should now be thinking about.

Grid and Bear It
Joab Jackson, Government Computer News
Although proven in academia and research, grid computing struggles to find a place in the enterprise. At first glance, the SURAgrid Coastal Ocean Observing and Prediction program is a perfect example of how grid computing can apply massive amounts of computing power to large problems. But the amount of work that goes into SCOOP, run by the National Oceanic and Atmospheric Administration and the Office of Naval Research, also shows how far grid computing needs to go to make it into the enterprise. The idea behind SCOOP is to help the government better understand storm surge, or the movement of ocean water whipped up by storm winds, as it can cause flooding as well as damage to seacraft. Researchers have designed a set of models to simulate winds and wave movements, as well as how hurricanes and other storms move across the globe. The problem of realistically simulating such storms is far beyond the abilities of the average researcher's computer. So NOAA and ONR turned to SURAgrid. The good news is that, thanks to the Globus Toolkit and other grid software applications, SCOOP programs can work on a wide range of systems. The bad news is that it's just plain hard. However, grid is finally making some inroads to the enterprise. The 451 Group has found that the pharmaceutical industry uses grids for drug discovery. Oil companies as well as the financial sector have made use of grid. Another way that grid will move further into the enterprise is its increasing partnership with Web services. Version 4 of the Globus Toolkit makes use of many of the standardized protocols from the Organization for the Advancement of Structured Information (OASIS) Standards. This should allow grid developers to leverage the work done in the Web services community and vice versa.
See also: Globus Alliance and Toolkit

Web Syndication and the RDF
Ed Tittel, SearchWebServices.com
The boundaries around what a document is, what kinds of information it can deliver, the kinds of behavior it manifests and the interactivity it supports or displays, have continued to expand over time as various forms of active content, dynamic behavior and metadata driven capabilities — most of the good stuff therein built using XML nowadays — have continued to appear online. Web Syndication is a good example of how document behavior and boundaries are stretching as you read this. Using either the Really Simple Syndication (RSS) or Atom XML formats, it's possible to create a list of headlines and content abstracts in a readily readable form (that can also encapsulate binary data for software update delivery, among many other things, by the way) and then to make that data available for consumption by other programs. This notion of consumption is what explains why syndicated feeds is where the action is and explains why headlines, descriptions, abstracts and snippets form the foundation around which such feeds are based. Ultimately, syndication permits individual users or other Web sites to automatically read and/or publish links to new information items more or less as soon as they appear (or rather, as soon as they receive the feeds that go out at the same time they appear). The most common XML syndication languages in use today are RSS and Atom, but both of these applications rest on work undertaken for the Resource Description Framework, or RDF, developed to describe resources available on the Web. IT provides a model for the data related to such resources and a formal syntax so that independent producers and consumers of such descriptions can readily exchange and use this type of information.
See also: Resource Description Framework (RDF)


XML.org is an OASIS Information Channel sponsored by BEA Systems, Inc., IBM Corporation, Innodata Isogen, SAP AG and Sun Microsystems, Inc.

Use http://www.oasis-open.org/mlmanage to unsubscribe or change an email address. See http://xml.org/xml/news_market.shtml for the list archives.


Bottom Gear Image