Post on 05-Apr-2018
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??