Tme4093 Soa
Tme4093 Soa
Architecture
4
Reusable services
5
Benefits of service-oriented approach
❑ Integration of Services:
• Services can be provided by internal or external service providers.
• Organizations can build applications by integrating a variety of services from multiple
providers.
❑ Service Accessibility:
▪ Service providers publish information about their services.
▪ Authorized users can utilize these services seamlessly.
❑ Dynamic Service Binding:
▪ Applications can delay the binding of services until deployment or execution.
▪ This flexibility allows applications to be reactive and adapt to changes in their execution
environment.
6
Benefits of a service-oriented approach
7
Service Example - Services scenario
8
Intelligent Information Systems in Modern Cars
9
Key Components and Features Of An In-Car Information System Based On
SOA
Service Registry
Service Providers
Service Consumers
Middleware
Service Orchestration
10
Service Example –
A service-based, in-car information system
11
Service Example –
Advantage of SOA for this application
12
Service-oriented software engineering
❑ Significant Development:
• Comparable in importance to object-oriented development.
❑ Enhanced Cooperation:
• Enables companies and organizations to collaborate by utilizing each other’s business functions.
❑ Flexible Application Construction:
• Applications can be built by linking services from various providers.
• Supports the use of standard programming languages or specialized workflow languages.
13
Service-oriented architecture
14
What is Service-oriented architecture?
15
Service-oriented architectures
16
Service-oriented architecture
17
Benefits of SOA
18
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
▪ A standard for workflow languages used to define service
composition
19
Application of SoA to Online Retail
20
Application of SoA to Education
21
Web service standards
22
23
Service-oriented software engineering
25
Web Service Description Language
26
Service engineering
27
Service Engineering
28
The Service Engineering Process
29
Stages Of Service Engineering
Service design, where you design the logical service interface and its
implementation interfaces (SOAP and/or RESTful)
30
Service Candidate Identification
31
Task and Entity-Oriented Services
32
Service Classification
33
Service identification
37
Functional descriptions of catalog service operations
Operation Description
38
Functional descriptions of Catalog Service Operations
Operation Description
Compare Provides a comparison of up to six characteristics
(e.g., price, dimensions, processor speed, etc.) of up
to four catalog items.
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.
39
Service interface design
40
Example: E-Commerce Order Processing Service
Step Operation Description Message Exchanges State Information
Step 1: Define Operations placeOrder Allows a customer to place a new A single message containing all The response includes an order
order. necessary order details. confirmation with the order ID and
initial status.
checkOrderStatus Allows a customer to check the A single message containing the The request includes the order ID;
current status of their order. order ID to get the status. the response includes the current
status and any updates.
cancelOrder Allows a customer to cancel an A single message containing the The request includes the order ID
existing order. order ID and cancellation reason. and the cancellation reason; the
response confirms the cancellation
and the final status of the order.
Step 2: Minimize Message placeOrder A single message containing all
Exchanges necessary order details.
47
Legacy System Services
48
Service Descriptions
50
Software Development with Services
51
Vacation package workflow
52
Service construction by composition
53
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 abstract 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 is more complex
than component testing in situations where external services are used.
55
Testing Service Compositions
56
Service testing problems