final SOA

download final SOA

of 33

Transcript of final SOA

  • 8/2/2019 final SOA

    1/33

    Implementation and Testing

    Service Oriented Architecture

    By

    Bharath KumarBijo Stephen

  • 8/2/2019 final SOA

    2/33

    INTRODUCTION TO SOA

    An architectural style to achieve loose coupling

    among interacting software services. SOA as an architectural style where systems consist

    of service users and service providers

    auxiliary components- enterprise service bus (ESB)and the directory of services

    SERVICE PROVIDER SERVICE USER

    CONNECTOR

  • 8/2/2019 final SOA

    3/33

    WHAT IS SOA?

    SERVICE- representative of a repeatable business

    process- Having interface , Implementation

    Independent.

    SERVICE ORIENTATION- method of integratingbusiness applications and processes as linked services

    SERVICE-ORIENTED ARCHITECTURE- set ofbusiness services composed to capture the business

    design for service orientation.

  • 8/2/2019 final SOA

    4/33

    WHY SOA?

    Flexible (Agile) - Adaptable to changing business

    needs

    Faster time to market- Reuse existing code, minimize

    new development

    Business and process-driven- New business

    opportunities

    Leverage existing IT asset and greater returns on

    investment.

  • 8/2/2019 final SOA

    5/33

    PRE SOA SCENARIO

  • 8/2/2019 final SOA

    6/33

    SOA - ENABLED SCENARIO

    Partner Credit Data Back -end system Back -end system Customer data

  • 8/2/2019 final SOA

    7/33

    PRINCIPLES AND ARCHITECTURE OF SOA Standardized service contract- Services adhere to a communications agreement,

    as defined collectively by one or more service-description documents.

    Service loose coupling- Services maintain a relationship that minimizesdependencies and only requires that they maintain an awareness of each other.

    Service Abstraction- Beyond descriptions in the service contract, services hidelogic from the outside world.

    Service Reusability - Logic is divided into services with the intention of promotingreuse.

    Service Autonomy - Services have control over the logic they encapsulate.

    Service Granularity- A design consideration to provide optimal scope and rightgranular level of the business functionality in a service operation.

    Service Stateless - Services minimize resource consumption by deferring themanagement of state information when necessary

  • 8/2/2019 final SOA

    8/33

    SOA SERVICE LAYERS

    ACCESS LAYER PROCESS LAYER

    SERVICE LAYER

    RESOURCE LAYER

  • 8/2/2019 final SOA

    9/33

    SOA COMPONENTS

    1. Service provider-creates a service and publishes its interface and

    access information to a service registry.

    2. Service consumer- locates entries in the service registry and thenbinds to the service provider in order to invoke the defined service.

    3. Service registry- is responsible for making the service interface andimplementation access information available to service consumers.

  • 8/2/2019 final SOA

    10/33

    SOA Components

  • 8/2/2019 final SOA

    11/33

    WEB SERVICES AND SOA

    SOA is not same as Web Services.

    A SOA is essentially a collection of services.

    The technology of Web Service is connection

    technology of SOAs.

    Web Service is a software system designed to

    support interoperable machine-machine.

    The WSDL forms the basis for Web Services

  • 8/2/2019 final SOA

    12/33

    WEB SERVICES RELATIONSHIP TO SOA

    Web services are a technology that is well suited inimplementing a SOA.

    Web services can be developed as loosely coupled

    application components using any programming

    language, any protocol, or any platform

  • 8/2/2019 final SOA

    13/33

    Web Service Components

    The service provider, service client and service

    registry. Communications between components is based

    on XML messaging

    Service provider provides a service to its clients. Theservices are published within the registry.

    Service registry is a network server that maintains

    details of available services.

    Client side implements this service. It uses the

    registry to discover a service and its description.

  • 8/2/2019 final SOA

    14/33

    SOA TESTING

    Is a unique testing and validation needs of Service

    Oriented Architectures

    Services are based on heterogeneous technologies

    Tests the message layer functionality of the services,

    automates the testing and supports numeroustransport protocols

    Testing functionality include static

    analysis through WSDL testing.

  • 8/2/2019 final SOA

    15/33

    SOA Testing Challenges

    Services that do not have a user interface

    Data driven business logic within services

    External services to the organization

    Predicting the future usage of services to assist with

    performance, load, stress, scalability The quality of 'service' software will be vital to

    promote reuse and facilitate business agility.

    As your SOA evolves, security testing will have a

    higher priority and profile within your organizations

    test strategy

  • 8/2/2019 final SOA

    16/33

    SOA TEST METHODOLOGY

    Traditional software testing that focused on code-

    level testing has evolved with Distributed andWeb Service architectures.

    Web application testing has introduced more

    testing of business logic through the application'suser interface.

    SOA stresses on business logic implementation.

    SOA services will not have a user interface,

    which is one of the new challenges to testing

    unit.

  • 8/2/2019 final SOA

    17/33

    SOA TESTING APPROACH

    Equal weighting of testing effort throughout the

    project life cycle. Design the project test approach alongside the project

    business and technical requirements

    Implement Quality Controls throughout the project life

    cycle.

    Design and Plan Security testing from the start of the

    project.

    Using suitable Testing Tools

  • 8/2/2019 final SOA

    18/33

    HOW DO YOU TEST SOA ARCHITECTURE?

    break down the architecture to its component parts.

    Test each component in a recommended approach byusing testing tools , then integrate the holistic

    architecture.

    SOA is loosely coupled with complex

    interdependencies and a SOA testing approach mustfollow the same pattern.

  • 8/2/2019 final SOA

    19/33

    SOA

    COMPONENTS

  • 8/2/2019 final SOA

    20/33

    DIFFERENT LEVELS OF SOA TESTING

    Governance Testing

    Functional Testing Performance Testing

    Service-component-level Testing

    Service-level Testing

    Integration-level Testing

    Security Testing

  • 8/2/2019 final SOA

    21/33

    Governance Testing

    SOA Governance is a key factor in the success of any

    SOA Implementation covers the entire lifecycle of SOA Implementation-

    Design ,Run , Maintenance.

    Refers to Standards (Quality) and Policies that come

    into picture during- Implementation-Design -Run

  • 8/2/2019 final SOA

    22/33

    Functional Testing

    API Testing

    Detect errors at an early stage, right from the

    requirements level

    Ensure that real-world test data is used

    Automate test case execution to improveproductivity

  • 8/2/2019 final SOA

    23/33

    Performance Testing

    As SOA grows more of the SOA components and

    services are reused-To clock this we need

    Performance Testing.

    Can be done on individual services and componentsof SOA architecture.

  • 8/2/2019 final SOA

    24/33

    Service-component-level testing

    Unit testing is generally performed by developers to

    check the code compiles and meets all basicfunctionality as specified.

    Divide and conquer- isolate a module from the

    software and determine whether it behaves exactly as

    you expect

    Component is tested separately before integrating it

    into a service or services

  • 8/2/2019 final SOA

    25/33

    Service-level testing

    Most important testing phase in SOA approach.

    To ensure code complies with organization standardsand to identify any potential interoperability,

    performance and security defects or weaknesses

    Quality entry and exit criteria are not only defined forthis level of testing, but are achieved before

    delivering the service to the next level of testing

    must ensure that the service is not only meeting the

    requirements of the current project, but meeting thebusiness and operational requirements

    I t ti l l t ti

  • 8/2/2019 final SOA

    26/33

    Integration-level testing

    focus on service interfaces

    aims to determine if interface and information sharing

    between the services are working as specified

    should be tested on different technology platforms.

  • 8/2/2019 final SOA

    27/33

    Security Testing

    Web Services are exposed to the outside world, this

    fact opens up a host of vulnerabilities, attacks,

    penetration etc. Typical security policies have to be

    enforced at the network level to secure SOA. Testing - Simulate denial-of-service attacks

    Popular denial-of-service mitigation products from

    Arbor Networks

  • 8/2/2019 final SOA

    28/33

    REAL TIME SCENARIO WITH SOA

    Grand Total Calculation in Online Shopping :Services Used:

    1. N unit price Calculation

    2. Tax calculation3. Shipping amount Calculation

    4. Grand total Calculation

  • 8/2/2019 final SOA

    29/33

    Pictorial Representation

    ITEM

    PRICE/UNIT

    COUNTRY/CITY/ZIP

    CODE

    N UNIT

    PRICES

    TAX

    CALCULATI

    ON

    TAX

    CALCULATI

    ON

    GRAND

    TOTAL

    Request/Response

    Parameter

    Services

    Input Parameter

  • 8/2/2019 final SOA

    30/33

    REQUEST XML FOR NPRICE UNIT

  • 8/2/2019 final SOA

    31/33

    RESPONSE XML FOR NPRICE UNIT

  • 8/2/2019 final SOA

    32/33

    Test Plan for Tax Calculation

    T.no Description Input Expected Result

    1 Valid Input(zipcode) 560029,1000 20

    2 Invalid Input(zipcode) , 1000 Error

    3 Invalid Input 235acf,1600 Error

  • 8/2/2019 final SOA

    33/33

    THANK YOU

    ANY QUERIES??