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
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. |