soa - 17kasim2011

Upload: akin-kaldiroglu

Post on 06-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 SOA - 17Kasim2011

    1/40

    mailto:[email protected]:[email protected]
  • 8/3/2019 SOA - 17Kasim2011

    2/40

    Agenda

    What is SOA?

    Concept of service and web services

    SOA from different perspectives SOA technologies and products

    SOA pitfalls

    This presentation has 40 slides.

  • 8/3/2019 SOA - 17Kasim2011

    3/40

    Modern corporations are faced with a profounddilemma. Increasingly, they are becoming information-

    based organizations, dependent on a continuous flow ofdata for virtually every aspect of their operations. Yettheir ability to handle that data is breaking downbecause the volume of information is expanding fasterthan the capacity to process it. The result: Corporations

    are drowning in their own data.The problem doesnt lie in hardwarecomputerscontinue to increase in speed and power at aphenomenal rate. The failure lies in software. Developingsoftware to tap the potential of computers turns out tobe a far greater challenge than building faster machines.

    David A. Taylor, Ph.D.,

    inObject Technology: A Managers Guide

  • 8/3/2019 SOA - 17Kasim2011

    4/40

    SOA Defined Service-Oriented Architecture is an IT strategy that

    organizes the discrete functions contained in enterpriseapplications into interoperable, standardsbased

    services that can be combined and reused quickly tomeet business needs.

    There are some keywords in this definition that need tobe inspected further, so lets do that.

  • 8/3/2019 SOA - 17Kasim2011

    5/40

    IT Strategy SOA is a strategy or paradigm to manage business

    computing needs in an enterprise.

    SOA is an approach to how to handle your IT to promote

    successful business. SOA is an enterprise-level architecture for most of

    business applications.

    Main aim and promise of SOA is to reduce the time and

    cost of creating new applications through reuse. SOA builds its sphere around the concepts of business

    processes and services.

  • 8/3/2019 SOA - 17Kasim2011

    6/40

    IT and Business Alignment IT-Business tension has always been a problem in

    enterprises.

    This tension should be overcome in order to have

    successful IT applications that create competitive edgefor the enterprise.

    BusinessStrategy SOA

    IT

    Strategy

  • 8/3/2019 SOA - 17Kasim2011

    7/40

    Discrete Functions Every enterprise has a number of its own business

    functions.

    Most of those functions are discrete in that they handle

    different parts of the business mostly without touchinganother.

    Or if they are communicating, it mostly happens point-to-point basis or they share some data, etc.

    In fact those discrete functions should become part ofapplications that implement company-wide processes tocreate for example more integrated and less overlappingcustomer experience.

  • 8/3/2019 SOA - 17Kasim2011

    8/40

    Enterprise Application Functions are implemented by software applications.

    By implementing functions, applications managebusiness processes that consequently provide some

    functions to internal departments of the company or itspartners and customers.

    Those discrete applications live in local contexts such asthe individual departments or among a few of them.

    Production, marketing, customer service, finance andsome others such as claims in insurance business or moretechnological ones in telecom business

  • 8/3/2019 SOA - 17Kasim2011

    9/40

    Business Processes and Contexts But SOA implements business processes at wider

    contexts: Company-wide and/or a space from suppliersto customers.

    Thats because processes in an enterprise get morecomplex and they touch customers at more points andin more interactive and information-intensive ways.

    And think that all these interaction points behave

    distinctly and treat the customer without knowinganything about other interaction points!

    That creates frustrating experience for the customers.

  • 8/3/2019 SOA - 17Kasim2011

    10/40

    Interoperable The IEEE Glossary defines interoperability as the ability

    of two or more systems or components to exchangeinformation and to use the information that has been

    exchanged. Interoperability has always been hard and traditionally

    achieved with one of manyEnterprise ApplicationIntegration (EAI) approaches

    Two sides of the wire have mostly incompatible OSs, PLs,protocols, file formats, etc.

    EAI has been achieved by P2P, bus-based architectures.

  • 8/3/2019 SOA - 17Kasim2011

    11/40

    Point-to-Point IntegrationPackaged CRM

    Packaged ERP

    Mainframe

    App Server

    CRM Application

    ERP Application

    CustomApplication

    EJB Application

    EAI Client Tier

    CustomLogic

    CustomLogic

    CustomLogic

    CustomAPI

    CustomAPI

    CustomAPI

    CustomAPI

    CustomAPI

    CustomAPI

    CustomAPI

    CustomAPI

    ClientApplication

    ClientApplication

    ClientApplication

  • 8/3/2019 SOA - 17Kasim2011

    12/40

    Bus-based Integration

  • 8/3/2019 SOA - 17Kasim2011

    13/40

    Standards-basedWhat takes for two persons with different languages to

    understand each other?

    Words and grammar.

    What takes for two incompatible software systems towork together?

    Data types and protocol or language syntax

    Unless two incompatible software system agree upondata types and syntax they use, they cant work together.

  • 8/3/2019 SOA - 17Kasim2011

    14/40

    Standards: XMLXML provides a standard, platform/OS/programming

    language-independent way to express data types:

    An XML document or message can be understood by

    different languages as long as its semantic is known. The semantic of XML can be expressed in documents such

    as schemas.

    Any enterprise can express its domain in XML.

    That means an enterprise can create its ontologyAnd that ontology can be understood and consumed by

    other enterprises.

  • 8/3/2019 SOA - 17Kasim2011

    15/40

    Standards: SOAP SOAP (Simple Object Access Protocol) provides

    platform/OS/programming language-independent wayto carry XML documents between disparate platforms.

    When an XML massage is served through SOAP, whichis on the top of the ubiquitous HTTP, that makes a webservice.

    SOAP is not the only alternative to implement webservices. RESTis getting more attention!

    So web services became de-facto standard ofinteroperability or EAI.

  • 8/3/2019 SOA - 17Kasim2011

    16/40

    Service Services are the most basic building block of SOA.

    What makes a service?

    Any application from a Fahrenheit2Celcius converter to anERP can be a service or set of services.

    A service in SOA is a logical and self-contained businessfunction.

  • 8/3/2019 SOA - 17Kasim2011

    17/40

    Services and SE In terms of Software Engineering, services are the last

    step in abstraction.

  • 8/3/2019 SOA - 17Kasim2011

    18/40

    SOA Service Attributes SOA services have following attributes:

    Stateless

    Discoverable

    Self-describing Unassociated

    Composable

    Loosely coupled

    Location and language transparentAnd mostly have following attributes:

    Coarse-grained

    Asynchronous

  • 8/3/2019 SOA - 17Kasim2011

    19/40

    Service As New Or Existing One

    Types of Service Access and Implementation

    Created

    from existingfunctionality

    Created as

    newfunctionality

    Can be achieved eitherby exposing existingfunctionality as Webservices or by usingadapters

    Can be developed byusing service buscomponents, BPELprocesses, or Webservices implementedwith Java or Java EE

    Invoked

    throughprotocols and

    methods

    Services can beinvoked by usingSOAP over HTTP, JMSadapters, or WSIF.

    Serviceaccess

    Serviceaccess

  • 8/3/2019 SOA - 17Kasim2011

    20/40

    SOA and Reusability I Reusability is the nirvana of the computing!

    Change in business is so fast that developing newapplication from scratch all the time is not a solution!

    So marginal cost of each new application or featureshould be as minimal as possible through reuse.

    SOA allows creating new applications built upon theexisting ones exposed as services.

    In SOA reusable assets are the services that are created,configured, assembled in different applications manytimes over and over again and consumed.

  • 8/3/2019 SOA - 17Kasim2011

    21/40

  • 8/3/2019 SOA - 17Kasim2011

    22/40

    SOA and Reusability II Reuse does not come automatically with SOA!

    Reuse can only be achieved by a collaborative effort of

    business and IT So reuse is a mostly an organizational issue.

    It takes planning, finding, classifying, prioritizing,developing, packaging, etc. services.

  • 8/3/2019 SOA - 17Kasim2011

    23/40

    Business Process Management SOA is about orchestrating the services to implements

    business processes.

    A business process consists of services that function as

    actions, rules, decisions, etc. and provides a value whenfinished.

    Managing a business service is called Business ProcessManagement (BPM).

    And there are standards to create and manage businessprocesses.

  • 8/3/2019 SOA - 17Kasim2011

    24/40

    BPEL Business Process Execution Language (BPEL), short

    for Web Services Business Process Execution Language(WS-BPEL) is an OASIS standard executable language

    for specifying actions within business processes withweb services

    Processes in BPEL export and import information byusing web service interfaces exclusively.

    BPEL includes variable initialization, decision andrepetition, XML data access, human interactions, ruleevaluations, etc.

  • 8/3/2019 SOA - 17Kasim2011

    25/40

    Credit

    service

    SMservice

    BPEL

    process

    Start

    RDservice

    End

    Handle negativecredit exception

    10 a.m.

    3 p.m.

    Selectlowestquote

    Get rating

    Sendorder

    Receive

    quote

    Sendorder

    Receive

    quote

  • 8/3/2019 SOA - 17Kasim2011

    26/40

    Standards Behind SOA

    Transport

    Message

    Description

    Discovery

    Quality ofservice

    Businessprocesses

    HTTP(S), IIOP, JMS, SMTP

    XML

    SOAP

    WSDL

    UDDI

    WS-SecurityWS-ReliableMessaging

    Orchestration: BPEL

    ManagementWS-PolicyWS-Security

    Service Component Architecture (SCA)

    Service Data Objects (SDO) Data access

    Assemblymodel

  • 8/3/2019 SOA - 17Kasim2011

    27/40

    What SOA is SOA can be thought of as:

    An enterprise-level design approach

    A collection of services that interact with one another

    A set of services that are loosely coupled, with well-defined, reusable, platform-independent interfaces

    A higher level of application development

    Services provide access to data, business processes, and

    IT infrastructure, ideally in an asynchronous manner. Before SOA we first develop then integrate, after

    SOA we first integrate then develop.

  • 8/3/2019 SOA - 17Kasim2011

    28/40

    What SOA is not SOA is not a technology but an approach to use

    technology for more efficient IT and businessarchitecture

    SOA is not hardware nor software SOA is not web services,

    SOA is not business process management

    SAO is not an IT job

  • 8/3/2019 SOA - 17Kasim2011

    29/40

  • 8/3/2019 SOA - 17Kasim2011

    30/40

    SOA to CIO To CIO, SOA is a way to reduce the total cost of

    ownership of the whole business application suit in theenterprise.

    With SOA, CIO expects that the marginal cost and effortof each new application would be much lower becausethey will be created only by re-orchestrating the existingservices.

    Services dont have to be developed locally, they can beprovided as a service by third parties as SAAS.

    Services from outside of the company would definitelylower the costs and leading time.

  • 8/3/2019 SOA - 17Kasim2011

    31/40

    SOA to Business Executive To the business executive, SOA is a set of services that

    can be exposed to their customers, partners, and otherparts of the organization.

    Applications serve the business because they arecomposed of services that can be quickly modified orredeployed in new business contexts, allowing the

    business to quickly respond to changing customerneeds, business opportunities, and market conditions.

  • 8/3/2019 SOA - 17Kasim2011

    32/40

    SOA to IT Architect To an IT Architect, SOA means the overall enterprise

    architecture definition and the process that enables ITto develop and deploy business capability rapidly.

    For architect, SOA is the architectural solution forintegrating diverse systems by providing anarchitectural style that promotes loose coupling and

    reuse.

  • 8/3/2019 SOA - 17Kasim2011

    33/40

    SOA to Business Analyst To business analyst, SOA is a mechanism to unlock

    small and distinct business processes out of localapplications to constitute more strategic business

    processes in a larger context.

    Business analyst understands the strategy of the wholebusiness and extracts new requirements or changes in

    existing ones for the new services and new processes.

  • 8/3/2019 SOA - 17Kasim2011

    34/40

    SOA to Developer To the developer, SOA is a programming model or

    paradigm where web services and contracts becomes adominant design for interoperability.

    It is a web service when it uses a Web ServiceDescription Language (WSDL) or equivalentspecification for describing the service.

    So the developer keeps either developing new services

    using new requirements or extracting services from theexisting applications.

  • 8/3/2019 SOA - 17Kasim2011

    35/40

    SOA for Everything?

  • 8/3/2019 SOA - 17Kasim2011

    36/40

    SOA is not for Everything SOA may not be suitable for

    Homogeneous business and IT environments,

    Time-critical applications,

    Too transactional, mostly CRUD operations,Algorithmic applications that change very infrequently,

    When tight coupling is not an issue or something wanted,

    When sharing is not an issue.

  • 8/3/2019 SOA - 17Kasim2011

    37/40

  • 8/3/2019 SOA - 17Kasim2011

    38/40

    Magic Quadrant of SOA

  • 8/3/2019 SOA - 17Kasim2011

    39/40

    SOA Pitfalls (for Trkiye) SOA is the most-awaited silver bullet.

    Business-IT non-alignment.

    Lack of process culture, more focus on technology.

    Lack of proper understanding regarding SOA, againmore focus on technology.

    Inability to restructure the companys business and ITresources around service and SOA needs.

    Starting with the most complicated process withoutestablishing a reference architecture.

  • 8/3/2019 SOA - 17Kasim2011

    40/40

    Teekkrler

    ve

    Sorular.