What makes a good Web Services Tool? It appears that Java and Open Source are two important qualities.
Web services represent a new architectural paradigm for software applications. To utilize the Web services technology to the hilt, Web services should be developed from all various kinds of software components on various technologies, languages, and platforms. This is the reason why different kinds of software featured among the finalists when Developer.com held its annual contest for Web Service (or Related Tool) of the Year 2005.
This article will discuss each of the finalist products in Developer.com—Web Service of the Year 2005's contest. I will also try to find whether this selection shows any emerging trend about the software industry.
Developer.com—Web Service of the Year 2005: The Finalists
The various finalists of the Web Service of the Year 2005 contest are (in alphabetical order):
- Apache Axis
- Java Web Service Developer Pack
- Microsoft® MapPoint® Web Service
- ParaSoft SOAPtestTM
1. Apache Axis
Apache Axis is a widely popular implementation of the SOAP submission to W3C. Axis is essentially a SOAP engine—a framework for constructing SOAP processors such as clients, servers, gateways, and so forth. The current version of Axis is written in Java, but a C++ implementation of the client side of Axis is being developed.
Axis is an open source project. It is available at Apache Axis.
Features of Axis 1.2
- A simple stand-alone server
- SOAP engine
- A server that plugs into servlet engines such as Tomcat
- Extensive support for the Web Service Description Language (WSDL)
- Emitter tooling that generates Java classes from WSDL
- A tool for monitoring TCP/IP packets
- Documentation and sample programs
Reasons for selection
- Component-oriented deployment
- Transport framework
Both source code and binaries can be downloaded from Axis Releases.
2. Java Web Service Developer Pack
Java WSDP is a free, integrated toolkit developers can use to build, test, and deploy XML applications; and Web services and Web applications with the latest technologies and standards implementations. Java WSDP gives developers the ability to begin designing to the latest specifications and profiles from standards bodies and industry consortia, such as W3C, OASIS and WS-I, even prior to the support becoming available in commercial Sun products.
With the newest release (1.5) now available, developers will be able to create XML and Web services-enabled applications that are secure, interoperable, and portable across different platforms and devices. This release contains some exciting Web services security features; with support for securing JAX-RPC applications, security operations now can be configured either at the level of a WSDL service, port, or operation. Java WSDP has been tested on the Sun Java System Application Server, Sun Java System Web Server and Tomcat, and on Windows, Linux, and Solaris platforms.
Features of Java WSDP 1.5
- XML and Web Services Security v1.0
- XML Digital Signatures v1.0 EA2
- Sun Java Streaming XML Parser v1.0 EA
- Java Architecture for XML Binding (JAXB) v1.0.4
- Java API for XML Processing (JAXP) v1.2.6_01
- Java API for XML Registries (JAXR) v1.0.7
- Java API for XML-based RPC (JAX-RPC) v1.1.2_01
- SOAP with Attachments API for Java (SAAJ) v1.2.1_01
- JavaServer Pages Standard Tag Library (JSTL) v1.1.1_01
- Java WSDP Registry Server v1.0_08
- Ant Build Tool 1.6.2
- WS-I Attachments Sample Application 1.0 EA3
Reasons for selection
- Complete collection of tools for Java developers
- Easy to use
- Variety of implementations
- Stress on security
- Documentation and sample programs
Java Technology and Web Services Download
3. Microsoft® MapPoint® Web Service
The MapPoint Web Service is a programmable Web service hosted by Microsoft and used by enterprises and independent software developers to integrate location-based services, such as maps, driving directions and proximity searches, into software applications, and business processes. The MapPoint Web Service also provides an extensive set of mapping-related content such as business listings and points of interest (POI) that can be used within applications. MapPoint Web Service does not require large financial investments or a high-level of expertise in geographic information system (GIS) technologies, which have been traditional barriers associated with developing LBS applications.
Features of MapPoint® 3.5
- Finding addresses
- Finding non-addressable places
- Reverse geocoding
- Customizing locations
- Map rendering
Reasons for selection
- Provides powerful mapping capabilities for integrating locations into business solutions.
- Delivers a cost-effective investment by removing the IT management burden.
- Enables developers with common developer tools and builds upon a standards-based programming model.
- Delivers a service-level commitment with at least 99.9% uptime and guaranteed response time of less than one second per map (as measured inside Microsoft's data center).
MapPoint Web Service Download
NuSOAP is a group of PHP classes that allows developers to create and consume SOAP web services. It does not require any special PHP extensions, which makes it usable by all PHP developers, regardless of ISP, server, or platform.
NuSOAP is an open source project provided by NuSphere and Dietrich Ayala.
- Support for WSDL 1.1
- SSL support
- HTTP proxy support
- SOAP 1.1 support
- Support for document/literal and rpc/encoded services
Reasons for selection
- Ease of use
Both source code and binaries can be downloaded from SourceForge.
5. ParaSoft SOAPtestTM
Parasoft SOAPtest is a comprehensive tool for Testing web services. It provides functionalities such as WSDL validation, unit and functional testing of the client, and server and performance testing. SOAPtest also addresses key Web service issues such as interoperability, security, change management, and scalability. SOAPtest is available for Windows 2000/XP, Linux, and Solaris.
Features of SOAPtest 3.0
- WSDL schema verification and compliance to standards
- Automatic test creation using WSDL and HTTP Traffic
- Data-driven testing through data sources (Excel, CSV, Database Queries, and so on)
- Scenario-based testing through XML Data Bank and Test Suite Logic
- WS-I Conformance: Basic Profile 1.1
- WS-Security, SAML, Username Token, X.509, XML Encryption, and XML Signature support
- MIME Attachment support
- Asynchronous Testing: JMS, Parlay (X), SCP, WS-Addressing support
- Windows Perfmon, SNMP, and JMX Monitors
- Detailed Report generation in HTML, XML, and Text formats
- Real-Time graphs and charts
Reasons for selection
- Perform series of comprehensive WSDL tests that verify every aspect of the WSDL document
- Test and verify client/server functionality before deployment
- Ensure the reliability, quality, security, and interoperability of Web service
- Verify data integrity and server/client functionality
- Identify server capabilities under stress and load
- Uniform test suites can be rolled over from unit testing to functional testing to load testing
- Prevent errors, pinpoint weaknesses, and stress test long before deployment
- Accelerate time to market
Parasoft SOAPtest 3.0 Download
The winner of the contest is Java Web Service Developer Pack! Almost 50% of the voters have opted for this software suite from Sun Microsystems.
Some new and exciting features in the latest release of Java WSDP that might have influenced the voters can be the following:
Sun Java Streaming XML Parser
Java WSDP 1.5 includes an EA implementation of Sun Java Streaming XML Parser Version 1.0, a high-performance implementation of StAX, the Streaming API for XML. StAX is the standard Java based API for pull-parsing XML, which complements the existing SAX and DOM parsing models by allowing the programmer to explicitly ask for next events.
XML Web Services Security
XML Web Services Security is an implementation of the Web Services Security (WSS) specification developed at OASIS. Java WSDP 1.5 includes the following XWS-Security features:
- Support for securing JAX-RPC applications at the service, port, and operation levels
- A sample security framework within which a JAX-RPC application developer will be able to secure applications by signing and verifying parts of SOAP messages using XML Digital Signature APIs, and encrypting and decrypting parts of a SOAP message using XML Encryption APIs. The message sender also can make claims about the security properties by associating security tokens with the message. An example of a security claim is the identity of the sender, identified by a user name and password
- Sample programs that demonstrate using the framework
- Command-line tools that provide specialized utilities for keystore management and the like.
In general, the various features that might have distinguished Java WSDP from other similar Web services software can be:
- Free software
A programmer is free to try out Java WSDP without any worry about cost and get started developing Web services.
- Frequent releases
Sun has come out with new releases of Java WSDP every few months. This establishes a defined development path in the product's life cycle, as well as strong bug fixing and attending to various user requests on behalf of the parent company.
Java WSDP is a working Java programmer's product. It does not provide any colourful, heavy environment. Instead, it provides command-line utilities and supplementary material that enable a developer to write customized solutions.
- Wide range of implementations: A complete collection
Java WSDP provides a rich set of utilities for the Web services developer, with additional security tools and updated XML-related standards.
- XML Security
Java WSDP includes implementations for message-level security in Web services using XML and Web Services Security (XWS-Security), including the ability to generate and validate XML signatures using XML Digital Signatures API and encrypt and decrypt the message using XML Encryption APIs.
- Java Community
Java WSDP targets the Java developer community, which is one of the largest of its kind.
- Professional documentation, tutorials and online help
This is one area where Java WSDP scores way above many powerful open source products. The documentation is professionally done and self-explanatory, supplemented by sample programs and online tutorials.
A Brief Analysis
In a dynamic industry like software, trends change with every new invention. From the results of this contest, we can try to identify some emerging patterns in the software industry.
- Open source softwares
With two of the five finalists being open source products, we can say that there is a wide commercial acceptance of open source products. As open source software is competing professionally with commercial products, the advantage of having the source code looks more lucrative. For example, in case of any problem in Axis, the developer can take a look into the source code and is free to modify it as per the business needs.
- Free and simple enabling tools
A comprehensive, professional suite like BEA Weblogic did not feature among the finalists of this contest in which Java WSDP was adjudged the best Web services software of the year. This probably indicates that developers prefer to have free and simple enabling tools than high end, complex products that control all aspects of application development process.
- Focus on Java / J2EE
In this contest, as we see the finalists in all the various categories, there is a clear focus on Java/ J2EE . Software that is meant for Java developers caters to one of the largest developer communities.
The technology for Web services is still maturing. Standards and implementations are evolving constantly to suite the dynamic needs of the users. With an increasing commercial focus as well as a very active open source developer community in place, a wide range of new products is coming up in every area of Web services.
The selections for the Web Service of the Year 2005 contest will indicate some of the best products in the different areas of Web services among the abundance of utilities available today. This will guide the developer to find which Web services software will add the best value to a particular application.
About the Author
Sujata De is a Senior Software Engineer for Telecom and Mobile Solutions Lab, Hewlett-Packard, Bangalore. She holds a Bachelor's degree in Civil Engineering from the Indian Institute of Technology, Kharagpur, followed by a Masters degree in Mechanical Engineering from the Indian Institute of Science, Bangalore. She has around four years of industry experience involving quality, Web services, LDAP, UDDI, and J2EE technologies and is currently involved in developing access controllers for Web services. She can be reached at firstname.lastname@example.org.