The Cover PagesThe OASIS Cover Pages: The Online Resource for Markup Language Technologies
SEARCH | ABOUT | INDEX | NEWS | CORE STANDARDS | TECHNOLOGY REPORTS | EVENTS | LIBRARY
SEARCH
Advanced Search
ABOUT
Site Map
CP RSS Channel
Contact Us
Sponsoring CP
About Our Sponsors

NEWS
Cover Stories
Articles & Papers
Press Releases

CORE STANDARDS
XML
SGML
Schemas
XSL/XSLT/XPath
XLink
XML Query
CSS
SVG

TECHNOLOGY REPORTS
XML Applications
General Apps
Government Apps
Academic Apps

EVENTS
LIBRARY
Introductions
FAQs
Bibliography
Technology and Society
Semantics
Tech Topics
Software
Related Standards
Historic
Last modified: August 29, 2003
XML Articles and Papers August 2003

XML General Articles and Papers: Surveys, Overviews, Presentations, Introductions, Announcements

Other collections with references to general and technical publications on XML:

August 2003

  • [August 29, 2003] "MIT to Uncork Futuristic Bar Code." By Alorie Gilbert. In CNET News.com (August 29, 2003). "A group of academics and business executives is planning to introduce next month a next-generation bar code system, which could someday replace with a microchip the series of black vertical lines found on most merchandise. The so-called EPC Network, which has been under development at the Massachusetts Institute of Technology for nearly five years, will make its debut in Chicago on Sept. 15, at the EPC Symposium. At that event, MIT researchers, executives from some of the largest global companies, and U.S. government officials intend to discuss their plans for the EPC Network and invite others to join the conversation. The attendee list for the conference reads like a who's who of the Fortune 500: Colgate-Palmolive, General Mills, GlaxoSmithKline, Heinz, J.C. Penney, Kraft Foods, Nestle, PepsiCo and Sara Lee, among others. An official from the Pentagon is scheduled to speak, along with executives from Gillette, Johnson & Johnson, Procter & Gamble and United Parcel Service... EPC stands for electronic product code, which is the new product numbering scheme that's at the heart of the system. There are several key differences between an EPC and a bar code. First, the EPC is designed to provide a unique serial number for every item in the system. By contrast, bar codes only identify groups of products. So, all cans of Diet Coke have the same bar code more or less. Under EPC, every can of Coke would have a one-of-a-kind identifier. Retailers and consumer-goods companies think a one-of-a-kind product code could help them to reduce theft and counterfeit goods and to juggle inventory more effectively. 'Put tags on every can of Coke and every car axle, and suddenly the world changes,' boasts the Web site of the Auto-ID Center, the research group at MIT leading the charge on the project. 'No more inventory counts. No more lost or misdirected shipments. No more guessing how much material is in the supply chain -- or how much product is on the store shelves.' Another feature of the EPC is its 96-bit format, which some say is large enough to generate a unique code for every grain of rice on the planet... Working on the standards problem is AutoID, a new arm of the Uniform Code Council, the nonprofit that administers the bar code, or Universal Product Code. AutoID, announced in May, plans to pick up where MIT's Auto-ID Center leaves off, assigning codes, ironing out technical standards, managing intellectual property rights, publishing specifications, and providing user support and training..." See: (1) following bibliographic entry on PML servers; (2) Inaugural EPC Executive Symposium, September 15 - 17, 2003; (3) "Physical Markup Language (PML) for Radio Frequency Identification (RFID)."

  • [August 29, 2003] "PML Server Developments." By Mark Harrison, Humberto Moran, James Brusey, and Duncan McFarlane. White Paper. Auto-ID Centre, Institute for Manufacturing, University of Cambridge, UK. June 1, 2003. 20 pages. "This paper extends our previous white paper on our PML Server prototype work. We begin with a brief review of the Auto-ID infrastructure, then consider the different types of essential data which could be stored about a tagged physical object or which relate to it. In our data model we distinguish between data properties at product-class level and at instance-level. Product-class properties such as mass, dimensions, handling instructions apply to all instances of the product class and therefore need only be stored once per product class, using a product-level EPC class as the lookup key. Instance-level properties such as expiry date and tracking history are potentially unique for each instance or item and are logically accessed using the full serialised EPC as the lookup key. We then discuss how a PML Service may use data binding tools to interface with existing business information systems to access other properties about an object besides the history of RFID read events which were generated by the Auto-ID infrastructure. The penultimate section analyses complex queries such as product recalls and how these should be handled by the client as a sequence of simpler sub-queries directed at various PML services across the supply chain. Finally, we introduce the idea of a registry to coordinate the fragmented PML Services on a supply chain in order to perform tracking and tracing more efficiently and facilitate a complex query, which requires iterative access to multiple PML Services in order to complete it... The key to the Auto-ID architecture is the Electronic Product Code (EPC) which extends the granularity of identity data far beyond that which is currently achieved by most bar code systems in use today. The EPC contains not only the numeric IDs of the manufacturer and product type (also known as stock-keeping unit or SKU) but also a serial number for each item or instance of a particular product type. Whereas two apparently identical instances or items of the same product type may today have the same bar code, they will in future have subtly different EPCs, which allows each one to have a unique identity and to be tracked independently. In order to minimise the costs of Radio Frequency Identification (RFID) tags, the Auto-ID Centre advocates that only a minimal amount of data (the EPC) should be stored on the tag itself, while the remaining data about a tagged object should be held on a networked database, with the EPC being used as a database key to look up the data about a particular tagged object. Within the Auto-ID infrastructure, the Savant, Object Name Service (ONS) and PML Service are all networked databases of some form. Edge Savants interface directly with RFID readers and other sensors and generate Auto-ID event data, typically consisting of triples of three values (Reader EPC, Tag EPC, Timestamp) and an indication of whether the tag has been 'added' or 'removed' from the field of the tag readers. The Object Name Service (ONS) is an extension of the internet Domain Name Service (DNS) and provides a lookup service to translate an EPC number into an internet address where the data can be accessed. Data about the tagged object is communicated using the Physical Markup Language (PML) and the PML Service provides additional information about the tagged object from network databases. The Physical Markup Language (PML) does not specify how the data should be stored, only how it should be communicated. It should be possible for many different types of existing information systems to act as data sources to the PML Service, and for the data to be queried and communicated using the PML language and by reference to the PML schema rather than by reference to the particular structure/schema of the various underlying databases in which the values are actually stored..." See "Physical Markup Language (PML) for Radio Frequency Identification (RFID)."

  • [August 29, 2003] "The End of Systems Integrators?" By Erika Morphy. In CRMDaily.com News (August 29, 2003). "As with the applications themselves, verticalization has become the latest thing in integration technology, says Steve Bonadio, senior program director in Meta Group's enterprise application strategies group. Siebel continues to expand development of its integration tool, UAN, as does SAP with its respective integration product package, Xapps. Even PeopleSoft has gotten into the act, rolling out its version of an integration on-ramp this week -- Process Integration Packs, or 'PIPs,' for CRM. The premise behind each of these products is roughly the same: to help customers cut down on integration costs by providing standardized interfaces for business processes and discrete systems and applications. This, of course, was once strictly the domain of systems integrators. Could it be, CIOs of every stripe and size wonder, that their dependence on these service providers will diminish -- if not end -- as more application providers start to pay attention to integration linkages and hooks? The short answer: Not likely. The longer answer: There are other competitive and market-development pressures that are eroding systems integrators' stranglehold on IT budgets... Products such as UAN, Xapps and PIPs are making life easier for customers, which is good, as that was their intent. 'Application vendors talk about the fact that integration is too costly, and that is one reason why many companies are hesitant to deploy more enterprise software,' Gartner research analyst Ted Kempf told NewsFactor's CIO Today Magazine. 'So they try to make it easier by providing integration packages.' ... Siebel's Universal Application Network was designed to do just that, Bharath Kadaba, Siebel's vice president and technical manager of UAN, told NewsFactor's CIO Today. Rather than having a systems integrator, such as webMethods, code all information about business objects and processes into an integration platform by hand, UAN provides models for doing so... First introduced last year, UAN is at heart a tool that is predicated on partnerships with independent enterprise-application integration vendors, such as webMethods and Tibco. Now, Siebel is broadening its functionality to provide vertical expertise. Last week, it announced the availability of UAN integration applications for the communications, media and energy industries on the webMethods integration platform... It is a similar story with SAP's xApps and its renamed tech platform, NetWeaver. NetWeaver leverages Web-services technology to integrate the xApps application with mySAP and other software. The applications, or xApps, automate specific business processes, such as project management. 'What SAP is saying is that the next generation of applications, as far as they are concerned, will not be applications for accounting or CRM, but will be end-to-end business applications -- or even cross-multiple business applications,' Gartner research analyst Simon Hayward told NewsFactor's CIO Today. SAP's first Xapps, X-Application Resource and Program Management, aligns corporate resources to specific projects. It is the perfect application for pharmaceutical companies, Tim Bussiek, vice president of xApps marketing, told NewsFactor's CIO Today. Typical big pharma companies might launch 5,000 projects each year, all very expensively staffed and equipped. SAP's new xApps tool allows them to evaluate these projects on an ongoing basis, Bussiek said..."

  • [August 27, 2003] "BPEL and Business Transaction Management: Choreology Submission to OASIS WS-BPEL Technical Committee." By Tony Fletcher, Peter Furniss, Alastair Green, and Robert Haugen (Choreology Ltd). Copyright (c) Choreology Ltd, 2003, subject to OASIS IPR Policy. Working paper presented to the OASIS Web Services Business Process Execution Language Technical Committee. "An overall motivation for this submission is given in an article by one of the authors, Alastair Green, in the September issue of Web Services Journal (see following bibliographic entry). From the 27-August-2003 posting of Peter Furniss: "... [WRT] the announcements of a raft of issues on "business transaction management". These all relate to the long-promised submission from Choreology on how to handle transactions in BPEL... The submission gives the background and context for the BTM issues and proposes syntax constructs as solutions for [items] 54 to 59" in the issues list... "BTM Issue A (BPEL issue 53), Desirable for WS-BPEL to include Business Transaction Management (BTM) programming constructs which are compatible with WS-T, BTP and WS-TXM, "There are three multi-vendor specifications which address the needs of business transaction management for Web Services: Business Transaction Protocol 1.0 (OASIS Committee Specification, June 2002); WS-Transaction (proprietary consortium, August 2002), and the very recently published WS-TXM (proprietary consortium, August 2003). In our view BTP Cohesions, WS-T Business Activity, and WS-TXM Long-Running Actions are the most relevant aspects of these specifications for WS-BPEL. These aspects overlap to a very high degree, each effectively utilizing a two-phase (promise/decide) outcome protocol. (We should emphasize that there has been little time to analyze or assimilate WS-TXM, so this is a provisional conclusion with respect to that specification). WS-BPEL should be equipped with the ability to create and terminate business transactions, and to define process participation in such transactions, in a way which is compatible with the intersection of these three capabilities. This will minimize dependence on future standardization efforts in the BTM area... It is should be noted that a 'business transaction' is normally performed in support of some economic transaction -- that it coordinates actions that have an effect on the parties and their relationships that go beyond the lifetime of the transaction itself. Since a BPEL process cannot directly manipulate data with a lifetime longer than the process, but always delegates to a web-service, the invoked web-services will either themselves be participants in the business transaction (strictly, the invocation will trigger the registration of participants) or the BPEL process will register as a participant and then make non-transaction invocations on other web-services. In the former case, the invoked web-services are 'business-transaction aware'; the BPEL process will export the context to it and the web-services will implement the transactional responsibilities internally. Similarly, a BPEL process, as an offerer of a web-service, may import a context from a non-BPEL application -- in which case it is itself a business-transaction aware web-service from the perspective of its caller -- and either registers as a participant or passes the context on in its own invocations..." General references in "Business Process Execution Language for Web Services (BPEL4WS)."

  • [August 26, 2003] "Grid Security: State of the Art. Expanded Grid Security Approaches Emerge." By Anne Zieger (Chief Analyst, PeerToPeerSource.com) From IBM developerWorks (August 2003). "Today, emerging grid security efforts are also beginning to address application and infrastructure security issues, including application protection and node-to-node communications. Among other advances, emerging grid security approaches are integrating Kerberos security with PKI/X.509 mechanisms, securing peer connections between network nodes and better protecting grid users and apps from malicious or badly formed code. One of the best-known security approaches for Grid computing can be found within the Globus Toolkit, a widely used set of components used for building grids. The Toolkit, developed by the Globus Project, offers authentication, authorization, and secure communications through its Grid Security Infrastructure (GSI). The GSI uses public key cryptography, specifically public/private keys and X.509 certificates, as the basis for creating secure grids. X.509, perhaps the most widely implemented standard for defining digital certificates, is very familiar to enterprise IT managers, and already supported by their infrastructure. At the same time, it's flexible, and can be adopted neatly for use in the grid. Among the GSI's key purposes are to provide a single sign-on for multiple grid systems and applications; to offer security technology that can be implemented across varied organizations without requiring a central managing authority; and to offer secure communication between varied elements within a grid... Grid security research is just beginning to address the operational and policy issues of concern to enterprise IT managers. Going forward, however, grid security efforts should embrace technologies rapidly, while they're still at the cutting edge of mainstream corporate development. For example, in recent months, the Global Grid Forum has begun to look at security in a grid-based Web services environment. GGF is working with Open Grid Services Architecture (OGSA), a proposed Grid service architecture based on the integration of grid and Web services concepts and technologies. Members of the OGSA security group plan to realize OGSA security using the WS-Security standard backed by IBM, Microsoft, and VeriSign Inc. Among other features, WS-Security offers security enhancements for SOAP messaging and methods for encoding X.509 certificates and Kerberos tickets. While the OGSA security group's work is in its early stages, its final work product should be yet another factor contributing to grid's increasing acceptance in enterprise life. With critical technologies like Web services being securely grid-enabled, grid technology should soon be central to just about any enterprise's networking strategy..." Article also in PDF format.

  • [August 26, 2003] "RSS Utilities: A Tutorial." By Rodrigo Oliveira (Propertyware). From Java Developer Services' technical articles series. August 2003. "RSS ('Really Simple Syndication') is a web content syndication format. RSS is becoming the standard format for syndicating news content over the web. As part of my recent contract with Sun Microsystems, I was tasked with the development of a JSP Tag Library to be used by anybody with a basic understanding of RSS, JavaServer Pages, and HTML. The taglib is mostly geared towards non-technical editors of web sites that use RSS for aggregating news content. My goal was to develop a JSP tag library that would simplify the use of RSS content (versions 0.91, 0.92 and 2.0) in web pages. The RSS Utilities Package is the result of that project. It contains a set of custom JSP tags which make up the RSS Utilities Tag library, and a flexible RSS Parser. This document describes how to use the parser and the library provided in the RSS Utilities Package. The zip [distribution] file contains a jar file, rssutils.jar, providing the classes needed to use the utilities, and a tld file rssutils.tld which defines JSP custom tags for extracting information from RSS documents... The parser was a by-product of the project. Although the parser was developed with the tag library in mind, it is completely self-contained, and it can be used in Java applications. To do so, however, you obviously need to know how to write at least basic Java code; if you know how to write Hello World in the Java language, you are probably all set... The RSS object generated by the parser is a Java object representation of the RSS document found at the provided URL [http://mydomain.com/document.rss]. Use the methods provided by the RSS object to get a handle to other RSS objects, such as Channels and Items. The RssParser can also parse File objects and InputStream objects... RSS provides a simple way to add and maintain news -- as well as other content -- on your web site, from all over the web. Even though RSS is a simple XML format, parsing and extracting data out of XML documents hosted elsewhere on the web can be a bit tricky-- or at least tedious -- if you have to do it over and over again. The RSS Utilities Package leverages Custom Tag and XML Parsing technologies to make the "Real Simple Syndication" format live up to its name..." The first release of the RSS Utilities Package is available for download. General references in "[RDF Site Summary | Real Simple Syndication] (RSS)."

  • [August 26, 2003] "Integrating CICS Applications as Web Services. Extending the Life of Valuable Information." By Russ Teubner. In WebServices Journal Volume 3, Issue 9 (September 2003), pages 18-22. With 4 figures. ['Web services promise to lower the costs of integration and help legacy applications retain their value. This article explains how you can use them to integrate mainframe CICS applications with other enterprise applications.'] "IBM's CICS (Customer Information Control System) is a family of application servers that provides online transaction management and connectivity for legacy applications. There are two basic models for integrating CICS applications as Web services, both of which include the use of adapters. The differences between these models depend upon where the Web services exist, how they operate under the covers, and the types of applications you want to integrate. In this article, we refer to these models as connectors and gateways. Connectors run on the mainframe and can use native interfaces that permit seamless integration with the target application. Gateways run off the mainframe on middle-tier servers and often use traditional methods such as screen-scraping... Connectors allow you to transform your legacy applications into Web services without requiring the use of additional hardware, without changes to the legacy application, and without falling back upon brittle techniques like screen scraping. Compared to gateways, connectors yield better performance by running on the host, and more reliable operation due to the elimination of the many layers data must pass through due to screen-scraping... Unlike connectors, gateways typically run on a physical or logical middle tier. Where the gateway runs is important because there are so few options for accessing the host from the middle-tier servers, which means gateways usually involve some form of screen-scraping. The solution is tightly coupled in that the integration is between the gateway and a specific application. Any changes to the application will break the integration. When gateways communicate with terminal-oriented legacy applications they open a terminal session with the legacy application, send a request to the application, receive the terminal datastream, use HLLAPI to capture the screen data, process the screen data, convert the contents to XML, and ship the XML document to the requester... IBM's CICS Transaction Server includes facilities that allow third-party vendors to create connectors that can immediately enable legacy applications as Web services. These facilities provide additional benefits over gateways, such as improved performance and increased stability compared to their screen-scraping counterparts. By using the same industry-standard technologies as Web services, some connectors make it possible for applications to transparently invoke CICS transactions within a Web services architecture and receive the resulting data as well-formed XML. For organizations that want to retain the value of their CICS applications, the combination of XML-enabling connectors and Web services offers a practical and powerful integration solution. Web services are not a trend, but an industry-wide movement that can provide a long-term solution for companies that want to integrate legacy applications and data with new e-business processes. In the end, companies need to assess the value of the data contained in their CICS applications. Most companies have already determined that such data is highly valuable and they are looking for ways to preserve their investments. Given that recent surveys show the top strategic priorities of CIOs and CTOs are integrating systems and processes, the use of Web services for legacy integration will grow rapidly..." [alt URL]

  • [August 26, 2003] "Structured Documents: Searching XML Documents via XML Fragments." By David Carmel, Yoelle S. Maarek, Matan Mandelbrod, Yosi Mass, and Aya Soffer (IBM Research Lab in Haifa, Mount Carmel, Haifa). Presented July 30, 2003 at the 26th Annual International ACM SIGIR Conference [ACM Conference on Research and Development in Information Retrieval] (Toronto, Canada). Published in the the Conference Proceedings, pages 151-158. "Most of the work on XML query and search has stemmed from the publishing and database communities, mostly for the needs of business applications. Recently, the Information Retrieval community began investigating the XML search issue to answer information discovery needs. Following this trend, we present here an approach where information needs can be expressed in an approximate manner as pieces of XML documents or 'XML fragments' of the same nature as the documents that are being searched. We present an extension of the vector space model for searching XML collections via XML fragments and ranking results by relevance. We describe how we have extended a full-text search engine to comply with this model. The value of the proposed method is demonstrated by the relative high precision of our system, which was among the top performers in the recent INEX workshop. Our results indicate that certain queries are more appropriate than others for the extended vector space model. Specifically, queries with relatively specific contexts but vague information needs are best situated to reap the benefit of this model. Finally our results show that one method may not fit all types of queries and that it could be worthwhile to use different solutions for different applications.' .. We present here an approach for XML search that focuses on the informational needs of users and therefore addresses the search issue from an IR viewpoint. In the same spirit as the vector space model where free-text queries and documents are objects of the same nature, we suggest that query be expressed in the same form as XML documents, so as to compare 'apples and apples'. We present an extension of the vector space model that integrates a measure of similarity between XML paths, and define a novel ranking mechanism derived from this model. We evaluate several implementations of our model on the INEX collection and obtained good evidence that the use of XML fragments with an extended vector space model is a promising approach to XML search. By sticking to the well known and tested model where the query and document are of the same form, we were able to achieve very high precision on the INEX topics. The initial results also indicate that queries that are well specified in terms of the required contexts, are best situated to reap the benefit of more complex context resemblence measures and statistics. However, these results should still be considered as initial due to the limited set of queries studied here. A deeper analysis and more than a few, almost 'anecdotal', queries should be discussed as soon as larger test collections become available. Finally, we are convinced that one method will not fit all types of queries and that it could be worthwhile to use different solutions for different types of applications..." See also the earlier paper online: "An Extension of the Vector Space Model for Querying XML Documents via XML Fragments," by David Carmel, Nadav Efraty, Gad M. Landau, Yoelle S. Maarek, and Yosi Mass [cache]

  • [August 26, 2003] "Development of SNMP-XML Translator and Gateway for XML-Based Integrated Network Management." By Jeong-Hyuk Yoon, Hong-Taek Ju, and James W. Hong. In International Journal of Network Management Volume 13, Issue 4 (July/August 2003), pages 259-276. "The research objective of our work is to develop a SNMP MIB to XML translation algorithm and to implement an SNMP-XML gateway using this algorithm. The gateway is used to transfer management information between an XML-based manager and SNMP-based agents. SNMP is widely used for Internet management, but SNMP is insufficient to manage continuously expanding networks because of constraints in scalability and efficiency. XML based network management architectures are newly proposed as alternatives to SNMP-based network management, but the XML-based Network Management System (XML-based NMS) cannot directly manage legacy SNMP agents. We also implemented an automatic specification translator (SNMP MIB to XML Translator) and an SNMP-XML gateway... We developed a gateway which translates messages between SNMP and XML/HTTP. For this gateway, we proposed a translation algorithm which changes SNMP MIB into the XML Schema as a method of specification translation, and implemented an MIB to XML translator which embodied the algorithm. Also, we defined the operation translation methods for interaction translation. SNMP has limits in scalability and efficiency when managing increasingly large networks. Research on XML-based NMS is evolving to solve these shortcoming of SNMP-based NMS. XML-based NMS uses XML in network management to pass management data produced in large networks. XML-based NMS delivers management data in the form of an XML document over the HTTP protocol. This method is efficient for transferring large amounts of data. However, an XMLbased NMS cannot manage the legacy SNMP agent directly. If a manager cannot communicate with an SNMP agent, it is not practical in the real world where SNMP is used worldwide. Because most Internet devices are equipped with an SNMP agent, and network namagement was performed by the agent, we studied how to manage the legacy SNMP agent using the advantage of XML-based network management simultaneously. Because of the excellent compatibility and user-friendly features of XML, integration of data into XML is expected to accelerate in the future. Because of the excellent compatibility and userfriendly features of XML, integration of data into XMLis expected to accelerate in the futue. Specifically, in order to use XML as middleware for information transmission between different systems, a standard translation method to change SNMP MIB to XML within transmission of information for network and system management is necessary. In future work, we need to enhance the translation algorithm through a performance evaluation of the algorithm. For enlarging scalability, we need to study how one manager can manage many SNMP agents distributed to large networks such as enterprise networks. Distributed processing is the method presented here. For example, one XML-based manager governing several distributed SNMP-XML gateways through networks can expand the scope of management..."

  • [August 26, 2003] "Universal Plug and Play: Networking Made Easy." By Stephen J. Bigelow. In PC Magazine (September 2003). "A technology called Universal Plug and Play (UPnP) is starting to make networking-configuration hassles a thing of the past. Just as Plug and Play (PnP) technology changed the way we integrate hardware with our PCs, UPnP will ease the way we add devices to a network. With PnP, you no longer need to configure resources for each device manually, hoping there are no conflicts. Instead, each device identifies itself to the operating system, loads the appropriate drivers, and starts operating with minimal fuss. PC-based networks, however, still require a cumbersome setup and configuration process, and devices such as printers, VCRs, PDAs, and cell phones are still difficult or impossible to network... With UPnP, adding devices to your network can be as easy as turning them on. A device can automatically join your network, get an IP address, inform other devices on your network about its existence and capabilities, and learn about other network devices. When such a device has exchanged its data or goes outside the network area, it can leave the network cleanly without interrupting any of the other devices. The ultimate goal is to allow data communication among all UPnP devices regardless of media, operating system, programming language, and wired/wireless connection. To foster such interoperability, UPnP relies on network-related technologies built upon industry-standard protocols such as HTTP, IP, TCP, UDP, and XML... UPnP is an open networking architecture that consists of services, devices, and control points. Services are groups of states and actions. For example, a light switch in your home has a state (either on or off) and an action that allows the network to get or change the state of the switch. Services typically reside in devices. A UPnP-compliant VCR might, for example, include tape handling, tuning, and clock services -- all managed by a series of specific actions defined by the developer. Devices may also include (or nest) other devices. Because devices and their corresponding services can vary so dramatically, there are numerous industry groups actively working to standardize the services supported by each device class. Today, there are four standards: Internet Gateway Device (IGD) V 1.0; MediaServer V 1.0 and MediaRenderer V 1.0; Printer Device V 1.0 and Printer Basic Service V 1.0; and Scanner (External Activity V 1.0, Scan V 1.0, Feeder V 1.0, and Scanner V 1.0). Industry groups will produce XML templates for individual device types, which vendors will fill with specific information such as device names, model numbers, and descriptions of services... There is one caveat with regard to UPnP: security..." See the recent news story "UPnP Forum Releases New Security Specifications for Industry Review."

  • [August 26, 2003] "Sun Seeks to Spur App Server Adoption. High Availability Stakes Raised in Upgrade." By Paul Krill. In InfoWorld (August 26, 2003). "Sun Microsystems hopes to make a bold leap in the Java application server space with its upcoming Sun ONE Application Server 7 Enterprise Edition, featuring high availability. Having trailed companies such as BEA Systems and IBM in market share, Sun is looking to turn things around by focusing on a high availability database layer in the product that is based on technology acquired through its aquisition of Clustra Systems in 2002. Sun's high availability technology is intended to ensure 99.999 uptime for applications such as e-commerce transactional systems, according to Sun officials, who discussed the technology during a chalk talk session in San Francisco... The high availability database layer features state information on transactions. Transactional loads can be shifted between application servers in the network if needed, Keller said. While the current version of the enterprise application server, release 6.5, has had high availability support, Version 7's support of the Clustra technology boosts real-time database functionality and scalability, to 24 processors per system. Version 7, which is set to ship in September for $10,000 per processor, also is compliant with the J2EE 1.3 Java specification, which features container management support for access to a database without requiring programmer involvement, according to Sun. Load balancing in Version 7 will enable uptime when taking down an application server for maintenance. Additionally, the high availability layer enables performance boosts through the addition of more processors, rather than having to add more application servers... Sun will add J2EE 1.4 compliance to the application server, featuring conformance to Web services specifications, in 2004, Sun officials said..."

  • [August 26, 2003] "Transacting Business with Web Services, Part I. The Coming Fusion of Business Transaction Management and Business Process Management." By Alastair Green (Choreology Ltd). In WebServices Journal Volume 3, Issue 9 (September 2003), pages 32-35. "Business transaction management (BTM) is a promising new development in general-purpose enterprise software. Most large companies are devoting significant resources to the problem of reliable, consistent integration of application services. BTM offers previously inaccessible levels of application coordination and process synchronization, radically simplifying the design and implementation of transactional business processes. Business process management (BPM) needs to be enriched by BTM for users to see the potential value of BPM realized in practice. XML is already widely deployed as a useful lingua franca enabling the creation of canonical data standards for particular industries, trading communities, and information exchanges. The extended family of Web services standards (clustered around the leading duo of SOAP and WSDL) is gaining growing acceptance as an important way of providing interoperable connectivity between heterogeneous systems. Many organizations are also examining the use of BPM technologies, exemplified by the current OASIS initiative, Web Services Business Process Execution Language (WS BPEL). Increasingly, attention is turning to the special problems associated with building transactional business processes and reliable, composable services. This is where BTM technology comes into its own. In this article I'm going to look at the rationale for and current status of BTM, and how vendors and users are thinking about the integration or fusion of BTM with BPM, particularly in the OASIS BPEL standardization effort. BPEL, as a special-purpose programming language designed to make processes portable across different vendors' execution engines, can become a very useful standard programming interface for business transactions in the Web services world... Full-scale BTM software needs to implement interoperable protocols that define three phases of any transactional interaction, whether integrating internal systems, or automating external trades and reconciliations: (1) Phase One: Collaborative Assembly: The business-specific interplays of messages that assemble a deal or other synchronized state shift in the relationship of two or more services. A useful general term for such an assemblage of ordered messages is collaboration protocol. Examples include RosettaNet PIPs, UN/Cefact trade transactions, and the FIX trading protocol. In the future, BPEL abstract processes should help greatly in defining such protocols. Reliable messaging has an important role in this assembly phase, but as a subordinate part of a new, extended concept of GDP (guaranteed delivery and processing). (2) Phase Two: Coordinated Outcome: The coordination of an outcome that ensures that the intended state changes occur in all participant systems, consistent with the business rules or contracts which govern the overall transaction. Examples of relevant coordination protocols are WS-Transaction (Atomic Transaction and Business Activity, supplemented by WS-Coordination) and BTP (the OASIS Business Transaction Protocol) and the recently released WS-TXM (Transaction Management, part of the WS-Composite Application Framework). A coordination protocol requires three related sub-protocols: a control protocol, which creates and terminates a coordination or transaction (present in BTP); a propagation protocol, which allows a unique transaction identity to be used to bind participating services to a coordination service (this sub-protocol is mostly defined by WS-Coordination); and an outcome protocol, which allows a coordination service to reliably transmit the instructions of a controlling application to the participants, even in the event of temporary process, processor or network failures. WS-T, BTP, and WS-TXM, contain very similar outcome protocols... (3) Phase Three: Assured Notification: Notification of the result of the transaction to the parties involved, ensuring that they're all confident of their final relationship to their counterparties. Ideally, this requires a reliable notification protocol, which allows the different legal entities or organizational units to receive or check the final outcome, including partial or complete failures..." General references in "Business Process Execution Language for Web Services (BPEL4WS)." [alt URL]

  • [August 25, 2003] "Macromedia Plays Drag-and-Drop Game." By Gavin Clarke. In Computer Business Review Online (August 25, 2003). "Macromedia Inc is eyeing up Delphi and Visual Basic developers with a web-programming environment exploiting both drag-and-drop and XML web services... Flash MX Professional 2004 is designed to exploit the Flash player's popularity as a deployment environment by introducing development techniques and workflows uncommon to existing Flash development environment but familiar to application coders. Flash currently uses a so-called timeline design metaphor, friendly to visually creative programmers but not those comfortable with drag-and-drop. Macromedia hopes drag-and-drop will attract Microsoft Corp's Visual Basic and Borland Software Corp's Delphi developers whose tools, company president of products Norm Meyrowitz said, haven't morphed to become web centric... Flash MX Professional 2004 also uses web services with scriptable data binding that supports SOAP and XML in addition to Macromedia's Flash Remoting. There is also integration with Microsoft's Visual SourceSafe, to manage source code and project files. Macromedia becomes the latest in a growing string of companies, including BEA and Sun Microsystems Inc, attempting to appeal especially to the Visual Basic crowd... Dreamweaver features enhanced support for Cascading Style Sheets (CSS) that helps reduce consumption of network bandwidth by separating design from content, multi-browser validation to check tags and CSS rules across different browsers, updated Flash Player, and drawing tools in Fireworks for greater control over bitmap and vector images. In attempt to provide a unified look and feel, Macromedia will also unveil Halo, a set of design guidelines on the principle of Apple Computer Inc's OS X Aqua interface..." Note SYS-CON Media's announcement for a new MX Developer's Journal. See details in the announcement "Macromedia Announces Dreamweaver MX 2004. New Version Builds Foundation for Widespread Adoption of Cascading Style Sheets (CSS)." [temp URL]

  • [August 25, 2003] "Macromedia Unveils MX 2004 Lineup. New versions of Flash, Dreamweaver, Fireworks Slated for September Release." By Dave Nagel. In Creative Mac News (August 25, 2003). With screen shots. "Macromedia has unveiled its new lineup of graphic design tools in the MX 2004 family. These include two new versions of Flash, Flash MX 2004 and Flash MX Professional 2004; Dreamweaver MX 2004; and Fireworks MX 2004. The company has also introduced the new Studio MX 2004 suite, as well as Flash Player 7. All are expected to be available next month for Mac OS X and Windows. Completely new to Macromedia's lineup are split versions of Flash, the standard version and the Professional edition. The standard Flash MX 2004 adds new functionality and gains several workflow enhancements. It includes new Timeline Effects for adding common effects like blurs and drop shadows without scripting; pre-defined behaviors for navigation and media control; ActionScript 2.0 for enhanced interactivity; support for cascading style sheets for producing hybrid Flash and HTML content; spell checking and global search; accessibility features; and Unicode and localization tools. It also gains a high-performance compiler for improving playback considerably, including playback of content created for earlier versions of the Flash Player... The Professional edition includes all of the new features of Flash MX 2004, as well as a beefed-up application development environment for developing rich Internet applications and tools for delivering video with interactivity and custom interfaces. It adds forms-based programming capabilities as an alternative to timeline-based development and offers connectivity to server data with scriptable binding, supporting SOAP, XML and Flash Remoting. For video, Flash Professional includes a streamlined development workflow with Apple FInal Cut Pro and other video editing systems. With the new Flash Player 7, it provides support for full-motion, full-frame video and progressive downloads. And it includes pre-built components for building custom interfaces and easily compositing text, animated graphics and images into a video presentation. It also gains for developing content for mobile devices... Dreamweaver and Fireworks have also been boosted into the MX 2004 fold. The primary focus of Dreamweaver MX 2004 is the simplification of cascading style sheets, with the entire design environment built around CSS for precise control over design elements. It offers support for SecureFTP, dynamic cross-browser validation functionality, built-in graphics editing, integration with Microsoft Word and Excel (including copying and pasting formatted tables) and updated support for ASP.NET, PHP and ColdFusion technologies. It will ship with MX Elements for HTML, which includes starter and template components for Web pages, including preset cascading style sheets..." See also the announcement "Macromedia Announces Dreamweaver MX 2004. New Version Builds Foundation for Widespread Adoption of Cascading Style Sheets (CSS)."

  • [August 25, 2003] "Goals of the BPEL4WS Specification." By Frank Leymann, Dieter Roller, and Satish Thatte. Working document submitted to the OASIS Web Services Business Process Execution Language TC. See the posting from Diane Jordan and the original posting, with attachment. The memo articulates ten (10) overall goals of the "original" BPEL4WS Specification, presented as a record of the "Original Authors' Design Goals for BPEL4WS." It covers: Web Services as the Base, XML as the Form, Common set of Core Concepts, Control Behavior, Data Handling, Properties and Correlation, Lifecycle, Long-Running Transaction Model, Modularization, and Composition with other Web Services Functionality. "This note aims to set forward the goals and principals that formed the basis for the work of the original authors of the BPEL4WS specification. The note is set in context to reflect the considerations that went into the work, rather than being presented as a set of axioms. Much of this material is abstracted from comments and explanations embedded in the text of the specification itself. This is intended to be informative and a starting point for a consensus in the WSBPEL TC for the work of the TC. The goals set out here are also reflected in the charter of the WSBPEL TC... BPEL4WS is firmly set in the Web services world as the name implies. In particular, all external interactions occur through Web service interfaces described using WSDL. This has two aspects: (1) the process interacts with Web services through interfaces described using WSDL and (2) the process manifests itself as Web services described using WSDL. We concluded that although the binding level aspects of WSDL sometimes impose constraints on the usage of the abstract operations, in the interests of simplicity and reusability we should confine the exposure of process behavior to the 'abstract' portType (i.e., 'interface') level and leave binding and deployment issues out of the scope of the process models described by BPEL4WS. The dependence is concretely on WSDL 1.1, and should remain so, given the timeline for the WSBPEL TC, and the likelihood that WSDL 1.1 will remain the dominant Web service description model for some time to come. At the same time we should be sensitive to developments in WSDL 1.2 and attempt to stay compatible with them..." Note from Satish Thatte's post: "As promised, the goals document is attached. As I said during the last phone meeting, this document only covers high level design points... If TC members feel that there are any important aspects not yet covered here please let us know and we will try to address those concerns..." General references in "Business Process Execution Language for Web Services (BPEL4WS)." [source .DOC]

  • [August 22, 2003] "J2ME Connects Corporate Data to Wireless Devices. Sacrificing Proprietary Gimmicks for Software Portability, J2ME Leads the Way." By Tom Thompson. In InfoWorld (August 22, 2003). "The vast differences among portable devices -- Pocket PCs running Windows CE, PDAs running Palm OS or Linux, cell phones running the Symbian OS -- pose significant problems for developers. Even the cell phones from a single vendor such as Motorola (the company I work for) can vary widely in processor type, memory amount, and LCD screen dimensions. Worse, new handsets sporting new features, such as built-in cameras and Bluetooth networking, are released every six months to nine months. For IT managers whose chief concern is that applications running on device A today also run on device B tomorrow, the best choice among development platforms is J2ME, a slimmed-down version of Java tailored for use on embedded and mobile devices. Most handset vendors implement their own Java VM, and third-party VMs provide Java support in Palm and Pocket PC devices. For a broad range of devices, past, present, and future, J2ME provides a high degree of security and application portability -- but not without drawbacks... J2ME limits support for vendor-specific hardware features to accommodate variations among devices. J2ME tackles hardware variations in two ways. First, J2ME defines an abstraction layer known as a configuration, which describes the minimum hardware required to implement Java on an embedded device. The J2ME configuration that addresses resource-constrained devices such as mobile phones and low-end PDAs is the CLDC (Connected Limited Device Configuration). Second, J2ME defines a second abstraction layer, termed a profile, that describes the device's hardware features and defines the APIs that access them. Put another way, profiles extend a configuration to address a device's specific hardware characteristics. J2ME currently defines one profile for CLDC devices: the MIDP (Mobile Information Device Profile). In addition to stipulating the basic hardware requirements, the MIDP implements the APIs used to access the hardware... Down the road, the JCP proposes a new JTWI (Java Technology for the Wireless Industry) specification. In JTWI, a number of optional J2ME APIs -- such as MMAPI and WMA (Wireless Messaging APIs) -- become required services. Even in its current state, J2ME offers developers the ability to write once and deploy a business application across the wide range of wireless gear currently available. J2ME's abstraction layers also provide a hedge against vendor lock-in, and they help cope with the rapid changes in today's wireless devices. Developers may have to craft the midlet's interface to address the lowest-common-denominator display, but that's a small price to pay compared with writing a custom client application for each device the corporation owns..." See: (1) "J2ME Web Services Specification 1.0," JSR-000172, Proposed Final Draft 2; (2) "IBM Releases Updated Web Services Tool Kit for Mobile Devices."

  • [August 22, 2003] "'Java Everywhere' is for World Domination. Why the Latest Wireless Buzz Matters to All Developers." By Michael Juntao Yuan. In JavaWorld (August 22, 2003). "The buzzword from the 2003 JavaOne conference was 'Java everywhere.'... Java runtimes are built into more than 150 devices from more than 20 manufactures. All five major cell phone manufactures have committed to the Java platform. In addition to manufacturer support, Java has also gained widespread support from the wireless carrier community. Wireless carriers are conservative and wary of any security risks imposed by new technologies. As part of the J2ME specification process, carriers can influence the platform with their requirements. As a result, all major wireless carriers around the world have announced support for J2ME handsets and applications. For developers, J2ME applications can take advantage of not only ubiquitous device support, but also ubiquitous network support. A major effort has been made to support games on J2ME handsets. Mobile entertainment has proven to be an extremely profitable sector. In Europe, simple ring-tone download has generated $1.4 billon in revenue last year. In comparison, the entire global J2EE server market is $2.25 billion. J2ME games are content rich, over-the-air downloadable, and micro-payment-enabled. The J2ME gaming sector is projected to grow explosively and create many new Java jobs in the next couple of years. In fact, J2ME games are already the second largest revenue source for Vodafone's content service. Notable recent advances in the J2ME space: (1) The Mobile 3D Graphics API for J2ME [JSR 184] promises to bring 3D action games to Java-enabled handsets. Nokia presented an impressive demonstration at JavaOne. (2) The Advanced Graphics and User Interface Optional Package (JSR 209) will provide Swing and Java 2D support on PDA-type devices. At JavaOne, SavaJe Technologies, a smaller vendor, demonstrated a prototype smart phone device running Java Swing. (3) IBM has already ported its SWT [Standard Widget Toolkit] UI framework to Pocket PC devices as part of its Personal Profile runtime offering. (4) The Location API for J2ME [JSR 179] enables novel applications not possible in the desktop world. The API can determine a user's location either from a built-in GPS device or from a phone operator's triangular location signals in compliance with the enhanced 911 government requirements. (5) The completion of the SIP (Session Initiation Protocol) API for J2ME [JSR 180] enables the development of instant messaging applications on mobile devices. That will finally facilitate convergence between the popular desktop IM applications and wireless SMS messaging systems. (6) The Security and Trust Services API for J2ME [JSR 177] allows J2ME phones to access the device's embedded security element, e.g., the SIM (Subscriber Identity Module) card for GSM phones. JSR 177 enables support for more powerful and flexible security solutions for financial and other mobile commerce applications. (7) The J2ME Web Services Specification [JSR 172] supports Web services clients on mobile devices... The central message from this year's JavaOne is that the long overdue Java client-side revolution has finally arrived in the form of 'Java everywhere.' To paraphrase JavaOne keynote speaker Guy Laurence from Vodafone: the Java mobility train has already left the station, you are either on board or not. Every time you pick up your Java-enabled cell phone, think about the opportunities you might have missed..."

  • [August 21, 2003] "webMethods Extends UAN Support." By Demir Barlas. In Line56 (August 21, 2003). "For joint Siebel/webMethod customers, a shortcut to solving some potentially messy integration problems. webMethods has extended its support of the Universal Application Network (UAN), developed by customer relationship management (CRM) software provider Siebel, to include applications for the communications, media, and entertainment (CME) industries. UAN reflects a basic Siebel philosophy: the importance of the business process. UAN is a standards-based architecture that serves as a kind of hub, using business processes to drive the ways in which applications communicate. In theory, this means that point-to-point integration between applications can be bypassed, because business processes themselves reach out to UAN, which then touches all applications within that process. If this makes UAN sound like an integration solution in itself, beware; it isn't. UAN derives its efficacy from Siebel's partnerships with integration software providers like webMethods and TIBCO. Scott Opitz, SVP of marketing and business development for webMethods, explains further. 'Siebel's used our tools to build the connections,' he says. 'It's about pre-configuring business processes and eliminating the need for you to define them from scratch to support an integration environment.' In CME, as in other verticals, the integration environment can get tricky. For example, cable companies that until recently provided just one kind of service many also find themselves providing Internet access, video-on-demand, and so forth. That means the same customer could show up in different databases (including Siebel systems), so companies interested in distilling a single view of the customer would either have to do point-to-point integration or rely on something prepackaged, like the UAN. In this context, UAN would also be useful to run industry-specific business processes in the quote-to-cash cycle..." See also: (1) the note on UAN from the Siebel white paper; (2) a related article: "WebMethods Releases Integration App Based on Siebel's UAN," by Kimberly Hill, in CRMDaily.com News (August 21, 2003). Details in the announcement "Siebel Systems and webMethods Announce Expanded Offering for Universal Application Network. Siebel Integration Applications for Communications, Media and Energy Industries Now Available on webMethods Integration Platform."

  • [August 21, 2003] "Web Services Basic Profile for Industry and J2EE 1.4." By Gavin Clarke. In Computer Business Review Online (August 13, 2003). [The WS-I Basic Profile announcement] "means Sun Microsystems' latest server edition of Java, Java 2 Enterprise Edition (J2EE) 1.4, can now proceed to market, with the specification's final publication expected by the end of December. Sun and Java Community members postponed the most recent proposed release date of the already delayed J2EE 1.4, in an attempt to ensure the specification was in lock-step with the industry's latest web services specifications... Sun expects a number of vendors to launch sample J2EE 1.4 applications during in coming months as the Java Community Process (JCP) completes final release of Test Compatibility Kits (TCKs) and reference implementations for certification. The WS-I is, meanwhile, also planning a set of test tools and sample applications for Java and Microsoft Corp's C Sharp will be made available in the next few months. However, WS-I will not orchestrate or co-ordinate a testing regime for vendors to certify their products are compatible with the Basic Profile. Instead, the organization is relying on goodwill and market pressure to drive certification, hoping ISVs will not want to risk the shame of having a planned WS-I logo removed from them... Sun believes its own JCP-driven certification process can step in to help ensure conformity, in Java at-least, by embedding the Basic Profile 1.0 into the J2EE platform specification. Under JCP rules, J2EE 1.4 vendors must need to undergo testing using the TCK and reference implementations, ensuring they are conformant with the platform. Mark Hapner, distinguished engineer and chief web services strategist for Sun and the company's WS-I board representative, said: 'We are efficient at taking on the role of WS-I certification.' Interoperability is a fundamental issue, and one of the largest issues in Basic Profile 1.0 has been an attempt to ensure consistency in fault handling and error handling between Java and .NET web services. 'If you can't communicate what the fault is, you don't know what to do,' Cheng said. He believes the Basic Profile will mean vendors correctly implement SOAP 1.1, WSDL 1.1, UDDI 2.0, XML 1.0 and XML Schema in products, themselves, so users don't need to build out what is regarded as basic infrastructure. Hapner, said the Basic Profile would be integrated into J2EE's component model, viewed as fundamental building block of Java web services, to support web services' truly 'global computing model'..." See: "WS-I Releases Basic Profile 1.0a Final Specification for Interoperable Web Services."

  • [August 21, 2003] "NETCONF Configuration Protocol." Edited by Rob Enns (Juniper Networks). IETF Network Working Group, Internet-Draft. Reference: 'draft-ietf-netconf-prot-00'. August 11, 2003, expires February 9, 2004. 73 pages. "There is a need for standardized mechanisms to manipulate, install, edit, and delete the configuration of a network device. In addition, there is a need to retrieve device state information and receive asynchronous device state messages in a manner consistent with the configuration mechanisms. There is great interest in using an XML-based data encoding because a significant set of tools for manipulating ASCII text and XML encoded data already exists... NETCONF uses a remote procedure call (RPC) paradigm to define a formal API for the network device. A client encodes an RPC in XML and sends it to a server using secure, connection-oriented session. The server responds with a reply encoded in XML. The contents of both the request and the response are fully described in XML DTDs or XML schemas, or both, allowing both parties to recognize the syntax constraints imposed on the exchange. A key aspect of NETCONF is an attempt to allow the functionality of the API to closely mirror the native functionality of the device. This reduces implementation costs and allows timely access to new features. In addition, applications can access both the syntactic and semantic content of the device's native user interface. NETCONF allows a client to discover the set of protocol extensions supported by the server. These 'capabilities' permit the client to adjust its behavior to take advantage of the features exposed by the device. The capability definitions can be easily extended in a noncentralized manner. Standard and vendor-specific capabilities can be defined with semantic and syntactic rigor. The NETCONF protocol is a building block in a system of automated configuration. XML is the lingua franca of interchange, providing a flexible but fully specified encoding mechanism for hierarchical content. NETCONF can be used in concert with XML-based transformation technologies such as XSLT to provide a system for automated generation of full and partial configurations. The system can query one or more databases for data about networking topologies, links, policies, customers, and services. This data can be transformed using one or more XSLT scripts from a vendor-independent data schema into a form that is specific to the vendor, product, operating system, and software release. The resulting data can be passed to the device using the NETCONF protocol..." See other details in the news story "IETF Network Configuration Working Group Releases Initial NETCONF Draft." [cache]

  • [August 20, 2003] "Embedded Markup Considered Harmful." By Norman Walsh. From XML.com (August 20, 2003). "XML is pretty simple: there's plenty of complexity to be found if you go looking for it: if you want, for example, to validate or transform or query it. But elements and attributes in well formed combinations have become the basis for an absolutely astonishing array of projects. Recently I've encountered a design pattern (or antipattern, in my opinion) that threatens the very foundation of our enterprise. It's harmful and it has to stop... It came as a surprise to me when I discovered that the RSS folks were supporting a form of escaped markup. Webloggers often publish a list of their recent entries in RSS and online news sites often publish headlines with it. Like most XML technologies, there's enough flexibility in it to suit a much wider variety of purposes than I could conveniently summarize here. Surprise became astonishment when I discovered that the folks working on the successor to RSS weren't going to explicitly outlaw this ugly hack. When I discovered that this hack was leaking into another XML vocabulary, FOAF, I became outright concerned... The idea of escaping markup goes against the fundamental grain of XML. If this hack spreads to other vocabularies, we'll very quickly find ourselves mired in the same bugward-compatible tag soup from which we have struggled so hard to escape. And evidence suggests that it's already spreading. Not long ago, the question of escaped markup turned up in the context of FOAF. The FOAF specification condones no such nonsense, but one of the blogging tools that produces FOAF reacted to a users insertion of HTML markup into the 'bio' element by escaping it. The tool vendor in question was quickly persuaded to fix this bug. Escaped Markup Must Stop There is clear evidence that the escaped markup design will spread if it isn't checked. If it spreads far enough before it's caught, it will become legacy..."

  • [August 20, 2003] "Should Atom Use RDF?" By Mark Pilgrim. From XML.com (August 20, 2003). ['Mark Pilgrim explains the use of RDF in the new Atom syndication format.'] "The problem with discussing RDF (where that means: 'I think this data format should be RDF') is that you can support any four of these RDF issues (model, syntax, tools, vision), in any combination, while vigorously arguing against the others. People who believe that the RDF conceptual model is a good thing may think that the RDF/XML serialization is wretched, or that there are no good RDF tools for their favorite language, or that the Semantic Web is an unattainable pipe dream, or any combination of these things. People who are familiar with robust RDF tools (such as RDFLib for Python) -- and, thus, never have to look at the RDF/XML serialization because their tools hide it from them completely -- may nonetheless think that RDF/XML is wretched. People who defend the RDF/XML syntax may have nothing polite to say about the vision of the Semantic Web. And around and around it goes... This is a problem with 'I think this format should be RDF' discussions. Many people who are thought to be pro-RDF are, in fact, against it in one or more ways (the model is limiting, the syntax is wretched, the tools are buggy or nonexistent, the vision is stupid). And many people who are perceived as anti-RDF are in fact in favor of it in one or more ways (the model is good, the serialization is no more complex than straight XML, the tools work well enough, the Semantic Web is worth the wait). For the record, I think that the RDF model is sound, the tools work for me, the serialization is wretched, and the Semantic Web is an unattainable pipe dream. If I appear to be wavering over time, sometimes pro-RDF, sometimes anti-RDF, it may be that I'm simply arguing different facets... How can we allow you to use your RDF tools on Atom, and do the right thing with reusing existing ontologies, and keep the syntax simple for people who simply want to parse Atom feeds in isolation, as XML? We can make the XSLT transformation normative... every platform that has robust RDF tools (a small but growing number) also has robust XSLT tools. But Atom-as-RDF is not the primary mode of consuming Atom feeds. There are dozens, perhaps more than 100, tools that consume syndication feeds now. Some of them have already been updated to consume Atom feeds and the format hasn't even been finalized yet. Most will be updated once the format is stable. And, to my knowledge, only one (NewsMonster) handles them as RDF, and it already has the infrastructure to transform XML because it does this for six of the seven formats called 'RSS' (the seventh is already RDF). In other words, we're hedging our bets. Whether a vocal minority likes it or not, RDF is very much a minority camp right now. It has a lot to offer -- I saw that first-hand as it forced us to clarify our model -- but it hasn't hit the mainstream yet. On the other hand, it seems perpetually poised to spring into the mainstream. Tool support is obviously critical here (since they help hide the wretched syntax), and the tools are definitely maturing. So should Atom be consumed as RDF? It depends. If you want to, and have the right tools, you can. You'll need to transform it into RDF first, but we'll provide a normative way to do that. If you don't want to, then you don't have to worry about it. Atom is XML..."

  • [August 20, 2003] "The Semantic Web is Closer Than You Think." By Kendall Grant Clark. From XML.com (August 20, 2003). "The W3C's web ontology language, now called OWL, was advanced to W3C Candidate Recommendation on 19-August-2003. While there is a lot of talk these days about the Semantic Web being the crack-addled pipe dream of a few academic naifs, in reality it's a lot closer to realization than you might be thinking... I'm not suggesting that we stand on the brink of a fully achieved, widespread Semantic Web. I am suggesting that some of the major pieces of the puzzle are now or will soon be in place. OWL, along with RDF, upon which it builds, are two such very major pieces of the Semantic Web puzzle... OWL is an ontology language for the Web, which builds on a rich technical tradition of both formal research and practical implementation, including SHOE, OIL, and DAML+OIL. The technical basis for much of OWL is the part of the formal knowledge representations field known as Description Logics (aka 'DL'). DL is the main formal underpinning of such diverse kinds of knowledge representation formalisms as semantic nets, frame-based systems, and others... OWL includes an RDF/XML interchange syntax, an abstract, non-XML syntax, and three sublanguages or variants, each of different expressivity and implementational complexity (OWL Lite, OWL DL, and OWL Full). The takeaway point is simple: OWL is real stuff; whether it's the right real stuff, whether it can gain critical mass, whether it can or will operate at web scale -- these are and will remain open questions for the foreseeable future. But the foundation is solid... What can be done with an ontology language for the Web? In short, you can formally specify a knowledge domain, describing its most salient features and constituents, then use that formal specification to make assertions about what there is in that domain. You can feed all of that to a computer which will reason about the domain and its knowledge for you. And, here's the most tantalizing bit, you can do all of this on, in, and with the Web, in both interesting and powerful ways... OWL has been specifically crafted out of its Webbish forerunners, particularly SHOE and DAML+OIL, to take advantage of some of the interesting things about the Web. What is interesting about the Web? Lots of things, including its scale, its distributedness, its relatively low barriers of access and accessibility. OWL is intended to be an ontology language that has some of these features: it should operate at the scale of the Web; it should be distributed across many systems, allowing people to share ontologies and parts of ontologies; it should be compatible with the Web's ways of achieving accessibility and internationalization; and it should be, relative to most prior knowledge representation systems, easy to get started with, non-proprietary, and open..." See: "W3C Releases Candidate Recommendations for Web Ontology Language (OWL)."

  • [August 20, 2003] "OWL Ascends Within Standards Group." By Paul Festa. In CNET News.com (August 18, 2003). "As part of its ongoing effort to give digital documents meaning that computers can understand, the Web's leading standards body advanced a key protocol as a candidate recommendation. The World Wide Web Consortium's (W3C) Web Ontology Language (OWL), a revision of the DAML+OIL Web ontology language, forms just one part of what the consortium calls its 'growing stack' of Semantic Web recommendations. The W3C for years has braved skepticism directed at its Semantic Web initiative, which aims to get computers to 'understand' data rather than to just transfer, store and display documents for computer users. Other documents in the Semantic Web stack include the Extensible Markup Language (XML), a general-purpose W3C recommendation for creating specialized markup languages, and the Resource Description Framework (RDF), which integrates different methods of describing data. OWL, by contrast, goes a step beyond existing recommendations to provide for more detailed descriptions of content. 'OWL can be used to explicitly represent the meaning of terms in vocabularies and the relationships between those terms,' according to the W3C's OWL overview, the first of the set of six OWL drafts released Monday. 'This representation of terms and their interrelationships is called an ontology. OWL has more facilities for expressing meaning and semantics than XML (and) RDF...and thus OWL goes beyond these languages in its ability to represent machine interpretable content on the Web'..." See details in the news story "W3C Releases Candidate Recommendations for Web Ontology Language (OWL)."

  • [August 20, 2003] "Building Interoperable Web Services: WS-I Basic Profile 1.0." By Jonathan Wanagel, Andrew Mason, Sandy Khaund, Sharon Smith, RoAnn Corbisier, and Chris Sfanos (Microsoft Corporation). From the Microsoft Prescriptive Architecture Group (PAG). Series: Patterns & Practices. August 12, 2003. 133 pages. "This guide covers WS-I Basic Profile contents, use within Microsoft development tools, coding compliance challenges, degrees of freedom for customers and best options based on technical and non-technical requirements. The Guide is intended to help software architects and developers design and code Web services that are interoperable. We emphasize "interoperable" because we assume that you already understand how to implement a Web service. Our goal is to show you how to ensure that your Web service will work across multiple platforms and programming languages and with other Web services. Our philosophy is that you can best achieve interoperability by adhering to the guidelines set forth by the Web Services Interoperability (WS-I) organization in their Basic Profile version 1.0. In this book, we will show you how to write Web services that conform to those guidelines. Focusing on interoperability means there are some Web service issues that fall outside the scope of the discussion. These issues include security, performance optimization, scalability, and bandwidth conservation..." Also available in PDF format... To encourage interoperability, the WS-I is creating a series of profiles which will define how the underlying components of any Web service must work together. Chapter 2 [of this Guide] discusses the first of these profiles, called the Basic Profile, and includes the following topics: (1) The Basic Profile's underlying principles; (2) An explanation of the WS-I usage scenarios; (3) An explanation of the WS-I sample application, which demonstrates how to write a compliant Web service; (4) An explanation of the testing tools, which check that your implementation follows the Basic Profile guidelines. Chapter 3 lists some general practices you should follow for writing Web services or clients that conform to Basic Profile. Chapter 4 assigns each of the profile's rules to one of four possible levels of compliancy and, on a rule-by-rule basis, shows how to adjust your code to make your Web service comply with the profile's rules. Chapter 5 assigns each of the profile's rules to one of four possible levels of compliancy and, on a rule-by-rule basis, shows how to adjust your code to make your Web service client comply with the profile's rules. Appendix A goups the Basic Profile's rules according to their level of compliancy for implementing a Web service. Appendix B groups the Basic Profile's rules according to their level of compliancy for implementing a Web service client..." See "WS-I Releases Basic Profile 1.0a Final Specification for Interoperable Web Services."

  • [August 20, 2003] "Canonical Situation Data Format: The Common Base Event." By IBM Staff Members: David Ogle (Autonomic Computing), Heather Kreger (Emerging Technologies), Abdi Salahshour (Autonomic Computing), Jason Cornpropst (Tivoli Event Management), Eric Labadie (WSAD PD Tooling), Mandy Chessell (Business Integration), Bill Horn (IBM Research - Yorktown), and John Gerken (Emerging Technologies). Reference: ACAB.BO0301.1.1. Copyright (c) International Business Machines Corporation. 66 pages. With XML Schema. IBM submission to the OASIS Web Services Distributed Management TC. "This document defines a common base event (CBE) and supporting technologies that define the structure of an event in a consistent and a common format. The purpose of the CBE is to facilitate effective intercommunication among disparate enterprise components that support logging, management, problem determination, autonomic computing and e-business functions in an enterprise. This document specifies baseline that encapsulate properties common to a wide variety of events, including business, autonomic, management, tracing and logging type events. The event format of the event is expressed as an XML document using UTF-8 or 16 encoding. This document is prescriptive about the format and content of the data that is passed or retrieved from component. However, it is not prescriptive about the ways in which how individual applications are to store their data locally. Therefore, the application requirement is only to be able to generate or render events in this format, not necessarily to store them in this format. The goal of this effort is to ensure the accuracy, improve the detail and standardize the format of events to assist in designing robust, manageable and deterministic systems. The results are a collection of specifications surrounding a 'Common Base Event' definition that serves as a new standard for events among enterprise management and business applications... The goal of this work is to provide more than just an element definition for a common event. In addition, an XML schema definition is provided. This document's scope is limited to data format and content of the data; how the data is sent and received and how an application processes the data is outside the scope of this document... When a situation occurs, a 3-tuple must be reported: (1) the identification of the component that is reporting the situation, (2) the identification of the component that is experiencing the situation (which might be the same as the component that is reporting the situation), and (3) the situation itself... The sourceComponentId is the identification of the component that was affected or was impacted by the event or situation. The data type for this property is a complex type as described by the ComponentIdentification type that provides the required data to uniquely identify a component... The reporterComponentId is the identification of the component that reported the event or situation on behalf of the affected component. The data type for this property is a complex type as described by the ComponentIdentification type that provides the required data to uniquely identifying a component... The situationInformation is the data that describes the situation reported by the event. The situation information includes a required set of properties or attributes that are common across products groups and platforms, yet architected and flexible enough to allow for adoption to product-specific requirements..." See also the note from Thomas Studwell posted 2003-08-20 to the OASIS WSDM TC list ['IBM Submits Common Base Events Specification to WS-DM TC']: IBM is pleased to announce the submission of the 'Canonical Situation Format: Common Base Event Specification' (CBE) to the Web Services Distributed Management Technical Committee (WS-DM) of OASIS. This submission has been developed in collaboration with a number of industry leaders and is being supported in this submission by Computer Associates International, and Talking Blocks, Inc., both key members of the WS-DM TC. This submission will be moved for acceptance by the WS-DM TC for consideration in the WS-DM TC standards on Thursday, August 21, 2003. The general principles behind the CBE specification were presented to the WS-DM TC on July 28 [2003] during the WS-DM TC face to face meeting..." See also "Management Protocol Specification." Update 2003-10: References and Additional Information in the IBM/Cisco press release. [source .DOC]

  • [August 20, 2003] "[Unicode] Identifier and Pattern Syntax." By Mark Davis. Public review draft from the Unicode Technical Committee. Reference: Proposed Draft, Unicode Technical Report #31. Date: 2003-07-18. "This document describes specifications for recommended defaults for the use of Unicode in the definitions of identifiers and in pattern-based syntax. It incorporates the Identifier section of Unicode 4.0 (somewhat reorganized) and a new section on the use of Unicode in patterns. As a part of the latter, it presents recommended new properties for addition to the Unicode Character Database. Feedback is requested both on the text of the new pattern section and on the contents of the proposed properties... A common task facing an implementer of the Unicode Standard is the provision of a parsing and/or lexing engine for identifiers. To assist in the standard treatment of identifiers in Unicode character-based parsers, a set of specifications is provided here as a recommended default for the definition of identifier syntax. These guidelines are no more complex than current rules in the common programming languages, except that they include more characters of different types. In addition, this document provides a proposed definition of a set of properties for use in defining stable pattern syntax: syntax that is stable over future versions of the Unicode Standard. There are many circumstances where software interprets patterns that are a mixture of literal characters, whitespace, and syntax characters. Examples include regular expressions, Java collation rules, Excel or ICU number formats, and many others. These patterns have been very limited in the past, and forced to use clumsy combinations of ASCII characters for their syntax. As Unicode becomes ubiquitous, some of these will start to use non-ASCII characters for their syntax: first as more readable optional alternatives, then eventually as the standard syntax. For forwards and backwards compatibility, it is very advantageous to have a fixed set of whitespace and syntax code points for use in patterns. This follows the recommendations that the Unicode Consortium made regarding completely stable identifiers, and the practice that is seen in XML 1.1. In particular, the consortium committed to not allocating characters suitable for identifiers in the range 2190..2BFF, which is being used by XML 1.1. With a fixed set of whitespace and syntax code points, a pattern language can then have a policy requiring all possible syntax characters (even ones currently unused) to be quoted if they are literals. By using this policy, it preserves the freedom to extend the syntax in the future by using those characters. Past patterns on future systems will always work; future patterns on past systems will signal an error instead of silently producing the wrong results..." Note: See also the 2003-08-20 notice from Rick McGowan (Unicode, Inc.), said to be relevant to anyone dealing with programming languages, query specifications, regular expressions, scripting languages, and similar domains: "The Proposed Draft UTR #31: Identifier and Pattern Syntax will be discussed at the UTC meeting next week. Part of that document (Section 4) is a proposal for two new immutable properties, Pattern_White_Space and Pattern_Syntax. As immutable properties, these would not ever change once they are introduced into the standard, so it is important to get feedback on their contents beforehand. The UTC will not be making a final determination on these properties at this meeting, but it is important that any feedback on them is supplied as early in the process as possible so that it can be considered thoroughly. The draft is found [online] and feedback can be submitted as described there..." General references in "XML and Unicode."

  • [August 19, 2003] "XML for e-Business." By Eve Maler (Sun Microsystems, Inc). Tutorial presentation. July 2003. 105 pages/slides. ['This tutorial was delivered at the CSW Informatics XML Summer School on 28-July-2003, and subsequently edited slightly to incorporate fixes, notes, and timestamps.'] The presentation provides an opportunity to: "(1) learn about the Universal Business Language (UBL) and its significance to, and place in, modern e-business; (2) study UBL's design center and underlying model -- a model that may be useful for many information domains; (3) study UBL as an application of XML, and its lessons for other large XML undertakings; (4) take a look at some real UBL inputs and outputs along the way... UBL is an XML-based business language standard; it leverages knowledge from existing EDI and XML B2B systems; it applies across all industry sectors and domains of electronic trade; it's modular, reusable, and extensible in XML-aware ways; it's non-proprietary and committed to freedom from royalties; it is intended to become a legally recognized standard for international trade... The Electronic Business XML initiative (ebXML) is a joint 18-month effort of OASIS and UN/CEFACT, concluding in May 2001. The work continues in several forums today with over 1000 international participants; the ebXML vision is for a global electronic marketplace where enterprises of any size, anywhere, can find each other electronically and conduct business by exchanging XML messages... The ebXML stack for business web services includes: Message contextualization [Context methodology]; Standard messages [Core components]; Business agreements [CPPA]; Business processes [BPSS]; Packaging/transport [ebMS]... The ebXML Core Components Technical Specification is at version 1.90; it is syntax neutral and ready for mapping. This includes the Context Methodology work, which likewise is syntax neutral rather than syntax bound. UBL proposes to flesh out the ebXML stack, using the UBL Context Methodology with ebXML Context Methodology and the UBL Library with ebXML Core components... The ebXML Core Components substrate allows for correlation between different syntactic forms of business data that has the same meaning and purpose; UBL is striving to use the CCTS metamodel accurately... UBL offers important and interesting solutions: as a B2B standard, it is user-driven, with deep experience and partnership resources to call on; it is committed to truly global trade and interoperability; its standards process is transparent. As an XML application, it is layered on existing successful standards; it is tackling difficult technical problems without losing sight of the human dimension..." [adapted/excerpted from the .PPT version] See the canonical source files in OpenOffice and Microsoft PPT formats. On UBL, see: (1) OASIS Universal Business Language TC website; (2) general references in "Universal Business Language (UBL)." [cache .PPT]

  • [August 19, 2003] "Turn User Input into XML with Custom Forms Using Office InfoPath 2003." By Aaron Skonnard. In Microsoft MSDN Magazine (September 2003). "Office InfoPath 2003 is a new Microsoft Office product that lets you design your own data collection forms that, when submitted, turn the user-entered data into XML for any XML-supporting process to use. With an InfoPath solution in place, you can convert all those commonly used paper forms into Microsoft Office-based forms and end the cycle of handwriting and reentering data into your systems. Today organizations are beginning to realize the value of the mountains of data they collect every day, how hard it is to access it, and are striving to mine it effectively. InfoPath will aid in the design of effective data collection systems... The Web Services platform builds on XML by using it for information exchange over protocols like TCP, HTTP, SMTP, and potentially many others. Combining XML with these open protocols makes it possible to build an infrastructure for sharing information between business processes in a standard way. All that is needed to reap the benefits across the enterprise is an easy way to get previously hand-written data into XML. InfoPath, previously known as XDocs, is a new member of the Microsoft Office System of products that let's you do just that. InfoPath provides an environment for designing forms built around XML Schema or Web Services Description Language (WSDL) definitions. In a matter of seconds, you can use InfoPath to build a new form that's capable of outputting XML documents conforming to an XML Schema Definition (XSD) or communicating with a Web Service conforming to a WSDL definition. XML Web Services and InfoPath can be used together to replace their legacy information-gathering techniques. InfoPath is chock-full of functionality, including rich client functionality and off-line capabilities that surpass those of traditional Web Forms. Best of all it's much easier to use than traditional Web Services development environments... InfoPath makes it easy for anyone to design, publish, and fill out electronic forms based on XML and Web Services technology, which offers many advantages over traditional techniques used today... This article will focus on the main features of InfoPath..."

  • [August 19, 2003] "The Trojan Document." By Erika Brown. In Forbes Magazine (August 18, 2003). "Bruce Chizen [President and Chief Executive Officer of Adobe Systems Incorporated] is pushing hard to make Adobe more relevant to big business. It's a bold bet that puts the company directly in Microsoft's way. Contractors used to dread getting approval for a Wal-Mart parking lot off a Kansas highway. They had to drive to a local Department of Transportation office, fill out multiple forms and photocopy blueprints; the stack of paper would be mailed to a district office, then to engineering, then to state-agency designers and back again. The ordeal took two months. Six months ago the agency began using new forms software from Adobe Systems, and the process has been cut to three weeks. Now a transportation official scans the contractor's designs, saves the file in Adobe's Portable Document Format, or PDF, and submits it online with the proper electronic forms. As each state official puts his digital signature to the plan, the file sends itself to the next person for approval and ultimately to a database at the Department of Transportation headquarters. 'These forms are so smart they're like their own applications,' says Cynthia Wade, head of technology for the department... Chizen spent the last two years redesigning products, replacing sales staff and buying up smaller firms to gird Adobe for a new assault on the corporate market. The grand plan: Convince companies that every single document they produce should be turned into an Adobe PDF. It used to be that a document created in Acrobat was the only thing that could become a PDF. Now, with Adobe's new software, a Word memo, an Excel spreadsheet, a Web site, a videoclip or a hybrid combination of all four formats can be converted to a PDF. Adobe has begun selling software that gives any of these documents the ability to be read by Adobe Reader, as well as tell company servers where to send itself, who can read it, who has made changes to it and what data within it should go into which part of the database. 'The ubiquity of Reader means we can build more applications to take advantage of that platform,' says Chizen. 'It's like what Microsoft has in Office.' Well, not quite. But at least Chizen is showing real chutzpah in stepping between Microsoft and its customers. Adobe has managed to get by for two decades without incurring the wrath of Redmond. Now Microsoft is paying attention. Its new electronic-forms product, InfoPath, is due out later this year with the next version of Office. Like Acrobat, it will use the Internet programming language XML to make forms more interactive but, in typical Microsoft fashion, InfoPath is designed to work within Office and doesn't read Adobe forms... The promotions group at Macy's West has been testing the new Acrobat Pro for two months. Designers, art directors and buyers are huddling over ad copy and catalog pages online. Michael Margolies, Macy's technology director, expects the proofing of print materials will go from days to minutes. Pfizer is using Adobe software to manage its clinical trials. A doctor types into a PDF form on Pfizer's Web site, making the data on patient progress work in real time. Chizen's hunt for new revenue is off to a good start..."

  • [August 19, 2003] "Acrobat Challenges InfoPath. Adobe Takes a Giant Step Forward Into Direct Competition with Microsoft." By Jon Udell. In InfoWorld (August 15, 2003). "I've always regarded Adobe's PDF as an odd creature, neither fish nor fowl. I'm intensely annoyed when I have to view a multicolumn PDF document onscreen. Some monitors rotate into a portrait orientation, but mine -- and probably yours - are landscape devices. Every time I scroll from the bottom of column No. 1 to the top of column No. 2, I taste the worm at the PDF apple's core... So I was delighted to learn, in a recent conversation with Adobe senior product manager Chuck Myers, that the ongoing integration of XML into PDF is about to shift into high gear... The backstory includes initiatives such as XMP (Extensible Metadata Platform), which embeds XML metadata in PDF files; and Tagged PDF, which enables PDF documents to carry the structural information that can be used, for example, to reflow a three-column portrait layout for landscape mode. So far, though, XML data hasn't been a first-class citizen of the PDF file --especially those PDF files that represent business forms. Acrobat 5 does support interactive forms. It also has a data interchange format called FDF (Forms Data Format), for which an XML mapping exists. But as Myers wryly observes, 'There's one schema, from Adobe, we hope you like it.' Acrobat 6 blasts that limitation out of the water. It supports arbitrary customer-defined schemas, Myers told me. That's a huge step forward, and brings Acrobat into direct competition with Microsoft's forthcoming InfoPath. Look at Adobe's interactive income tax form. That document is licensed, by the Document Server for Reader Extensions, to unlock the form fill-in and digital signature capabilities of the reader. Filling in a form and then signing it digitally is an eye-opening experience. It's more interesting now that the form's data is schema-controlled and, Myers adds, can flow in and out by way of WSDL-defined SOAP transactions. The only missing InfoPath ingredient is a forms designer that nonprogrammers can use to map between schema elements and form fields. That's just what the recently announced Adobe Forms Designer intends to be. I like where Adobe is going. The familiarity of paper forms matters to lots of people..." See: (1) "Extensible Metadata Platform (XMP)"; (2) Enhanced Adobe XML Architecture Supports XML/PDF Form Designer and XML Data Package (XDP)"; (3) "Microsoft Office 11 and InfoPath [XDocs]."

  • [August 19, 2003] "Hands-on XForms. Simplifying the Creation and Management of XML Information." By Micah Dubinko (Cardiff Software). In XML Journal Volume 4, Issue 8 (August 2003). "Organizations have evolved a variety of systems to deal with the increasing levels of information they must regularly process to remain competitive. Business Process Management (BPM) systems presently take a wide variety of shapes, often including large amounts of ad hoc scripting and one-off implementations of business rules. Such systems tend to be developed incrementally, and pose a significant obstacle to continued development and maintenance. A World Wide Web Consortium (W3C) specification called XForms aims to change this situation. This article compares XForms to ad hoc solutions to produce a real-life application: the creation of XML purchase orders... Of the several efforts that are under way to define XML vocabularies for business, the most promising seems to be UBL, the Universal Business Language. At the expense of being slightly verbose, the vocabularies defined by UBL do a remarkable job of capturing all of the minor variations that occur in real-world business documents across diverse organizations. For the sample application I chose a purchase order... Microsoft InfoPath, currently in beta as part of Office System 2003, offers a better user experience than HTML forms, but still relies heavily on scripting through an event-driven model. As the remainder of this article will show, a declarative approach as used in XForms can eliminate a substantial amount of complexity from the overall solution. Since XForms is designed to be used in concert with a 'host language,' I chose a combination of XHTML 1.1 and XForms for the solution, even though a DTD for the combined language isn't available... The two main challenges facing developers deploying XForms solutions today are deciding on a host language and configuring stylesheets for all target browsers. Eventually XHTML 2.0, including XForms as the forms module, will be finalized, providing a known and stable target for browsers to implement and designers to write toward. Until that time, however, a reasonable approach is to use XForms elements within XHTML 1.0 or 1.1, without the luxury of DTD validation... XForms has made vast strides in 2003, becoming a technology suitable for production use by early adopters. Already, businesses are using XForms to produce real documents. The combination of an open standard with a wide variety of both free and commercial browsers makes a powerful business case for deploying XForms solutions. Unlike many other XML standards, XForms has remained small, simple, and true to its roots, addressing only well-known and well-understood problems, and providing a universal means to express solutions to these problems. Part of the appeal of XForms is the reuse of proven technologies, such as XPath, for which developers are more willing to invest the time necessary for learning. XForms can also leverage existing XML infrastructure, including XML Schema and Web services components..." A fuller treatment is presented in "UBL in XForms: A Worked Example." See also: (1) W3C XForms: The Next Generation of Web Forms; (2) general references in "XML and Forms." [alt URL]

  • [August 19, 2003] "XForms Building Blocks." By Micah Dubinko (Cardiff Software). Draft Chapter 2 (20 pages) from XForms Essentials: Gathering and Managing XML Information, [to be] published by O'Reilly & Associates as part of the Safari Bookshelf. 'More Than Forms; A Real-World Example [based upon UBL]; Host Language Issues; Linking Attributes. "This chapter goes into greater detail on the concepts underlying the design of XForms, as well as practical issues that come into play, including a complete, annotated real-world example. A key concept is the relationship between forms and documents, which will be addressed first. After that, this chapter elaborates on the important issue of host languages and how XForms integrates them... Despite the name, XForms is being used for many applications beyond simple forms. In particular, creating and editing XML-based documents is a good fit for the technology. A key advantage of XML-based documents over, say, paper or word processor templates, is that an entirely electronic process eliminates much uncertainty from form processing. Give average 'information workers' a paper form, and they'll write illegibly, scribble in the margins, doodle, write in new choices, and just generally do things that aren't expected. All of these behaviors are manually intensive to patch up, in order to clean the data to a point where it can be placed into a database. With XForms, it is possible to restrict the parts of the document that a given user is able to modify, which means that submitted data needs only a relatively light double-check before it can be sent to a database. One pitfall to avoid, however, is a system that is excessively restrictive, so that the person filling the form is unable to accurately provide the needed data. When that happens, users typically either give bad information, or avoid the electronic system altogether..." About the book XForms Essentials: "The use of forms on the web is so commonplace that most user interactions involve some type of form. XForms -- a combination of XML and forms -- offers a powerful alternative to HTML-based forms. By providing excellent XML integration, including XML Schema, XForms allows developers to create flexible, web-based user-input forms for a wide variety of platforms, including desktop computers, handhelds, information appliances, and more. XForms Essentials is an introduction and practical guide to the new XForms specification. Written by Micah Dubinko, a member of the W3C XForms working group and an editor of the specification, the book explains the how and why of XForms, showing readers how to take advantage of them without having to write their own code. You'll learn how to integrate XForms with both HTML and XML vocabularies, and how XForms can simplify the connection between client-based user input and server-based processing. XForms Essentials begins with a general introduction to web forms, including information on history and basic construction of forms. The second part of the book serves as a reference manual to the XForms specification. The third section offers additional hints, guidelines, and techniques for working with XForms..." See also the preceding bibliographic entry, online version of the book, and the author's XML and XForms blog.

  • [August 19, 2003] "Object-Oriented XsLT: A New Paradigm for Content Management." By Pietro Michelucci. In XML Journal Volume 4, Issue 8 (August 2003). "What could be better for managing content than separating data from presentation? How about separating data from data? XsLT can actually be used to allow for different levels of data abstraction; this can reduce the complexity of managing Web content by an order of magnitude and facilitate code reuse. What I'm talking about here is object-oriented XsLT... Isolating content from presentation was the original purpose of stylesheet languages. In the conventional approach, there is just one data layer (XML) and one presentation layer (HTML), with XsL transformations (XsLT) in between. This two-layer architecture simplifies Web site management by allowing content providers to edit their data without concern for stylistic issues, and, conversely, by permitting graphics designers to set the visual tone without regard for specific content. While the two-layer model has been fruitful, XsL transformations (XsLT) empower us to extend data abstraction through the use of multiple data layers. Toward this end, I have created a general-purpose XsLT that you can easily use to apply multiple serial XsL transformations to an XML data document. OOX, like OOP, isn't just about stringing together multiple transformations, using extra data layers, or treating schemas like interfaces. It's an approach to content management and Web architecture that involves the judicious application of data abstraction and the reuse of transformation objects. When applied strategically, OOX can result in a low-maintenance Web site that is quickly built, logically organized, and robust to structural content changes... there are feature-rich software tools on the market to facilitate Web development and content management. Many of these tools function by storing proprietary metadata, which describe both structural and thematic aspects of the Web site. For example, metadata might be used to programmatically maintain navigation links on all pages of a Web site. These metadata are not directly accessible to the Web developer, so even though the software uses them internally for content management, they may impede fine-level control. Furthermore, migrating from one of these content management tools to another can prove vexing because the tools often do not recognize each other's metadata. In contrast to most content management tools, OOX relies exclusively upon W3C-based technologies. Therefore, in adopting OOX as a Web development paradigm, it is possible to exercise complete control over your Web site without getting locked into proprietary technology. Furthermore, flexible tools can work in concert with OOX development. OOX may not be suitable for all developers. But if you have dabbled in XML and aren't afraid to explore the power afforded by XsLT, you might be surprised at what the latest addition to alphabet soup has to offer for content management..." [alt URL]

  • [August 19, 2003] "XML MetaData for Simplifying Web Development." By George M. Pieri and Arnoll Solano. In JavaPro Magazine (August 2003). ['Achieve more efficient code development and maintenance while freeing yourself from object properties and getting new functionality without recompiling.'] "Web application development has become time consuming. Making a simple change to display a new database field on screen often involves recompiling business classes and then all the resources that use those business classes. You can simplify this Java development process by using XML to deliver your data and to describe the business objects that are responsible for building the data. Using metadata to describe your business objects and presentation components can speed up development... Much of application development revolves around building business objects. These objects usually represent the entities of the system such as customers, invoices, and products. The responsibilities of a typical business object are to retrieve, add, update, delete, and validate data. The data usually comes from a data source, which can be a database such as Microsoft SQL Server or Oracle. In the applications that we developed we use the term databean to describe the typical business object because its primary responsibilities revolve around data. In building business objects, or databeans, it is important to make them stateless to free you from the time-consuming process of maintaining properties. Stateless objects have no properties and instance variables that maintain state, which saves you time from having to add, get, and set methods every time an end user requests a new column to be displayed on one of your Web pages. All the data is returned each time a method is called. This characteristic also has the extra benefit of improving performance because the object can be reused quickly. It is possible to use XML to return the data without having business object properties. The start and end tags around the data field represent the field name, which frees you from having to maintain field names ... Representing your visual components with metadata has many advantages. It enables you to add a new column to your view XML and within minutes have it show up automatically on the grid. No longer do you have to modify the HTML and then make sure that everything lines up correctly. The entire color of the grid can be changed just by modifiying the view metadata along with fonts and many other attributes. It is also easy to identify what columns are used for which screens and makes modifications quickly. Using XML to serve up your data helps you have business objects without properties, which speeds up code development and, more importantly, code maintainence. In addition, using XML to describe your data has many more benefits. Metadata can be used to describe your business objects by abstracting out their functionality, DataBean.xml, which allows you to change the SQL behind your business objects without recompiling code. It can also be helpful in describing your presentation layer such as menus and grids that are commonly developed. We have used these approaches successfully and have greatly reduced our development time and have become more efficient at making code modifications..." [alt URL]

  • [August 19, 2003] "Discover Key Features of DOM Level 3 Core, Part 1. Manipulating and Comparing Nodes, Handling Text and User Data." By Arnaud Le Hors and Elena Litani (IBM). From IBM developerWorks, XML zone. August 19, 2003. ['In this two-part article, the authors present some of the key features brought by the W3C Document Object Model (DOM) Level 3 Core Working Draft and show you how to use them with examples in Java code. This first part covers manipulating nodes and text, and attaching user data onto nodes.'] "The Document Object Model (DOM) is one of the most widely available APIs. It provides a structural representation of an XML document, enabling users to access and modify its contents. The DOM Level 3 Core specification, which is now in Last Call status, is the latest in a series of DOM specifications produced by the W3C. It provides a set of enhancements that make several common operations much simpler to perform, and make possible certain things you simply could not do before. It also supports the latest version of different standards, such as Namespaces in XML, XML Information Set, and XML Schema, and thus provides a more complete view of the XML data in memory. The first part of this article covers operations on nodes; the second part focuses on operations on documents and type information, and explains how to use DOM in Xerces. We show you how DOM Level 3 Core can make your life easier when working with nodes, whether it is renaming a node, moving nodes from one document to another, or comparing them. We also show you how DOM Level 3 Core lets you access and modify the text content of your document in a more natural way than having to deal with Text nodes that tend to get in the way. Finally, we explain to you how you can use the DOM Level 3 Core to more easily maintain your own structure that is associated with the DOM... DOM Level 3 can do a lot of work for you. First, it allows you to store a reference to your application object on a Node. The object is associated with a key that you can use to retrieve that object later. You can have as many objects on a Node as you want; all you need to do is use different keys. Second, you can register a handler that is called when anything that could affect your own structure occurs. These are events such as a node being cloned, imported to another document, deleted, or renamed. With this, you can now much more easily manage the data you associate with your DOM. You no longer have to worry about maintaining the two in parallel. You simply need to implement the appropriate handler and let it be called whenever you modify your DOM tree. And you can do this with the flexibility of using a global handler or a different one on each node as you see fit. In any case, when something happens to a node on which you have attached some data, the handler you registered is called and provides you with all the information you need to update your own structure accordingly... In Part 2 [of the series], we will show y