pattern driven enterprise architecture
TRANSCRIPT
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."
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
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
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
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