Professional Documents
Culture Documents
DP Lecture#19
DP Lecture#19
ARCHITECTURAL PATTERNS
Some treat architectural patterns and architectural styles as the same, some treat styles as
specializations of patterns
What they have in common is both patterns and styles are idioms for architects to use, they
"provide a common language" or "vocabulary" with which to describe classes of systems
SERVICE-ORIENTED ARCHITECTURE
When it comes to composing a solution out of services that belong to different domain
inventories, some sort of transformation mechanisms may be required in order for the
messages to be sent between different service inventories
Design patterns like the Data Model Transformation, the Data Format Transformation and
the Protocol Bridging design patterns can be applied in order to address the different
transformation requirements
TRANSFORMATION PATTERNS
Data Model Transformation: Service interoperability and service composition are hindered
when services use incompatible schemas to represent same data. To convert data between
disparate schema structures, a data transformation technology can be used
Data Format Transformation: Data format disparity can bring about issues in accessing
resources by services, and also incompatibility between a consumer and a target to invoke the
service. Translate one data format into another by introducing intermediary data format
transformation logic
Protocol Bridging: Data exchange is not possible between services using different
communication protocols or different versions of the same protocol. Dynamically convert one
protocol to another by introducing bridging logic to enable communication between different
communication protocols
FOUNDATIONAL SERVICE PATTERNS
A set of basic design patterns that help establish fundamental service design characteristics.
These patterns form the most basic application of service orientation
Functional Decomposition
Problem:
A large business solution logic results in a self- contained application
Reusability constraints
Solution:
The problem can be broken down the required solution logic can be decomposed into a
corresponding set of smaller, related solution logic units
Service Encapsulation
Problem:
Solution logic designed for a single application environment is limited to interoperate with other
parts of an enterprise
Cannot be leveraged with other sections of the enterprise
Solution:
Solution logic can be encapsulated by a service
FOUNDATIONAL SERVICE PATTERNS
Agnostic Context
Problem
Multi-purpose logic grouped together with single purpose logic
Programs with little or no reuse potential
Redundancy into an enterprise
Solution
Isolate logic that is not specific to one purpose into separate services
LEGACY ENCAPSULATION PATTERNS
Patterns for handling threats associated with exposing functionality on potential hostile networks
Message Screening
Problem:
An attacker can transmit malicious messages to a service or eavesdrop on a particular data
Undesirable behavior in the performance of the system
Solution:
The service is provided with special screening routines
Trusted Subsystems
Problem
A consumer may access backend resources of a service directly
Can compromise the integrity of the resources
Solution
The services use their own credentials for authentication and authorization. Customers are prevented
from accessing the backend resources
SERVICE INTERACTION SECURITY
PATTERNS
Direct Authentication
Problem:
Client should be authenticated before offering service by the service provider.
Solution:
Service provider authenticate against identity store within it service
Brokered Authentication
Problem
When clients & services do not trust each other. When clients are required to access multiple
services as part of the same runtime activity.
Solution
Use an authentication broker with a centralized identity store. Consumer can get the token from this
store to get the access from the multiple services