This issue of XML Daily Newslink is sponsored by:
BEA Systems, Inc. http://www.bea.com
- GRDDL Advances to W3C Candidate Recommendation
- Tackle WS-Security Specification Interoperability Challenges
- Last Call for W3C CC/PP 2.0 Specification to Guide Content Adaptation
- Proposed Microsoft, IBM Identity Protocol Standard Spawns Controversy
- Using Python, Ruby, and Web Services with SCA
- Web 2.0, Ajax Seen Revolutionizing BPM
- XA Transactions Using Spring
GRDDL Advances to W3C Candidate Recommendation
Dan Connolly (ed), W3C Technical Report
W3C has announced the advancement of the GRDDL specification to the level of Candidate Recommendation, and the publication of "GRDDL Test Cases" as a Last Call Working Draft. W3C invites feedback on implementation experience, and GRDDL will remain a CR until at least 30-May-2007. GRDDL (Gleaning Resource Descriptions from Dialects of Languages) introduces markup based on existing standards for declaring that an XML document includes data compatible with the Resource Description Framework (RDF) and for linking to algorithms (typically represented in XSLT), for extracting this data from the document. The markup includes a namespace-qualified attribute for use in general-purpose XML documents and a profile-qualified link relationship for use in valid XHTML documents. The GRDDL mechanism also allows an XML namespace document (or XHTML profile document) to declare that every document associated with that namespace (or profile) includes gleanable data and for linking to an algorithm for gleaning the data. The general form of associating a GRDDL transformation link with a well-formed XML document is adding to the root element a grddl namespace declaration and a 'grddl:transformation' attribute whose value is an IRI reference, or list of IRI references, that refer to executable scripts or programs which are expected to transform the source document into RDF. This method is suitable for use with any XML dialects that can accomodate an extra namespace-qualified attribute on the root element. Transformations can be associated not only with individual documents but also with whole dialects that share an XML namespace. Any resource available for retrieval from a namespace URI is a namespace document. For example, a namespace document may have an XML Schema representation or an RDF Schema representation, or perhaps both, using content negotiation. The "GRDDL Use Case Working Draft" provides motivating examples. A GRDDL Primer demonstrates the mechanism on XHTML documents which include widely-deployed dialects known as microformats. A GRDDL Test Cases document illustrates specific issues in this design and provides materials to aid in test-driven development of GRDDL-aware agents.
See also: the Test Cases
Tackle WS-Security Specification Interoperability Challenges
David Leigh, IBM developerWorks
Web services are often promoted as the ideal solution to application interoperability, and they are effective at integrating applications regardless of platform, vendor, and programming language. But they're not immune from interoperability issues. As various WS-* Web services extensions evolve, vendors must choose which draft specifications to support, and developers occasionally need to cope with incompatibility issues between different specifications. The WS-Security standard provides mechanisms for applying authentication, integrity, and confidentiality to SOAP messages. These capabilities are often required for the adoption of Web services and Services-Oriented Architecture (SOA) within the enterprise. Unfortunately, due to changes in the wire format of the WS-Security SOAP header specification, Web service consumer applications and target Web services that conform to the draft 13 specification can't interact with consumer applications and target services that conform to the version 1.0 specification. For example, a J2EE 1.3 Web service consumer application running in WebSphere Portal Server V5.1 can't use WS-Security to communicate with a J2EE 1.4 service provider application running in WebSphere Application Server V6.0. And the problem isn't limited to the IBM middleware software stack. For example, the Microsoft .NET Web Services Enhancements (WSE) 1.0 is also based on a draft version of the WS-Security specification, and the same interoperability problems occur when trying to communicate between this stack and any other that's based on the WS-Security 1.0 specification. This article outlines the relative benefits and drawbacks of workarounds to help you to determine the best workaround approach for your situation: (1) Upgrade Web service consumer applications to J2EE 1.4; (2) Use a middleware proxy; (3) Use an EJB proxy; (4) Add a new provider endpoint.
Last Call for W3C CC/PP 2.0 Specification to Guide Content Adaptation
Cdric Kiss (ed), W3C Technical Report
W3C's Ubiquitous Web Applications Working Group has released a Last Call Working Draft for "Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies 2.0." A CC/PP profile is a description of device capabilities and user preferences, often referred to as a device's delivery context; such description can be used to guide the adaptation of content presented to that particular device. As the number and variety of devices connected to the Internet grow, there is a corresponding increase in the need to deliver content that is tailored to the capabilities of different devices. Some limited techniques, such as HTTP 'accept' headers and HTML 'alt=' attributes, already exist. The CC/PP general purpose profile format is part of a framework for content adaptation and contextualization to describe the capabilities of a user agent and preferences of its user. A CC/PP profile contains a number of CC/PP attribute names and associated values that are used by a server to determine the most appropriate form of a resource to deliver to a client. It is structured to allow a client to describe its capabilities by reference to a standard profile, accessible to an origin server or other sender of resource data, and a smaller set of features that are in addition to or different than the standard profile. A set of CC/PP attribute names, permissible values and associated meanings constitute a CC/PP vocabulary. CC/PP is based on RDF, the Resource Description Framework, which was designed by the W3C as a general purpose metadata description language. It is anticipated that different applications will use different vocabularies; indeed this is needed if application-specific properties are to be represented within the CC/PP framework. But for different applications to work together, some common vocabulary or a method to convert between different vocabularies is needed. CC/PP 2.0 is designed to be broadly compatible with the UAProf 2 specification from the OMA (formerly known as WAP Forum), in the same way CC/PP 1.0 used to accommodate UAProf 1.0 profiles. CC/PP is compatible with IETF RFC 2533 media feature sets (CONNEG) in the sense that all media feature tags and values can be expressed in CC/PP. Comments are welcome through 15-June-2007.
See also: W3C and OMA
Proposed Microsoft, IBM Identity Protocol Standard Spawns Controversy
John Fontana, Network World
OASIS has created a committee to guide Web Services Federation Language (WS-Federation) version 1.1 through the standards process. The protocol, one of many in the WS-* stack of security protocols, lets companies share identities and security tokens. IBM and Microsoft developed WS-Federation in 2002 along with a number of other proprietary Web Services protocols using the 'WS' naming convention. Many, such as WS-Trust, has been turned over to standards bodies, but others, such as WS-Transfer have not. The WS-Federation specification has dependencies on both those protocols in order to function properly. Critics of the move to standardize WS-Federation say the protocol overlaps work already done by OASIS as part of the Security Assertion Markup Language (SAML) 2.0 specification, most notably browser-based federation as part of WS-Federation's Passive Requestor Profile. SAML 2.0 was standardized by OASIS in 2005. Microsoft's Marc Goodner, who will be part of the WS-Federation technical committee, says the Technical Committee will not address the overlap issue, noting that is not uncommon to see two different ways to address the same functionality; the key difference between SAML and WS-Federation is that the latter is built on top of WS-Trust and is part of the larger architecture for WS-*. An OASIS spokeswoman said the standards body has examples of overlapping standards such as Universal Description, Discovery and Integration (UDDI) and Electronic Business XML [regrep], both registry technologies for Web services.
See also: the announcement
Using Python, Ruby, and Web Services with SCA
Andrew Borley, IBM developerWorks
This article, "Build a Simple C++ Service Component, Part 2: Using Python, Ruby, and Web Services with the Service Component Architecture," shows how to expose your scripts as SCA components and Web services using the Python, Ruby, and Web services support in Apache Tuscany SCA for C++. The Apache Tuscany C++ Service Component Architecture (SCA) runtime enables you to build SCA components using standard C++, Python, or Ruby code. You can then deploy them to a location where the SCA runtime can locate and load them. These components can be wired together, reused, replaced with other components written in different languages, or exposed as Apache Axis Web services. Begin by downloading the Tuscany C++ Milestone 2 release from the Tuscany Web site and getting the PythonCalculator and the RubyCalculator samples working by following the documentation...you take some existing Python code, turn it into an SCA component, and then wire it to a second component that provides some useful function implemented in Ruby. You then expose your system as a Web service and used a second SCA composite to invoke that service. [Note and Tuscany: "Data Access Service (DAS) simplifies handling of data when interacing with the back-end data source and frees application developers from dealing with tedious and error-prone transformation between end source types and SDO Data Object Types/properties. Tuscany provides implementation for different flavors of DAS in two languages, Java and C++. Please follow the link under each language to explore what is available or is in progress. We welcome your help to extend support for other back-end data source types or complete the existing solutions."]
See also: the Apache Tuscany project
Web 2.0, Ajax Seen Revolutionizing BPM
Rich Seeley, SearchWebServices.com
Web 2.0 is going to change business process management (BPM), as much or more than service-oriented architecture (SOA) and Ajax already have, predicts Rashid Khan, CEO of Ultimus Inc., a BPM software maker he founded in 1994. He compares the current state of knowledge about the impact of Web 2.0 with how the software industry understood Ajax just two years ago, when he began work on a re-write of his company's BPM product, currently scheduled for release in the final quarter of this year. "Ajax wasn't there in a big way two years ago," he said. But Ajax is now at the center of the patented Ultimus Human Services Bus, which is designed for what Khan calls the "human centric" processes with BPM. For example, he said Ajax coupled with Web services provide real-time updates to shared documents, making things like changing calculations in a back office server immediately available to people processing a purchase order. Khan sees Web 2.0 technologies emerging at a time when SOA and BPM are beginning to focus more on the people side of business processes, rather than just being about connecting servers and moving data around more effectively. He said this change began with the advent of Ajax, one of the key Web 2.0 enabling technologies. Kahn envisions the current social networking of consumer Web 2.0, which is about people sharing information—albeit photos, videos and music samples—inspiring the next generation of BPM used by corporations.
XA Transactions Using Spring
Murali Kosaraju, JavaWorld Magazine
Using J(2)EE application server has been a norm when high-end features like transactions, security, availability, and scalability are mandatory. There are very few options for java applications, which require only a subset of these enterprise features and, more often than not, organizations go for a full-blown J(2)EE server. This article focuses on distributed transactions using the JTA (Java Transaction API) and will elaborate on how distributed transactions (also called XA) can be used in a standalone java application, without a JEE server, using the widely popular Spring framework and the open source JTA implementations of JBossTS, Atomikos and Bitronix. It outlines some of the use cases where distributed transactions (XA) could be used and how an application can achieve transactional processing using JTA along with the best of the breed technologies. The main focus is on using Spring as a server framework and how one can integrate various JTA implementations seamlessly for enterprise level distributed transactions. The article also show-cases how Spring framework provided POJO based solutions and declarative transaction management with minimal intrusion while promoting best design practices. The use cases demonstrate how Spring provides us with a rich transaction management abstraction, enabling us to easily switch between different JTA providers seamlessly.
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/