This issue of XML Daily Newslink is sponsored by:
Sun Microsystems, Inc. http://sun.com
- 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.
See also: the OASIS Service Data Objects (SDO) TC
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..."
See also: Fabian Ritzmann's blog
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
See also: JavaFX Technology
Generate Ajax J2EE Web Applications with jpa2web
Maximo Gurmendez, IBM developerWorks
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.
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.
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.
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.
See also: the Jython Project
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/