Prerequisites for Successful SOA Adoption



Similar documents
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Introduction to Service-Oriented Architecture for Business Analysts

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Developing SOA solutions using IBM SOA Foundation

A Comparison of SOA Methodologies Analysis & Design Phases

Business-Driven Software Engineering Lecture 3 Foundations of Processes

SOA : To Do or Not to Do

Service-Oriented Architecture: Analysis, the Keys to Success!

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Federal Enterprise Architecture and Service-Oriented Architecture

What You Need to Know About Transitioning to SOA

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

Extend the value of your core business systems.

ebay : How is it a hit

How To Understand A Services-Oriented Architecture

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

Service Oriented Architecture (SOA) An Introduction

Chapter 15. Web services development lifecycle

Service-Oriented Architecture and Software Engineering

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Enterprise Service Bus Defined. Wikipedia says (07/19/06)

Sadržaj seminara: SOA Architecture. - SOA Business Challenges s: Billion Dollar Lock-In. - Integration Tools. - Point-to-Point Approach

Testing Web Services Today and Tomorrow

AquaLogic ESB Design and Integration (3 Days)

SOA: The missing link between Enterprise Architecture and Solution Architecture

Service Oriented Architecture

Spring 2011 Conference Sandanski, May 13th 15th 2011 Oracle SOA Suite 11g Rapid service integration and process automation with a no-coding approach

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

Business Process Management Enabled by SOA

Service Oriented Architecture for Enterprise Applications

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

Air Force SOA Enterprise Service Bus Study Using Business Process Management Workflow Orchestration for C4I Systems Integration

5 Steps to Choosing the Right BPM Suite

Independent Insight for Service Oriented Practice. An SOA Roadmap. John C. Butler Chief Architect. A CBDI Partner Company.

Service Oriented Architecture Case: IBM SOA Reference Architecture

Oracle SOA Reference Architecture

A standards-based approach to application integration

INTEGRATING ESB / BPM / SOA / AJAX TECHNOLOGIES

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

Service Virtualization andRecycling

Government's Adoption of SOA and SOA Examples

CBM SOMA - SCA. Techniques and Standards to Increase Business and IT Flexibility. Jouko Poutanen Senior IT Architect, IBM Software Group

Lesson 18 Web Services and. Service Oriented Architectures

SOA Planning Guide The Value Enablement Group, LLC. All rights reserved.

Enterprise Service Oriented Architecture Using the OMG SoaML Standard

What is the difference between Workflow Engines and BPM Suites?

Service-Oriented Architectures

Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.

The Evolution from EAI to ESB

Unlocking the Power of SOA with Business Process Modeling

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1


Business Process Driven SOA using BPMN and BPEL

An Ontological Approach to Oracle BPM

SOA CERTIFIED CONSULTANT

Autonomic computing: strengthening manageability for SOA implementations

Accenture Public Service Platform Taking SOA from the Whiteboard to the Data Center and Beyond

SOA for Healthcare: Promises and Pitfalls

SOACertifiedProfessional.Braindumps.S90-03A.v by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture

JBoss enterprise soa platform

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

Oracle Forms and SOA: Software development approach for advanced flexibility An Oracle Forms Community White Paper

Guiding SOA Evolution through Governance From SOA 101 to Virtualization to Cloud Computing

ESB as a SOA mediator: Minimizing Communications Complexity

SOA Myth or Reality??

SOA CERTIFIED JAVA DEVELOPER (7 Days)

How service-oriented architecture (SOA) impacts your IT infrastructure

What is it? What does it do? Benefits

Approach to Service Management

Global Delivery Excellence Best Practices for Improving Software Process and Tools Adoption. Sunil Shah Technical Lead IBM Rational

10 Years of Hype Cycles - Do We Forget Knowledge?

WHAT IS BPEL AND WHY IS IT SO IMPORTANT TO MY BUSINESS?

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

<Insert Picture Here> Oracle Business Process Management

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

Guiding Principles for Technical Architecture

Service-oriented architecture in e-commerce applications

Oracle Service Bus Statement of Direction August 2008

<Insert Picture Here> Increasing the Effectiveness and Efficiency of SOA through Governance

Service Oriented Architecture 1 COMPILED BY BJ

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

Enterprise Application Designs In Relation to ERP and SOA

E-Business Suite Oracle SOA Suite Integration Options

G-Cloud Framework. Service Definition. Oracle Fusion Middleware Design and Implementation

EnergySync and AquaSys. Technology and Architecture

<Insert Picture Here> Integrating Oracle Forms and a Service Oriented Architecture

Transcription:

George Feuerlicht University of Technology, Sydney jiri@it.uts.edu.au 1. INTRODUCTION The adoption of SOA (Service Oriented Architecture) has gained momentum in the past two years, and the predictions are for further rapid uptake of SOA and Web Services. In a recent report, Gartner estimates that SOA will be used in more than 50% of new, mission-critical applications designed in 2007, and in more than 80% by 2010. At the same time, there are indications that despite the overwhelming industry agreement on adoption of SOA, a majority of IT leaders remain uncertain about the costs, and the technical and the organizational prerequisites for SOA. There are also signs that not all SOA projects are achieving the stated objectives of improved reuse and agility leading to improvements of ROI (Return on Investments), and some projects fail altogether. According to Gartner, SOA is approaching the "Trough of Disillusionment on the Gartner Hype Cycle. Some of the current disillusionment with SOA relates to unrealistic expectations caused by confusion about the scope of the problems that SOA is capable of addressing. The concept of SOA has become overloaded, with some vendors and analysts promoting SOA as a silver bullet solution to most IT problems, claiming that SOA is capable of delivering improved agility, faster time to market, easy integration, improved reuse, better scalability, while at the same time reducing implementation risks and costs. Similar claims were made a decade ago for component-based architectures, and earlier for client/server causing wide-spread skepticism about such claims. It is becoming clear that SOA benefits cannot be achieved overnight simply by switching over to a new technology platform, and that successful SOA adoption requires major change in the implementation and management of business processes across the organization and between business partners and careful management of the transition. 1.1 What is SOA? Lack of a clear SOA definition is a part of the problem. SOA is a set of evolving architectural concepts that together form a blueprint for a new enterprise computing architecture. SOA involves the concept of a service as a basic building block of distributed applications and an Enterprise Service Bus (ESB) - a software infrastructure that enables SOA by acting as a middleware layer that facilitates the interactions between services, and provides a run-time environment for serviceoriented applications. ESB (or some other type of SOA middleware) manages service deployment and execution, and controls access to services based on security and QoS (Quality of Service) attributes. SOA promotes loose coupling and document-based communication using coarse-grained, asynchronous messaging. Many SOA concepts have been adapted from earlier generations of distributed system technologies. SOA has benefited from over twenty years of distributed systems research and development that includes J2EE and.net component architectures. SOA represents the next stage in the evolution of distributed computing, and the benefits of implementing SOA in organizations are likely to be 22

delivered incrementally. Gradual adoption of SOA and its coexistence with component-based architectures and legacy applications is a good strategy that minimizes the risks associated with SOA projects. The emergence of SOA is to a large extent the result of an unprecedented level of standardization based around Web Services. The SOA standardization stack extends from low level protocols such a SOAP up to the level of business process execution language BPEL. However, agreement on technical standards alone does not ensure that the business benefits of SOA will be fully realized. As with any other technology, Web Services can be designed and deployed in many different ways, and with variable results. SOA best practices are still being formulated and evaluated in large-scale implementation projects, and many SOA features are still the subject of ongoing research. 1.2 What determines the success of SOA projects? Successful SOA adoption requires that the organization reaches a level of maturity in a number of important respects that include technical readiness, alignment of organizational business processes and services, and the definition of the SOA governance model. Organizations need to develop a roadmap for transition to SOA that addresses the big picture issues of SOA adoption including SOA governance, implementation of enterprise SOA infrastructure based on accepted standards, and the transformation of legacy applications. At the same time, organizations need to acquire detailed technical knowledge and skills, and introduce comprehensive methodology to support the entire SDLC (Systems Development Life-Cycle) for service-oriented applications. It is becoming clear that SOA adoption needs to be conducted in several stages to avoid the risks associated with the big bang approach, initially identifying projects that are likely to deliver good return on investment within a relatively short period of time (e.g. 3 months). However, it can be dangerous to assume that successful small-scale pilot projects conducted under controlled conditions by a team of highly skilled external consultants can guarantee a successful SOA roll-out across the entire organizations. For example, service reuse cannot be satisfactorily evaluated in the context of a small-scale pilot project and needs to be addressed by fully analyzing requirements across the organization. 2. SOA SYSTEMS DEVELOPMENT LIFE-CYCLE SUPPORT As noted above, a key success factor for SOA adoption is the introduction of a comprehensive methodology that supports the development of new applications as well as the integration of existing, legacy systems. Implementation of SOA applications requires reliable methodologies and tools, covering requirements analysis and modeling, service design, and implementation phases of the SDLC for service-oriented applications. For each SDLC phase, project roles and corresponding skills need to be specified. 23

George Feuerlicht 2.1 Service analysis and modeling Service analysis and modeling has to support business-level conceptual modeling of services and their relationship to business processes, capturing both functional and non-functional requirements. Business Process Modeling (BPM) and Object- Oriented Analysis and Design (OOAD) are well established techniques that have been applied to SOA, but experience gained from SOA implementation projects suggests that such methods only partially support SOA architectural patterns. One key difference concerns the service contract definition. Component-based approaches define the contract purely from functional point of view as the signatures of interface operations and the corresponding pre- and post-conditions. SOA introduces non-functional requirements that include QoS (Quality of Service) and related considerations. Another key difference is that the level of abstraction used for modeling services is higher than normally adopted for component-based systems, and often involves services that represent complex business processes. Identifying the most appropriate level of service granularity during analysis and design phases represents a major challenge to developers of service-oriented applications, and the topic of optimizing service granularity is an active research area at present. Service modeling methodologies are still evolving and opinions differ about the precise nature of the relationship between services and business processes on one hand, and services and components on the other. While most experts recognize the importance of BPM for SOA, the precise nature of the relationship between business processes and services, and the mapping of business processes captured using notation such as BPMN (Business Process Modeling Notation) or UBL (Universal Business Language) into executable languages such as BPEL is still under investigation. 2.2 Service Design Service design is concerned with the transformation of service models produced during analysis into a set of design specifications and artifacts such as service interface specifications and composition/choreography workflows that satisfy specific application requirements. The transition towards service-oriented computing necessitates re-evaluation of design methodologies that are currently used in the construction of enterprise applications. Service design needs to determine what constitutes a service and its operations, and make decisions about the granularity of services based on previously developed service models. In order to achieve the benefits of reuse, extendibility and responsiveness to new business requirements, services must be specified at the correct level of abstraction and granularity. Correct design is crucial as using coarse-granularity services inhibits reuse, and fine-grained services cause higher network overheads and more complex interactions dialogues. Furthermore, coarse-grained service operations are less flexible and more difficult to evolve as a number of business functions are typically combined and implemented as a single operation. Frequently, such services exhibit overlapping functionality and necessitate extensive modifications when the requirements change. Opinions differ on how an optimal level of service granularity should be determined. 24

2.3 SOA Development Tools and Environments In addition to comprehensive modeling and design methodologies, developers of service oriented applications need mature and stable development and deployment platforms. Transition to SOA cannot take place in the absence of application development environments that provide comprehensive support for the various SOA life-cycle stages. Such IDEs (Integrated Development Environments) must support industry standard languages and interfaces (i.e. WSDL, BPEL, Java, etc.) and enhance developer productivity by minimizing low-level coding and using declarative methods whenever possible. The Service Component Architecture (SCA) is an industry effort by BEA, IBM and Oracle aiming to provide a model for the assembly of business solutions from a collection of individual services. The emphasis is on increasing the level of abstraction and focusing on the business problem, minimizing the direct use of low-level APIs, and access methods. Given the industry momentum behind SCA it is likely that many vendors will incorporate support for SCA based development into their products. 3. CONCLUSIONS There is now little doubt that service-oriented computing will play a major role in enterprise computing in the future. Equally, it is evident that SOA cannot instantly solve all enterprise computing issues. A key benefit of SOA is that it enables a close alignment of IT architecture with the business requirements and at the same time facilitates high-levels of business process automation. While SOA implementations can deliver short-term, incremental benefits in integration projects by wrapping existing application components as services, the main, long-term benefit of SOA is that it enables organizations to participate in the emerging world of service-oriented computing that involves sourcing application services externally, and participating in domain-wide service-oriented applications. The benefits of SOA can be only fully realized if reliable technological solutions supported by comprehensive SDLC methodologies are used to develop and deploy service-oriented applications. Another key determinant for the successful adoption of this new approach is the level of the skills and knowledge of IT professionals involved with SOA projects. People involved with introducing SOA into organizations need to be able to make informed decisions about technology selection, the timing of adoption of various Web Services standards and solutions, and successfully manage large-scale SOA projects. The 15 th International Conference Systems Integration 2007 includes a SOA Workshop, presented on Sunday, 10 June, 2006 with a focus on the latest developments in this area. Presentations by international experts include papers on SOA directions, Web Services standardization, and SOA implementation case studies. The workshop will provide an opportunity to discuss SOA implementation issues and share experiences with SOA and Web Services development. 25

George Feuerlicht 26