I'll never buy a Casio watch again. Not just because they break down - that's just the luck of the draw - but because of their extremely poor service. I've spent months trying to get my $200 watch back from their service center, but to no avail. It isn't the money that matters; it's the principle of the thing. For a couple of months it was nearly impossible to get anyone on the phone, and there was no advertised Web address for contacting the service center.
Customer service and relationship management is the cornerstone of a successful business. Today's software industry is a lot like other industries - it's service-driven and highly competitive. With the three-month Internet-year release cycle, vendors work hard to keep their service offerings at an acceptable level and to keep up with the rapid changes to the baseline products. They struggle with the same issues that all other industries do - selling products to customers and then retaining those customers. Vendor products that offer functionality for J2EE have to work on a framework that's evolving at a breakneck speed.
Since they deal with new functionality and APIs that are still stabilizing with every release of the platform, vendors have to make sure their marketing message is well coordinated with their ability to deliver the goods in light of rapidly evolving standards. Vendors face a paradoxical situation. To gain a larger market share, they need to make sure they're standards-compliant. To distinguish themselves from the competition, they need to offer proprietary value-adds to the basic functionality offered by Sun's specs for the J2EE platform.
Retaining customers is largely dependent on how well the products are supported. For the past few years, J2EE vendors have been playing catch-up with Sun's J2EE platform APIs. The platform is now stable and there are ample examples of real-world deployments. At this stage in a platform's development cycle, support and service for J2EE-based products becomes of paramount importance. With the recent economic debacle, there's less room in organizations for "buy and try" and more of a requirement for well-supported products.
Before selecting a vendor who supplies J2EE wares, organizations need to make sure that adequate support will be available when they're struggling with critical and complex issues. Almost all the J2EE application server vendors have their partner programs. However, based on recent experience, I'd like to caution you before marrying your development to a specific product. It's very important to make sure support will be provided by skillful personnel in a timely manner.
One of the risks with the programs offered by vendors is that often the support person at the other end is not very qualified, and may be even less familiar with the product than you are. There's no option but to run the gauntlet before the support call is escalated to where you get the right level of technical support. Sometimes you end up educating the person at the other end before getting any valuable feedback. This could take several weeks and potentially jeopardize your deadlines.
To select the right vendors, it's important to look at their legacy. After all, J2EE is a fairly new platform - less than 10 years old. Therefore, most of the J2EE application server and other tool vendors are reincarnations of vendors who came from other product lines. The legacy defines their areas of expertise. Eventually, it determines the level of support they can offer to your application development.
Ajit Sagar is the J2EE editor of JDJ and the founding editor and editor-in-chief of XML-Journal. A lead architect with Metavonni, LC, based in Dallas, he's well versed in Java, Web, and XML technologies.