This issue of XML Daily Newslink is sponsored by:
SAP AG http://www.sap.com
- Next-Generation Grid-Enabled SOA: Not Your MOM's Bus
- From Composition to Emergence: Towards the Realization of Policy-Oriented Enterprise Management
- Microsoft Gets Up to Speed on Enterprise Search
- Convert Atom Documents to JSON
- OASIS XML Catalogs for .NET and Mono
- Easy Command Line Processing with the DITA Open Toolkit
- Support for RESTful Web Services: Part 1
Next-Generation Grid-Enabled SOA: Not Your MOM's Bus
David Chappell and David Berry, SOA Magazine
In a previous article ("SOA - Ready for Primetime: The Next-Generation, Grid-Enabled Service-Oriented Architecture") the authors discussed how SOA grids can be used to break the convention of stateless-only services for scalability and high availability (HA) by allowing stateful conversations to occur across multiple service requests, whether between disparate service boundaries or load-balanced groups of cloned service instances. The SOA grid is a new approach to thinking about SOA infrastructure. It provides state-aware, continuous availability for service implementations, data, and processing logic. It's based on architecture that combines horizontally scalable, database-independent, middle-tier data caching with intelligent parallelization and an affinity of business logic with cache data. This enables newer, simpler, and more-efficient models for highly scalable service-oriented applications that can take full advantage of service virtualization and event-driven architectures. In this article they challenge traditional applications of message-oriented middleware (MOM) for achieving high levels of quality of service (QoS) when sharing data between services in an enterprise service bus (ESB). They further compare and contrast a state-based, in-memory storage and notification model, and investigate the intelligent co-location of processing logic with or near its grid data in large payload scenarios. Finally, they also explain when to substitute an SOA Grid for existing MOM technologies as driven by the following question: "If you have an SOA grid that can reliably hold application state data and the necessary systems can access it, why continue to utilize conventional messaging?" [...] An SOA grid transparently solves many of the difficult problems related to achieving high availability, reliability, scalability, and performance in a distributed environment. Service-oriented architectures can fully leverage such a grid to establish a QoS infrastructure far beyond the typical distributed service integration currently delivered by conventional SOA techniques.
See also: Article Part 1
From Composition to Emergence: Towards the Realization of Policy-Oriented Enterprise Management
Matthias Kaiser, Stanford University Artificial Intelligence Lab Paper
Today, service-oriented architectures as basis for the composition of business processes are widely seen as the state-of-the-art approach to realize flexible, extensible enterprise management. However, a number of problems how to efficiently use this architecture to compose applications to support business goals is still a hard problem requiring specific expertise as well as tedious human involvement. In this article, we motivate and outline a new approach towards goal-driven business process composition based on the 'enterprise physics metaphor'. On the foundation of formally stated business goals, descriptions of Web services and the formalization of business policies, we explain how business processes capable to achieve stated business goals can be generated utilizing generic, logic-based strategies... Policy-oriented enterprise management's essential objective is to show the applicability, value, and feasibility of using computational logic in modern enterprise management as a next step in software development... POEM's application of computational logic can lead to a paradigmatic shift in the relationship between enterprise management and the software supporting it. Such a shift might even close the gap between business experts' understanding of their domain and software engineers' realization of appropriate software. A goal-driven approach to business process composition uses generic, logic-based strategies, descriptions of Web services, and formalized business policies to generate business processes that satisfy the stated business goals. The approach is based on an enterprise physics metaphor, in which business objects are analogous to physical objects and policies are analogous to physical laws. POEM addresses executable enterprise modeling: not just a model, and not just executable: the model is the code — all of it. It endeavors to be as direct an executable expression of policies as possible... The Policy-Oriented Enterprise Management (POEM) project exploits the ideas of the policy-oriented approach in the business environment... [Note: a later version of this paper was published as a Cover Feature Article in IEEE Computer 40/11 (November 2007), a Special Issue on Service Orientation.
Microsoft Gets Up to Speed on Enterprise Search
Clint Boulton, eWEEK
Microsoft made a big bet in enterprise search, agreeing to acquire Fast Search & Transfer ASA for $1.2 billion, a 42 percent premium over the Oslo, Norway, company's closing share price on January 4, 2008. Fast is a specialist in enterprise search, which consists of software and appliances that help corporate employees track down what they are looking for, typically behind the company firewall. For example, employees of a large company could use enterprise search software to pinpoint a profile of a single staffer from a human resources database of thousands of employees. Microsoft believes that adding Fast will help the company bolster its current enterprise search product line, which includes Search Server 2008 Express, Microsoft Search Server 2008 and Microsoft Office SharePoint Server 2007. While less glamorous than its commercial brethren, consumer search, enterprise search is still pegged by analysts as a multibillion-dollar business with significant growth potential that has yet to scratch the surface. Google and IBM are two of the larger vendors in the space, which also includes a handful of specialists, led by Autonomy and Fast, as well as Endeca, Vivisimo and Exalead. Successfully acquiring Fast will give Microsoft a strong leadership position in the market, complementing the company's recently revamped Live Search offering.
See also: the Microsoft announcement
Convert Atom Documents to JSON
James Snell, IBM developerWorks
Converting an Atom document to JSON might, at first, appear to be a fairly straightforward task. Atom is, after all, just a bit of XML and XML-to-JSON conversion tools are widely available. However, the Atom format is more than just a set of XML elements and attributes. A number of subtle details can make proper handling of Atom difficult. When you convert an Atom document into JSON, you take a great deal of information-rich content and serialize it into a drastically simplified form. You can more easily use the simpler form of that content in environments where parsing and properly processing the XML is prohibitively difficult. The main challenge to this process is to ensure that important data and context is not lost in the translation. This article describes those issues and demonstrates a mechanism implemented by the Apache Abdera project to convert Atom documents into JSON and produces a result that is readable, usable, and complete... With a data format as rich and capable of Atom, serializing to a format as simple and basic as JSON can be problematic at best. While there have been several very good attempts at getting it right, until an effort is made to produce a standardized transformation, application developers need to be prepared to deal with multiple, potentially incompatible serializations that vary broadly in quality. The technique described here is just one of several possible approaches.
See also: Atom references
OASIS XML Catalogs for .NET and Mono
Anthony B. Coates, Software Announcement
An XML-DEV posting from Anthony B. Coates (Miley Watts LLP) reports on the availability of "OASIS XML Catalogs for .NET and Mono." The software is distributed under the Apache License, Version 2.0. XML documents sometimes need to refer to other documents, particular Schemas or DTDs. While DTDs allow can be referenced using logical (non-physical) names (public IDs), W3C XML Schemas are typically referred to using a relative or absolute URL (which could be a "file:" URL, equivalent to a file path). There are often problems with this in practice. First, different users may not have access to the same files in the same locations; even an HTTP URL may refer to a private system that not all users have access to. Second, you may not trust the Schema (etc.) references in incoming XML files. Thus, the OASIS XML Catalogs specification defines a standard XML format for mapping URIs in XML documents to your own local, trusted copies of Schemas, etc. The .NET/Mono API provides an XmlResolver class that convert a relative URL into an absolute URL. Miley Watts XML Catalogs for .NET and Mono provides a (derived) replacement class "XmlCatalogResolver" which reads an XML Catalog file and uses the catalog mappings to rewrite the URIs as appropriate. This allows you to redirect any URI that is passed to the XML resolver by the XML parser. Key benefits: (1) Increases security and flexibility for XML applications by allowing any URI to be mapped to a local copy of a file—Schema or other; (2) Can also map to from one URI to another, not just from URIs to local files; (3) Implements a standard for URI mapping — OASIS XML Catalogs; (4) Integrates with existing .NET/Mono XML API; (5) Royalty-free and open source; all source code is provided. The current implementation is focused on the needs of .NET/Mono users who use W3C XML Schemas. For this reason, the following features from OASIS XML Catalogs are not currently supported: (i) "publicid" URNs as an alternative format for PUBLIC IDs; (ii) "delegatePublic" declarations; (iii) "delegateSystem" declarations; (iv) "delegateURI" declarations. The Blog from Michael Sperberg-McQueen ("Tony Coates Has Written a URI Resolver for .Net") offers additional comment.
See also: the download web site
Easy Command Line Processing with the DITA Open Toolkit
Bob DuCharme, IBM developerWorks
The Document Information Typing Architecture (DITA) is a set of XML document types for topic-oriented authoring. DITA also includes a set of mechanisms to create specialized versions of these document types if you want to customize the DITA DTDs or schemas for a closer fit to the structure of your particular content. As with many standards, part of DITA's appeal is that conforming to it lets you take advantage of commercial and free software built around the standard. The most popular free DITA software is the DITA Open Toolkit (or "DITA OT"), a Java-based environment for processing DITA files. Once you install it, it can take your DITA XML documents (or, even better, documents that conform to your own customized specializations of the DITA schemas) and create versions in HTML, PDF, RTF, troff, Eclipse Help, and several other formats. The first time I installed it, I ran the build demo as described in the installation instructions under "Verifying the installation". I saw all the output formats that it could create from the sample source DITA files, and I was impressed. Then, I must admit, I was at a bit of a loss—the build demo was driven by an Ant script that was over 800 lines long and included another Ant build file that included a dozen more files... Eventually, I discovered how to tell the DITA OT to convert a particular DITA document to any of its output formats with just a single line at the command prompt, with no need to even look at an Ant script... If you set up a large, complex production environment that uses the DITA Open Toolkit, it makes sense to take advantage of everything that Ant has to offer to manage that complexity. You have to have it installed when you use the DITA OT anyway, so for large projects it's worthwhile to learn Ant and then build some Ant scripts around the ones included with the DITA OT. If you're just getting started with the DITA OT, though, 'dost.jar' is a great way to try out all of the DITA OT's features. Just type a single line at the command line and get quick feedback about the effect of each of the parameters that you can pass to it.
See also: DITA references
Support for RESTful Web Services: Part 1
William Brogden, TechTarget
The term REST, standing for Representational State Transfer, was coined by Roy Fielding in his 2000 PhD dissertation, surely one of the most influential academic studies of recent years. Fielding's dissertation title "Architectural Styles and the Design of Network-based Software Architectures" emphasizes that creating a RESTful application implies a style, or way of thinking about the problem, not a rote application of rules, but the underlying rule is that the HTTP methods of GET, POST, DELETE, PUT, OPTIONS and HEAD should each be used only for specific purposes... The central problem of a Web service is interpreting a request and routing it to the correct process so that the desired representation if returned. SOAP-based services not only have to look at the request headers, but also have to parse the XML formatted request body and return XML formatted text. RESTful services only have to examine the request headers and URL to determine the process to handle the request and the resource representation to return. It is important to remember that a given resource can have several different representations. For example, an appointments calendar might be returned as text, HTML, XML, PDF or an image... In recognition of the number of developers turning away from SOAP to the REST style, the W3C working group incorporated what they term "HTTP support" in the recently released WSDL 2.0 specification. This version, many years in the making, is a major revision of version 1.0 with reorganization supposed to reduce complexity. In theory, a WSDL 2.0 document can describe a service as both a SOAP and a REST application. The tools previously used to create Web services from WSDL documents will need major modification to work with WSDL 2.0... One of the open-source projects being carried out under the GlassFish umbrella is WADL - the Web Application Description Language. A WADL document gives an XML formatted description of a REST style Web service suitable for machine processing to create a Java client... The increasing industry buzz about REST has induced developers of Web service related tools such as standards, language libraries, and IDEs to explore new ideas... Right now, if I had to write a simple RESTful Web service, I would just write my own Java servlet implementation of the request interpretation. For describing the service so other people could build clients, I would write a plain text explanation supplemented with a WADL description.
See also: on WADL
XML Daily Newslink and Cover Pages are sponsored by:
|BEA Systems, Inc.||http://www.bea.com|
|Sun Microsystems, Inc.||http://sun.com|
XML Daily Newslink: http://xml.coverpages.org/newsletter.html
Newsletter Archive: http://xml.coverpages.org/newsletterArchive.html
Newsletter subscribe: firstname.lastname@example.org
Newsletter unsubscribe: email@example.com
Newsletter help: firstname.lastname@example.org
Cover Pages: http://xml.coverpages.org/