XML and Web Services In The News - 22 February 2006

Internationalization Tag Set (ITS)
Christian Lieske and Felix Sasaki (eds), W3C
As part of the by the W3C Internationalization Activity, the ITS Working Group has produced an updated Public Working Draft for "Internationalization Tag Set (ITS)." The Recommendation-track document "defines data categories and their implementation as a set of elements and attributes called the Internationalization Tag Set (ITS). ITS is designed to be used with new and existing schemas to support the internationalization and localization of schemas and documents. An implementation is provided for three schema languages: XML DTD, XML Schema and RELAX NG. The document provides examples of how ITS can be used with existing vocabularies. Since the last version of this document, basic concepts of ITS and the definitions of many data categories have been stabilized. Feedback is especially appreciated on the mechanisms defined for the selection of ITS specific information in documents and schemas, and on the design of the individual data categories. From the viewpoints of feasibility, cost, and efficiency, it is important that the original material should be suitable for localization. The increasing usage of XML as a medium for documentation-related content (e.g. DocBook, a format for writing structured documentation, well suited to computer hardware and software manuals) and software-related content (e.g. the eXtensible User Interface Language - XUL) creates challenges and opportunities in the domain of XML internationalization and localization. The specification has been developed using the ODD (One Document Does it all) language of the Text Encoding Initiative (TEI), a literate programming language for writing XML schemas.
See also: Markup and Multilingualism

ROME in a Day: Parse and Publish Feeds in Java
Mark Woodman, XML.com
Knowing that RSS and Atom feeds are "just" XML, you might think that parsing and creating syndicated feeds in Java should be a snap. Pick any one type of RSS, and you might be right. Unfortunately, there are at least ten flavors of RSS and Atom out there: RSS 0.90, RSS 0.91 Netscape, RSS 0.91 Userland, RSS 0.92, RSS 0.93, RSS 0.94, RSS 1.0, RSS 2.0, Atom 0.3, and the newest addition to the bunch, Atom 1.0. Then there are all the namespace modules, like Dublin Core, Media, and so on. For someone wanting to parse and publish RSS and Atom feeds in Java, this step-by-step tutorial shows show how to pull in an existing feed, add your own content, and publish the results in a new format — all in 100 lines of code. ROME does all the heavy lifting: OME is an open source (Apache licensed) Java library which is designed to make it easy for you to parse and create syndicated feeds, regardless of format. In fact, all of the variants of RSS and Atom mentioned earlier are supported by ROME. The basic approach of ROME is to parse any RSS or Atom feed item into a canonical bean interface. This lets you as a developer manage fairly homogeneous item beans regardless of their original format. Even better, ROME makes it easy to create a new RSS or Atom feed, using those very same beans.
See also: Atom references

Axis Meets MOM: Reliable Web Services with Apache Axis and MOM
Gautam Shah, JavaWorld Magazine
Web services is positioned as the technology for integration. For architects and developers on Java/Java Enterprise Edition platforms, Apache Axis is a key open source means by which SOAP-based Web services can be enabled for service-providing components. Most common Web services implementations, in spite of all their strengths, still suffer from the unreliability of the HTTP protocol and Web environment. While WS-Reliability is emerging to be a strong reliability standard, solutions requiring guaranteed mechanisms need to rely on message- oriented middleware (MOM) technologies. Asynchronous store-forward MOM technologies such as MQSeries, MSMQ (Microsoft Message Queuing), and SonicMQ are proven ways to achieve reliable and guaranteed information exchange. This article describes a solution that combines MOM and Apache Axis to achieve both guaranteed delivery and standards-based Web services for your integration undertakings.

Hooking up with RDF
Joab Jackson, Government Computer News
RDF now has a powerful sponsor to help spur adoption: Oracle Corp. of Redwood Shores, Calif., has released a new database object type for storing RDF data, available with the Oracle Spatial Network Data Model, the company's software for managing graphs. RDF can be a very powerful tool when you're trying to infer across incomplete information; while XML encapsulates data within hierarchies, RDF represents the relationships among objects. A link, called the predicate, hooks a subject (i.e. 'John') to an object ('Suzie'), summarizing the relation between the two (John 'is a friend of' Suzie). A 'triple,' as this relationship is called, can be used to describe other triples. RDF could be particularly useful for searching. A Structured Query Language query to an RDF data store could return not only exact matches, but close companions. Other companies also are warming to RDF. Cogito Inc. of Draper, Utah, wove RDF into its recently released Cogito Knowledge Center, which maps relationships across databases. Also on the RDF bandwagon is the CIO Council's Semantic Interoperability Community of Practice, which is rendering the Federal Enterprise Architecture's Data Reference Model in RDF, along with the Web Ontology Language.
See also: RDF resources

Asynchronous Messaging Made Easy With Spring JMS
Srini Penchikala, O'Reilly ONJava.Com
Asynchronous process communication is an important part of a service- oriented architecture (SOA), since many system communications in an enterprise, especially those with external organizations, are asynchronous in nature. Java Message Service (JMS) is the API used to write JEE applications using asynchronous messaging. A traditional messaging implementation using the JMS API involves steps like JNDI lookups for the queue connection factory and Queue resources and creating a JMS session before actually sending or receiving a message. The Spring framework simplifies the task of working with JEE components, including JMS. It provides a template mechanism to hide the details of a typical JMS implementation so developers can concentrate on the actual task of processing messages instead of worrying about how to create, access, or clean up JMS resources. This article provides an overview of the Spring JMS API and how to use it to process (send and receive) messages asynchronously in a sample web application running in a JBoss MQ server. The author compares the traditional way of implementing JMS with a Spring JMS implementation to show how easy it is to process messages using Spring JMS. Spring takes away all of the boilerplate code required to process a message using JMS, such as getting a queue connection factory and creating queue and session objects from Java code and wiring them at runtime using a configuration file. We can swap the JMS resource objects dynamically without having to modify any Java code, thanks to the power of the Inversion of Control (IOC) principle. Since async messaging is an integral part of a SOA framework, Spring fits nicely into the SOA toolset. Also, a JMS management tool such as Hermes makes it easy to create, manage, and administer the JMS resources, especially for system administrators.

Bottom Gear Image