|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Product Review Putting Web Services into (Business) Context
Putting Web Services into (Business) Context
By: Brent Carlson
Dec. 16, 2002 12:00 AM
Web services tool vendors frequently compete on how quickly their users can "generate a Web service from scratch" or "expose a Java/COM+/CORBA class as a Web service." While speed of development is important, the broader business needs of an enterprise must be the main driver of new technology adoption. Blindly applying new technology ultimately results in more poorly conceived software. These applications are just as difficult to maintain as existing applications, only they're running on yet another technical infrastructure. As ZapThink, LLC, an XML- and Web services-focused industry analyst group, explains, "Just because a new technology has promise doesn't guarantee that it will be applied correctly." So how do IT organizations move from "playing" with Web services development to providing truly useful services that support key business objectives? Companies must be able to view their existing software development assets (SDAs) within the context of the enterprise's strategic business processes in order to take full advantage of the promise of Web services. IT executives need to understand what assets exist, where they are located, and how each fits into the corporate business landscape, i.e. a model-based approach. This approach to Web services development gives enterprises an efficient way to enable existing SDAs as Web services; it can be broken into four steps - assess, build, locate, and employ. Let's take a simple example - a currency conversion component - through this process. Example Component - CurrencyExchange EJB
![]() The functional capabilities of this component are presented to its users via a SessionBean interface containing a number of method definitions. These methods place dependencies on two supporting elements of the external component definition: a set of transfer object types used to interchange nonprimitive data with the component, and a specialized exception that users of the component must handle when setting exchange rates into the component. Also, our CurrencyExchange component allows its users to control the conversion algorithm or algorithms used when converting one currency to another, both through a component configuration interface as well as by allowing the configured conversion strategy to be selectively overridden on a call-by-call basis. Applying the enABLE Methodology Assess As you begin, remember the 80/20 rule; some SDAs are obvious candidates for your initial cataloging efforts, while other marginal assets are best left behind. How does our example component fit against our assessment criteria? Based on our assessment, it appears that our currency conversion component is an important asset that should be preserved and managed into the future. This leads us to the next stage of our model-based approach. Build Our business architecture team has been busy defining requirements for our next generation of e-commerce systems, and they have taken the next step to express these requirements in the form of a UML reference model. Figure 2 illustrates a portion of that model that is pertinent to our example component.
![]() Each class within this UML diagram represents a coarse-grained reference component that supports one or more interfaces. If we look into the Currency Exchange System component in more detail, we see that its two interfaces define a series of operations as shown in Figure 3.
![]() The operations defined here can be mapped against the methods defined by our EJB (see Table 1).
![]() Notice that some of our reference component methods are not directly supported by our EJB, and also that some of the capabilities of our EJB (e.g., our ability to configure conversion strategies) aren't reflected in our reference model. However, our mapping does show that we have a strong affinity between our desired business capabilities and this existing SDA. Locate How will they investigate the components and services associated with this model? While some groups have built reference models to asset mappings through spreadsheets and other similar tools, an SDA mapping and discovery engine can speed and improve this process dramatically. Depending upon the area of the model being investigated, our team might find multiple assets that support a set of business capabilities, at which point they need to determine if they should select one of these assets for future development or if they need to provide an encapsulation service that binds all of the existing assets together and ensures consistent data and behavior across them (if, for example, multiple customer information systems must be supported because of business merger activity in the past). Or they might discover that no existing assets support a portion of our model, indicating that "green-field" development is needed to support some expanded business capabilities. Regardless of the outcome, our team has a better view of what is available to them to use in the next stage of the process. Employ As part of the employ phase, we have some decisions to make: Ultimately, as these newly built Web services are created and deployed, our team will complete the life cycle by feeding them back into their catalog, mapped against the business roadmap for which they were built. These Web services now become part of the developer's everyday toolkit - resulting in faster, higher quality, less expensive application development and integration. Summary References Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||