Durham Research Online
Total Page:16
File Type:pdf, Size:1020Kb
Durham Research Online Deposited in DRO: 08 October 2008 Version of attached le: Published Version Peer-review status of attached le: Peer-reviewed Citation for published item: Turner, M. and Budgen, D. and Brereton, P. (2003) 'Turning software into a service.', Computer., 36 (10). pp. 38-44. Further information on publisher's website: http://dx.doi.org/10.1109/MC.2003.1236470 Publisher's copyright statement: c 2003 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE. Additional information: Use policy The full-text may be used and/or reproduced, and given to third parties in any format or medium, without prior permission or charge, for personal research or study, educational, or not-for-prot purposes provided that: • a full bibliographic reference is made to the original source • a link is made to the metadata record in DRO • the full-text is not changed in any way The full-text must not be sold in any format or medium without the formal permission of the copyright holders. Please consult the full DRO policy for further details. Durham University Library, Stockton Road, Durham DH1 3LY, United Kingdom Tel : +44 (0)191 334 3042 | Fax : +44 (0)191 334 2971 https://dro.dur.ac.uk COVER FEATURE Turning Software into a Service The software as a service model composes services dynamically, as needed, by binding several lower-level services—thus overcoming many limitations that constrain traditional software use, deployment, and evolution. Mark Turner n 1999, the Pennine Group—a consortium of new services that use existing ones. The “Sample David software engineering researchers from the Uni- SaaS Scenario” sidebar shows inherent SaaS ideas Budgen versity of Durham, Keele University, and the in the context of a company helping with an over- University of Manchester Institute of Science seas property purchase. Pearl I and Technology—asserted that continued This approach lets the set of services a business Brereton development of new architectural styles based on uses evolve without any user intervention as that Keele University, constructional forms such as objects or compo- business and its context change. Also, the key know- Staffordshire nents would not advance the software field. Rather, how involved is not who provides services, neces- they foresaw a future in which developers take a sary though that knowledge is, but what service a radically different view of how software delivers transaction requires at any particular point, along its functionality to users.1 with negotiating suitable terms for its use. Selecting We have explored the software as a service (SaaS) and binding the means of providing an appropriate concept through several small-scale experiments.2 service can therefore be performed dynamically, on This concept envisages a demand-led software mar- demand, through ultra-late binding. ket in which businesses assemble and provide services when needed to address a particular SAAS AND OTHER SERVICE FORMS requirement. The SaaS vision is a vital contribution Despite advances in programming language and to current thinking about software development development environment technologies, the basic and delivery that has arisen in part from initiatives paradigm for constructing and maintaining soft- in the Web services and electronic-business-com- ware has altered little since the 1960s. Developers munication communities. still construct software largely by employing some SaaS focuses on separating the possession and variant of the edit-compile-link cycle to generate an ownership of software from its use. Delivering soft- executable binary image from a source described ware’s functionality as a set of distributed services using a procedural programming language. that can be configured and bound at delivery time Although the Web may have widened our interpre- can overcome many current limitations constrain- tation of what software is, the practices used to ing software use, deployment, and evolution. Such develop and implement a Web site differ little from a model would open up new markets, both for rel- those traditionally employed for constructing soft- atively small-scale specialist-services providers and ware and are just as error prone. for larger organizations that provide more general To achieve our vision, we have focused on devel- services. In addition, service provision could include oping a radically different paradigm. We believe the dynamic creation and development of entirely that software should deliver a service. Further, 38 Computer Published by the IEEE Computer Society 0018-9162/03/$17.00 © 2003 IEEE Authorized licensed use limited to: University of Durham. Downloaded on October 8, 2008 at 10:08 from IEEE Xplore. Restrictions apply. Sample SaaS Scenario The following scenario, set within the context of a much A more complex example, involving composition, would be larger example, demonstrates the ideas inherent in the software- for Alice to add a new service to help negotiate mortgages. as-a-service concept. Relating this example to the key service-oriented functions of Alice has set up a company that offers services to people who our service integration layer can be instructive. want to purchase property abroad. She currently offers two First, in terms of service description, Alice must be able to services: One provides information about available properties, describe her general requirement to have a document trans- while a second handles actual negotiation and purchase. lated, its more specific details—including that it is a legal doc- Alice’s purchasing service uses other services to handle tasks ument—and the languages involved. Service description also such as translation, legal and financial negotiations, financing, encompasses the way a service provider such as Scribe or ES- and currency transfer. Offering these services involves specify- trans describes the services it can supply—either directly or ing the terms, conditions, and form of service provision, using other providers—and the parameters within which they together with the rules describing how other services will be will negotiate a service contract. employed. This is the know-how element of her service. This example contains two instances of service discovery. Drawn from the complete scenario, one small task concern- The first occurs when Alice seeks the translation service, the ing a legal document might play out as follows. Alice’s pur- second when the Scribe broker seeks a service that can deliver chasing service urgently needs to have the document translated the translation in the required time. from Spanish to English, which involves the following steps: Likewise, the example shows two stages of negotiation. First, Alice’s service will negotiate with Scribe. Because she frequently • The purchasing service seeks a translation service and, needs translation services in general, however, the service also after negotiating the terms and conditions, selects Scribe, may conduct this negotiation periodically, resulting in a longer- the cheapest from the four available. term contract between Alice’s service and Scribe, in which case • Scribe, a broker that evaluates services but doesn’t actually the immediate negotiation will be concerned purely with ser- provide them, seeks a Spanish translation service geared to vice parameters. Second, Scribe can then negotiate a much handling legal documents. From the three providers offer- shorter-term, per-document agreement with ES-trans and other ing this service, based upon previous use history and sat- possible providers. isfactory delivery, Scribe selects ES-trans, which offers an Service delivery in this example occurs when ES-trans immediate service. receives the original document and returns the translation. • ES-trans provides the translation that Alice’s purchasing However, if ES-trans does not do this within the specified service requires. time—determined by the form in which Alice’s service may have defined “urgently” in this case—either Alice’s service or Within SaaS, the services involved in a system can change Scribe can opt to invoke the suspension step and renegotiate with the associated business, and SaaS can perform this change with another provider. Finally, a form of service composition dynamically. For example, in Alice’s scenario, such a change occurs when Scribe employs its know-how about translation might occur if Scribe becomes aware of new translation services. services to seek a suitable service and negotiate with it. shifting the focus from providing software to Figure 1. Service describing and delivering a service moves the focus Service layer models. (a) The away from the constraints that traditional soft- Supplier’s software (applications created application service on demand from current supply-led smaller services) ware construction, use, and ownership models service model impose. Hence, our service-based model config- Service integration layer provides only a ures, executes, and disengages one or more services Service transport layer predetermined range 3 (using forms such as to meet a specific set of requirements —a vision of .NET or J2EE) Service transport layer of services from a instant service consistent with the widely accepted remote server. (b) (a) (b) definition: “an act or performance offered by one The proposed party to another. Although the process may be tied demand-led service to a physical product, the performance is essen- model has a service tially intangible and does not normally result in could be if developers insert a further service inte- integration layer 4 ownership of any of the factors of production.” gration layer above the transport layer. inserted above the Figure 1a shows an abstract interpretation of The model in Figure 1a is supply-led because it transport layer. what the current literature widely refers to as a ser- supports applications that can provide only a pre- vice model: A fixed set of applications sit on top of determined range of services from a remote server.