How the Cloud Stretches the SOA ScopeLakshmanan G Manish Pande
September 2009
Summary: In this article, we will describe how the enterprise service-oriented-architecture (SOA) scope is stretched with the advent of cloud computing. With the help of the case study of a fictitious global retailer, we will demonstrate the process for identifying cloud scenarios. Also, we will come across an emerging breed of distributed applications—both on-premise and in the Cloud—and discuss the integration considerations for building them.
IntroductionOver the past few years, enterprises have adopted strategies for both build and build vs. buy for their enterprise-application development. In many business domains, such as retail and manufacturing, packaged application has found favor because of the availability of best-practice business functionality for faster time to market. This has led to a mesh of packaged applications, legacy systems, and bespoke and homegrown line-of-business (LOB) applications that are connected by point-to-point integration and mature enterprise- application integration (EAI) and SOA-based enterprise service bus (ESB) implementations, in some cases. Enterprises are now extending the existing enterprise SOA investments into the Cloud to address new business pressures and opportunities. In this article, we use the example of a fictitious global retailer (Globtron) to demonstrate how an enterprise should explore the new business opportunities and map application requirements to the Cloud. Also, with the help of this case study, we describe the integration requirements and solution options for on-premise and cloud integration in the context of Microsoft Windows Azure .NET Services.
SOA in an EnterpriseAs an architectural principle for delivering agility and flexibility by decoupling interface and implementation (business logic), SOA has been in existence for decades. Object-oriented and component-based development models were established by using the same principle. Recent technological developments and Web-service standards have made SOA easier by replacing method calls on object references to message passing. In large enterprises, services have been delivered in isolation by several projects that are based on LOB requirements in the organization—not as a big-bang SOA-definition project. Enterprise- architecture (EA) efforts in the organizations helped identify the reusable services and leverage existing investments. Because SOA facilitated interoperability, many legacy applications were exposed as services and the business functionality was reused. SOA became the EAI driver across the company, and EAs have evolved into on-premise distributed systems that are enabled by SOA.
The Cloud OpportunityCloud computing presents both a model and new opportunities for technology buyers in an enterprise. It offers the opportunity to focus on the core capabilities of an enterprise by outsourcing certain aspects of IT and reducing IT costs. It also accelerates the provisioning and deployment with the support hassles that are transferred to the cloud-service provider. The Cloud is altering the way in which organizations build their infrastructure and applications. The essential characteristics of cloud computing include both the delivery model and the commercial model. In terms of the delivery model, it should be available as a service over the Internet and accessible either from a Web browser or as a Web service. Commercially, users pay for service usage; both the overall maintenance effort and user costs are low. Technologically, the Cloud is a culmination of standards and technologies that have come together over the past several years. They include server virtualization, Web Security, and Web Services. The implication for the enterprise is that dynamically scalable infrastructure is available transparently, without any IT involvement in building and managing the infrastructure. The popular cloud-computing models include Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), as described in the following:
Application Characteristics for the Cloud in an EnterpriseThe cloud adoption in enterprises initially is led by tactical opportunities that offer implementation speed and cost advantages to these enterprises, although there are a few misconceptions about when to use the Cloud and the associated technological challenges in moving toward it. Security, performance, availability, and reliability are the top concerns that IT managers cite for adopting the Cloud. Cloud providers are addressing these concerns through appropriate architectural measures and service-level agreements (SLAs) to gain user confidence in the Cloud. (See Figure 1.)
Figure 1. Application characteristics for the Cloud in an enterprise (Click on the picture for a larger image)
The following are the characteristics of applications that are potential candidates for the Cloud:
The Case of a Global Retail EnterpriseModel Business DriversHow do cloud opportunities for enterprise IT derive from the business pressures and enterprise requirements? Let us take the example of Globtron, a fictitious retailer of electronics goods. Globtron is a U.S.-based retailer that has a strong brand presence. Recently, it has increased its global footprint with rollouts in a few European countries through acquisitions. Over several decades of running the business, Globtron management knows that its core business value that drives customers to their stores is in merchandising, customer service, and branding. The key business challenges for Globtron are to expand rapidly and extend its footprint to emerging markets in Eastern Europe and Asia, establish its brand worldwide via superior customer service, and drive growth further through new business services and channels.
Application Scenarios for Each Business DriverNext, we list the application requirements to address the key business issues that are linked to the key business drivers. We are limiting it to the sales and marketing subdomain of the retail enterprise. Please note that this is only an illustration for discussing the concept and approach, and is not a comprehensive listing of all possible scenarios and solutions. (See Figure 2.)
Figure 2. Case of a global retail enterprise—application scenarios for each business driver (Click on the picture for a larger image)
Rapid Global Expansion• Global usage of service-based loyalty application—Globtron has built a loyalty application in the United States that exposes Web Services for consumption from multiple channels, including store and e-commerce systems. The services allow store and e-commerce systems to validate the loyalty card number of a customer, compute loyalty points, and set up the customer in the loyalty system. The Globtron business team believes that it should leverage this system globally for all other countries. • Extension of homegrown e-commerce system internationally—Globtron has established a successful online e-commerce and is able to drive huge traffic and sales in the United States. Globtron wants to utilize the existing e-commerce application for rollouts across the world, but without the hassles and costs to set up multiple instances for similar functionality across different countries. • Readiness to address peak workload for e-commerce—Globtron has asked its IT department to assess the readiness of its infrastructure to address peak workload demand for the upcoming holiday season. • New store portal for store staff—Globtron also wants a store portal for the store staff, so that the retailer can improve communication and collaboration with the store staff and share information, such as operation manuals and best practices. • Centralization of store systems—One of the pain points for retail IT is the overhead and cost that are involved in distributing software upgrades and patches across stores. Globtron wants to re-architect and deploy a central store system that is accessible from the store devices via the Internet and the smart-client model. Branding and Superior Customer Service• New social-media applications for customer feedback and collaboration—Globtron wants to engage better with its customers, obtain feedback on its product and services, and drive sales and customer loyalty through collaborative applications such as reviews and ratings, videos sharing, and discussion forums. • New CRM system for repairs service—Globtron wants to improve the customer service for its electronics-repairs business that is available in several stores through automation. • Launch of online marketing campaign—Although Globtron does not have a significance presence in online selling outside the United States, it wants to launch an online marketing campaign to provide offers for its customers, build loyalty, and drive more sales. Driving Growth via New Business Services and Channels• New venture into online home-appliance retailing—As part of its strategy to venture into new services, Globtron decided to retail large home appliances in Germany. However, because its store format is small and medium, Globtron does not have much real estate for this business. The business team decided to experiment with online selling for this segment. However, the success of this business will require some initial pilots and feedback before it can go full steam into it. Mapping Application Scenarios to Cloud-Application CharacteristicsWe have mapped each of the previous application scenarios to the cloud-application characteristics that we discussed earlier. Figure 3 illustrates the mapping.
Figure 3. Case of a global retail enterprise—mapping application scenarios to cloud-application characteristics
Mapping Application Scenarios to Cloud TypesWith an understanding of the application characteristics and mapping them to cloud characteristics, we can now map each application to one of the cloud types. The following are some of the cloud-solution options for Globtron (see Figure 4):
Figure 4. Case of a global retail enterprise—mapping application scenarios to cloud types
The remaining three could be developed by using a PaaS offering, such as the Windows Azure and the Google App Engine:
Extending On-Premise Applications to the CloudFor large enterprises, the different applications and associated data cannot exist in silos, whether on-premise or in the Cloud. They must integrate for exchange of data, so as to complete the different steps of larger business process or leverage the reusable business services that are exposed by each other in delivering superior business applications. The cloud model offers additional choice with management simplicity to enterprises, so as to augment their core on-premise applications. The EA challenge is to integrate with the Cloud. The good news is that with adoption of existing SOA and Web Services, this will be easier than ever. The Cloud should be viewed as an extension of the existing EA. In the following section, we discuss the integration scenarios for the Cloud and the considerations for extending existing SOA investments into the Cloud, along with some examples from the Globtron case study. Possible Integration ScenariosThe possible integration scenarios between on-premise and Cloud- based applications are as follows:
Such emerging hybrid models of on-premise and cloud applications result in a new class of distributed applications. SOA-based integration with SOAP or REST Web Services seems to be the easy answer to this problem; however, there are various other issues that should be handled for it to work across organizational boundaries and firewalls. Considerations for Cloud Integration
Extension of On-Premise Applications to the Cloud by Using Windows Azure .NET ServicesThe Windows Azure is an Internet-scale, cloud-computing services platform that is hosted in Microsoft data centers. The Windows Azure uses SOA heavily and provides SOA-based access to data. .NET Services is one of the components of the Windows Azure; it provides cloud-based infrastructure services and facilitates creation and deployment of composite applications. .NET Services comprises an access-control service and a service bus.
Refer to the Resources section for links to the Windows Azure resources that are available on the Internet. Integration Scenarios for GlobtronLet us consider the integration requirements of some of the applications for Globtron, so as to illustrate the on-premise and cloud-integration requirements and possible solution patterns. We also look at integration-solution options in the context of the Windows Azure. Example 1:New venture into online home-appliance retailing Table 1 shows the integration requirements for this application that Globtron is building by using Windows Azure computing and storage services.
Table 1. Cloud integration for the “New venture into online home-appliance retailing” scenario
Example 2:Global usage of service-based loyalty application To expose the on-premise loyalty service, Globtron can utilize integration services— such as .NET Services—on the Cloud. This allows existing enterprises to expose their Web-service endpoints for usage from the Cloud and partner enterprises (see Table 2).
Table 2. Cloud integration for the “Global usage of service-based loyalty application” scenario
Example 3:New social-media applications for customer feedback and collaboration The social-media application that is built on Windows Azure can expose content by using RSS feeds or Web Services (RESTful or SOAP). Globtron can create mash-ups by combining these with the existing data services or data source of the on-premise marketing application (see Table 3).
Table 3. Cloud integration for the “New social-media applications for customer feedback and collaboration” scenario
ConclusionIn this article, we discussed how organizations have evolved EAs into on-premise distributed systems that are enabled by SOA and can identify cloud opportunities, so as to address their new business requirements. We discussed the application characteristics for the Cloud. We also discussed how an enterprise can map its business drivers and application scenarios to cloud characteristics and identify cloud solutions that coexist and integrate with the existing on-premise applications. Finally, we discussed integration scenarios, requirements, and solution considerations.
ResourcesArmbrust, Michael, et al. “Above the Clouds: A Berkeley View of Cloud Computing.” Technical Report No. UCB/EECS-2009-28, Electrical Engineering and Computer Services, University of California at Berkeley, February 10, 2008. Bertocci, Vittorio. “Claims and Identity: On-Premise and Cloud Solutions.” The Architecture Journal, MSDN, July 2008. Carr, Nicholas G. The Big Switch: Rewiring the World, from Edison to Google. New York: W. W. Norton & Co., 2008. Chappell, David. “Introducing the Azure Services Platform: An Early Look at Windows Azure, .NET Services, SQL Services, and Live Services.” MSDN, October 2008. Hoover, J. Nicholas, Paul McDougall, Art Wittmann, Rob Preston, and John Foley. “ Microsoft’s Stake in the Cloud.” Research and report, InformationWeek, October 31, 2008. (Requires registration.) Microsoft Corporation. “Architecture Journal Profile: Ray Ozzie.” The Architecture Journal, MSDN, October 2007. Microsoft Corporation. “Infosys Creates Cloud-Based Solution for Auto Dealers Using SQL Data Services.” Microsoft Case Studies, October 2008. Pace, Eugenio, and Gianpaolo Carraro. “Head in the Cloud, Feet on the Ground.” The Architecture Journal, MSDN, October 2008. Trowbridge, David, et al. “Integration Patterns.” patterns & practices Developer Center, MSDN, June 2004. About the AuthorsLakshmanan G (lakshmag@infosys.com) is an educator and mentor in IT architecture with the Education and Research group of Infosys Technologies Ltd. With more than 20 years of experience in the IT industry, he nurtures a vibrant community of architects at Infosys. Prior to this, he was Head of Engineering, SaaS Practice, and Head of Infosys EMEA Architecture Practice. Manish Pande (manishp@infosys.com) is a lead architect with the Product Incubation and Engineering (PIE) unit of Infosys Technologies Ltd. Currently, he is responsible for architecting Infosys SaaS–based product offerings. With 11 years of consulting experience, he has played a variety of roles, including Solution Architect, Engineering Manager, and Technical and Performance Architect. Follow up on this topic
|
Issue 21 Index
|