A Cover Pages Publication http://xml.coverpages.org/
Provided by OASIS and Sponsor Members
Edited by Robin Cover
This issue of XML Daily Newslink is sponsored by:
Primeton http://www.primeton.com
Headlines
- Microsoft Prepping Preview of REST Support, App Server Improvements
- OASIS Emergency Management TC Submits EDXL-RM and HAVE Specifications for Standardization
- Netflix REST API Supports Atom and OAuth
- Spring and Apache CXF: Create a RESTful Web Service
- Apache Xerces Project Releases Xerces-C++ 3.0.0
- Ajax Validation with Struts 2
- Open-Source CodeSynthesis XSD Version 3.2.0 Released
Microsoft Prepping Preview of REST Support, App Server Improvements
John Fontana, Network World
Microsoft on Wednesday said it plans to significantly increase its support for REST as part of three technologies it will preview later this month that contribute to building a foundation for supporting Web 2.0 and composite applications. At its annual Professional Developers Conference Microsoft will hand out to attendees "community technology previews" (CTP) of Windows Workflow Foundation (WWF) 4.0, Windows Communication Foundation (WCF 4.0) and a set of technologies code-named Dublin that begin to turn Windows application server into a host for composite applications. REST is a way to build simple interfaces for services and is a lightweight alternative to the Simple Object Access Protocol (SOAP) used in many Web services today. With Dublin, Microsoft is turning its Web application server into a platform to host those applications. Dublin will provide code as pre-built services including message-based correlation, message forwarding service, content-based message routing and compensation service for long-running transactions. Dublin also will work in conjunction with BizTalk Server and integrate with "Oslo," Microsoft's forthcoming modeling platform that is a highlight for PDC. Users building Oslo models will be able to deploy those on Dublin... One important step for developers is improved support for REST interfaces in WCF 4.0 and a REST Starter Kit. There is a running debate among developers comparing Microsoft's WS-* stack of Web services protocols, which are mostly based on SOAP, and REST, which is a more lightweight mechanism for lashing together services. The Starter Kit will ship with WCF in the .Net Framework 4.0 and provide Visual Studio project and item templates including: REST Singleton Service, REST Collection Service, ATOM Feed Service, Atom Publishing Protocol Service and HTTP Plain XML Service. WCF 4.0 also includes messaging enhancements around UDP and MQ transport technology, and protocols support for SOAP over UDP, WS-Discovery, and WS-BusinessActivity. Microsoft also plans to use XAML, its declarative XML-based language, to integrate WCF and WWF, giving developers the ability to build entire applications in XAML... [Note related information in Microsoft's 'Dublin' App Server Tied to .NET 4.0.]
See also: the Microsoft announcement
OASIS Emergency Management TC Submits EDXL-RM and HAVE Specifications for Standardization
Sukumar Dwarkanath, Patti Aymond, Rex Brooks, (et al., eds), OASIS Committee Specifications
The OASIS Emergency Management Technical Committee (EMTC) has submitted two approved Committee Specifications for considered as an OASIS Standards. This TC was chartered to design, develop, and release XML-based standards that provide a framework for interoperability among diverse emergency information systems. The "Emergency Data Exchange Language Resource Messaging (EDXL-RM) 1.0" specification provides a set of standard formats for XML emergency response messages. The goal of the EDXL project is to facilitate emergency information sharing and data exchange across the local, state, tribal, national and non-governmental organizations of different professions that provide emergency response and management services. EDXL will accomplish this goal by focusing on the standardization of specific messages (messaging interfaces) to facilitate emergency communication and coordination particularly when more than one profession or governmental jurisdiction is involved. ED-XL Resource Messages are specifically designed as payloads of Emergency Data Exchange Language Distribution Element- (EDXL-DE)-routed messages. Together EDXL-DE and EDXL-RM are intended to expedite all activities associated with resources needed to respond and adapt to emergency incidents. The Distribution Element may be thought of as a "container". It provides the information to route "payload" message sets (such as Alerts or Resource Messages), by including key routing information such as distribution type, geography, incident, and sender/recipient IDs... The "Emergency Data Exchange Language (EDXL) Hospital AVailability Exchange (HAVE) Version 1.0" specification defines an XML document format that allows the communication of the status of a hospital, its services, and its resources. These include bed capacity and availability, emergency department status, available service coverage, and the status of a hospital's facility and operations. In a disaster or emergency situation, there is a need for hospitals to be able to communicate with each other, and with other members of the emergency response community. The ability to exchange data in regard to hospitals' bed availability, status, services, and capacity enables both hospitals and other emergency agencies to respond to emergencies and disaster situations with greater efficiency and speed. In particular, it will allow emergency dispatchers and managers to make sound logistics decisions - where to route victims, which hospitals have the ability to provide the needed service. Many hospitals have expressed the need for, and indeed are currently using, commercial or self-developed information technology that allows them to publish this information to other hospitals in a region, as well as EOCs, 9-1-1 centers, and EMS responders via a Web-based tool... [Note the announcements for EDXL-RM and EDXL-HAVE]
See also: HAVE
Netflix REST API Supports Atom and OAuth
Michael Hart, Netflix API Developer Blog
"On behalf of the Netflix API team, I'm very excited to announce the release of the Netflix API and to launch this site for our developer community... The Netflix API includes a JavaScript API, REST API and ATOM feeds. Use of the API is free and we even allow commercial use. Web applications can use the JavaScript API to easily integrate basic Netflix service capabilities, such as allowing a subscriber to add a title to his queue without visiting the Netflix web site or start watching a title instantly. The REST API provides finer-grained access to a very wide range of Netflix service capabilities and lets your application control the user experience. If you can perform a function on the Netflix website, it's likely available via the REST API. Use this API to access rich metadata around our 100,000 title catalog, tap into rich user activity, manipulate DVD and instant queues and get title recommendations. The REST API uses standard OAuth authentication to allow applications to safely access the Netflix service on a subscriber's behalf without requesting his user name or password. A simpler subset of OAuth can be used to access REST API resources that do not require subscriber authorization, such as the catalog. The API also includes a variety of ATOM feeds that allow easier sharing of subscriber activity including queue usage, ratings, reviews and rental history. The feeds can be accessed programmatically using the REST API, which means your users no longer must cut-and-paste feed URLs or security tokens into your applications. While OAuth is required to access a subscriber's list of feeds, the feeds URLs themselves have embedded security tokens making them accessible to applications that don't support OAuth..."
See also: WebProNews
Spring and Apache CXF: Create a RESTful Web Service
Rajeev Hathi and Naveen Balani, IBM developerWorks
This article explores the features and benefits of using the Representational State Transfer (REST) architecture and illustrates the use of the REST API in CXF to easily develop a RESTful service. CXF is an open source Web service framework that provides a simple API to conveniently build and develop a Web service. A Web service can be very complex because Web service development involves implementing various infrastructural components, such as Web Services Description Language (WSDL) and SOAP, which in turn bind to various other standards. Every Web server that offers a Web services solution has to invest a lot in terms of creating a robust Web service infrastructure model. From the point of view of developers, it becomes increasingly complex to learn the technology. But never fear! REST comes to the rescue. RESTful Web services are simply XML-over-HTTP services. Unlike a usual Web service, which has various contracts to be defined and negotiated between the provider and consumer, RESTful services encapsulate data in a simple XML form and transport it over HTTP just like a Web page request to the Web server. REST is more of an architecture than an implementation or a standard. The REST architecture style is related to a Web resource, which is a representation identified by a Uniform Resource Indicator (URI). The resource can be any persistent entity, including Order, Customer, Employee, and so on. The client queries or updates the resource through the URI and, therefore, influences a state change in its representation. In simple terms, a client program can access, update, add, or remove a Web resource through URI using various HTTP methods, thereby changing its representational state. HTTP methods include GET, POST, PUT, and DELETE... RESTful HTTP provides a unique concept to the way resources are accessed and manipulated and a completely new dimension to Web service development. With Web-based development becoming more popular and common, REST technology is only going to get better.
Apache Xerces Project Releases Xerces-C++ 3.0.0
Staff, Apache News Online
Members of the Apache Xerces Project development team have announced the availability of Xerces-C++ Version 3.0.0. This release is available in source code and as pre-compiled libraries/examples for several platforms and architectures. Xerces-C++ is an open-source validating XML parser written in a portable subset of C++. It provides DOM (level 1, 2, and 3), SAX, and SAX2 APIs and supports validation of XML documents against DTD and XML Schema. Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents. The parser provides high performance, modularity, and scalability. Source code, samples and API documentation are provided with the parser. For portability, care has been taken to make minimal use of templates, no RTTI, and minimal use of #ifdefs. The parser is used for: building XML-savvy Web servers, building next generation of vertical applications that use XML as their data format, on-the-fly validation for creating XML editors, ensuring the integrity of e-business data expressed in XML, and building truly internationalized XML applications. Xerces-C++ Version 3.0.0 is interface-incompatible with Xerces-C++ 2.8.0 and contains a large number of improvements, bug fixes, and clean-ups. For example: (1) Autotools-based build system for the UNIX/Linux/Mac OS X platforms; (2) Project files for VC++ 9; (3) Support for the ICU transcoder in VC++ 7.1, 8, and 9 project files; (4) libcurl-based net accessor; (5) Support for XInclude in DOM; (6) Support for both XPath 1 and XPath 2 models in the DOM XPath interface; (7) Support for the XML Schema subset of XPath 1 in DOM; (8) Conformance to the final DOM Level 3 interface specification; (9) Ability to provide custom DOM memory manager as well as tune the global DOM heap parameters; (10) All public and widely used interfaces as well as a large portion of the implementation were converted to be 64-bit safe; (11) Various XML Schema fixes including the fix for the large maxOccurs and minOccurs bug as well as for the changed ##other interpretation; (12) Reviewed and cleaned up diagnostics messages; (13) Optimizations for SAX/SAX2 and DOM parsing as well as XML Schema validation.
See also: the Apache Xerces Project Charter
Ajax Validation with Struts 2
Oleg Mikheev, Java World
In this article the author looks under the hood of the Struts 2 validation mechanism and shows you how its Java, JavaScript, and Ajax support can take the pain out of Web-form validation. Web applications often require user input, which can range from simple username/password values to data entered into a complex form with dependent fields. The task of validating Web-form input is often more complex than implementing the logic to execute on the data after it's submitted. A validation framework can help simplify validation coding—and the more complex your validation rules, the more pain the framework can spare you. Apache Struts was one of the first Web application frameworks designed to automate Web forms processing, and it is the best-known. This article explores the powerful form-validation options offered by Struts' successor, Struts 2. The key component in XWork is Action. Action is basically a class that contains the code that you want to execute on a specific request originating from the browser. Another important XWork component is Interceptor. As its name suggests, Interceptor intercepts calls to Action to do more processing on them—a mechanism quite similar to the concept of aspect-oriented programming (AOP)... The validation framework looks for an XML validation configuration whose name is 'ActionClass-validation.xml', where ActionClass is the name of the related action class. The validation configuration must be located in the same package as the action class itself. Because a single action class can be used in different actions, is is possible to have a validation configuration for each of the actions, in which case the file should be named ActionClass-ActionName-validation.xml. Struts 2 supports object-oriented programming concepts and considers validation configurations for all classes that the action extends and all interfaces that it implements... The real power of the Struts 2 validation framework is unveiled when it comes to more-advanced validation use cases. In lots of situations a field value depends on another field value. For example, suppose you want a special age rule applied if name field's value is Joe. Struts 2 has a special validator capable of resolving Object Graph Navigation Language (OGNL) expressions. OGNL is a powerful expression language that lets you crawl Java object graphs...
See also: the Struts 2 web site
Open-Source CodeSynthesis XSD Version 3.2.0 Released
Boris Kolpackov, XML-DEV Posting
Developers have announced the release of CodeSynthesis XSD 3.2.0. CodeSynthesis XSD is an open-source (GPL2 + proprietary license), cross-platform W3C XML Schema to C++ data binding compiler. Provided with a schema, it generates C++ classes that represent the given vocabulary as well as parsing and serialization code. You can then access the data stored in XML using types and functions that semantically correspond to your application domain rather than dealing with elements, attributes, and text in a direct representation of XML such as DOM or SAX. CodeSynthesis XSD supports both in-memory and event-driven processing models by implementing two C++ mappings: C++/Tree and C++/Parser. The C++/Tree mapping represents the information stored in XML documents as a tree-like, in-memory object model. The C++/Parser mapping generates parser skeletons for data types defined in XML Schema. Using these parser skeletons you can build your own in-memory representations or perform immediate processing of XML data as it becomes available. CodeSynthesis XSD is available on IBM AIX, GNU/Linux, HP-UX, Mac OS X, Solaris, and Windows. Supported C++ compilers include: GNU g++, HP aCC, IBM XL C++, Intel C++, Sun C++, and MS Visual C++. Major new C++/Tree features in this release includes support for locating object model nodes with XPath queries, automatic assignment of namespace prefixes during serialization, polymorphism-aware object model comparison and printing, generation of non-copying constructors, and support for the fractionDigits/totalDigits facets during serialization. For the C++/Parser there is support for generation of the XML Schema namespace into a separate header file; reduced usage of virtual inheritance results in a much smaller object code size and faster C++ compilation.
See also: the project web site
Sponsors
XML Daily Newslink and Cover Pages sponsored by:
IBM Corporation | http://www.ibm.com |
Oracle Corporation | http://www.oracle.com |
Primeton | http://www.primeton.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 unsubscribe: newsletter-unsubscribe@xml.coverpages.org
Newsletter help: newsletter-help@xml.coverpages.org
Cover Pages: http://xml.coverpages.org/