password
username
Sponsored by CakeMail, an email marketing software
Newsletter preview


XML Daily Newslink. Friday, 18 January 2008
A Cover Pages Publication http://xml.coverpages.org/
Provided by OASIS http://www.oasis-open.org
Edited by Robin Cover

====================================================
This issue of XML Daily Newslink is sponsored by
Sun Microsystems, Inc. http://sun.com
====================================================

HEADLINES:

* Tracking XML Data Changes Easily with SDO
* New Metro Policy Project
* Create Rich Applications with JavaFX Script
* Generate Ajax J2EE Web Applications with jpa2web
* A WebDAV Search Grammar for XML Properties
* The Current State-of-art in Newspaper Digitization: A Market Perspective
* The Presence-Specific Static Dictionary for Signaling Compression
(Sigcomp)
* Python Web Framework on the JVM

----------------------------------------------------------------------

Tracking XML Data Changes Easily with SDO
Young Yang, DevX.com

Tracking data changes is an essential requirement in many software,
application, and business-integration scenarios. Rigorously implementing
this requirement is relatively difficult because modeling and working
with the delta for typical changes is generally very involved. On the
other hand, repetitively implementing it in all the applicable
situations is a waste as a single proper model for the delta is
suitable for many situations, and in most of cases, the requirements
are similar. Service Data Object (SDO), a BEA Systems and IBM-led JSR
defining a generic solution for heterogeneous data access, provides
developers with an easy-to-implement mechanism for tracking data history
at the system level. This article shows an example of processing XML
data with SDO using version 1.0 of Apache Tuscany, a Java implementation
of SDO. Since SDO is not (yet) the standard solution for XML processing,
the article also covers basic XML data operations in SDO to provide
context. The XML data-processing example in this article assumes the
following three phases with a separate party responsible for each phase:
(1) Create, (2) Process, and (3) Review. The XML data are transported
between these phases (and parties) through a file system. The central
scenario of this example is as follows: the second party needs to record
changes he/she makes to an XML file created by the first party, and
when the third party reviews the XML data, he/she hopes to know of such
changes. If you use the Track Changes feature of Microsoft Word, you
will recognize the value of these requirements immediately. Many
applications have these requirements, including optimistic
concurrency-control implementation, synchronization of offline
application data with an active database, and business process management
(BPM) systems. We now demonstrate how SDO helps to implement these
requirements easily... You'll find successful SDO implementations not
only in leading open source and commercial software such as Eclipse,
BEA AquaLogic Data Services Platform (ALDSP), and IBM WebSphere Process
Server etc., but also in various languages including Java, C++, and PHP.
In 2007, two major developments occurred in the SDO ecosystem: In March,
Open SOA announced it would submit SDO to OASIS; in April, the JCP
formally declared it will consider SDO for inclusion in future versions
of Java EE.

http://www.devx.com/Java/Article/36536
See also the OASIS Service Data Objects (SDO) TC: http://www.oasis-open.org/committees/sdo/

----------------------------------------------------------------------

New Metro Policy Project
Staff, Glassfish/Metro Announcement

Metro (a high-performance, extensible, easy-to-use web service stack)
has a new Policy Project. Description: The policy project has two
distinct goals: (1) In the short term, make JAX-WS WS-policy aware by
moving out the generic policy code from project Tango. (2) In the
long term, provide a common, abstract policy API layer. The API design
should be independent of any particular policy expression language.
Instead it should be use case driven and ease-of-use oriented. The
project is inspired by the effort and experience gained with WS-Policy
and other policy languages for web services in project Tango. Unlike
the WS-Policy implementation in project Tango, this project is meant
to approach the policy domain in a much more general sense and to
enable policy features in a wide spectrum of Java SE and Java EE
applications. Fabian Ritzmann writes: "We are currently working on
moving the existing policy code out of Project Tango and into a
separate workspace. This open source project is hosted as a part of
the Metro community within GlassFish on java.net... Essentially, we
are moving up the policy code in the Metro stack from Tango to a base
library..."

https://policy.dev.java.net/
See also Fabian Ritzmann's blog: http://blogs.sun.com/ritzmann/entry/new_workspace_for_policy

----------------------------------------------------------------------

Create Rich Applications with JavaFX Script
Cathy Kegley and Greg Roberts, IBM developerWorks

JavaFX Script is a scripting language designed to facilitate the
creation of rich client and Internet applications. JavaFX Script,
which made its debut last spring, is a scripting language that runs on
top of Java Platform, Standard Edition 6 (Java SE) and makes it easy
to code sophisticated user interfaces. The language is highly portable
and can run on any system that supports Java technology, without local
installation. It uses underlying Java technologies to let you create
GUIs of any size or complexity easily. This article walks you through
the basics of the JavaFX Script language and uses a sample application
to introduce some UI components. JavaFX Script is a statically typed
language, which means that the data type of every variable, parameter,
and method return value is known at compile time. JavaFX Script is
also a declarative programming language: it describes what the
application is like rather than how to create it. The algorithm that
determines how to display the application on the screen is left to the
support software (Swing's Java 2D APIs). Because of these traits,
JavaFX Script is well suited for GUI creation. JavaFX Script
licensing: JavaFX Script, as of this writing, is one of a family of
JavaFX products from Sun Microsystems. (The only other family member
currently is JavaFX Mobile, an operating and application environment
for Java technology-enabled devices.) Sun has announced that JavaFX
Script will be licensed under the GNU Public License v2 in the future.
Meanwhile, the JavaFX Community is built around sharing early versions
of the JavaFX Script language and collaborating on its developmen

http://www.ibm.com/developerworks/java/library/j-javafx/
See also JavaFX Technology: http://java.sun.com/javafx/

----------------------------------------------------------------------

Generate Ajax J2EE Web Applications with jpa2web
Maximo Gurmendez, IBM developerWorks

This article presents a new open source tool (jpa2web) which generates
J2EE Ajax-based Web applications from JPA-annotated beans. Using the
ZK framework, the applications generated by this tool allow your users
to add, delete, search, modify, and interconnect instances of
database-synchronized objects in a friendly, Ajax-based Web user
interface. ZK is an open source, Ajax Web framework used to create a
rich user interface for Web applications, with little programming and
no JavaScript code necessary. With ZK, you can design Web applications
much as if they were desktop applications. ZK takes care of the client
and server Ajax processing. All that needs to be done is to specify
the user interface by creating simple XML files (called zul files) and
scripting the event handlers in the language of choice: Java code
(compiled), Bean Shell (interpreted Java), Groovy, Ruby, JavaScript,
and some others. Readily available tools have dramatically reduced
the impedance created between Java objects and their database storage;
specially, the ease with which Java classes can now be annotated to
specify the way objects should be persisted. Developers are freed from
the onerous task of writing up database integration codes. Hibernate
solves the persistence issue; however, Web pages need to be created to
handle these elements. A typical scenario for a medium-sized Web
application can proceed something like this: The developer starts by
coding the Plain Old Java Objects (POJOs) that represent a particular
domain model, and then proceeds to create the different transactions
and the Web user interface. A subset of the elements of the model will
frequently involve non-transactional data. Customers, clients,
countries, locations, employees, and companies are typical elements
of a business model that are maintained by a few operators. Why not
ted beans? And why not make this presentation a friendly Ajax experience?
Regardless of its limitations, jpa2web is a useful tool in many
scenarios. You can use it to quickly generate the Web interfaces for
non-transactional elements just by having the annotated beans. You can
also use it for testing by creating the necessary instances of objects
in a database, thus avoiding verbose entity creation scripts.

http://www.ibm.com/developerworks/web/library/wa-aj-jpa2web/

----------------------------------------------------------------------

A WebDAV Search Grammar for XML Properties
Roberto Javier Godoy and Hugo Minni (eds), IETF Internet Draft

This version -00 Internet Draft specifies XS:xml-search, an optional
search grammar for use with the Web Distributed Authoring and
Versioning (WebDAV) SEARCH protocol. The full expression power of
XPath may exceed the requirement in simple use cases, therefore some
provisions are made in order to reduce the cost of implementing this
specification, as well as the computational cost of evaluating allowed
queries. The intent of the document is to extend the 'DAV:basicsearch'
grammar for dealing with properties whose values are XML fragments.
Since the WebDAV property namespace is flat, and resources may have at
most one value for a property of a given name, XML documents allowing
repeatable elements cannot be expressed as a set of independent WebDAV
properties (i.e by mapping some elements to properties), and the
'DAV:basicsearch' schema cannot be applied to such XML content because
it deals with property values as a whole. 'XS:xml-search' is proposed
as a different search grammar because it defines a new element
(namely XS:filter) that modify the query semantics. XML Extensibility:
The extensibility mechanism from Section 17 of RFC 4918 (i.e., to
process received XML documents as if unexpected elements and attributes,
and all children of unrecognized elements, were not present) may be
inappropriate when dealing with queries because they would not be
evaluated as specified by the client (e.g. the query criteria may be
loosen or the result record or may be incomplete). The omission of
unexpected content might not be realized by the client. The security
considerations of WebDAV SEARCH and WebDAV (RFC 4918), as well as
those of HTTP/1.1 and XML are applicable to the WebDAV extension
described in this document.

http://xml.coverpages.org/draft-godoy-webdav-xmlsearch-00.txt
See also Web Distributed Authoring and Versioning (WebDAV) SEARCH: http://ietfreport.isoc.org/idref/draft-reschke-webdav-search/

----------------------------------------------------------------------

The Current State-of-art in Newspaper Digitization: A Market Perspective
Edwin Klijn, D-Lib Magazine

In the last few years, as digitization has gradually moved from an
experimental and temporal activity towards one that is structural and
continuous, mass digitization projects have been gaining ground. Almost
simultaneously with the 'coming-of-age' of digitization, an increasing
number of large-scale newspaper digitization projects (Austria, Australia,
Belgium, Finland, Chili, Sweden, New Zealand, USA) have emerged. From
2007 to 2011, within the framework of the project Databank of Digital
Daily Newspapers (DDD), the Koninklijke Bibliotheek (KB, the National
Library of the Netherlands) will digitize and put online 8 million pages
from a selection of national, regional, local and colonial Dutch daily
newspapers. Focal points in this survey of current practices included:
digital imaging technology, OCR, zoning and segmentation, metadata
extraction, searchability and web delivery systems. Many of the surveyed
companies are involved in developing zoning and segmentation techniques.
Some offer the whole process from digitization to segmentation and
presentation as a package deal. Other companies have a modular approach;
they deliver XML-based, segmented newspaper pages and offer the use of
their presentation and search systems as options... For zoning and
segmentation about half of all survey respondents use the ALTO-format.
ALTO (Analyzed Layout and Text Object) is a standardized XML format for
storing layout and content information. Some advanced segmentation
techniques can automatically recognize and capture article headlines,
page numbers and publication dates. The initial results after automated
segmentation are largely determined by the level of irregularity in the
layout. Nearly all respondents are able to provide basic metadata such
as newspaper title, issue, page, article headline, etc. They support
export of these elements to Dublin Core, METS, NEWSML and custom-made
schemas.

http://www.dlib.org/dlib/january08/klijn/01klijn.html

----------------------------------------------------------------------

The Presence-Specific Static Dictionary for Signaling Compression
(Sigcomp)
Miguel A. Garcia-Martin (ed), IETF Internet Draft

The IETF RFC editor announced that the "The Presence-Specific Static
Dictionary for Signaling Compression (Sigcomp)" specification is now
a Proposed Standard Protocol, published as RFC 5112. The document
defines the presence-specific static dictionary that SigComp can use
in order to compress presence documents to achieve higher efficiency.
The Session Initiation Protocol (SIP)is extended by the SIP-events
framework to provide subscriptions and notifications of SIP events. One
example of such an event-notification mechanism is presence. The
presence information is typically carried in Extensible Markup Language
(XML) documents that are compliant with a given XML schema. The Presence
Information Data Format (PIDF) defines the format for the basic
presence document that supplies presence information. Typically, PIDF
is used in combination with other extensions to provide a richer user
experience, among others: the Presence Data Model, Rich Presence
Extensions to PIDF (RPID), Contact Information in PIDF (CIPID), the
SIP Event Notification Extension for Resource Lists and the SIP User
Agent Capability Extensions to PIDF, or the Location Object in PIDF.
Typically, presence documents can contain large amounts of data. The
size of this data is dependent on the number of presentities that a
watcher is subscribed to and the amount of information supplied by
the presentity. This can impose a problem in environments where
resources are scarce (e.g., low bandwidth links with high latency)
and the presence service is offered at low or no cost. This is the
case, e.g., of some wireless networks and devices. It is reasonable
to try to minimize the impact of bringing the presence service to
wireless networks under these circumstances. Our initial simulations
when developing this dictionary reveal that once the current mitigation
mechanisms are applied (e.g., Sigcomp, partial notification, partial
publication), a further compression factor of 10% can be achieved when
Sigcomp uses the presence-specific static dictionary.

http://xml.coverpages.org/IETF-RFC-5112.txt
See also the SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE) WG: http://www.ietf.org/html.charters/simple-charter.html

----------------------------------------------------------------------

Python Web Framework on the JVM
Craig Wickesser, InfoQueue

Python, a dynamic object-oriented programming language, has been around
for quite some time. In its lifetime there have been many web
frameworks to choose from (i.e. Pylons, TurboGears, CherryPy, Zope,
Django, etc) making it difficult for developers to make a selection.
Recently Django has picked up steam in the world of Python and Java.
Django is a high-level Python Web framework that encourages rapid
development and clean, pragmatic design. Developed and used over two
years by a fast-moving online-news operation, Django was designed to
handle two challenges: the intensive deadlines of a newsroom and the
stringent requirements of the experienced Web developers who wrote it.
It lets you build high-performing, elegant Web applications quickly.
Django focuses on automating as much as possible and adhering to the
DRY principle. On the JVM side there exists Jython, An implementation
of the high-level, dynamic, object-oriented language Python written
in 100% Pure Java, and seamlessly integrated with the Java platform.
It thus allows you to run Python on any Java platform. A side goal of
Jython 2.5 is to try to get some CPython frameworks working, especially
the web frameworks, for example: Django, Pylons, TurboGears, and
Twisted.

http://www.infoq.com/news/2008/01/django_on_jython
See also the Jython Project: http://www.jython.org/

----------------------------------------------------------------------

XML Daily Newslink and Cover Pages are sponsored by:

BEA Systems, Inc. http://www.bea.com
EDS http://www.eds.com
IBM Corporation http://www.ibm.com
Primeton http://www.primeton.com
SAP AG http://www.sap.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: newsletter-subscribe@xml.coverpages.org
Newsletter ***: newsletter-***@xml.coverpages.org
Newsletter help: newsletter-help@xml.coverpages.org
Cover Pages: http://xml.coverpages.org/

----------------------------------------------------------------------