Five Best Practices For Deploying A Successful Service .

Transcription

IBM Global ServicesApril 2008Five best practices for deploying asuccessful service-oriented architectureLeveraging lessons learned from the IBM Academy of Technology

Five best practices for deploying a successful SOAExecutive SummaryLike your organization, IBM strives for high achievementand consistent, measurable results. To this end, theIBM Academy of Technology recently initiated a studyof SOA Foundation deployments. With the objective ofidentifying a set of best practices based on successfuloutcomes, a team of IBM’s top technologists—120IT architects, developers, IT specialists, and projectmanagers from around the globe—reviewed more than200 case study submissions, choosing nearly 100case studies that were selected for evaluation. Theteam categorized 750 lessons learned and 650 bestpractices across 10 domain categories identified asthe most important focus areas for a successful SOAdeployment, including:Today’s innovative market leaders are inthe forefront of implementing advancedbusiness applications—leveraging industryspecific solution frameworks supported by aservice-oriented architecture (SOA). In fact,yours may be one of many organizationsalready using the IBM SOA Foundation1,which can help improve the integration ofyour business applications and data whileempowering your environment to respondmore quickly to demands for new andchanging services. As a business leader,you expect efficient transformation, notproblems or delayed deployments. Yourgoal is to see a rapid return on your investment, and when it’s time to report to theboardroom, you want the discussion to focuson outstanding results.1 Business process modeling, monitoring,management, dashboards Enterprise service bus (ESB) implementationand federation Information as a service Methods and tools Solutions and interoperability Meeting nonfunctional requirements Rapid delivery of pilot / proof of concept Development and operational environmentinstallation, configuration Problem determination and resolutions,debugging, testing Organizational factorsTypical SOA Foundation case study: Integration of IBM programproducts with legacy and newly created applications over theduration of about four (4) months.2

Five best practices for deploying a successful SOAFocusing on five top prioritiesReuseYour objective should be to create a reusablearchitecture framework to facilitate SOA initiativesacross the enterprise by:From an executive perspective, five key best practicesfor a successful deployment consistently emerged fromwithin the ten domain categories, including the need to: Develop an architecture with a vision forthe future. Foresee linkages from IT to your businessprocesses. Create an organizational culture and skillsto support SOA. Build a scalable infrastructure. Enable operational visibility throughgovernance and service management. Establishing that the reuse of architecturalcomponents takes precedence overindividual project requirements Assessing new requirements from theperspective of creating reusable componentsYou shouldn’t assume that existing Web servicescomply with standards or that they can be easilycomposed and integrated. Service composition ishighly complex and often includes transactions,unit-of-work boundaries, error handling, securityand propagation of credentials, and aggregationof business logic. As a best practice, you need todesign services for reuse at the outset and increasereusability as the business case for the requiredeffort progresses. Most important, remember thatreuse requires careful planning, engineeringand management.Taking a broader view of architectureLooking beyond simple connectiveness and focusingmore on architecture is the most common recurringneed across the ten categories. The IBM study demonstrates that to achieve a successful deployment, a corearchitecture leadership team must first be establishedto ensure consistency of efforts and direct the vision ofthe architecture. Best practices specific to architecturefrom this study can be grouped into four distinct themes:reuse, data management, security and the need for aproof of concept.3

Five best practices for deploying a successful SOAMessage routing and the ESBMessage-level, content-based routing is a pivotal partof any robust SOA infrastructure. However, you don’tneed to reinvent the wheel. Instead, you can adapt yourexisting routing protocols, such as TCP/IP, which areknown for their robustness and flexibility.Because of their simplicity and ability to support pointto-point data requirements, traditional data transferapproaches are still preferred in some scenarios.However, as you move toward implementing data as aservice, effective information metadata managementand use of Common Information Model (CIM) is a keycritical success factor. Using CIMs can help speeddevelopment by enabling you to establish standardsand descriptive metadata for information that can beapplied to all interfaces, messages, data structuresand data transformations to support reuse. A modeldriven approach to standardize best practices willalso accelerate development and provide for furtherconsistency across interfaces and informationalstructures. Using this model-driven approach helpsreduce the need for transformation, and makes it mucheasier to design transformations when they are required.As your SOA implementation matures, an ESBarchitecture will most likely provide the translation androuting of messages between different services. Yoursolution should be simple enough to meet requirements,yet be able to adapt to your existing infrastructure.As SOA becomes more widely adopted across yourenterprise, the role of the ESB will become more critical,so your solution should be integrated with a commonframework and tooling. Avoid letting the applicationscontrol the design—keep application-specific businesslogic and processing out of the ESB. And resist allowingthe ESB to become a catch-all for new function that doesnot fit anywhere else. The simpler the architecture, themore scalable, efficient and flexible your solution will be.SecurityAlthough an SOA creates an open framework, it canalso enhance the security of your data and systemsas you implement security as a service. It is importantto establish a comprehensive view of security anddelegate specific requirements to appropriate points inthe architecture. You also need to leverage middlewareservices to meet key infrastructure requirements forsecurity, logging and monitoring. By isolating thesefunctions from your solutions, you can improve yourcapabilities in these areas with a consistent point ofcontrol and management.Data managementFor SOA, it is especially important to focus on the dataaspect of your implementation. Each solution needsto prioritize the establishment of a data managementframework that recognizes the components of theframework, its dependencies, roles and responsibilities.Lack of a framework can result in data mismanagement,trusted source issues and threats to data integrity.4

Five best practices for deploying a successful SOAProof of conceptWhen there is no prior experience to provide testedinformation about making a major SOA design decision,it is beneficial to consider doing a proof of concept. Youwant to avoid a failed or wrong decision, which couldresult in penalties. Because many SOA transformationprojects involve the migration of proven and time-testedsystems to new technologies, products and concepts,it is strongly recommended to use the proof-of-conceptapproach. Make it a best practice to start with a small,more affordable and quick test implementation to helpprovide the information necessary to make overarchingstrategic decisions. Consider developing a portion ofthe functionality that covers a narrow, but horizontal,end-to-end layer of your larger implementation. And,if the business process you are focused on is highlycomplex, consider conducting small iterations of thefinal implementation to help verify the applicability ofthe concepts as you progress.A major challenge is that most businessanalysts do not have the ability to documentrequirements, processes and servicesaccurately to facilitate the general alignmentof business and IT. Business processmodeling provides an effective method fortracing life cycles of key business entitiesto yield simple, flexible business processmodels with consistent task granularity tomore easily gain consensus among differentstakeholders, both at the business and IT level.However, your business process model maybe error-prone, because many organizationsuse structured programming tools andprogramming constructs erroneously. If highlevel business process models are erroneous,it is difficult and expensive to refine them intoexecutable business processes. Correctingthe process becomes even more expensive ifthe process model is later changed, with thesame errors corrected multiple times whenthe model changes are propagated to theimplementation. Model quality is critical, andany errors should be identified and eliminatedfrom the first iteration.Creating linkages from IT to your businessThe term SOA indicates that your goal is to implementan architecture that transitions IT into the role of aservice-oriented provider for your business functions.This goal requires a purposeful effort to link IT to yourbusiness processes with a focus on future businessprocess design—that is, you need to envision SOAsolutions by examining how the business processesshould run, not how they currently run.5

Five best practices for deploying a successful SOAComponent business modeling (CBM) as well asService-Oriented Modeling and Architecture(SOMA) both support a best practices approach tomodeling. CBM helps you analyze your enterpriseby first partitioning it into relatively independent,non-overlapping business components to identifyopportunities for innovation or improvement. Serviceoriented modeling is necessary for the creation of anSOA and for input uses the results of the businesscomponentization analysis as well as business goalsand key performance indicators. The output is an SOAwhich is independent of any specific technology aswell as model for how it can best be realized using theappropriate technologies.2 In the IBM study, almost25% of the case studies were early adopters of SOMAand indicated that it was key to their success.As you move toward SOA, you will want to moveaway from a siloed organizational structure, whichtends to limit thinking within the scope of individualprojects. Integrating a large number of projects withtheir own agendas without some central control isnearly impossible and almost always inefficient. Abest practice is to establish a design authority toengage technical stakeholders and promote earlyarchitecture decision making.To facilitate the alignment of business and IT, it isimportant to provide more training—along with easierto-use technology—to support business analystswho are responsible for documenting the businessprocesses. Do not assume that your business processanalysts easily understand service definitions writtenby developers. Current tools are geared toward a moretechnical audience, so there is a knowledge gap alongwith a cultural difference, which means more training isneeded to develop IT business analysts.It’s also important to think outside the boundariesof your enterprise. Be sure to interlock with servicepartners, since an SOA has high dependencies onother applications. This partner interlock will helpensure that your interfaces are mutually understoodat each phase of your deployment to prevent anypotential compatibility issues.With SOA projects you will be dealing with short timeframes, challenging objectives, demanding customers,multiple resources in various locations with differentskills and ways of working. Especially with a proof ofconcept, where the project can be easily sidetrackedbecause of other activities, you need laser-sharp focusthrough a strong project manager who can anticipateissues and accommodate them in a beneficial andproactive way.Structuring your organization andbuilding skillsThe largest number of lessons learned and bestpractices identified from the IBM study relate toorganizational factors including culture, skills, training,teaming, organization structure, decision making,reward systems, collaboration and governance.2IBM Systems Journal: Service-oriented Architecture, Volume 446

Five best practices for deploying a successful SOAScope creep can also be a contributing factor thatleads to poor project results. A best practice is tohave a control on the scope of exactly what is includedin the pilot or proof of concept. Without this, the projectcan spiral out of control and not achieve the statedobjectives. It is important for the project manager toencourage continual feedback, along with frequentreview points and demonstrations. The project managerwill also need to translate the experience from a proofof-concept technical jargon into business vocabularywhen reporting to stakeholders. This feedback andcommunication will help drive the project towardsuccessful completion.A best practice is to utilize standards-based compliancetest tools, enforcing compatibility checks as part of thedevelopment process. You can also leverage productfunctionalities such as mock services, which are partof the IBM WebSphere Business Fabric, to get anearly indication if business objectives are being met.Create a baseline for your Web services performanceusing appropriate instruments and measurementsfor your Web services so that you have some tangibleinformation to compare and improve upon. Finally, forplanning purposes, keep in mind that given the numberof variables in a SOA environment, your staff may needto generate a significant number of test cases—andplan for this accordingly.SOA enablement requires use of the latest technologyfeatures and product versions, so you will need toprovide continuous training and mentoring to reducerisk. Time to install products tends to be significantlyunderestimated. Integrating various software, hardwareand services can be difficult and time-consuming,so even though products may be designed to worktogether, they may not be easy to implement.When lack of requirements, schedule constraintsor variable system requirements do not allow forformal capacity planning and server acquisition,you should utilize automation and virtualization toprovision a test environment. Finally, always validateyour SOA implementation with a technical architecturereview from an independent consultant or test lab.This validation will give you the confidence that yourarchitecture and the products selected will operatewithin the expected performance envelope.Ensuring the scalability of your SOALike the case studies evaluated in the IBM study, yourSOA implementation will most likely involve hundreds ofconnections. As much as you can, use known solutionsto meet reliability and performance requirements. Thendesign, test, and retest to confirm that your performance,scalability and interoperability requirements are met.Never deploy a solution without properly addressingand testing these nonfunctional requirements.7

Five best practices for deploying a successful SOAAchieving operational visibility and controlA focus on service management can also improveoversight of your SOA implementation. Problemand incident management systems along withproblem determination and troubleshooting utilitiesshould provide a sufficient configurable level ofinformation at all levels of your architecture. At thesame time, selecting technology solutions thatsimplify SOA infrastructure management will helplimit complexity. For example, many ESB functions—such as routing, transformation, policy andsecurity—are integrated with a single WebSphereDataPower SOA appliance, simplifying deploymentand operations management.SOA governance is a key critical success factor forachieving sustained benefits of an SOA, helping toensure the full architectural benefits of reuse. Aneffective SOA governance platform not only helpsbusiness and IT teams better identify which projectscontribute most to business goals, but it also empowersemployees to work and collaborate more efficientlyby clearly defining their roles and responsibilities. Foroptimal results, SOA governance should be introducedprior to your first major SOA project, during any initialSOA pilot projects. This positions your organization tosuccessfully handle the complexity of a major projectrather than treating it as a training mission.Supporting sustained resultsSOA governance should also align with yourorganization’s enterprise architecture program.An enterprise wide and cross-project scope isneeded to avoid overlapping and inconsistentgovernance models embedded within individualprojects that may lead to confusion and slow downs.Focusing on the five factors in this paper can help youmore efficiently meet your investment objectives as youplan for and deploy an SOA as well as deliver ongoingbenefits as you extend SOA across your enterprisesolutions. The IBM study reveals success is more thansimply designing and implementing new technology.Architecture is more than just connecting your systemsand networks—architecture is a vision for how you wantIT aligned to your business.Publishing capabilities and services is an importantpart of governance and helps encourage reuse.Establishing a common language within the project,such as a glossary or terminology, makes it possible forexecutives and team members at any level to identifyand leverage existing SOA services, including disparateteams across your organization.Capitalizing on SOA infrastructure servicesfrom IBMIBM is using the findings of the IBM Academy ofTechnology study to influence product roadmaps andenhance the IBM SOA Foundation. Best practices from8

the case studies and ongoingSOA projects provide continuedimprovements to IBM Global Servicescapabilities with increased servicesstandardization to further extendour offering portfolio. Another directresult of the study is our patentedarchitecture decision accelerator forSOA, a tool used by IBM specialiststo speed architecture strategy anddesign. To help you prepare to meetnew performance, agility and policyrequirements introduced by yourSOA-enabled business solutions,our architects and specialists alsoleverage the IBM SOA infrastructurereference architecture along withIBM Global Services Methods, whichincorporate IT service managementbest practices. Our comprehensiveguidance and services can help you: Plan for a test environment to helpuncover performance problems. Develop new testing processesand perform complex performance testing. Design and integrate a securitystrategy for your SOA. Expand your current servicemanagement solutions to supportyour SOA implementation. Leverage virtualization capabilitieswithin your infrastructure.For more informationFor more information aboutSOA infrastructure services fromIBM, part of our IT strategy andarchitecture services and middleware services portfolios, visit: Copyright IBM CorporationIBM Global ServicesRoute 100Somers, NY 10589U.S.A.Produced in the United States of America04-2008All Rights ReservedIBM, the IBM logo, and WebSphere are trademarksor registered trademarks of International BusinessMachines Corporation in the United States, othercountries or both.Other company, product and service namesmay be trademarks or service marks of others.References in this publication to IBM productsor services do not imply that IBM intends to makethem available in all countries in whichIBM operates.ibm.com /SOA/services Perform a health check ofyour current IT capabilities toenable SOA. Define a strategy and identifyinitiatives as part of a prioritizedroadmap. Define an infrastructurearchitecture that embracesSOA to support yourbusiness requirements. Develop infrastructure conceptualand specification designs tosupport the requirements of anSOA application framework. Design and implement an ESBto help you decouple yourWeb services, applicationsand infrastructure. Implement an applicationinfrastructure that supportsyour SOA applications.IAW03001USEN

Five best practices for deploying a successful SOA 3 Focusing on five top priorities From an executive perspective, five key best practices for a successful deployment consistently emerged from within the ten domain categories, including the need to