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	
  
Monitoring	
  
Audit	
  
External	
  API	
  Mgt.	
  
Single	
  Page	
  JS	
   Mobile	
  Apps	
   Dashboard	
  
External	
  App	
  Mgt.	
  
Registry	
  
Workflows	
  
Analu>cs	
  
Services
17	
  
Services
Media>on	
  
Transforma>on	
  
Internal	
  API	
  Mgt	
  
Async	
  Messaging	
  
Security	
  
Monitoring	
  
Audit	
  
External	
  API	
  Mgt.	
  
Single	
  Page	
  JS	
   Mobile	
  Apps	
   Dashboard	
  
External	
  App	
  Mgt.	
  
Registry	
  
Workflows	
  
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 ServicesCloud 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 ServicesCloud 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 ServicesCloud 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 StoreAPI Gateway
26	
  
Services Services
Legacy	
  Services	
  
Core ServicesCloud 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 StoreAPI 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 ServicesCloud 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 StoreAPI 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 !

Pattern Driven Enterprise Architecture

  • 1.
    Pattern Driven EnterpriseArchitecture Mifan Careem Director, Solutions Architecture, WSO2
  • 2.
  • 3.
    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.
    4   An architecturalpattern is a general, reusable solution to a commonly occurring problem in software architecture within a given context.
  • 5.
    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.
  • 7.
    o  A setof 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  
  • 8.
    o  Agile, agileand 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.
    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.
    16   Services Media>on   Transforma>on   Internal  API  Mgt   Async  Messaging   Security   Monitoring   Audit   External  API  Mgt.   Single  Page  JS   Mobile  Apps   Dashboard   External  App  Mgt.   Registry   Workflows   Analu>cs   Services
  • 17.
    17   Services Media>on   Transforma>on   Internal  API  Mgt   Async  Messaging   Security   Monitoring   Audit   External  API  Mgt.   Single  Page  JS   Mobile  Apps   Dashboard   External  App  Mgt.   Registry   Workflows   Analu>cs   Services
  • 18.
    o  Many projectsfail (CR, Resource overrun etc) o  Design for agility o  Iterative Architecture o  Partitioned Architecture 18  
  • 19.
    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.
    20   Services Services Legacy  Services   Core ServicesCloud Services Identity, Authentication, Entitlement, Enterprise Identity Bus LDAP   External  IS   Token  Valida>on   Mediation, Transformation MQ Identity Gateway, PEP
  • 21.
    21   Services Services Legacy  Services   Core ServicesCloud Services Mediation, Transformation MQ Identity Gateway, PEP Registry, Repository Identity Gateway, PEP
  • 22.
    ROA Fundamentals o  UsesRepresentational 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.
    23   “The verynotion of a link has become practically inexpressible and virtually unthinkable in the vernacular of SOA.” Sam Ruby
  • 24.
    o  Listing abook 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.
    25   Services Services Legacy  Services   Core ServicesCloud 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 StoreAPI Gateway
  • 26.
    26   Services Services Legacy  Services   Core ServicesCloud 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 StoreAPI Gateway Batch Analytics Predictive Analytics Interactive Analytics
  • 27.
    o  Event hierarchiesand 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.
    28   Services Services Legacy  Services   Core ServicesCloud 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 StoreAPI Gateway API Token Management
  • 29.
  • 30.
  • 31.
    o  Patterns helpbuild 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  
  • 32.