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.
|