Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 13

DESIGN PATTERNS

ARCHITECTURAL PATTERNS

 An architectural pattern is a general, reusable solution to a commonly occurring problem in


software architecture within a given context
 The architectural patterns address various issues in software engineering, such as computer
hardware performance limitations, high availability and minimization of a business risk.
 Some architectural patterns have been implemented within software frameworks
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

 Service-Oriented Architecture (SOA) is an architectural style. Applications built using an


SOA style deliver functionality as services that can be used or reused when building
applications or integrating within the enterprise or trading partners
 A service is a reusable component that can be used as a building block to form larger, more
complex business-application functionality
 A service may be as simple as “get me some person data,” or as complex as “process a
disbursement.”
SOA DESIGN PATTERNS

1. Foundational Service Patterns


2. Service Implementation Patterns
3. Service Contract Design Patterns
4. Service Security Patterns
5. Service Messaging Patterns
6. Legacy Encapsulation Patterns
7. Composition Implementation Patterns
8. Service Interaction Security Patterns
9. Transformation Patterns
10. Common Compound Design Patterns
TRANSFORMATION PATTERNS

 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

 Event Driven Messaging


 Problem:
 Events occurring within the functional boundary ->Consumers is unable to learn/monitor the events
 Solution:
 Consumer establishes himself as a subscriber to the service

 File Gateway pattern


 Problem:
 Flat files need to processed individually but legacy systems are not capable of invoking services
 Solution:
 File gateway logic acts as a mediator between a service and a flat-file-based legacy system
SERVICE IMPLEMENTATION
PATTERNS
 A collection of specialized design patterns that provide design solutions for a range of service
architecture-specific issues
 Service Façade
 Problem:
 The coupling of the core service logic and implementation resources
 Negatively impact service consumers
 Solution:
 A service facade component is used to abstract a part of the service architecture
SERVICE SECURITY 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

You might also like