This issue of XML Daily Newslink is sponsored by:
IBM Corporation http://www.ibm.com
- Combined Presence Schemas Utilizing RELAX NG
- Establishment of the SVGMap Consortium
- SOA World Magazine "BPEL's Growing Up"—What's Next?
- Securing Communications in Web Services: A Tutorial
- IBM Safari to Help Developers Navigate Languages
- Sun Shines Ruby Support for Java Developers
- Workshop Report: W3C Web of Services for Enterprise Computing
- Web Application Description Language (WADL)
- Web of Services Workshop Summary and Observations
- NISO License Expression Working Group Progresses XML-based Exchange
- XML Parsing, State Machines, and UTF-32
Combined Presence Schemas Utilizing RELAX NG
Jari Urpalainen (ed), IETF Internet Draft
IETF has announced the release of an initial Internet Dtaft version of "Combined Presence Schemas Utilizing RELAX NG." The I-D was produced by members of the IETF SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE) Working Group. The memo describes a batch of Presence Information Data Format (PIDF) and its extension schemas written with the RELAX NG schema language. Within a Common Presence Profile (CPP) compatible presence system presence data is represented using the Extensible Markup Language (XML) based Presence Information Data Format (PIDF). The PIDF format describes the baseline of the presence instance documents and currently many extensions have been described: e.g. DataModel, RPID, CIPID, CAPS, LocationTypes, and TimedStatus. The content model of these XML documents is described primarily with the W3C XML Schema language. While the W3C XML Schema language has an extensive amount of impressive properties, for example the versioning support is still lacking. That is, it is impossible write reasonable forwards and backwards compatible schemas because of the "Unique Particle Attribution" constraint described in Appendix H of the recommendation and because wildcard definitions aren't flexible enough. Therefore, all the presence extension schemas can not extend PIDF so that e.g. positions for the new elements could be defined within the extension schema so that wildcard definitions would still exist. On the contrary, with the RELAX NG schema language it is possible to write a reasonable combination of schemas where the positioning of extensions while retaining wildcard definitions can easily be done. In other words, these RELAX NG schemas are strict about extension positions, it is not possible to put extension elements into "wrong" locations. This memo describes a batch of these schemas which try to be as compatible as possible with the current presence W3C XML schemas. The set includes schemas for PIDF, DataModel, RPID, CIPID, CAPS and LocationTypes. These schemas are more restrictive than the corresponding W3C XML Schemas, i.e., if instance documents validate according to these schemas they should also validate with the W3C XML Schemas, too. These schemas are provided as informative to applications who wish to utilize RELAX NG as a validation tool.
See also: RELAX NG as ISO DSDL, Part 2
Establishment of the SVGMap Consortium
Staff, Consortium Announcement
A group of industry partners have announced the formation of an SVGMap Consortium to develop browsing software for electronic maps utilizing Scalable Vector Graphics (SVG), and to provide map delivery infrastructure provisioning services in SVG format. The founders include System Engineering Consultants Co., Ltd., ZENRIN Co., Ltd, KAI Software, Inc., and Indigo Corporation. The purposes of the consortium include studies of the usability of SVG in businesses and information infrastructure, dissemination and promotion of the application developments and the system integrations using SVG, dissemination and promotion of the exchange infrastructure developments and the system integrations using SVG, acquisition, exchange and provision of information regarding SVG, establishment of the portal aggregating SVG information, contribution to both domestic and international standardization (e.g. JIS) activities for such as W3C SVG, MWI, GeoXG, PlaceXML, and ISO TC211, etc., and resolving issues of supplying " Provisioning services of electric map browsing software for utilization of SVG and SVG format map delivery backbone" , and to improve convenience in introduction of spatio- information applications in WWW. SVG electric maps are now being used in the Autonomous Movement Support Project lead by Land, Infrastructure, and transportation Ministry, and in the DIGITAL JAPAN project operated by Geographic Survey Institute, the delivery of the background maps is under examination. Also, JIS(Japanese Industrial Standards) standardization of SVG Tiny 1.2 recommended by W3C is under examination by Ministry of Economy, Trade and Industries. Based on the background stated above, the consortium will promote the dissemination of SVG recommended by W3C that has open-standard data specifications, and the description of geographical spatio-information and exchange on WWW are possible.
See also: W3C Scalable Vector Graphics (SVG)
SOA World Magazine "BPEL's Growing Up"—What's Next?
Dave Shaffer and Manoj Das, SYS-CON Websphere
WS-BPEL, also known as Business Process Execution Language (BPEL), is a standard owned by OASIS that provides rich and comprehensive orchestration semantics. This article will provide a brief overview of how BPEL came to be what it is today and then focus on the latest developments in the BPEL standard and where we believe this standards area will go over the next few years. While the formal standardization of BPEL is nearing completion at OASIS, it has already gained significant market traction. Platform vendors such as Oracle are shipping commercial BPEL engines today and a Google search shows at least four available open source BPEL implementations WS-BPEL 2.0, commonly known as BPEL 2.0, is the evolution of BPEL 1.1 as a public OASIS standard and is currently available as a draft for public review. Some of the salient changes in BPEL 2.0 from BPEL 1.1 are improved data access, improved data manipulation, new activities, enriched fault handling, advanced message operations, syntax improvements, and clarifications. Involving business stakeholders in the analysis and modeling of business processes usually leads to fewer development iterations and a closer match between implementation and business requirements. This is a very common desire and in many cases the driver for adopting BPM. While BPEL vendors provide easy-to-use graphical tools for creating and editing BPEL processes, the very fact that BPEL processes are so detailed as to be executable makes these tools too complex for most business users. Business Process Modeling Notation (BPMN) is a standard from OAG to address the above requirement. Using BPMN as a standard notation, business users may create process blueprints and share them with developers and other stakeholders. BPMN maps in a straightforward fashion to BPEL and developers can work on the BPEL view of the process to make it executable... Process orchestration is already a key component of integration, SOA, and BPM. BPEL 1.1 is a mature process orchestration language widely supported by vendors and is successfully addressing process orchestration requirements at many production customer sites today. We believe customers who adopt BPEL and related standards for their BPM and SOA architectures will gain the following benefits: (1) Comprehensive functionality; (2) Knowledge portability; (3) Toolset extensibility and "hot-pluggable" products; (4) Interoperability; (5) Vendor portability. In the very near future, WS-BPEL 2.0 will further mature the BPEL standard while providing a clean migration path for current BPEL implementations. Longer-term standards such as BPEL4People and BPMN will work closely and cleanly with BPEL to complete the puzzle and will help increase the market adoption of BPM by mainstream enterprises.
See also: the CS to be balloted
Securing Communications in Web Services: A Tutorial
Malla Simhachalam and Marina Sum, Sun Developer Network
Open standards have gained momentum among enterprises as a mechanism for Web services to communicate with partners, customers, and suppliers. XML, Simple Object Access Protocol (SOAP), and HTTPS are among the technologies for developing interoperable Web services with open, flexible, and adaptive interfaces. That inherent openness, however, poses security risks. Without proper protections, Web services can expose vulnerabilities that could lead to dire consequences. Ensuring that those services and their communications are integral, confidential, and secure is critical for all parties. Through an example of a stock-quote service, this tutorial steps you through the process of securing communications between the service's client and server with Sun Java System Access Manager, the NetBeans IDE 5.5, and the Java Application Platform Software Development Kit (SDK) with Tools bundle. It is assumed that you are familiar with Java and Web-service technologies. The example uses OpenSSO to configure identity repositories and users in an Access Manager. The Open Web SSO project (OpenSSO) provides core identity services to simplify the implementation of transparent single sign-on (SSO) as a security component in a network infrastructure. OpenSSO provides the foundation for integrating diverse web applications that might typically operate against a disparate set of identity repositories and are hosted on a variety of platforms such as web and application servers.
See also: OpenSSO Project
IBM Safari to Help Developers Navigate Languages
Paul Krill, InfoWorld
Sun Shines Ruby Support for Java Developers
Andy Patrizio, InternetNews.com
Sun Microsystems furthered its commitment to dynamic languages with this week's announcement that its NetBeans Java development toolkit would offer support for Ruby development. The NetBeans Ruby Pack is a plug-in to the NetBeans IDE that provides support for both Ruby and JRuby, a pure-Java implementation of the Ruby programming language that runs on the Java Virtual Machine. "This is a big deal because until now, Ruby developers haven't had a lot of IDE support. They just use plain text editors," according to Tor Norbye, senior staff engineer at Sun. "In the Java world we've had lots of features available." With this support, Ruby developers will get features that programmers used to using an IDE take for granted, such as syntax highlighting, navigation outline, project support and unit test execution. The NetBeans Ruby Pack also offers extended features such as integrated documentation pop-ups for Ruby API calls, semantic analysis with highlighting of parameters and unused local variables, as well as occurrence highlighting. Norbye said that there would also be ancillary support for developing Ruby on Rails applications as well. NetBeans would use JRuby behind the scenes to parse the code, and that Ruby would be included so applications can be run on Java without having to fully install Ruby on a computer. According to the announcement: "The NetBeans Ruby Pack goes beyond basic editing, syntax highlighting, navigation outline, project support and unit test execution to provide developers with a rich set of features to enhance productivity. These features include: code completion for modules, classes, methods and escape codes within literal strings and regular expressions. The NetBeans Ruby Pack also offers extended features such as integrated documentation pop-ups for Ruby API calls, semantic analysis with highlighting of parameters and unused local variables, as well as occurrence highlighting."
See also: Ruby/JRuby Support in NetBeans IDE
Workshop Report: W3C Web of Services for Enterprise Computing
Dave Orchard, Blog
Last week I attended and presented the BEA position at the W3C Web of Services for Enterprise Computing. I don't want to go through all the various discussion as I think Paul, Jonathan, and Eric do a great job. I found much of it interesting and useful. Real-world discussion of how much traction SOAP and WSDL are getting in B2B and enterprise scenarios was great. I liked the WS-Core WG idea. A number of folks commented positively on a couple of the W3C TAG findings I'm working on: versioning and state. However, I had a couple of disappointments. There was almost no discussion about how enterprise computing is different from "non-enterprise computing". I argued it might be something like higher trust in well-behaved clients, so state, security, extensibility, etc. might be different. But almost no follow through, though maybe just because I presented midway through the second day. Given all the angst about Web architecture vs Web services architecture, I was also surprised that there was no support for technical reconciliation. I suggested WADL (Web application description language), to help with enterprises and the desperate perl/python hacker building stronger typed REST services. And for the flipside, I suggested improved SOAP to URI/XML bindings so SOAP/WSDL services would be more easily consumable by REST clients. There were two votes (including mine) for doing WADL, and 2 votes against doing WADL. I'm still surprised that there wasn't more support for technical ways of bringing the two architectures together. Perhaps this is because the way the voting structure was done, which was pick two items out of about fifteen.
Web Application Description Language (WADL)
Marc J. Hadley, Sun Microsystems Technical Paper
Web Application Description Language (WADL) is designed to provide a machine process-able description of HTTP-based Web applications. While many existing Web sites are examples of HTTP-based applications, a large number of those require human cognitive function for successful non-brittle use. Typically Web applications are based on existing Web architecture and infrastructure, are platform and programming language independent, promote re-use of the application beyond the browser, enable composition with other Web or desktop applications, and require semantic clarity in content (representations) exchanged during their use. The latter requirement can be fulfilled by the use of a self-describing data format such as XML or JSON. XML is particularly suitable since it allows the definition of a complete custom schema for the application domain or the embedding of a custom micro-format in an existing schema using its extensibility points. The current state-of-the-art in Web application description is textual documentation plus one or more data format definitions, e.g., XML schemata. Whilst entirely adequate for human consumption, this level of description precludes the following use cases which require a more machine-friendly description format: (1) Application Modelling and Visualization Support for development of resource modelling tools for resource relationship and choreography analysis and manipulation; (2) Code Generation Automated generation of stub and skeleton code and code for manipulation of resource representations; (3) Configuration Configuration of client and server using a portable format... an example of a WADL description for the Yahoo News Search application [is provided]. Note the similarity between the Atom service document and WADL: both describe a set of resources and methods that may be applied to them. In the case of an Atom service document the applicable methods are implicit based on the member-type of a collection. An Atom service document also defines some additional metadata (the feed title) specific to the protocol domain. One could replicate the information in an Atom service document using WADL.
See also: the WADL project at Java.net
Web of Services Workshop Summary and Observations
Eric Newcomer, Blog
From the W3C "Workshop on Web of Services for Enterprise Computing": It was clear that both the Web (REST) and Web services (WS-*) are being successfully used in production applications today. The usage patterns seem to substantiate my view that Web services are more often used in enterprise IT environments that predate the Web. Most of the users who attended the workshop—and they tended to represent large, established organizations—said that they are using Web services in what I'd call mission-critical or operational applications. It was also very clear that many of the same organizations are successfully using Web technologies in mission critical/operational applications. Some of us—myself included—took the position that both technologies can and should co-exist, and that it would be good if the W3C could help define how this could and should happen. I thought Noah Mendelsohn's paper was really great, and probably the best presentation as well. But of course my reaction was perhaps predisposed because of my thinking that a hybrid or combined solution is what the industry needs... The SOAP 1.2 GET feature, WSDL 2.0, and WS-Addressing endpoint reference mechanisms are integral to Noah's recommendation, but not yet widely implemented (with the exception of WS-Addressing EPRs, but this is a variation on the issue that I'll explain later). This is directly related to part of the discussion during the Workshop, about how the issues the Web community has with Web services relate more to how the specifications have been implemented (or not implemented, as the case may be) than with the specifications themselves. Achieving an impact in this area may be somewhat challenging, but this may be one of the things to evaluate in the context of going forward.
See also: the W3C Workshop papers
NISO License Expression Working Group Progresses XML-based Exchange
Staff, NISO Announcement
NISO (National Information Standards Organization) has provided an update on the activities in its License Expression Working Group. This Group was formed to develop a single standard for the exchange of license information between publishers and libraries. This effort was specifically not intended to develop Digital Rights Management (DRM) controls. Instead, the focus is on a license expression schema that will allow machine-to-machine transmission of license terms at any level of granularity. Intentional ambiguity in license provisos is considered acceptable, even desirable, and such ambiguity needs to be supported in any developed schemas. The Working Group consists of 60 members representing libraries, publishers, rights organizations, ERM vendors, content aggregators, and related professional and trade associations. Update: (1) Schema Mapping: A draft mapping of the ERMI and the ONIX-PL (Publisher License) schemas was completed, resulting in recommended changes to both organizations in the handling of authorized users, uses, pricing, term and termination, and in perpetual access and archiving. (2) Requirements: Work continues on defining stakeholder needs. Some library customers are interested in two-way electronic communication with publishers and a final XML version of the agreement committed to their ERM systems. Consortia customers also want to be able to transmit this information to their library members in a way that facilitates its onward transmission to end users. (3) Licensing Terms XML Message Format: The latest working draft dated March 2, 2007 incorporates the result of testing and extending the format through a series of Book Industry Communication (BIC) projects funded by the Joint Information Systems Committee (JISC) of the UK Further and Higher Education funding councils, through analysis of licenses used by the California Digital Library, and through discussions with participants in the License Expression Working Group. (4) Tools: A need for shared tools to assist in implementation of license expression formats was identified. The ONIX team has already developed some functional requirements for ONIX-PL editing tools.
See also: License Expression Working Group
XML Parsing, State Machines, and UTF-32
Michael Day, O'Reilly Technical Blog
Michael Day, founder of YesLogic and the designer of Prince, an XML + CSS formatter and a great way of getting web content onto paper: "I would like to get straight into talking about XML parsing and UNICODE encodings. In Prince we use libxml2 for all of our XML and HTML parsing needs, and have been very happy with it. However, it's always interesting to see new approaches for XML parsing that may offer greater speed or convenience than existing methods. Last year, Tim Bray released the state machine that he used for parsing XML in Lark. His state machine operates on UNICODE characters (technically character classes in some cases), so it requires a separate decoding step to turn the incoming stream of bytes into characters first. What about parsing XML with a state machine that operates directly on bytes instead of characters, would that lead to any opportunities for clever performance optimisations? Now, there is a good reason for defining an XML state machine in terms of UNICODE characters: it means that you only need to define it once, whereas if you define it in terms of bytes then you will need to define it multiple times, once for each encoding that you wish to support. However, given a state machine that operates on characters and the definition of an encoding, it should be possible to programmatically generate an equivalent state machine specifically for that encoding that operates directly on bytes, so we can pretend that this issue is not too serious. When I sat down and tried sketching out a simple XML state machine that operates on bytes I immediately hit a snag in Appendix F of the XML specification: Detection Without External Encoding Information. The problem occurs when an XML parser examines the document to determine its encoding. If the state machine starts reading the document and finds that the first byte is "FF" and the second is "FE", what state should it be in? Ideally, it should be able to say that it has just read a little-endian UTF-16 byte order mark, and continue to parse the document. However, if the following two bytes are both zero, then it means that the "FF FE" was actually the start of a little-endian UTF-32 byte order mark. Checking this requires two bytes of look-ahead, or hundreds of additional states and transitions in the state machine, which sucks. A much cleaner solution springs to mind: don't bother supporting UTF-32. Who uses it, anyway?
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/