To view recording of this webinar please use below URL:
http://wso2.com/library/webinars/2015/09/building-an-enterprise-architecture-with-patterns/
The previous sessions focused on various high level patterns for building effective enterprise architectures (EA). From traditional SOA to resource oriented architectures, and from patterns that are seeing a lot of traction such as event driven architectures to web oriented architectures. These high level concepts provide many best practices and guidelines to enterprise architects looking to evolve their existing EA or for those creating newer EA strategies. But where should you draw the line? Where would an EDA really make sense? Is SOA still the way to go or should we turn our attention to a more granular version of this?
This session wraps up all these four architectural styles. It will
Summarize our findings
Critically analyze the good, the bad and the ugly (if any) of the various patterns
Jointly figure out where they should really fit in
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 architectural pattern 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."
7. 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
8. 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
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 projects fail (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 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. 23
“The very notion of a link has become practically
inexpressible and virtually unthinkable in the vernacular of
SOA.” Sam Ruby
24. 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. 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 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. 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
31. 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