CIO

Are You Ready for Web Services?

Thousands of companies use Web services every day, but thousands more have yet to take the plunge. How well is your company positioned to benefit from Web services?

Building Web services is not simply about buying technology. Nor is it just about defining business needs. Introducing Web services to your enterprise demands a deep understanding of your business culture and processes.

Think you're ready? Take this quiz and find out for sure.

Thousands of companies use Web services every day, but thousands more have yet to take the plunge. How well is your company positioned to benefit from Web services? To find out, take this quiz to assess your own Web services readiness quotient. Answer each question honestly, checking all answers that apply. (Some questions may have more than one answer.) If no answers apply, skip the question. When you finish, tally your score to see where you stand. Then go to ".Net, Web Services and the End of the Vendor Era" (a feature story in this issue of CIO) to find out more about the Web services development landscape.

Questions

1.Web services is:

a. any Web-based application (0 points)

b. client-server computing by another name (0 points)

c. a standards-based means of machine-to-machine interoperability over a network (5 points)

2.For something to be a Web service it must use the following standards:

a. HTTP: Hypertext Transfer Protocol, the basic communication protocol of the Web (0 points)

b. SOAP: Simple Object Access Protocol, a standard for exchanging XML messages (0 points)

c. WSDL: Web Services Description Language, an XML format (0 points)

d. UDDI: Universal Description, Discovery and Integration, a "directory" format for exposing Web services (0 points)

e. XML: Extensible Markup Language, a flexible, standardized tool for describing various types of data (5 points)

3.My greatest needs for application development are:

a. organizing my development around business processes (5 points)

b. optimizing the sharing and reuse of software components across the enterprise (5 points)

c. inexpensively tying together the mix of applications that we have (5 points)

4.My greatest needs for the IT group's relationship with the business are:

a. allowing business leaders to determine how IT is used instead of IT limitations determining business processes (5 points)

b. providing simpler, less expensive integration with my partners and customers (5 points)

c. reducing our reliance on proprietary file formats and application interfaces (5 points)

5.The biggest needs in my IT architecture are:

a. cross-platform integration (5 points)

b. legacy system integration (5 points)

c. integration with external systems and applications (5 points)

6.My development team's knowledge of our business processes is:

a. what business are we in again? (0 points)

b. adequate but not exceptional (1 point)

c. above average (3 points)

d. so deep they could run the business themselves (5 points)

7.My development team members operate as follows:

a. they usually fall back on personal approaches to development because we don't have many established procedures (0 points)

b. they often fall back on personal approaches to development despite our attempts to establish procedures (1 point)

c. they generally adhere to our policies but may deviate occasionally when they feel the project warrants it (3 points)

d. they strictly adhere to our development processes and understand the need for following established procedures (5 points)

8.I plan to develop Web services in:

a. Java (5 points)

b. .Net (5 points)

c. other (such as Macromedia ColdFusion, Ruby on Rails, Ajax) (3 points)

9.For the bulk of my Web services development, the most critical feature of any application will be:

a. performance (0 points)

b. security (0 points)

c. scalability (3 points)

d. cost (5 points)

10.My service-oriented architecture (SOA) is:

a. what's an SOA? (0 points)

b. in the planning stage (1 point)

c. in the pilot stage (3 points)

d. fully implemented (5 points)

11.I'll fully engage in Web services:

a. when all appropriate standards have been established (0 points)

b. when all security standards have been established (1 point)

c. piecemeal, wherever standards are available (3 points)

d. right now, pragmatically extending and occasionally replacing proprietary pieces of my services with standards-based options (5 points)

12.My company plans to deploy Web services in the following way:

a. no plans to deploy Web services (0 points)

b. plans to deploy a few Web services in back-office applications (1 point)

c. plans to deploy a few Web services to business users (1 point)

d. plans to deploy a few Web services to partners and/or customers (1 point)

e. plans to use Web services enterprisewide to integrate applications and business processes (3 points)

f. plans to use Web services enterprisewide to integrate with systems and business processes of partners and/or customers (3 points)

Page Break

Answers

1. Answer: C Web services offers a standard way of connecting two applications across a network and provides for efficient reuse of code. But you can't call any Web application Web services. Unless the application provides a uniform, XML-based interface for other applications to automatically take advantage of, it isn't Web services. And while some aspects of Web services mimic client/server computing, Web services isn't as restrictive: Two servers can act as peers and share data over a service, or even two clients.

2. Answer: E Web services doesn't need to employ an alphabet soup of standards. The technology can work across a variety of protocols, including HTTP, SMTP and FTP. Alternatives to SOAP exist (Representational State Transfer, or REST, has numerous adherents). If you're only producing a handful of services or don't plan on making them widely available, you won't need a directory. And if you do need one, you aren't restricted to UDDI.

3. Answer: Any or all Web services is not a silver bullet for aligning software development with the business. But if properly implemented, Web services can help you to build a software development framework that fits business processes more like a second skin than a back brace. Web services allows both for easier reuse of previously written code and a simpler way to make applications communicate.

4. Answer: Any or all Companies that have become heavy users of Web services offer their services as a menu from which business users can assemble new processes (for instance, integrating a helpdesk app with CRM tools to let salespeople see which customers are having problems) that IT can deliver quickly. That makes it easier for the business to develop new products or relationships, and frees IT from the shackles of proprietary formats, allowing it to connect applications wherever that makes business sense.

5. Answer: Any or all Web services can handle any of the listed scenarios. Many companies use the technology as a way to make features from older systems or applications available to new applications. But it also works just as well for connecting a pair of Windows or Unix machines.

6. Answer: D Web services works best if it maps to business processes rather than the other way around. As a result, having a development team that's deeply aware of how your business works will help you make good choices, not only about how to create and manage services but about which services to create in the first place.

7. Answer: D, though C is acceptable. Undisciplined gunslingers aren't the best players in the Web services game. You need a development team that plays by the rules. That means you have to establish a development process that values code reuse and cooperation among developers.

8. Answer: As many as possible. Despite what some vendors tell you, there's no single best way to develop Web services. It pays to start with what you know (if you're a Microsoft shop, start with .Net, if you're committed to Unix, start with Java). But it's good to keep your options open. Using multiple development environments allows you to take advantage of emerging technologies regardless of platform.

9. Answer: D, though C is acceptable If performance and security are your primary concerns for a given project, Web services might not be the best approach. The loosely coupled, asynchronous nature of Web services and the paucity of mature security standards don't lend themselves to high-performance computing or tight security. But if scalability or cost is the key consideration, Web services should work. Well-built services should scale easily. And their reusability makes them cost-cutters.

10. Answer: D You don't need an SOA to start working with Web services - but it doesn't hurt. Developing an overarching plan for an SOA, of which Web services may only be a part, will provide a development map that you can follow no matter what business problem you need to solve or technology platform you decide to use.

11. Answer: D If you wait for all the standards to become established, you'll never move to Web services. WS-Security, the core Web services security standard, took years to reach its current state. And many open-source advocates are peeved that implementing it requires a license from IBM and Microsoft because they own patents for some of its technology. Friction between standards bodies and software vendors guarantees that standards development will go slowly.

12. Answer: B, C, D, E, F Web services are like fax machines: The more you have, the more useful they become. Connections between applications you might never have imagined connecting become possible with broad use of Web services. So keep your eyes open for new opportunities.

Scoring:

Are you ready for Web services? Tally your score and see.

0 to 39: Neophyte. You're still laying the groundwork for Web services before you're ready to get going. But you're thinking in the right direction.

40 to 79: You're getting your priorities in order. If your services are mainly in the pilot phase, it's time to think about moving them into production. If you have fully implemented some services, it's time to develop an enterprisewide strategy for Web services.

80+: Ace. You're ahead of the pack. As an early adopter, you're already getting business value from Web services. Keep doing what you're doing.