XML and Web Services In The News - 9 January 2007
Provided by OASIS |
Edited by Robin Cover
This issue of XML Daily Newslink is sponsored by Innodata Isogen
HEADLINES:
Delve into Hierarchical Inherited Rule-Interpreted XML
Chad L. Meadows, IBM developerWorks
Java properties (java.lang.Properties) are the most common method of
application configuration in use in Java programming. You typically
use Java properties to determine how an application is configured on
initialization, as well as to determine some types of runtime behavior.
The problem with the traditional use of Java properties is that you
have an inflexible configuration that will cost you more in maintenance.
Instead, you can avoid these limitations using Hierarchical Inherited
Rule-Interpreted XML. Hierarchical Inherited Rule-Interpreted XML is a
dynamic engine that also allows one to modify the XML document structure
after it is parsed. Structure modifications are then represented in the
created DOM. The DOM also can present modifications dynamically, so
that the elements that exist within the DOM may be determined based on
application state. Therefore, the API can be queried in order to collect
a list of child elements from an element in an XML document, but the
list of elements returned may not represent the physical XML document
that was originally parsed. You can use Hierarchical Inherited Rule-
Interpreted XML to replace the standard Java properties with a dynamic
version. This allows you to define properties that you can evaluate
based on the state of the application. Hierarchical Inherited Rule-
Interpreted XML also enables you to use one properties file for multiple
instances of the application. It allows you to define properties that
you can evaluate based on the state of the application using simple
expressions or even Groovy expressions, and it lets you use only one
properties file for multiple instances of the application. Future
articles in this series will demonstrate the use of other scripting
languages, sharing the servlet context in Web applications, building
modular components, and using the full power of dynamic XML
configuration.
See also: the alphaWorks article
Specializing xi:include
Eliot Kimber, Dr. Macro's XML Rants
I've posted before about how useful it is to specialize the XInclude
include element — it makes authoring easier, it lets you define
constraints on what can be referenced, etc. But until now I'd not really
appreciated another serious benefit: It avoids ambiguous content models.
I ran into this in the process of modifying the DocBook 5.0RC1 XSD
schemas to add xincludes. The obvious approach of just adding xi:include
wherever something that could be included is allowed did not work
because it created all sorts of ambiguity problems. It should be
immediately obvious [from the worked example] that if we specialize
xi:include to reflect the specific element types of the things we want
to include, for example docbook:section_include, then the ambiguity
problem goes away because you'll be adding tokens with the same
distinction as the existing tokens, so you can never create an ambiguity
that wasn't already there. I also observe that since xi:include's complex
type is named named then you can do the specialization formally using
substitution groups at the XSD level.
See also: XInclude and re-use
AJAX Toolkit Lets Web Apps Work Offline
Darryl K. Taft, eWEEK
A team of AJAX experts is working on a new capability to enable Web
applications to work offline. Brad Neuberg, a San Francisco-based
software architect and programmer, said that he, along with the support
of some developers at SitePen, of Palo Alto, Calif., is working on the
Dojo Offline Toolkit, a small, cross-platform, generic download that
allows Web applications to work offline. The tool kit is based on the
popular Dojo Toolkit, an Asynchronous JavaScript and XML development
system maintained by the Dojo Foundation. Major companies such as IBM
and Sun Microsystems are members of the Dojo Foundation. The tool kit
will be an open-source library that brings true, offline access to
Web applications, where "users will be able to access their Web
applications and work with their data even if no network connection
is available, just like desktop applications," Neuberg said. Neuberg
said he sees uses for the technology in consumer Web sites such as
Gmail and Blogger and with corporate portals and CRM (customer
relationship management) systems, among others. Dylan Schiemann,
chief executive at Web application design and development firm SitePen,
said there is considerable demand for a product like the Dojo Offline
Toolkit. the Dojo Offline Toolkit will use a simple, small Web proxy
that runs locally. The proxy will cache files that need to cached for
later access without hitting the network, Neuberg said. In addition,
to enable the browser to talk to the local Web proxy, the new tool
kit will use a standard technology known as PAC (Proxy
AutoConfiguration). A PAC file is a small bit of JavaScript that is
invoked on each browser request. The system will use an off-the-shelf,
open-source, C-based Web proxy named Polipo to save months of
development time creating a custom HTTP/1.1 proxy. Polipo compiles to
only 150K and is portable to Windows, Linux and Mac OS X, Neuberg said.
The open-source NSIS (NullSoft Install System) will be used for the
Windows installer, while Linux installation will be through Firefox's
XPI (Cross-Platform Installer) technology.
XML Matters: Ajax Tradeoffs: The Many Flavors of XML
Dethe Elza and David Mertz, IBM developerWorks
The X in Ajax is for XML, but XML is not a language, it is a toolkit
for building languages. So your first decision is: do you use an
existing language, or build your own? Several tradeoffs are involved.
You have to ask if an existing language fits your needs or whether you
can design something which is a better fit? Are there tools to process
the language, or will you have to build them? If you communicate with
others (and if not, why are you building a Web application in the first
place?), how well known is the language? Will other applications
readily be able to access and use your data? Some of the obvious
choices to pick from are (X)HTML (including the microformat subsets),
SVG or X3D if your data is graphical, Atom for snippets of data over
time, OPML for simple outlines, and RDF for semantic graphs. At one
extreme, you might send DocBook, DITA, or even OpenOffice formatted
data, which is rich, semantic, full-featured, and very verbose. You
make a lot of decisions when you build an Ajax-enabled Web site or
Web application. What format your data takes is a decision that is
too often made by default or without really thinking about all the
issues. I have tried here to at least give some food for thought on
these issues and to help frame the decision making process. To
reiterate the rules of thumb given above: (1) JSON for data; (2) XML
for documents — favoring XHTML unless there is a reason not to; (3)
Wrap it in Atom for syndication — and to support the Atom Publishing
Protocol. In this article I try to show a lot of examples to
illustrate some of the tradeoffs involved and to support my rules of
thumb. I haven't proven anything, because these are issues that are
all special cases and most real-world examples will be full of
exceptions to any rule. I hope to report back in a future column
about actually building the site using these guidelines. As always,
I'm interested in hearing your success stories, criticisms, and ideas.
See also: Atom references
Ford Runs Microsoft Sync
Wayne Rash, eWEEK
The Ford Motor Company is introducing the first vehicles with
Microsoft's Sync software, which allows a car to connect to a variety
of Bluetooth and USB devices, including PDAs, smart phones, music
players, and cell phones. Sync, which is based on the automotive
version of Windows Mobile, can work with voice recognition or
steering-wheel-based controls. Introduced at the Detroit Auto Show
January 8 [2007], initially it will be included in 12 vehicle lines
from Ford, Lincoln and Mercury this fall. As it's installed in the
new Fords, Sync supports Apple's iPod and Microsoft's Zune music
players, as well as PlaysForSure players and music contained on USB
thumb drives. It will synchronize with Bluetooth-capable phones and
use the call lists contained in the phones. It will also use any
specialized ring tones on the phones, including caller-specific rings
or ring tones. [Kevin] Keling told eWEEK, however, that e-mail
capability and gaming will not be available with Sync. The voice
recognition system will control attached phones, as well as attached
music players, even to the extent of recognizing song names. In
addition, the speech system will read text messages aloud, and it
can provide replies from a list of 20 standard replies. The text
message capabilities will even recognize common acronyms such as
"LOL" and "BFF." According to Keling, the Sync software can be
upgraded as new devices become available. Sync displays relevant
information, including song titles, caller ID data, phone book
entries and phone operation information on a dashboard display.
Ford is making sure that everything works as it should with iPods,
in some cases with added capabilities, like a voice command to tell
your iPod to play music similar to what you're already listening
to, or to use a variety of shuffle commands.
The AJAX Application Delivery Challenge
Lori MacVittie, Dr Dobbs Journal
Web 2.0 technologies like AJAX can have far-reaching consequences when
it comes to security and performance. Users are demanding rich,
interactive browser-based applications. Security administrators require
these applications be secure on both ends of the wire. Server and
systems administrators insist that the application not consume more than
its fair share of resources, and network administrators are eyeing up
your application and calculating the charge-backs with a gleam in their
eye, wringing their hands gleefully while anticipating the probability
of funding their next upgrade based solely on the cost of bandwidth
needed to deliver your application. While Web 2.0 technologies like AJAX
("Asynchronous JavaScript and XML") provide the means by which you can
satisfy the demands of your users, these emerging technologies can also
have far-reaching consequence in terms of security and performance.
Advocates of Web 2.0 technologies like AJAX like to point out that AJAX
requests are typically smaller than their traditional HTML counterparts,
but they forget to mention there are more of them, more often.
Developers using JSON ("JavaScript Object Notation") as their protocol
of choice to exchange messages between the browser and the server like
to claim it is a "fat free" alternative to XML, but in reality the FDA
would call them out on that claim, not to mention the security risks
inherent in using JSON that aren't present with its XML counterpart.
Apache Synapse Graduates, Releases 0.91
Paul Fremantle, The Server Side
The Apache Synapse project is pleased to announce that it has graduated
from the Apache Incubator and become a full member of the Apache Web
Services project. This is a recognition of the hard work of the team in
creating a Service Oriented Architecture (SOA) mediation broker project
that meets the Apache Software Foundations guidelines for community,
processes and approach. To celebrate, the Synapse team has released 0.91
of the project. Apache Synapse is a lightweight, high-performance broker
for routing and mediating XML messages. It is designed to be the basis
of a highly manageable XML-oriented Enterprise Service Bus. It has
support for logging, routing, and transforming all kinds of XML messages
including XML/HTTP, SOAP, JMS, and others. It supports a number of open
standards including XSLT, XPath, WS-ReliableMessaging, WS-Security,
WS-Policy and WS-Addressing. The highlights of the release include: (1)
Content-based routing using XPath 1.0; (2) Configurable Message logging
based on Apache Commons Logging; (3) Support for XML and SOAP over JMS,
tested with Apache ActiveMQ; (4) Initiation and termination of
WS-Reliable Messaging 1.0; (5) Authentication and Authorization using
WS-Security 1.1; (6) Support for remote configuration via HTTP-based
registries; (7) Extensible using Java and scripting languages, including
support for JavaScript, E4X, JRuby, and other scripting languages.
Another Loss for GPLv 3?
Sean Michael Kerner, InternetNews.com
Two little words, one very big difference: Open source database vendor
MySQL AB recently altered some of the wording of its license in order
to let users know that it won't automatically be licensed under the
next version of the General Public License, or GPL version 3, when that
draft is finalized. The move signals that MySQL AB is protecting its
options regarding what may or may not make its way into the next version
of the open source license, and opting for control over the licensing
process by sticking with the current GPL v2. MySQL isn't the only open
source group making such as move. The Linux kernel itself is likely to
remain as GPL version 2. GPL version 2 is the premier open source
license in use today and is currently undergoing discussion and draft
revision. After two drafts in 2006, a third and final draft is expected
early this year. Among the key changes in the new license are new terms
regarding patents and digital rights management. The change to the MySQL
licensing terms revises the words "GPLv2 or later" to read "GPLv2 only,"
according to a blog posting by Kaj Arno, a MySQL AB vice president of
community. According to Arno, the change was necessary "in order to make
it an option, not an obligation for the company to move to GPLv3." Arno
did not respond to request for comment by press time. What MySQL is doing
is taking advantage of a loophole in Section 9 of the current GPL
license. For example, GPL version 2 states that each version of the GPL
has a specific version number, and that licensees "have the option of
following the terms and conditions either of that version or of any
later version published by the Free Software Foundation."
XML.org is an OASIS Information Channel
sponsored by BEA Systems, Inc., IBM Corporation, Innodata Isogen, SAP AG and Sun
Microsystems, Inc.
Use http://www.oasis-open.org/mlmanage
to unsubscribe or change an email address. See http://xml.org/xml/news_market.shtml
for the list archives. |