XML and Web Services In The News - 25 April 2006

Provided by OASIS | Edited by Robin Cover

This issue of XML.org Daily Newslink is sponsored by Innodata-Isogen


HEADLINES:

 Pipestreaming Microformats: Moving XML from One State to Another
 Microsoft Plans System Center Service Desk, Virtual Manager
 Danish IT Architecture Committee and SAML 2.0
 OpenSAML 2.0, Java Edition, Technology Preview 1
 XML Automaton
 CNET Editors' Review: Google Calendar Beta
 ActiveBPEL Rapidly Adds Enterprise Upgrades
 The Beginning of AJAX Standardization

Pipestreaming Microformats: Moving XML from One State to Another
Dethe Elza and David Mertz, IBM developerWorks
The pipes and streams metaphor is very successful in UNIX, and can apply with varying degrees of success to many other systems. It's available, in one form or another, in most programming languages and operating systems. In XML usage, the most common form of pipes and streams processing is SAX Filters. As most readers of this column know, SAX is the Simple API for XML. It is a stream-based API, parsing XML and calling event handlers as significant events (like opening or closing an element) occur during the parse. Since SAX processing does not have to maintain state or build a huge data structure (like the DOM), it is commonly used for XML tasks which operate on large data sets (hard to fit in memory), need to be very fast, or are sparse; only select parts of the XML data is used and the rest is ignored. Streams are a concept related to pipes: they are what the pipes operate on. The idea of a stream is that a program doesn't have to have all the data available before it can start working; this lets it work on data as it is generated, data coming over a network, or files too large to fit in memory. This article provides a survey of relevant tools, specs, and libraries.

Microsoft Plans System Center Service Desk, Virtual Manager
Paula Rooney, CRN
Microsoft has unveiled its rebranded Systems Center Configuration Manager 2007 and Systems Center Operations Manager 2007 as expected and touted plans to offer a System Center Service Desk and virtualization manager. The System Center Service Desk is a "new member of the System Center family and a product that pulls [management] all together"; Bob Muglia specifically highlighted the progress Microsoft is making in its Dynamic Systems Initiative (DSI) -- a commitment to help customers achieve higher business value through automation, flexible resource utilization and knowledge-driven processes -- including the Distributed Management Task Force (DMTF) acceptance of the Web Services for Management (WS-Management) specification as a preliminary standard and the intention to build a service desk offering that will serve as a key foundational piece for the System Center family of solutions. Microsoft also unveiled its newly named Windows PowerShell object-oriented Unix-like command shell and scripting language, formerly code named "Monad." The PowerShell will be available as a Web download later this year and integrated into a version of Windows in the next two to four years; exchange 2007 and System Center Operations Manager 2007 will be built on PowerShell.
See also: the interview

Danish IT Architecture Committee and SAML 2.0
Staff, eGovernment News
The Danish IT Architecture Committee has decided to stand firm on SAML 2.0 as the recommended standard for federation. The OASIS ratified SAML 2.0 standard has since April 2005 been the officially recommended standard for federation in the Danish public sector. Microsoft's recent decision to ship a federation service, as part of its Windows 2003 server operating system without supporting the SAML 2.0 standard challenges this recommendation because the WS-Federation specification implemented by Microsoft cannot interoperate with SAML 2.0. Denmark thinks Microsoft should support customer choice by implementing support for SAML 2.0 in their operating system on equal footing with the WS-Federation specification. Basing e-government on privately controlled specifications that may stifle innovation is not desirable from the Danish point of view. As a consequence the Danish IT Architecture committee has decided to stand firm on the SAML 2.0 recommendation. At the same time the committee has decided to try and work towards convergence in the area of federation standards through dialogue with EU, other governments, suppliers and standardizations bodies.
See also: SAML references

OpenSAML 2.0, Java Edition, Technology Preview 1
Chad La Joie, WOIS-Middleware Announcementg
An announcement has been issued for the release of OpenSAML 2.0, Java Edition, Technology Preview 1. This release features: (1) the ability to parse, marshall, unmarshall, and build SAML 1.0, 1.1, and 2.0 messages; (2) metadata caching and filtering; (3) new documentation; (4) the ability to work with XML fragments, taking part of a SAML message and sticking it into another DOM document.... like a SOAP header or body). This release is not desceibed as production level code but does represents what the developers believe to be to the final design of the library for the components mentioned here. OpenSAML is a set of open-source libraries in Java and C++ which can be used to build, transport, and parse SAML messages. OpenSAML is able to store the individual information fields that make up a SAML message, build the correct XML representation, and parse XML back into the individual fields before handing it off to a recipient. OpenSAML supports the SOAP binding for the exchange of SAML request and response objects (C++ supports requesting only). It provides additional help in supporting the SAML browser/POST profile for web single sign-on. It does not currently provide any additional support for the artifact profile, but provides the machinery needed to implement it in other software. All core SAML constructs are now supported to some degree.
See also: sources

XML Automaton
Tim Bray, ongoing blog
Tim Bray, co-editor of the Extensible Markup Language (XML) specification, talks about Lark: "In December of 1996 I released a piece of software called Lark, which was the world's first XML Processor -- as the term is defined in the XML Specification. It was successful, but I stopped maintaining it in 1998 because lots of other smart people, and some big companies like Microsoft, were shipping perfectly good processors. I never quite open-sourced it, holding back one clever bit in the moronic idea that I could make money out of Lark somehow. The magic sauce is a finite state machine that can be used to parse XML 1.0. Recently, someone out there needed one of those, so I thought I'd publish it, with some commentary on Lark's construction and an amusing anecdote about the name. Lark was a pure deterministic finite automaton (DFA) parser, with a little teeny state stack. DFA-driven parsers are a common enough design pattern, although I think Lark is the only example in the XML space. There are well-known parser generators such as yacc, GNU bison, and javacc, usually used in combination with lexical scanners such as flex so that you can write your grammar in terms of tokens not characters. Also, they handle LALR langauges, so the parsing technique is quite a bit richer than a pure state machine. I thought I had a better idea. The grammar of XML is simple enough, and the syntax characters few enough, that I thought I could just write down the state machine by hand. So that's what I did, inventing a special-purpose DFA-description language for the purpose.
See also: Jelliff's update

CNET Editors' Review: Google Calendar Beta
Elsa Wenzel, CNET News.com
The Google Calendar beta is a straightforward, dynamic online appointment book that can keep you up-to-date with your own private schedule as well as those from other users and public events. The advantages of Google Calendar beta over the industry-leading Yahoo Calendar are its open architecture, RSS support, and integration with Gmail. The AJAX-based Google Calendar beta offers the potential for you to mash it up with other data sets to your liking, as fans of Google Maps have done. An open API isn't available (yet) for Yahoo Calendar. Google Calendar beta works with XML, iCal, and CSV standards. Its XML capabilities leave the door open for scheduling possibilities. For example, rather than slotting in events only from the vendor's properties (Yahoo Calendar includes only items from its own services, such as Upcoming.org, Yahoo Groups, Sports, and Finance), Google Calendar has the potential for you to be able to integrate events from any number of sources, such as blogs. Google Calendar's ability to detect potential appointments within the text of Gmail messages sets it apart from competitors. And the potential for savvy users to add more features to this open-code beta leaves us wondering what to expect next from Google Calendar.

ActiveBPEL Rapidly Adds Enterprise Upgrades
Vance McCarthy, Integration Developer News
An upgraded ActiveBPEL Business Process Execution Language engine is now available for free download. Upgrades to ActiveBPEL (Milestone 2) include XQuery and JavaScript support, as well as a number of other key ease-of-use direct invocation of other BPEL featuress for devs to get into business process projects for web services. ActiveBPEL (Milestone 2) also supports Tomcat 5.5 and Java 1.5, as well as adds support for web services standards WS-Addressing and WS-Policy, with support for WS-Security and WS-ReliableMessaging, due for a later release. The ActiveBPEL engine is written in Java, and runs in any standard Java servlet container such as Tomcat. It reads BPEL process definitions (and other inputs such as WSDL files) and creates representations of BPEL processes. When an incoming message triggers a start activity, the engine creates a new process instance and starts it running. The engine takes care of persistence, queues, alarms, and many other execution details. The ActiveBPEL engine comes from the Open Source ActiveBPEL project, an organization created by Active Endpoints, Inc. ActiveBPEL is licensed under the GNU General Public License (GPL).

The Beginning of AJAX Standardization
Pawel Glowacki, eWEEK
A few weeks ago, the first working draft of the XMLHttpRequest Object specification was published. The beginnings of this standard may have huge implications for AJAX and Atlas programmers. This is an important step for highly interactive Web applications to become mainstream, and it's part of a wider W3C initiative to standardize Web APIs. The XMLHttpRequest object is an interface exposed by Web browser's scripting engine to perform HTTP client functionality. The W3C Web API Working Group is chartered to develop standard APIs for client-side Web Application development. This work includes both documenting existing APIs (such as XMLHttpRequest) and developing new APIs to enable richer Web Applications. In addition to working on an API specification for HTTP functionality, the group is also putting its attention on other specifications that cover different areas of a web browser functionality. These include the client interface (the "window" object), DOM Level 3 events and timed events, other network communication methods, persistent storage on the client, the DOM Level 3 XPath, drag and drop operations, monitoring the progress of resources as they are downloaded, and file upload. Another Working Draft that was recently released is Window Object 1.0. This specification defines the Window object, which provides the global namespace for web scripting languages, access to other documents in a compound document by reference, navigation to other locations, and timers. The Window Object draft is a very early one, as it contains lots of placeholders, but the structure is there.


XML.org is an OASIS Information Channel sponsored by Innodata Isogen and SAP.

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