Researchers at Sun Microsystems Inc. are working on an initiative called Fast Web Services, intended to identify and solve performance problems in existing Web services standards implementations.
Key to Sun’s approach is boosting performance through use of binary encodings as an alternative to textual XML representations.
“Our technology improves both transmission speed, (with) less data transmitted, and processing performance on sender and receivers. The format requires less processor time than XML,” said Marc Hadley, Sun’s senior staff engineer for Web technologies, products, and standards, in an e-mail response to questions.
Sun plans to have a prototype of Fast Web Services in its Java Web Services Developer Pack early in 2004.
Sun Distinguished Engineer Eduardo Pelegri-Llopart gave a presentation on Fast Web Services at the SunNetwork conference in San Francisco this week. Sun believes Web services is going to become the new paradigm for distributed systems going forward, he said. But Web services need to be tuned for performance while enabling interoperability, according to Pelegri-Llopart.
“We’re trying to provide better performance. We don’t want a solution that is specific to our implementation,” he said.
Sun’s plan requires changes from developers.
“We believe that developers are to a large degree lazy. They find a concept that they’re comfortable with, they take that concept, and push it to the limit,” said Pelegri-Llopart.
In Sun’s view, the XML-based messaging that lies at the heart of current Web services technology carries with it a performance price. XML-based messages require more processing than protocols such as Remote Method Invocation (RMI), RMI Over Internet Inter-ORB Protocol (RMI/IIOP), or CORBA/IIOP; data is represented inefficiently and binding requires computation, according to Sun in a paper published in August.
“The main point here is there is almost an order of magnitude between straightforward Web services using XML encoding and an implementation that takes care of binary encoding,” Pelegri-Llopart said.
Fast Web Services attempts to solve bandwidth problems, including on wireless networks, by defining binary-based messages, albeit while losing the self-descriptive nature of XML. Although not an attempt to replace XML messaging, Fast Web Services is intended for use when performance is an issue, Sun said.
Fast Web Services is geared to work in both Java and non-Java platforms, according to Sun. Small devices also are included. Minimizing impact on developers also is a part of the Fast Web Services effort.
Existing WSDL concepts such as SOAP binding and XML Schema are maintained. Fast Web Services features network standards and technologies requiring no changes to WSDL.
Featured in Sun’s Fast Web Services proposal is Abstract Syntax Notation One (ASN.1), a telecommunications standard that is the binary equivalent of XML Schema. XML schema descriptions are converted into equivalent ASN.1 descriptions, which are then used to describe the binary wire format of messages, Hadley said. In Sun’s plan, ASN.1 provides a standards-based framework for describing a binary encoding of Web services messages, according to Sun.
Sun and ASN.1 tools vendor OSS Nokalva have initiated a standards proposal at ITU-T/ISO to provide ASN.1 support for SOAP, Web services, and the XML information set. The standard is referred to as X.695.
Security based on the OASIS WS-Security specification is one area impacted by the loss of description. Fast Web Services can only sign or encrypt SOAP envelope components such as the body, headers, and fault details.
A Java prototype for end-to-end Fast Web Services has been implemented for Java API for XML-Based Remote Procedure Calls (JAX-RPC 1.1), Java Specification Request (JSR-101), and JSR-31. There also is an implementation for J2ME Web Services.
Another component of Sun’s Fast Web Services approach is known as Fast Infoset, an alternative binary serialization for XML that replaces the textual serialization with a more efficient binary format. Also in Sun’s plan is Fast Schema, a schema-optimized format for transmitting data described by an XML schema. It relies on schema knowledge at sender and receiver to eliminate redundant information from exchanged messages, Hadley said.