Chapter 20. Comparing the Different Web Services Tools

The goal of Hours 13 through 19 was to provide you with a summary of what each of these vendor’s products could do and provide you with a glimpse of what development with this tool is like.

By this point, you are probably wondering how to choose the right tool for you with so many options available. In this hour, you will learn

  • What factors need to be considered when making a choice

  • How the tools stack up in each area

  • The advantages and disadvantages of each tool

The Importance of Choosing the Best Web Services Tool

With many of the technologies that were created to enable software to interoperate across hardware boundaries, the choices that you make early on commit you for years to come. Fortunately, Web services are different in this area. Because all the Web services tools that you can download or purchase comply to the same set of core standards, you have the option of changing development environments. In addition, you have the option of allowing different groups in the same organization to use different tools to create and consume Web services.

As a further complication/advantage, some tools that we have covered in this book—such as Axis—excel in creating Web service providers, whereas others—such as Visual Studio .NET—excel in creating Web service consumers. It might make sense to choose one tool for the server side and another for the client side. There are still reasons to use the same tool where possible, such as maintenance and training costs.

Some of the tools that we covered are free for downloading, whereas others are quite pricey. It might make sense for you to begin with one of the free tools, but migrate to a more expensive one after you have gained experience and proven to your organization that this technology is practical. Some of the tools do much more than just Web services—both IBM WebSphere Studio Application Developer and Microsoft .NET are full blown software versions of the Swiss Army knife.

You will need to see the load that will be placed on the system in production. If the load is light, you might be able to get away with using the free tools. If the application needs to scale to handle a large user base, you might have to purchase a more scalable tool.

The Products Chosen for Evaluation

The products selected for evaluation in this book were chosen based on our experience, with a real effort made to cover as broad a spectrum as possible. We made an effort to include products by small independent vendors as well as those by the big players such as Microsoft and IBM. We tried to include the freeware products as well as the commercial products. We could not evaluate every product on the market. As a result, our choices should be seen as a representative sampling of the products available. Many products that we failed to include in the evaluation might be as good or even better than those that were evaluated.

The list of evaluated products along with the abbreviation that we will use in this hour is shown in Table 20.1.

Table 20.1. The Evaluated Products

Tool

Abbreviation

Apache Axis

Axis

Java Web Services Developer Pack

Java WSDP

Microsoft Visual Studio .NET

.NET

BEA WebLogic Workshop

BEA Workshop

IBM WebSphere Studio Application Developer

WSAD

The Mind Electric GLUE

Glue

PocketSOAP

PocketSOAP

SOAP::Lite

SOAP::Lite

Details about each product are available in the individual hours where these products are introduced:

Establishing the Evaluation Criteria

In order to assist you in your evaluation of the different options, we have created a set of issues in which these products differ from one another. In each section, we will point out products that stand out in that area. Keep in mind that these impressions are opinions based on our experience with the product in varying periods of time. You might disagree with our conclusions, but we believe that it is more valuable to you for us authors to take a stand and not just lead you through pages of “happy talk” designed to please everyone.

Cost

Cost is a factor in nearly every decision made by an organization. It would be a mistake, however, to focus solely on the cost of acquisition while ignoring other, often-larger issues such as development cost, support costs, outside resource expenses, the cost of hardware, and the long-term maintenance of the systems created with these tools.

Because full life-cycle costs are impossible to estimate without knowing the specifics of your organization, we will have to limit our specific discussion to acquisition costs. Table 20.2 shows the approximate acquisition cost of each product.

Table 20.2. The Evaluated Products’ Estimated Cost of Acquisition

Tool

Cost

Axis

Free

Java WSDP

Free

.NET

$1,000 to $2,000

BEA Workshop

$2,495

WSAD

$3,500

GLUE

Free

PocketSOAP

Free

SOAP::Lite

Free

Notice the wide variation in prices among the different products. Nearly all the products listed in the table have a free evaluation version available at their vendor’s Web site. The cost of training and hardware would have to be considered separately.

Legacy Experience

Both the learning curve and the speed of development are a function of the language background of the developer. Naturally, a Java developer will be productive sooner in a Java-oriented tool than in one that is focused on the C++ developer. Table 20.3 shows the language background that is most natural for each tool.

Table 20.3. The Evaluated Products’ Natural Programming Language

Tool

Language

Axis

Java

Java WSDP

Java

.NET

Visual Basic, C++, C#

BEA Workshop

Java

WSAD

Java

GLUE

Java

PocketSOAP

Visual Basic, C++, C#

SOAP::Lite

Perl

You will notice that Java is the language for most of the products listed here. The reason for this is that much of the server development taking place outside of Web services is done in Java. This makes Java a natural, but not the only, language suited to Web service development.

Steepness of Learning Curve

All the previously listed products require some level of expertise to use. With some products, it takes very little time to get a simple Web service up and running. Others are less automatic and require quite a bit more education before you can be productive. Speaking generally, the more costly tools provide more GUI support for the development of the Web service. In some cases, the product itself is complex, but when you understand how to use the interface, creating Web services is not hard. Table 20.4 rates the learning curve steepness for each evaluated product.

Table 20.4. The Evaluated Products’ Learning Curve Steepness

Tool

Steepness

Axis

Medium for Java programmers

Java WSDP

Medium for Java programmers

.NET

Easy for VB, C++, C# programmers

BEA Workshop

Easy for Java programmers

WSAD

Steep

GLUE

Easy for Java programmers

PocketSOAP

Easy for VB, C++, C# programmers

SOAP::Lite

Easy for PERL programmers

Most of the complexity of the WSAD and .NET products comes from the fact that the product is a full-scale development environment that can be used for creating any type of Web service or J2EE type of application. After the tool is mastered, learning how to create Web services with it is not too difficult.

Axis and Java WSDP are free downloads that are intended for the Java programmer audience. This group of developers is not that fond of graphical tools, or perhaps they are just not fond of the Java-based graphical tools that they have been given to use. As a result, none are provided.

Many open source projects don’t have graphical tools because they’re hard to do, and it’s seen as overhead code that doesn’t actually contribute to solving the problem defined by the project.

Development Speed

The development speed can be measured by how long it takes a developer to complete a task after he is familiar with the tool and the development process imposed by the tool. Table 20.5 gives our opinions on how productive you will be when proficient.

Table 20.5. The Evaluated Products’ Development Speed

Tool

Speed

Axis

Medium for Java programmers

Java WSDP

Medium for Java programmers

.NET

Fast for VB, C++, C# programmers

BEA Workshop

Fast for Java programmers

WSAD

Fast for Java programmers

GLUE

Medium for Java programmers

PocketSOAP

Medium for VB programmers

SOAP::Lite

Medium for PERL programmers

The tools that provide greater automation enable higher productivity in exchange for an increase in cost. For all these tools, after you develop a solution with their framework, it can be very difficult to migrate your business logic to another framework.

Compatibility with Legacy Systems

In the real world, every organization has a history. That history is studded and strewn with the decisions made in years gone by. Many of these systems were state-of-the-art in the day that they were created and, more importantly, they contain data that is the basis for your organization.

Compatibility with Legacy Systems

Many of the products such as PocketSOAP or GLUE provide no special leverage when working with legacy data. MS .NET contains special tools that make the conversion of legacy code (DCOM) to .NET code easier. For IBM mainframe developers, WSAD provides a good environment for writing Web services that retrieve data from DB2 databases running on the big computer.

BEA Workshop makes it easy to expose existing EJB session beans as Web services, and Axis fits seamlessly into a Tomcat installation. Table 20.6 shows these relationships.

Table 20.6. The Evaluated Products’ Synergy to Legacy Systems

Tool

Legacy System

Axis

Tomcat servers

Java WSDP

Existing Java code

.NET

DCOM and COM objects

BEA Workshop

WebLogic EJBs

WSAD

Mainframe DB2 and CICS

If you have experience and a base of code in the Legacy System section, you will find that the tool in the left column of Table 20.6 provides some advantages when transforming these objects into Web services.

Keep in mind though, that all these products can be used to access any of the data. It is a question of convenience, not a question of capability.

Vendor Track Record and Commitment

It is not yet clear whether there will be a consolidation of Web service vendors. Because of the open-minded nature of Web services, a vendor doesn’t have to command a huge market share to be viable. He does, however, have to make more money than he spends in order to survive.

In other situations, a vendor will change directions without a visible reason and start preaching a different lesson than he was preaching the year before, which was different than the one preached the year before that. Bearing that in mind, we evaluated who, in our opinions, was the most likely to continue investing in the vendor’s toolkits and who was likely to remain faithful to the Web services approach. Table 20.7 contains our predictions on whether a vendor will be active in Web services in five years.

Table 20.7. The Evaluated Products’ Commitment

Tool

Future Prospects

Axis

Certain

Java WSDP

Certain

.NET

Less Certain

BEA Workshop

Less Certain

WSAD

Less Certain

GLUE

Uncertain

PocketSOAP

Uncertain

SOAP::Lite

Uncertain

This is all very unscientific, but based on the following reasoning: Axis is an open-source project. Volunteers do all the software development on open-source projects. It’s a grass-roots effort with people using their own resources and investing their own time to build free software for the community. This allows them to survive without a profit margin. Java WSDP is similar to an open-source project: It doesn’t have to be profitable to survive as long as Sun Microsystems survives.

Microsoft will be in business in five years, but it has a history of changing direction every few years. Microsoft brought us the VBX, followed by OCX, followed by ActiveX, COM, DCOM, and now .NET and Web services. Management swears that they have bet the company’s future on Web services, and we believe them. The company’s track record does not instill confidence, however.

IBM will also be in business in five years, but it has a similar history of changing directions. Like Microsoft, the company has contributed much time and energy to the establishment of Web services standards, so we tend to believe that it will maintain its commitment.

BEA is well respected as a technology company, but it is still in the formative years of its history. WebLogic is most popular as a J2EE server, but that hasn’t translated into huge profits yet. It lacks the cash-cow business lines that rivals, Microsoft and IBM, live off of. WebLogic is, however, the sentimental favorite because it is good at what it does. We believe that the company will still be a force in five years.

The small vendors of SOAP::Lite, GLUE, and PocketSOAP face an uncertain future. Their products are free, so their revenue stream is nonexistent, at least for Web services. They are not open-source projects, so they don’t get donated labor. We are not sure that they will still be improving their products in five years, though it is likely that today’s versions will still be around in the future.

Vendor Niche

Many of the vendors offer their product into a niche market. PocketSOAP was originally written for handheld computers such as the Palm and Pocket PCs. It runs on Windows 95 and 98, unlike .NET.

Microsoft has carved out a big niche in the desktop computer area with Visual Basic and Visual C++. The Web services client support in .NET is outstanding. It is easy to foresee Microsoft as a dominant player in the Web services client area.

Apache Axis is a companion product to Apache Tomcat. Given that more than half of all Web servers run Tomcat, it seems logical that a large number of those shops will choose Axis as their SOAP engine. The fact that Axis is a well-crafted but spartan tool is appealing to those Java programmers who never really liked graphical development environments very much anyway.

IBM will leverage its mainframe business and contacts in Fortune 500 companies to use WebSphere AD. This is a good fit for large companies that can afford $3,500/seat for a development tool and the training budget needed to become productive. WebSphere is a powerful tool in the hands of those who understand how to use it.

Quality of Documentation

As writers, documentation is near and dear to us. Unfortunately, the documentation that surrounds Web services tools is not very good overall, except with .NET. Microsoft does an average job of documenting its products, but the book writers do a bang-up job on all Microsoft tools. As a result, .NET developers can always find answers. Table 20.8 shows the quality of documentation available from all sources.

Table 20.8. The Evaluated Products’ Documentation

Tool

Documentation Quality

Axis

Fair

Java WSDP

Good

.NET

Great

BEA Workshop

Good

WSAD

Poor

GLUE

Fair

PocketSOAP

Fair

SOAP::Lite

Fair

The Java programming language is well documented both at Sun and in third-party books. Java Web services books are not rare either, though they often concentrate on the Java WSDP, which is not really a production environment.

Apache Axis suffers from the typical lack of documentation that surrounds open-source projects. It seems that volunteers write better software than they do manuals. Few Axis books are on the shelves at your local book store. They will likely appear over time.

WebLogic Workshop has some following in the book world, but BEA does a better-than-average job in its online docs. IBM writes much better software than it does documentation. There doesn’t seem to be much organization in what the company publishes. For example, it is not unusual to find four articles on how to do an obscure task in Web services, but not one “Hello,World” style example can be found on the whole Web site. IBM product books don’t sell well either, so there is no hope of getting much help there. Unless this situation changes, WSAD might be the software world’s best-kept secret. Other well-engineered IBM products like OS/2 and PowerPC have failed to capture market share.

PocketSOAP, GLUE, and SOAP::Lite have no following to speak of in the book world. There is quite a bit of informal online documentation, and Pocket::SOAP has a fine following in the Yahoo! groups.

Other Benefits of the Products

Before concluding, we need to mention that several of the products evaluated here are far more than just Web services development tools. Both WSAD and Microsoft .NET are full-blown software versions of the Swiss Army knife. Both products allow you to develop dozens of different products in addition to Web services providers and clients. If you have a need for a full-service IDE, they might be an affordable choice, but only if you are going to use them a lot.

Summary

In this hour, you were led through a series of sections that dealt with one characteristic of Web services tools. The goal of this was to help you decide which Web services development toolkit is right for you at this time.

We looked at each toolkit from many angles such as cost, quality of documentation, availability of support, and professional services. Finally, we looked at issues such as vendor niche, track record, and commitment to the technology.

Q&A

Q

What category of toolkits tend to be the most expensive to acquire?

A

Toolkits that generate the Web service for you tend to be more expensive. In addition, full-service IDEs tend to cost more than single-purpose Web service tools.

Q

What computer languages can be used to develop Web services?

A

Java is very popular, but C++, Perl, C#, and Visual Basic are also used.

Q

Why is the total life-cycle cost of a tool important?

A

All tools provide some services to the programmer, and the programmer writes the rest of the functionality. Organizations have to pay for both the tool and the labor of the programmer. A more expensive tool might have a lower life-cycle cost if a programmer can accomplish the same tasks in fewer hours.

Workshop

The Workshop is designed to help you review what you’ve learned, and begin learning how to put your knowledge into practice.

Quiz

1.

What is the most popular programming language for Web services?

2.

What toolkit has the best third-party documentation?

3.

What type of developers gravitate to IBM WSAD?

Quiz Answers

1.

Overall, Java is the most popular. In the Microsoft Windows realm, Visual Basic is the most popular.

2.

The .NET framework is very popular with independent writers because there are so many developers.

3.

WSAD is popular with companies that have a lot of IBM mainframe software.

Activities

1.

Create a list of the evaluation criteria that are most important to your organization.

2.

Create a chart that shows products on one axis and features on another.

3.

Rank the products by the criteria that you value most and select a toolset for your organization.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset