Service Oriented Architecture: Tools And Technologies

Transcription

Proceedings of the 11th WSEAS International Conference on COMPUTERS, Agios Nikolaos, Crete Island, Greece, July 26-28, 2007485Service Oriented Architecture: Tools and TechnologiesZAIGHAM MAHMOODSchool of ComputingUniversity of DerbyKedleston Road, Derby, DE22 1GBUKz.mahmood@derby.ac.ukAbstract: - Service Oriented Architecture (SOA) is an emerging architectural style for developing andintegrating enterprise applications. Businesses are required to be agile and flexible and IT managers are beingasked to deliver improved functionality while leveraging existing IT investment. Globalisation, tightereconomies, business process outsourcing and ever increasing regulatory environments are forcing the largeenterprises to transform the way they provide their business and services. In this context, SOA promises betteralignment of IT with business, seamless integration of business functions and reduced costs of developmentand the industry is keen to embrace this new architectural style. Realising the opportunity, major enterprisesoftware vendors have released a number of development tools. However, a majority of these are difficult touse and do not deliver the benefits they claim. In this paper, we introduce the SOA approach, present thebenefits it offers, discuss some of the frameworks, tools and products offered by major software vendors andprovide general guidance for building and implementing SOA. The objective is to provide enough backgroundinformation that enterprises wishing to embark on the road to SOA have a better understanding.Key-Words: - Service oriented architecture, SOA, Enterprise applications integration, Web services, Serviceorientation, XML.1. IntroductionService Oriented Architecture (SOA) is an emergingarchitectural style for developing and integratingenterprise applications. It is an organisational andtechnical framework to enable an enterprise todeliver self-describing and platform independentbusiness functionality [1] providing a way of sharingbusiness functions in a widespread and flexible way.Knorr and Rist [2] define SOA as a broad,standalone and standards based framework in whichservices are built, deployed, managed andorchestrated in pursuit of an agile and resilient ITinfrastructure. British Computer Society’s definitionsuggests that SOA is about the evolution of businessprocesses, applications and services from today’slegacy-ridden and silo-oriented systems to a worldof federated businesses, accommodating rapidresponse to change, utilizing vast degrees ofbusiness automation [3]. This architecture aims toprovide enterprise business solutions that can extendor change on demand as well as provide amechanism for interfacing existing legacyapplications. It is, therefore, being seen as anapproach to provide a closer alignment between abusiness and its IT systems.In this paper, we first establish the need for SOAand mention the benefits offered by the SOA as wellas the inherent issues. Then, we outline the SOAframework, discuss the available tools andtechnologies and present suggestions for buildingand implementing the SOA paradigm. The lastsection presents a summary and conclusions.2. The Need for SOAEnterprises have invested heavily in large-scaleapplications software such as ERP ment),CRM(customerrelationshipmanagement) and other such systems to run theirbusinesses. The infrastructure is often heterogeneousacross a number of platforms, operating systems andlanguages. There is often a huge duplication offunctionality and services resulting in a waste ofvaluable resources and poor response times.Increasingly, the business and IT managers arebeing asked to deliver improved functionality ofservices while leveraging existing IT investment andprovide continuous process improvement, newchannels of business, business agility as well asbusiness architecture that is organic in nature [4].

Proceedings of the 11th WSEAS International Conference on COMPUTERS, Agios Nikolaos, Crete Island, Greece, July 26-28, 2007486One solution is to develop architectures that alloweasy integration of the existing and new enterpriseapplications. As Savvas [5] reports: 2007 will becharacterised by an increasing migration to SOAsand the introduction of lean manufacturingprinciples. In the US, 64% of Chief InformationOfficers plan to implement SOAs in 2007, whichreflects a clear growth in the adoption of SOA inorganisations [5].3. SOA ElementsSOA provides an opportunity to achieve broad-scaleinteroperability while offering flexibility to adapt tochanging technologies and business requirements. Ifimplemented correctly, SOA offers the followingbenefits [6, 7]: Loosely coupled coarse grained services Seamless connectivity of applications Location transparency Alignment of IT with business needs Enhanced reuse of assets/applications Parallel and independent development Better scalability, ease of maintenance andgraceful evolutionary changes Reduced cost of development Reduced vendor lock-ins.Zimmermann [12] suggests three levels ofabstractions within SOA: Operations: units of functions with specificinterfaces Services: groupings of operations Business processes: actions/activities toperform business goals by invokingmultiple services.However, SOA also requires a large upfrontinvestment in technology as well as a differentmindset. There are also numerous issues, due to thevery nature of service-orientation [8, 9, 10]. Theseissues can be summarised as follows: Coarse granularity: This may mean thattesting and validating every combination ofevery condition in a complex service maywell become humanly impossible. Also, ageneric service, because of its coarsegranularity, cannot be easily optimised forefficiency [9]. Loose coupling: It is an architect’s dream,however, as Fowler [10] puts it, it canbecome a developer’s nightmare. Integration of services: This can be acomplex task especially when there is a lackof skilled personnel. Service interoperability: This can become aserious issue when web services exchangeSOAP messages over HTTP, encapsulatingXML data in heterogeneous environmentson distributed systems. Evolutionary development: If applicationscontinually require additional functionality,and these requests are granted, the entiresystem may become unstable [9].In a SOA, the business and technical processes areimplemented as services. Each service represents acertain functionality that maps explicitly to a step ina business process [11]. An important aspect is theseparation of service interface (the WHAT) from itsimplementation or content (the HOW). The interfaceprovides service identification, whereas, the contentprovides business logic.SOA uses a publish-find-bind-execute paradigm asshown in Figure 1. Service Providers build servicesand offer them over the network. They registerservices with service brokers and publish them indistributed registries. Each service has an interface,known as contract, and functionality, which is keptseparate from the interface. The service consumerssearch for services and, when found, a dynamicbinding is performed. The service provides theconsumer with the contract details and an endpointaddress. The consumer then invokes the service.RegistryContract2. Find1. ntService3. Bind/Invoke/ExecuteFigure 1: Publish-Find-Bind-Execute paradigm4. SOA Tools and TechnologiesIn SOA, services are usually implemented as WebServices (WS) and delivered using technologiessuch as eXtensible Markup Language (XML), WebServices Description Language (WSDL), Simple

Proceedings of the 11th WSEAS International Conference on COMPUTERS, Agios Nikolaos, Crete Island, Greece, July 26-28, 2007Object Access Protocol (SOAP) and UniversalDescription Discovery and Integration (UDDI).XML is fundamental to web services. It provides away to describe information. WSDL is used todescribe WS interfaces, which define operations andthen binds them to one or more protocols. SOAPdefines an envelope and rules for representinginformation sent in that envelope. SOAP messagesare commonly conveyed using HTTP. UDDI storesregistrations describing WSs and provides uniquenames for elements in the registration.Many proprietary SOA tools and frameworks havealso been produced for the development of WSs andimplementation of SOA. There are generally threedistinct generations of these [13, 14]: First generation - Basic tools that retrofit theold to make them look like the new. Second generation - Simple tools that enabledevelopers to build simple solutions usingthe new technology. Third generation - Efficient tools forbuilding complex solutions.Currently, the available tools fall into the first twocategories. Majority of these are difficult to use anddo not deliver the business benefits claimed. Theylack vital capabilities like configuration control ortesting prior to deployment. Hohpe [13, 14] believesthe next generation tools will provide facilities fortesting and debugging as well as provide support formonitoring and management.Ward-Dutton [16] describes four main areas offunctionality that customers need to look for wheninvestigating tools for SOA initiatives. Service enablement - functionality to createservice interfaces based on the capabilitiesof existing applications. Orchestrationandcompositionfunctionality to provide aggregate servicesand create composite services. Lifecycle management - functionality tosupport development and operations teamsto provide high-quality consistent serviceexperience to consumers. Service development - functionality toprovide ability to design services fromscratch or from existing applications andsystems.Here is a small list of recently released productsprovided by some of the major vendors.4874.1 BEA SOA 360In late 2006, BEA Systems, a company specialisingin the development of enterprise infrastructuresoftware, announced, what they call, SOA 360Degrees platform [18] to provide a unified SOAplatform for business transformation andoptimisation. It consists of three product families, asfollows: Tuxedo - for service enablement of legacyassets WebLogic - for the development anddeployment environment to create, exposeand deploy services AquaLogic - for orchestration, management,discovery, security and visualization ofbusiness processes.The SOA 360 is built on the company'smicroService Architecture (mSA) supported by afree-form collaborative environment known as BEAWorkSpace 360. The WorkSpace is intended tofundamentally change the way that both businessand IT professionals collaborate and workindividually across the extended enterprise. BEAbelieve that this product will deliver a truly sharedworkspace for the business analyst, enterprisearchitect, service/application developer and the IToperations professionals. The product nality where participants can actually seehow their efforts are aligned to impact the overallsuccess of the business.The mSA is based on the principles of SOA and theconcept of a Service Network viz: separation ofconcerns and modularity. It is event-driven, usingnotification services to publish/discover componentsand other microServices. The principle of separationof concerns and substitutability helps to enable themSA to evolve with the needs of the enterprise.4.2 Eclipse SOA Tools PlatformEclipse is an open source foundation backed by over100 of the biggest names in enterprise software. Itprovides federated support for software developmenttools. It offers a SOA Tools Platform (STP) basedon its Service Component Architecture (SCA)model [19]. The STP project aims to buildframeworks and extensible tools that enable thedesign, assembly, deployment, monitoring, andmanagement of software designed around thephilosophy of service-orientation. The project isguided by the values of transparency, extensibility,

Proceedings of the 11th WSEAS International Conference on COMPUTERS, Agios Nikolaos, Crete Island, Greece, July 26-28, 2007vendor neutrality, agile development, and standardsbased innovation. Its sub-projects include [19]: STP Core Frameworks (CF): To definemodels conforming to the SCA specificationfor service assembly as well as Javalanguage components for SCA syntaxsupport. STP SOA System (SOAS): To providetools/frameworks for assembling, packagingand deployment of services. STP Service Creation (SC): To handle themanagement of the relationship between theSOA model tooling (provided by STP) andthe actual implementation tooling: goal is tosupport the development in an agile way. STP BPEL 2 Java (B2J): To provide tools totranslate BPEL (Business Process ExecutionLanguage) into executable Java classes anddefine a standard framework for theirdeployment. STP BPMN (BPMN): To provide a set oftools to model business process diagramsusing the Business Process ModellingNotation (BPMN) and allow validation andgeneration of BPEL artefacts from thosediagrams.4.3 IBM’s WSDM for SOA managementIn 2006, IBM released WSDM (Web ServicesDistributed Management) development kit [20]which seeks to unify management infrastructures byproviding a vendor, platform, network, and protocolneutral framework for enabling managementtechnologies to access and receive notifications ofmanagement-enabled resources. Built upon astandardized suite of XML, it includes thefollowing: An Autonomic Manageability EndpointBuilder - to allow developers to buildWSDM interfaces for resources such asservers, applications and printers. Endpoint Simulator - to create a WSDMbased testing environment.The Manageability Builder provides support tocreate XML definitions, on which the endpoint runtime can operate in a WSDM-compatible manner.The manageability endpoint run time is a webservices based run-time environment for WSDMand can run on any platform with a SOAP engine.The WSDM toolkit is freely available from IBM'sAlphaWorks site: www.alphaworks.ibm.com. For anintroduction to WSDM, refer

suggests that SOA is about the evolution of business processes, applications and services from today’s legacy-ridden and silo-oriented systems to a world of federated businesses, accommodating rapid response to change, utilizing vast degrees of business automation [3]. This architecture aims to provide enterprise business solutions that can extend or change on demand as well as provide a .