XML and Web Services In The News - 30 January 2007

Provided by OASIS | Edited by Robin Cover

This issue of XML Daily Newslink is sponsored by BEA Systems




HEADLINES:

 SourceForge freeb-ubl Project Releases Implementers Kit for UBL
 W3C and OASIS Jointly Issue WebCGM 2.0 Standard
 Tool Lets Agencies Show OMB the IT Money
 Pull Parsing XML in PHP
 Google's Bosworth: Why AJAX Failed (Then Succeeded)
 Integrate XML into a Perl Application Using XML::Simple
 Patents for Dynamic Web Pages to Get Another Look


SourceForge freeb-ubl Project Releases Implementers Kit for UBL
Staff, freeb-ubl Project Announcement
Project administrators from the SourceForge freeb-ubl project have announced the first release of software (Version 1.0) supporting the UBL, ebXML, and CAM specifications. The software is freely available for download and use under the freebXML License Version 2.0. The project provides free, opens ource software for the Universal Business Language and the ebXML framework including XSLT stylesheets to generate XForms for creating, editing, and viewing UBL and ebXML documents. The implementers' package for UBL and ebXML consists of out-of-the-box tools to aid with use of the Universal Business Language (UBL) and the standard framework for electronic business with XML, ebXML. Provided is a set of XForms for UBL and ebXML and a set of XSLT stylesheets which can be used to generate the XForms. They are specifically designed for the UBL and ebXML business document types but they may or may not work with other XML models depending on the schema design conventions used in the XML. XForms typically allow input of data and output of XML either in a suitably enabled browser or other devices. This version is provided as a starting point which may be adapted for production use. The XForms- generating stylesheets cater for repeatable elements by generating these for elements which have successive multiple occurances in the XML fed to the XSLT stylesheet. This means that instances fed to the stylesheet in a transformation (with an XSLT processor) may be tailored to match the XForms requirements. Two customizations of UBL which are used as the basis for the XForms in this package are provided, one for UBL 1.0 and one for UBL 2.0. Therre is a set of XSLT stylesheets to convert instances between UBL 1.0 SBS and UBL 2.0. SBS is the UBL Small Business Subset, a customization of UBL for general use. Use SystML1 can be said to compliant with the UBL 1.0 SBS committee specification if the documents sent with it to another party do not require that more than the elements in the SBS be properly processed by the receiving system. The package is intended to grow over time but this version provides: (1) stylesheets for transforming UBL 1.0 Small Business Subset (SBS) compliant instances (electronic invoices, orders and the like) to their UBL 2.0 equivalents; (2) CAM templates samples for contextual content validation and subset business rules, for illustration; (3) XForms for simple input, editing and viewing with an XForms reader of various UBL and ebXML-BP documents — note that this version focuses on the UBL procurement documents; (4) generator (XSLT) to allow self-build creation of XForms additional to those ready-made, which can be combined with jCAM engine; (5) UBL 1.0 and UBL 2.0 customizations (subsets) for general use with schema files provided (procurement documents) and matching CAM templates; (6) atomic, modular ebXML Business Process (ebXML-BP 2.0) definitions for these documents.
See also: UBL references

W3C and OASIS Jointly Issue WebCGM 2.0 Standard
Staff, W3C and OASIS
W3C and OASIS have published WebCGM 2.0, a new industry standard for technical illustrations in electronic documents. WebCGM, which is widely deployed in the defense, aviation, architecture, and transportation industries, has reached new levels of interoperability thanks to this joint effort between OASIS and W3C. Computer Graphics Metafile (CGM), is an ISO standard for a tree-structured, binary graphics format that has been adopted especially by the technical industries (defense, aviation, transportation, etc) for technical illustration in electronic documents. As the Web emerged as the environment for sharing and creating documents, it became apparent that the best way to use CGM on the Web needed to be clarified, particularly for interactivity such as hyperlinks and hotspots. WebCGM finds significant application especially in technical illustration, electronic documentation, and geophysical data visualization. It unifies potentially diverse approaches to CGM utilization in Web document applications, and therefore represents a significant interoperability agreement amongst major users and implementers of the ISO CGM standard. W3C published the first WebCGM Recommendation, Version 1.0, in 1999. CGM Open, an independent group created to advance adoption of WebCGM, was incorporated into OASIS not long afterward. As users began demanding more features and improvements, it became apparent that there was both interest and support for a WebCGM 2.0. To get that work formally underway, OASIS and W3C signed a Memorandum of Understanding, making it possible for both organizations to work together on the creation of a new standard. This also allowed for the best range of participation from both the OASIS WebCGM Technical Committee and W3C WebCGM Working Group.
See also: the OASIS Member Section

Tool Lets Agencies Show OMB the IT Money
Jason Miller, Government Computer News
When the Commerce Department got a request from the Office of Management and Budget for more information regarding its fiscal 2007 budget submission, officials didn't have to scramble to find and format the data. Instead, Commerce officials — like those at 13 other agencies — simply tapped into the Electronic Capital Planning and Investment Control (eCPIC) system. ECPIC, a government off-the-shelf application, is the next-generation IT Investment Portfolio System (ITIPS) that helps agencies collect IT project data and write the business cases they submit to OMB each September. Booz Allen built eCPIC on Microsoft .Net platform running on Windows 2000 and 2003 servers. Components can run on Unix or Linux as well, McQuoid said. Data is stored on Microsoft SQL Server 2000 or Oracle9i databases, and the front end uses XML and Simple Object Access Protocol for Web Services. Users enter the system through a Web browser, by inputting their user identification and password. Some agencies have as few as 50 users while others have thousands; agencies evenly share the cost of system upgrades and maintenance, which in 2006 was $106,000 per department. All 14 agencies have an equal voice in the changes to eCPIC, and each provides a nonmonetary contribution, Sellow said. Commerce and Interior, for instance, provide user acceptance testing for new modules.

Pull Parsing XML in PHP
Elliotte Rusty Harold, IBM developerWorks
This article explores the XMLReader library, which is bundled with PHP version 5 and enables PHP pages to process XML documents in an efficient streaming mode. PHP version 5 introduced XMLReader, a new class for reading Extensible Markup Language (XML). Unlike SimpleXML or the Document Object Model (DOM), XMLReader operates in streaming mode. That is, it reads the document from start to finish. You can begin to work with the content at the beginning before you see the content at the end. This makes it very fast, very efficient, and very parsimonious with memory. The larger the documents you need to process, the more important this is. The XMLReader API sits on top of the Gnome Project's libxml library for C and C++. XMLReader is really just a thin PHP layer on top of libxml's XmlTextReader API. XmlTextReader is itself modeled after (although it shares no code with) .NET's XmlTextReader and XmlReader classes. Unlike the Simple API for XML (SAX), XMLReader is a pull parser rather than a push parser. This means that your program is in control. Rather than being told what the parser sees when the parser sees it, you tell the parser when to go fetch the next piece of the document. You request content rather than react to it. Another way of thinking about it: XMLReader is an implementation of the Iterator design pattern rather than the Observer design pattern. XMLReader is a useful addition to the PHP programmer's toolkit. Unlike SimpleXML, it's a full XML parser that handles all documents, not just some of them. Unlike DOM, it can handle documents larger than available memory. Unlike SAX, it puts your program in control. If your PHP programs need to accept XML input, XMLReader is well worth your consideration.

Google's Bosworth: Why AJAX Failed (Then Succeeded)
Darryl K. Taft, eWEEK
When it comes to software development, Google's Adam Bosworth has a need for speed. In a talk entitled "Physics, Speed and Psychology: What Works and What Doesn't in Software, and Why," Bosworth, a vice president at Google, discussed why technologies such as AJAX (Asynchronous JavaScript and XML), PDAs and natural language failed to catch on in the past but are successful today. Indeed, speed or lack thereof has played a role in hampering the success of various software innovations, including AJAX, Bosworth said. Had chips been a little faster and broadband been more ubiquitous, AJAX might have caught on a lot faster. However, in the end, AJAX got a second life, primarily because the physics changed, Bosworth said For one thing, the use of broadband soared suddenly, and then chips became "massively faster" than they had been in 1997. This helped make carefully crafted applications "quick enough," though it's still hard to write these applications, Bosworth said. Meanwhile, usage also changed. "A large number of people started using Web applications more than once a day," particularly for functions like e-mail, calendars, social networking and trading. Another technology that was "an impressively bad failure for a long time" was the PDA, Bosworth said. PDA makers struggled with pen computing. Then Palm came along with its Graffiti. Then the BlackBerry and the Treo brought in keyboards, which helped usher in greater adoption for PDAs. Also, browsing on PDAs initially failed, but came back because of speed. Browsing on PDAs got a second life from options like EvDO (Evolution Data Optimized) and EDGE (Enhanced Data for Global Evolution) networks.

Integrate XML into a Perl Application Using XML::Simple
Jim Dixon, IBM developerWorks
This is the first of a three-part series on Perl and XML, which focuses on XML::Simple. For Perl programmers, the most common first use of XML is in retrieving parameters from a configuration file. This article shows you how to read such a parameter in two lines of code, the first telling Perl that XML::Simple is being used and the second setting a variable to a value in the file. You don't even have to give the name of the configuration file: XML::Simple will make an intelligent guess. For a more elaborate example, you will pay a visit to a pet shop. In that section, you will learn how to read an XML file into a hierarchical Perl data structure, a mixture of anonymous arrays and hashes, with a minimum of effort. This article illustrates how concisely Perl can transform and restructure the information contained in the original XML document, and then shows how to write it back out in various forms. Finally, I discuss some limitations of XML::Simple. This leads into the subjects of the next two articles in this series: more advanced parsing, the use of sophisticated tools in transforming XML from one form to another, and techniques for serializing XML from DOM and other in-memory forms. The article is primarily intended for Perl programmers with little exposure to Perl but will also prove useful to XML experts interested in exploring a more programmatic approach to manipulating XML documents. It's imperative for the Perl programmer to develop a good understanding of how to use it. Tools like XML::Simple make it easy to convert XML documents into easily understandable Perl data structures and translate such data structures back into XML. Each action will normally be a single line of code. On the other hand, XML specialists can be pleasantly surprised at how useful Perl can be in transforming and responding to XML contents. Part 2 will show you how to take advantage of the two major schools of XML parsing for Perl developers: tree parsing and event-driven parsing.

Patents for Dynamic Web Pages to Get Another Look
Anne Broache, CNET News.com
U.S. patent examiners are poised to take another look at two controversial patents that critics say may sweep up the dynamic Web page systems commonly used by search features, online merchants and millions of other sites. The U.S. Patent and Trademark Office announced the move last week in letters to the Public Patent Foundation, which last November requested the re-examination. PubPat, as it is known, is a public interest legal group whose directors include free and open-source software advocates. The patents in question, Nos. 5,894,554 and 6,415,335, cover systems and methods for managing dynamic Web page generation requests—that is, sites that return a customized page based on user input. An enormous number of Web sites use some form of dynamic processing, often through programming languages, such as PHP, that are designed to create Web pages based on database queries. A Texas-based company called EpicRealm Licensing filed for the patents in 1996 and 1999. Critics have said the firm, which once offered services designed to speed up Web site performance, now exists solely to seek settlements or licensing fees from companies accused of infringing on its patents. As recently as last week, EpicRealm sued Various, a firm that describes itself as an operator of "numerous online ventures," in federal court, accusing the company of violating EpicRealm's two dynamic Web site patents.
See also: Patents and Open Standards


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