SlideShare ist ein Scribd-Unternehmen logo
1 von 44
ServiceOrientedArchitecture
Agenda
• Introduction to service oriented
architecture
• Services as reusable components
• Service engineering
 Service candidate identification
 Service design
 Service implementation and deployment
• Software development with services
• Key points
• References
Introduction to SOA
Evolution of System Architecture
The system layers
• Presentation Layer
• Business Logic Layer
• Data Access Layer
Introduction to SOA
Evolution of System Architecture(con. )
1-Tier Architecture
Presentation, business logic, and data access
are intertwined in one monolithic mainframe
application.
Introduction to SOA
Evolution of System Architecture(con. )
2-Tier Architecture
Separation of front end from other 2 layers
• Client/server systems with thin clients/fat clients
• Use RPC (Remote Procedure Calls) to communicate
between tiers
Introduction to SOA
Evolution of System Architecture(con. )
3-Tier Architecture
Separating data access layer from Business
logic (middleware)
Introduction to SOA
Evolution of System Architecture(con. )
N-Tier Architecture
N-tier is a generalisation of the 3-tier architecture.
• Most 3-tier systems connect into other
systems in order to complete the processing.
Introduction to SOA
getProduct()
App Server A App Server B
getProductCall ()
DB (A)
.jar
getProduct()
v2
DB (B)
Introduction to SOA
Definition of service
Service
Consumer
Service
Provider
Service request
Service response
S
e
r
v
i
c
e
Software Software
Introduction to SOA
Definition of service
• A service is a unit of work done by a service provider
to achieve desired end results for a service consumer.
Both provider and consumer are roles played by
software agents on behalf of their owners.
• Service is a well defined function that does not
depend on the state of other services.
Introduction to SOA
Definition of SOA
• A Service-Oriented Architecture (SOA) is a system
consisting of software components with standardized
component-access and usage interfaces that are
independent of any specific platform or implementation
technology.
• SOA is a solution for making two software to
communicate to each other.
• SOAs are a way of developing distributed systems
where the system components are stand-alone services,
executing on geographically distributed computers.
Introduction to SOA
Service-Oriented Architecture
Introduction to SOA
Web Service Standards
Introduction to SOA
Key Standards
• SOAP
A message exchange standard that supports service
communication
• WSDL (Web Service Definition Language)
This standard allows a service interface and its bindings
to be defined
• WS-BPEL (Web service Business Process Execution Language)
A standard for workflow languages used to define service
composition
Introduction to SOA
A service-based, in-car information system
Introduction to SOA
Benefits of SOA
• Services can be provided locally or outsourced
to external providers
• Services are language-independent
• Investment in legacy systems can be preserved
• Inter-organisational computing is facilitated
through simplified information exchange
Services as
Reusable
Components
• Services are independent
• Existing services can more easily be reuse because
services in a standard way.
• Software systems can be constructed by composing
other services.
• Encapsulates functionality (provides interface that
allows access to the service functionality).
17
Services as
Reusable
Components
• Encapsulates functionality (provides interface that
allows access to the service functionality).
• Services are platform and implementation-
language independent.
In practice, a service is implemented by
Microsoft’s .NET Framework
18
Web
Service
Description
Language
 The service interface is defined in a service
description expressed inWSDL (Web Service
Description Language).
 TheWSDL specification defines 3 parts ofWS:
 What operations the service supports and the format of the
messages
 How the service is accessed - specifies communication by
exchanging messages, expressed in XML using protocols such
as HTTP andTCP/IP
 Where the service is located.This is usually expressed as a URI
(Universal Resource Identifier)
19
Organization
of
A WSDL
Specification
Service-oriented architecture 20
 WSDL specifications are now rarely written by hand
and most of the information in a specification can be
automatically generated.
Part of a WSDL
description
for a web service
21
Major problem
does not include any information about non function
requirements (performance , dependability) discovered by
experiments !!
Comparison
between
SOAP/WSDL
And
RESTfull
22
SOAP/WSDL RESTFULL
Services described using WSDL and
accessed via SOAP (is a message
interchange standard that supports the
communication between services )
Approach supports efficient service
communication
By URL communicates using methods GET,
PUT, POST, and DELETE
WS-Reliability Messaging : ensures
messages will be delivered once and once
only.
WS-Transactions : defines how
transactions across distributed services
should be coordinated.
it does not support enterprise-level features
such as WS-Reliability
and WS-Transactions.
involve a lower overhead than big data
services
much simpler method than SOAP/WSDL for
implementing web services
Service
Engineering
 The process of developing services for reuse in service-
oriented applications
 The service has to be designed as a reusable abstraction
that can be used in different systems.
 Generally useful functionality associated with that
abstraction must be designed and the service must be
robust and reliable.
 The service must be documented so that it can be
discovered and understood by potential users.
23
Service Engineering
Process
24
Stages
of Service
Engineering
Service candidate identification
 where you identify possible services that might be
implemented and define the service requirements.
Service design
 where you design the logical andWSDL service
interfaces.
Service implementation and deployment
 where you implement and test the service and make it
available for use.
25
Servicecandidate
identification
 Service candidate identification involves
understanding an organization’s business processes
to decide which reusable services could support
these processes.
Service candidate
identification
Three fundamental types of service
Utility services
 That implement general functionality used by
different business processes.
Business services
 That are associated with a specific business function
e.g., in a university, student registration.
Coordination services
 That support composite processes such as ordering.
27
Service
identification
 Is the service associated with a single logical entity
used in different business processes?
 Is the task one that is carried out by different people in
the organisation?
 Is the service independent?
 Does the service have to maintain state? Is a database
required?
 Could the service be used by clients outside the
organisation?
 Are different users of the service likely to have
different non-functional requirements?
28
Service
Identification
Example
 A large company, which sells computer equipment,
has arranged special prices for approved
configurations for some customers.
 To facilitate automated ordering, the company
wishes to produce a catalog service that will allow
customers to select the equipment that they need.
 Unlike a consumer catalog, orders are not placed
directly through a catalog interface. Instead, goods
are ordered through the web-based procurement
system of each company that accesses the catalog as
a web service.
 Most companies have their own budgeting and
approval procedures for orders and their own
ordering process must be followed when an order is
placed.
29
Catalog Services
Service requirements
 Specific version of catalogue should be created for
each client
 Catalogue shall be downloadable
 The specification and prices of up to 6 items may
be compared
 Browsing and searching facilities shall be provided
 A function shall be provided that allows the
delivery date for ordered items to be predicted
 Virtual orders shall be supported which reserve the
goods for 48 hours to allow a company order to be
placed
30
Catalogue
Non-functional
Requirements
 Access shall be restricted to employees of
accredited organisations
 Prices and configurations offered to each
organisation shall be confidential
 The catalogue shall be available from 0700 to 1100
 The catalogue shall be able to process up to 10
requests per second
31
Functional
descriptions
of catalog service
operations
Operation Description
Make Catalog Creates a version of the catalog tailored for a specific
customer. Includes an optional parameter to create a
downloadable PDF version of the catalog.
Compare Provides a comparison of up to six characteristics (e.g.,
price, dimensions, processor speed, etc.) of up to four
catalog items.
Lookup Displays all of the data associated with a specified catalog
item.
32
Functional
descriptions
of catalog service
operations
Operation Description
Search This operation takes a logical expression and searches the
catalog according to that expression. It displays a list of all
items that match the search expression.
CheckDelivery Returns the predicted delivery date for an item if ordered
that day.
MakeVirtualOrder Reserves the number of items to be ordered by a customer
and provides item information for the customer’s own
procurement system.
33
Legacy system
services
 An important application of services is to provide
access to functionality embedded in legacy systems
which reduces the cost of service implementation
 External applications can access this functionality
through the service interfaces
Software
Development with
Services
 Existing services are composed and configured to create
new composite services and applications
The basis for service composition
is often a workflow
 Workflows are logical sequences of activities that,
together, model a coherent business process
 For example, provide a travel reservation services
which allows flights, car hire and hotel bookings to be
coordinated
35
Vacation package
workflow
36
Service
construction
by composition
37
Construction by
composition
Design outline workflow
 In this stage of , you use the requirements for the
composite service as a basis for creating an ‘ideal’
service design.
Discover services
 During this stage, you search service registries or
catalogs to discover what services exist, who
provides these services and the details of the
service.
Select possible services
 Your selection criteria will include the functionality
of the services offered, the cost of the services and
the quality of service offered.
38
Construction by
composition
Refine workflow.
 This involves adding detail to the abstract description and
perhaps adding or removing workflow activities.
Create workflow program
 During this stage, the workflow design is transformed to
an executable program and the service interface is
defined.You can use a conventional programming
language, such as Java or a workflow language, such as
WS-BPEL.
Test completed service or application
 The process of testing the completed, composite service.
39
Workflow design
& implementation
 WS-BPEL is an XML-standard for workflow
specification. However,WS-BPEL descriptions are
long and unreadable
 Graphical workflow notations, such as BPMN, are
more readable andWS-BPEL can be generated
from them
40
Service Testing
 Testing is intended to find defects and find if a
system meets its functional and non-functional
requirements.
41
Service testing
problems
 External services may be modified by the service
provider thus invalidating tests which have been
completed.
 The non-functional behavior of the service is
unpredictable because it depends on load.
 If services have to be paid for as used, testing a
service may be expensive.
42
Key points
 The service engineering process involves identifying
candidate services for implementation, defining the
service interface and implementing, testing and
deploying the service.
 Service interfaces may be defined for legacy software
systems which may then be reused in other
applications.
 Software development using services involves creating
programs by composing and configuring services to
create new composite services.
 Service software testing.
43
References
• Somerville , SOFTWARE ENGINEERING Ninth
Edition
• Len Bass , Paul Clements , Rick Kazman Software
Architecture in Practice ,second edition
• http://www.codeproject.com/
• http://www.ibm.com/developerworks/rational/libr
ary/feb06/eeles/
• https://msdn.microsoft.com/en-
us/library/ee658098.aspx

Weitere ähnliche Inhalte

Was ist angesagt?

Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & BeyondImesh Gunaratne
 
Service oriented architecture
Service oriented  architectureService oriented  architecture
Service oriented architecturePratik Patil
 
03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA ArchitecturePouria Ghatrenabi
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture Prabhat gangwar
 
Service oriented architecture
Service oriented architectureService oriented architecture
Service oriented architectureAmit Ranjan
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureSyed Mustafa
 
Soa Primer
Soa PrimerSoa Primer
Soa Primervavasthi
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soasmithaps4
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentalsabhi1112
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented ArchitectureLuqman Shareef
 
Unit 2 -SOA design
Unit 2 -SOA designUnit 2 -SOA design
Unit 2 -SOA designssuser3a47cb
 
Uunit 5-xml&web security
Uunit 5-xml&web securityUunit 5-xml&web security
Uunit 5-xml&web securityssuser3a47cb
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologiesssuser3a47cb
 
SOA Reference Architecture
SOA Reference ArchitectureSOA Reference Architecture
SOA Reference ArchitectureRajan Ramanujam
 
Unit 4-SOA governance
Unit 4-SOA governanceUnit 4-SOA governance
Unit 4-SOA governancessuser3a47cb
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAIMC Institute
 

Was ist angesagt? (20)

Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
 
Service oriented architecture
Service oriented  architectureService oriented  architecture
Service oriented architecture
 
03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture03 Service Oriented Architecture Series - Basic SOA Architecture
03 Service Oriented Architecture Series - Basic SOA Architecture
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture
 
Service oriented architecture
Service oriented architectureService oriented architecture
Service oriented architecture
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Soa Primer
Soa PrimerSoa Primer
Soa Primer
 
Service oriented architecture characteristics of soa
Service oriented architecture characteristics  of soaService oriented architecture characteristics  of soa
Service oriented architecture characteristics of soa
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
 
Soa chapter 5
Soa chapter 5Soa chapter 5
Soa chapter 5
 
Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
 
Unit 2 -SOA design
Unit 2 -SOA designUnit 2 -SOA design
Unit 2 -SOA design
 
Uunit 5-xml&web security
Uunit 5-xml&web securityUunit 5-xml&web security
Uunit 5-xml&web security
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
 
SOA Reference Architecture
SOA Reference ArchitectureSOA Reference Architecture
SOA Reference Architecture
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
Unit 4-SOA governance
Unit 4-SOA governanceUnit 4-SOA governance
Unit 4-SOA governance
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
 
SOA unit-3-notes-Introduction to Service Oriented Architecture
SOA unit-3-notes-Introduction to Service Oriented ArchitectureSOA unit-3-notes-Introduction to Service Oriented Architecture
SOA unit-3-notes-Introduction to Service Oriented Architecture
 

Andere mochten auch

Parallel computing with Gpu
Parallel computing with GpuParallel computing with Gpu
Parallel computing with GpuRohit Khatana
 
Conceptmap, mindmap
Conceptmap, mindmapConceptmap, mindmap
Conceptmap, mindmapilleso
 
Web service with Laravel
Web service with LaravelWeb service with Laravel
Web service with LaravelAbuzer Firdousi
 
Dependency Injection in Laravel
Dependency Injection in LaravelDependency Injection in Laravel
Dependency Injection in LaravelHAO-WEN ZHANG
 
CPU vs. GPU presentation
CPU vs. GPU presentationCPU vs. GPU presentation
CPU vs. GPU presentationVishal Singh
 
Service-Oriented Architecture
Service-Oriented ArchitectureService-Oriented Architecture
Service-Oriented ArchitectureSamantha Geitz
 
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...ZendCon
 

Andere mochten auch (7)

Parallel computing with Gpu
Parallel computing with GpuParallel computing with Gpu
Parallel computing with Gpu
 
Conceptmap, mindmap
Conceptmap, mindmapConceptmap, mindmap
Conceptmap, mindmap
 
Web service with Laravel
Web service with LaravelWeb service with Laravel
Web service with Laravel
 
Dependency Injection in Laravel
Dependency Injection in LaravelDependency Injection in Laravel
Dependency Injection in Laravel
 
CPU vs. GPU presentation
CPU vs. GPU presentationCPU vs. GPU presentation
CPU vs. GPU presentation
 
Service-Oriented Architecture
Service-Oriented ArchitectureService-Oriented Architecture
Service-Oriented Architecture
 
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
 

Ähnlich wie Service Oriented Architecture

Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...ecosio GmbH
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOACoi Xay
 
Introduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web ServicesIntroduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web Servicesecosio GmbH
 
CBSE VS SOA Presentation
CBSE VS SOA PresentationCBSE VS SOA Presentation
CBSE VS SOA PresentationMaulik Parikh
 
CBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU PresentationCBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU Presentationmgp1560
 
Service design principles and patterns
Service design principles and patternsService design principles and patterns
Service design principles and patternsReturn on Intelligence
 
Service Design Principles and Patterns
Service Design Principles and PatternsService Design Principles and Patterns
Service Design Principles and PatternsReturn on Intelligence
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service BusHamed Hatami
 
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineeringSweta Kumari Barnwal
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11koolkampus
 
Study on Use Case Model for Service Oriented Architecture Development
Study on Use Case Model for Service Oriented Architecture DevelopmentStudy on Use Case Model for Service Oriented Architecture Development
Study on Use Case Model for Service Oriented Architecture Developmentijcnes
 
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...Yogesh Santhan
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9Ian Sommerville
 
Integration with dynamics ax 2012
Integration with dynamics ax 2012Integration with dynamics ax 2012
Integration with dynamics ax 2012Ali Raza Zaidi
 

Ähnlich wie Service Oriented Architecture (20)

Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
 
Migrating SOA
Migrating SOAMigrating SOA
Migrating SOA
 
Introduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web ServicesIntroduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web Services
 
SOA and Monolith Architecture - Micro Services.pptx
SOA and Monolith Architecture - Micro Services.pptxSOA and Monolith Architecture - Micro Services.pptx
SOA and Monolith Architecture - Micro Services.pptx
 
Web services
Web servicesWeb services
Web services
 
CBSE VS SOA Presentation
CBSE VS SOA PresentationCBSE VS SOA Presentation
CBSE VS SOA Presentation
 
CBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU PresentationCBSE VS SOA SJSU Presentation
CBSE VS SOA SJSU Presentation
 
Soa & Bpel With Web Sphere
Soa & Bpel With Web SphereSoa & Bpel With Web Sphere
Soa & Bpel With Web Sphere
 
SOA Course - Next Generation
SOA Course - Next GenerationSOA Course - Next Generation
SOA Course - Next Generation
 
Bpm soa
Bpm soaBpm soa
Bpm soa
 
Service design principles and patterns
Service design principles and patternsService design principles and patterns
Service design principles and patterns
 
Service Design Principles and Patterns
Service Design Principles and PatternsService Design Principles and Patterns
Service Design Principles and Patterns
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineering
 
Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11Distributed Systems Architecture in Software Engineering SE11
Distributed Systems Architecture in Software Engineering SE11
 
Study on Use Case Model for Service Oriented Architecture Development
Study on Use Case Model for Service Oriented Architecture DevelopmentStudy on Use Case Model for Service Oriented Architecture Development
Study on Use Case Model for Service Oriented Architecture Development
 
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
 
Ch19
Ch19Ch19
Ch19
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Integration with dynamics ax 2012
Integration with dynamics ax 2012Integration with dynamics ax 2012
Integration with dynamics ax 2012
 

Kürzlich hochgeladen

SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 

Kürzlich hochgeladen (20)

SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 

Service Oriented Architecture

  • 2. Agenda • Introduction to service oriented architecture • Services as reusable components • Service engineering  Service candidate identification  Service design  Service implementation and deployment • Software development with services • Key points • References
  • 3. Introduction to SOA Evolution of System Architecture The system layers • Presentation Layer • Business Logic Layer • Data Access Layer
  • 4. Introduction to SOA Evolution of System Architecture(con. ) 1-Tier Architecture Presentation, business logic, and data access are intertwined in one monolithic mainframe application.
  • 5. Introduction to SOA Evolution of System Architecture(con. ) 2-Tier Architecture Separation of front end from other 2 layers • Client/server systems with thin clients/fat clients • Use RPC (Remote Procedure Calls) to communicate between tiers
  • 6. Introduction to SOA Evolution of System Architecture(con. ) 3-Tier Architecture Separating data access layer from Business logic (middleware)
  • 7. Introduction to SOA Evolution of System Architecture(con. ) N-Tier Architecture N-tier is a generalisation of the 3-tier architecture. • Most 3-tier systems connect into other systems in order to complete the processing.
  • 8. Introduction to SOA getProduct() App Server A App Server B getProductCall () DB (A) .jar getProduct() v2 DB (B)
  • 9. Introduction to SOA Definition of service Service Consumer Service Provider Service request Service response S e r v i c e Software Software
  • 10. Introduction to SOA Definition of service • A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software agents on behalf of their owners. • Service is a well defined function that does not depend on the state of other services.
  • 11. Introduction to SOA Definition of SOA • A Service-Oriented Architecture (SOA) is a system consisting of software components with standardized component-access and usage interfaces that are independent of any specific platform or implementation technology. • SOA is a solution for making two software to communicate to each other. • SOAs are a way of developing distributed systems where the system components are stand-alone services, executing on geographically distributed computers.
  • 13. Introduction to SOA Web Service Standards
  • 14. Introduction to SOA Key Standards • SOAP A message exchange standard that supports service communication • WSDL (Web Service Definition Language) This standard allows a service interface and its bindings to be defined • WS-BPEL (Web service Business Process Execution Language) A standard for workflow languages used to define service composition
  • 15. Introduction to SOA A service-based, in-car information system
  • 16. Introduction to SOA Benefits of SOA • Services can be provided locally or outsourced to external providers • Services are language-independent • Investment in legacy systems can be preserved • Inter-organisational computing is facilitated through simplified information exchange
  • 17. Services as Reusable Components • Services are independent • Existing services can more easily be reuse because services in a standard way. • Software systems can be constructed by composing other services. • Encapsulates functionality (provides interface that allows access to the service functionality). 17
  • 18. Services as Reusable Components • Encapsulates functionality (provides interface that allows access to the service functionality). • Services are platform and implementation- language independent. In practice, a service is implemented by Microsoft’s .NET Framework 18
  • 19. Web Service Description Language  The service interface is defined in a service description expressed inWSDL (Web Service Description Language).  TheWSDL specification defines 3 parts ofWS:  What operations the service supports and the format of the messages  How the service is accessed - specifies communication by exchanging messages, expressed in XML using protocols such as HTTP andTCP/IP  Where the service is located.This is usually expressed as a URI (Universal Resource Identifier) 19
  • 20. Organization of A WSDL Specification Service-oriented architecture 20  WSDL specifications are now rarely written by hand and most of the information in a specification can be automatically generated.
  • 21. Part of a WSDL description for a web service 21 Major problem does not include any information about non function requirements (performance , dependability) discovered by experiments !!
  • 22. Comparison between SOAP/WSDL And RESTfull 22 SOAP/WSDL RESTFULL Services described using WSDL and accessed via SOAP (is a message interchange standard that supports the communication between services ) Approach supports efficient service communication By URL communicates using methods GET, PUT, POST, and DELETE WS-Reliability Messaging : ensures messages will be delivered once and once only. WS-Transactions : defines how transactions across distributed services should be coordinated. it does not support enterprise-level features such as WS-Reliability and WS-Transactions. involve a lower overhead than big data services much simpler method than SOAP/WSDL for implementing web services
  • 23. Service Engineering  The process of developing services for reuse in service- oriented applications  The service has to be designed as a reusable abstraction that can be used in different systems.  Generally useful functionality associated with that abstraction must be designed and the service must be robust and reliable.  The service must be documented so that it can be discovered and understood by potential users. 23
  • 25. Stages of Service Engineering Service candidate identification  where you identify possible services that might be implemented and define the service requirements. Service design  where you design the logical andWSDL service interfaces. Service implementation and deployment  where you implement and test the service and make it available for use. 25
  • 26. Servicecandidate identification  Service candidate identification involves understanding an organization’s business processes to decide which reusable services could support these processes.
  • 27. Service candidate identification Three fundamental types of service Utility services  That implement general functionality used by different business processes. Business services  That are associated with a specific business function e.g., in a university, student registration. Coordination services  That support composite processes such as ordering. 27
  • 28. Service identification  Is the service associated with a single logical entity used in different business processes?  Is the task one that is carried out by different people in the organisation?  Is the service independent?  Does the service have to maintain state? Is a database required?  Could the service be used by clients outside the organisation?  Are different users of the service likely to have different non-functional requirements? 28
  • 29. Service Identification Example  A large company, which sells computer equipment, has arranged special prices for approved configurations for some customers.  To facilitate automated ordering, the company wishes to produce a catalog service that will allow customers to select the equipment that they need.  Unlike a consumer catalog, orders are not placed directly through a catalog interface. Instead, goods are ordered through the web-based procurement system of each company that accesses the catalog as a web service.  Most companies have their own budgeting and approval procedures for orders and their own ordering process must be followed when an order is placed. 29
  • 30. Catalog Services Service requirements  Specific version of catalogue should be created for each client  Catalogue shall be downloadable  The specification and prices of up to 6 items may be compared  Browsing and searching facilities shall be provided  A function shall be provided that allows the delivery date for ordered items to be predicted  Virtual orders shall be supported which reserve the goods for 48 hours to allow a company order to be placed 30
  • 31. Catalogue Non-functional Requirements  Access shall be restricted to employees of accredited organisations  Prices and configurations offered to each organisation shall be confidential  The catalogue shall be available from 0700 to 1100  The catalogue shall be able to process up to 10 requests per second 31
  • 32. Functional descriptions of catalog service operations Operation Description Make Catalog Creates a version of the catalog tailored for a specific customer. Includes an optional parameter to create a downloadable PDF version of the catalog. Compare Provides a comparison of up to six characteristics (e.g., price, dimensions, processor speed, etc.) of up to four catalog items. Lookup Displays all of the data associated with a specified catalog item. 32
  • 33. Functional descriptions of catalog service operations Operation Description Search This operation takes a logical expression and searches the catalog according to that expression. It displays a list of all items that match the search expression. CheckDelivery Returns the predicted delivery date for an item if ordered that day. MakeVirtualOrder Reserves the number of items to be ordered by a customer and provides item information for the customer’s own procurement system. 33
  • 34. Legacy system services  An important application of services is to provide access to functionality embedded in legacy systems which reduces the cost of service implementation  External applications can access this functionality through the service interfaces
  • 35. Software Development with Services  Existing services are composed and configured to create new composite services and applications The basis for service composition is often a workflow  Workflows are logical sequences of activities that, together, model a coherent business process  For example, provide a travel reservation services which allows flights, car hire and hotel bookings to be coordinated 35
  • 38. Construction by composition Design outline workflow  In this stage of , you use the requirements for the composite service as a basis for creating an ‘ideal’ service design. Discover services  During this stage, you search service registries or catalogs to discover what services exist, who provides these services and the details of the service. Select possible services  Your selection criteria will include the functionality of the services offered, the cost of the services and the quality of service offered. 38
  • 39. Construction by composition Refine workflow.  This involves adding detail to the abstract description and perhaps adding or removing workflow activities. Create workflow program  During this stage, the workflow design is transformed to an executable program and the service interface is defined.You can use a conventional programming language, such as Java or a workflow language, such as WS-BPEL. Test completed service or application  The process of testing the completed, composite service. 39
  • 40. Workflow design & implementation  WS-BPEL is an XML-standard for workflow specification. However,WS-BPEL descriptions are long and unreadable  Graphical workflow notations, such as BPMN, are more readable andWS-BPEL can be generated from them 40
  • 41. Service Testing  Testing is intended to find defects and find if a system meets its functional and non-functional requirements. 41
  • 42. Service testing problems  External services may be modified by the service provider thus invalidating tests which have been completed.  The non-functional behavior of the service is unpredictable because it depends on load.  If services have to be paid for as used, testing a service may be expensive. 42
  • 43. Key points  The service engineering process involves identifying candidate services for implementation, defining the service interface and implementing, testing and deploying the service.  Service interfaces may be defined for legacy software systems which may then be reused in other applications.  Software development using services involves creating programs by composing and configuring services to create new composite services.  Service software testing. 43
  • 44. References • Somerville , SOFTWARE ENGINEERING Ninth Edition • Len Bass , Paul Clements , Rick Kazman Software Architecture in Practice ,second edition • http://www.codeproject.com/ • http://www.ibm.com/developerworks/rational/libr ary/feb06/eeles/ • https://msdn.microsoft.com/en- us/library/ee658098.aspx

Hinweis der Redaktion

  1. All Processing in Single Computer All Resources Attached to the same Computer Access Via Dumb Terminals
  2. Two alternatives approaches: Client tier leads to Fat clients Must be reimplemented on each type of client Each software update must be redistributed Data tier leads to Different applications have different needs for the same data Performance issues due to resource (data) usage; e.g. concurrency
  3. Increase in the number of tiers means: Increase flexibility, functionality and ways of distribution. However: Increases communication costs. Complexity rises leading to higher cost and risk. Increases in duplication can lead to redundancy.
  4. Above figure encapsulates the idea of a SOA. Service providers : design and implement services and specify the interface to these services. They also publish information about these services in an accessible registry. - Service requestors : (sometimes called service clients) who wish to make use of a service discover the specification of that service and locate the service provider. They can then bind their application to that specific service and communicate with it, using standard service protocols.
  5. 1. SOAP this is a message interchange standard that supports the communication between services. It defines the essential and optional components of messages passed between services. 2. WSDL The Web Service Definition Language (WSDL) is a standard for service interface definition. It sets out how the service operations (operation names, parameters, and their types) and service bindings should be defined. 3. WS-BPEL The Web service Business Process Execution Language This is a standard for a workflow language that is used to define process programs involving several different services.
  6. 1. SOAP this is a message interchange standard that supports the communication between services. It defines the essential and optional components of messages passed between services. 2. WSDL The Web Service Definition Language (WSDL) is a standard for service interface definition. It sets out how the service operations (operation names, parameters, and their types) and service bindings should be defined. 3. WS-BPEL The Web service Business Process Execution Language This is a standard for a workflow language that is used to define process programs involving several different services.
  7. This example illustrates one of the key advantages of the service-oriented approach. It is not necessary to decide when the system is programmed or deployed what service provider should be used or what specific services should be accessed.