XML and Web Services In The News - 5 October 2006
Provided by OASIS |
Edited by Robin Cover
This issue of XML Daily Newslink is sponsored by SAP
HEADLINES:
Serializing SPARQL Query Results in JSON
Kendall G. Clark, Lee Feigenbaum, et al. (eds), W3C Working Group Note
Members of W3C's RDF Data Access Working Group have published an initial
draft of "Serializing SPARQL Query Results in JSON." SPARQL is a query
language and a protocol for RDF developed by the W3C's RDF Data Access
Working Group. Included in that work is an XML vocabulary for serializing
the results of two SPARQL query forms, 'SELECT' and 'ASK'. This document
defines an alternative means of serializing the results of those SPARQL
query forms using JSON, a lightweight representation format which
emphasizes concision and legibility. RDF is a flexible, extensible way
to represent information about World Wide Web resources. It is used to
represent, among other things, personal information, social networks,
metadata about digital artifacts like music and images, as well as
provide a means of integration over disparate sources of information.
A standardized query language for RDF data with multiple implementations
offers developers and end users a way to write and to consume the
results of queries across this wide range of information.
See also: JavaScript Object Notation (JSON)
Microsoft Beats SOA Drum with ESB Guidelines
Elizabeth Montalbano, InfoWorld
Heralding the most viable, "real-world" approach to building SOAs
(service-oriented architectures), Microsoft has unveiled new
guidelines for partners to create an enterprise service bus (ESB).
Usually, BEA Systems and IBM beat the SOA drum the loudest, but
Microsoft renamed its Business Process and Integration Conference for
BizTalk partners, on this week, to "SOA and Business Process
Conference", with the aim of demonstrating that it too has a plan for
helping customers build SOAs. OA is the next generation of enterprise
software architectures, in which applications and services within the
IT system are loosely coupled and able to be integrated piecemeal to
form custom, or "composite," applications from various components
across the enterprise. Microsoft worked with partner Neudesic to
provide sample code and documentation for using BizTalk Server to build
an ESB, which Microsoft defines as a set of capabilities & such as
mediation, transformation and integration & for connecting business
processes and services throughout the organization, said Steven Martin,
a Microsoft director of product management. The company also unveiled
a new adapter for Extensible Markup Language-based BizTalk that
enables customers to connect the product more easily to IBM mainframe
and AS/400 systems. The technology, called the BizTalk Adapter for
Host Systems, is based on technologies available in Microsoft's Host
Integration Server product, which the company has had for some time,
Martin said. John Devadoss, a Microsoft director of architecture, said
it is still finding a lot of misconceptions about SOAs among its
customers, who think they have to rearchitect their entire software
infrastructure "from the top down" to build SOAs. On the contrary,
Microsoft believes that SOAs are more successful if there is a
"real-world business driver" behind the architecture.
See also: SOA references
Implementation of Serial Tree Transducers
Tobias Trapp, SAP Blog
This article is Part 5 in a series titled "Streaming Techniques for XML
Processing." In an earlier installment the author described a divide
and conquer approach for processing huge XML documents. Huge XML
documents often have a simple structure and consist of wide trees but
with only small height. They contain lists with millions of serialized
business objects. So one may use STX to implement an outer loop
performing only local transformations and transforming buffered subtrees
using XSLT. The aim is to combine the strengths of STX and XSLT: We
only have to keep a subtree together with its parents in the main memory
at one time. We use XSLT either to reuse existing transformations or to
perform transformations that are too difficult to be done with a tree
transducer. XML documents can be modelled by trees and XML
transformation by tree transformation. One model for tree transformations
are tree transducers: finite automata that walk over trees and generate
output. Because we want to use STX we restrict to top-down tree
transducers. You can image these transducers as automata that do a
simultanous translation. They walk through the XML document in a depth
first order and apply a rule every time they visit an XML element.
Applying a certain rule means that we insert a set of subtrees according
to the current state and change the state of the transducer. A companion
technical Working Paper "Serial Tree Transducers and their Implementation
in STX" describes implementations of tree transducers using the Serial
Transformations for XML (STX) language. We define fragments of STX that
correspond to tree transducers with no lookahead and a limited number
of registers. These tree transducers can be used for fast and scalable
XML transformations. To overcome the limitited expressiveness of tree
transducers we extend them by general subtree transformations.
See also: the technical paper
IETF Internet Draft: URI Template
Joe Gregorio, Marc Hadley, Mark Nottingham, David Orchard, IETF I-D
An IETF version -00 draft for "URI Template" has been published. URI
Templates are strings that can be transformed into URIs after embedded
variables are substituted. The document defines the structure and
syntax of URI Templates. According to Mark Nottingham's blog entry
"URI Templating, the Spec," The idea behind URI templates is blindingly
simple. There are lots of conventions that people use to denote the
variable parts of URIs; one of them is to use {brackets}. All that
we've done is codify that practice & brackets are a good choice because
they're not allowed in URIs, so there isn't much risk of collision.
Conceptually, a URI Template has a lot in common with forms (whether
HTML or X), but they have a few advantages: (1) They're strings, not
full markup. You can use a template anywhere you need a short way to
say how to construct a URI, like in an XML attribute, or an HTTP header.
(2) You can put variables anywhere in the URI, not just the query
string, allowing well-modelled resources to be constructed. (3) It's
easy to construct and evaluate them. Since brackets aren't valid in
normal URIs, they make great delimiters. What benefit does this bring?
Besides having a common convention for human-readable documentation
(which IME is already pretty common), the real value is when templates
are used by machines...
See also: Mark's blog
Google Crawls Into Source Code Search
Martin LaMonica, CNET News.com
Google is taking its search expertise to one of its favorite audiences:
software developers. The company on Thursday launched a Web site,
Google Code Search, which the company says will let programmers search
billions of lines of code for tips on how to write their own software.
The service, conceived by the Google Labs early technology group, will
crawl publicly available code, most of which is made available through
open-source projects. The search and indexing covers code on Web pages
and code that resides in compressed files, said Tom Stocky, a product
manager at Google. Google expects that the search engine will be used
primarily as a learning tool to help students and serious programmers,
rather than a way to find and copy another person's code. A developer
may need to write a function as part of an application and search the
Web to see other examples. Google engineers, many of whom participate
in open-source projects, already use these code-searching capabilities
internally. Since it is a Google Labs project, the company is not yet
seeking to make money through ads linked to searches. The search engine
will let people do both keyword search and "regular expressions," which
allow people to search a specified pattern, he said. For example, a
person could narrow a search to JavaScript functions, which will help
find more examples. As it does with many of its services, Google will
release an application programming interface (API) to create an XML
feed based on a specific query.
Introducing WSGI: Python's Secret Web Weapon, Part Two
James Gardner, XML.com
Part in this series discussed how the Web Server Gateway Interface
(WSGI) is helping to unify the Python web-framework world by providing
a standard API through which different web applications can operate
with different servers. In this second part the author looks at how to
make use of existing middleware components to add functionality to your
WSGI applications. WSGI middleware is software that behaves like a
server to an application, passing an environ dictionary and
start_response callable to the application in the same way a server
would. Middleware components also expect the application to return an
iterable, such as a list of strings, or to be iterable themselves.
Importantly, middleware also behaves like an application to the server,
expecting to receive an environ dictionary and start_response callable
itself, and returning an iterable back to the server. Middleware
effectively sits between a server and an application, isolating one
from the other, and can therefore do any of the following or a
combination: (1) Provide more functionality by adding a key to the
environ dictionary; (2) Change the status; (3) Intercept an error;
(4) Add, remove, or change headers; (5) Change a response. With
today's powerful middleware, the vision for "loosely coupled WSGI
middleware components" is fast becoming a reality. Emerging projects
such as Clever Harold provide just such a framework of loosely-coupled
middleware components. Projects such as Pylons go further still,
providing a ready-made configuration of WSGI middleware. The WSGI has
shifted the point of reuse from the framework itself to individual
middleware components. While developers can still create their own
solutions to web development problems, as long as they're creating,
using, and improving middleware components, the whole Python community
now benefits.
See also: XML and Python
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. |