pattern driven enterprise architecture

32
Pattern Driven Enterprise Architecture Mifan Careem Director, Solutions Architecture, WSO2

Upload: wso2-inc

Post on 23-Jan-2017

1.209 views

Category:

Technology


3 download

TRANSCRIPT

Pattern Driven Enterprise Architecture

Mifan Careem Director, Solutions Architecture, WSO2

Event Driven Architecture Shiroshika

Service Oriented Architecture Dassana

Resource Oriented Architecture Nuwan

Web Oriented Architecture Senaka

o  Definitions – Patterns, EA o  EA Frameworks – Zachman, TOGAF, Gartner o  Patterns in EA o  SOA, ROA, EDA and more o  Building an EA with patterns o  How to get there o  Agility and Change – NFRs o  Iterative Architecture

3  

4  

An architectural pattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context.

5  

Enterprise architecture (EA) is a well-defined practice for conducting enterprise analysis, design, planning, and implementation, using a holistic approach at all times, for the successful development and execution of strategy. Enterprise architecture applies architecture principles and practices to guide organizations through the business, information, process, and technology changes necessary to execute their strategies. These practices utilize the various aspects of an enterprise to identify, motivate, and achieve these changes."

6  

o  A set of principals and practices for modeling enterprise business functions as services or micro services which has the following attributes. o  Standardized o  Loosely coupled o  Reusable o  Composable o  Autonomic o  Stateless o  Abstract o  Discoverable

7  

o  Agile, agile and agile o  Iterative design and implementation o  Shorter lifecycle and sprints o  Changing requirements o  Evolving NFRs

o  Standards based o  RESTful methodologies (HATEOAS, ROA, Entity Linking) o  Binary, HL7, FIX, NMEA

o  Heterogeneous systems o  Microservices and granular systems o  Integration and EDA o  Automation

8  

9  

10  

11  

12  

13  

14  

Business  Architecture  • Requirements  Elicita>on  • NFR  and  FR  

Solu>on  Architecture  L0  • High  level  technical  components  

Solu>on  Architecture  L1  • Detailed  Technical  components  

Applica>on  Architecture  • Design  • Data  Models  • Service  Catalog  • APIs  

Run>me  Architecture  • Capacity  • Deployment  Architecture  • Security  Architecture  

Iden>fica>on   Defini>on   Representa>on   Specifica>on   Configura>on   Instan>a>on  

Zachman’s Model

WSO2 Model

15  

16  

Services

Media>on  

Transforma>on  

Internal  API  Mgt  

Async  Messaging  

Security  

Mon

itorin

g  

Audit  

External  API  Mgt.  

Single  Page  JS   Mobile  Apps   Dashboard  

External  App  Mgt.  

Registry  

Workflow

s  

Analu>

cs  

Services

17  

Services

Media>on  

Transforma>on  

Internal  API  Mgt  

Async  Messaging  

Security  

Mon

itorin

g  

Audit  

External  API  Mgt.  

Single  Page  JS   Mobile  Apps   Dashboard  

External  App  Mgt.  

Registry  

Workflow

s  

Analu>

cs  

Services

o  Many projects fail (CR, Resource overrun etc)

o  Design for agility o  Iterative Architecture o  Partitioned Architecture

18  

19  

Services Services

Legacy  Services  

Core Services

Wrapper  (Adaptor  Pa[ern)  

Cloud Services

Connectors  

{Dead letter channel Guaranteed Delivery Store and Forward}

Data Services

Web Services

{Content based router Scatter-gather Content enricher} {Transactional client}

20  

Services Services

Legacy  Services  

Core Services Cloud Services

Identity, Authentication, Entitlement, Enterprise Identity Bus

LDAP  

External  IS  

Token  Valida>on  

Mediation, Transformation

MQ

Identity Gateway, PEP

21  

Services Services

Legacy  Services  

Core Services Cloud Services

Mediation, Transformation

MQ

Identity Gateway, PEP

Registry, Repository

Identity Gateway, PEP

ROA Fundamentals

o  Uses Representational State Transfer (REST) as the primary design pattern

o  Data is independent of the server and the client - The server implementation can change over time and there can be many clients.

o  Loose coupling is one of the objectives of the architecture o  “State” is treated as actions performed against the resource

23  

“The very notion of a link has become practically inexpressible and virtually unthinkable in the vernacular of SOA.” Sam Ruby

o  Listing a book in the library

GET /book/9780345376596 HTTP/1.1 Host: library.org

Accept: application/json ..

HTTP/1.1 200 OK Content-Type: application/json

Content-Length: …

{ "name": "the pale blue dot",

"ISBN": "9780345376596", "author": "carl sagan",

"borrow": "http://library.org/book/9780345376596/borrow" }

GET /book/9780345376596 HTTP/1.1 Host: library.org

Accept: application/json ..

HTTP/1.1 200 OK Content-Type: application/json

Content-Length: …

{ "name": "the pale blue dot",

"ISBN": "9780345376596", "author": "carl sagan",

"return": "http://library.org/book/9780345376596/return" }

➡  Listing a book after its been borrowed

25  

Services Services

Legacy  Services  

Core Services Cloud Services

Mediation, Transformation

MQ

Identity Gateway, PEP

Registry, Repository

Identity Gateway, PEP

{ RESTful APIs HATEOAS Entity Linking }

Single  Page  JS   Mobile  Apps   Dashboard  

API Token Management

API Store API Gateway

26  

Services Services

Legacy  Services  

Core Services Cloud Services

Mediation, Transformation

MQ

Identity Gateway, PEP

Registry, Repository

Identity Gateway, PEP

{ RESTful APIs HATEOAS Entity Linking }

Single  Page  JS   Mobile  Apps   Dashboard  

API Token Management

API Store API Gateway

Batch Analytics Predictive Analytics Interactive Analytics

o  Event hierarchies and fine grained-ness o  Self describing nature of the event payload o  No special packing for each receiver o  Multiple receivers for a single event o  Responsibility of handling state is with the

consumer o  Anonymity when sending an event o  Real time sending of events o  Async nature of delivery o  Guaranteed delivery

28  

Services Services

Legacy  Services  

Core Services Cloud Services

Mediation, Transformation

MQ

Identity Gateway, PEP

Registry, Repository

Identity Gateway, PEP

{ RESTful APIs HATEOAS Entity Linking }

Single  Page  JS   Mobile  Apps   Dashboard  

API Token Management

API Store API Gateway

API Token Management

29  

30  

o  Patterns help build robust, proven architectures o  Whilst EA focuses on a higher level, patterns

provide various levels of reusable best practices at various granularities

o  WSO2 middleware provides the ideal base platform for various patterns and concepts

o  An agile, partitioned, iterative architecture is ideal for building large scale systems

31  

Contact us !