This document provides an overview of reference architectures for several enterprise architecture patterns including gateway, facade, web oriented architecture (WOA), event driven architecture (EDA), master data management (MDM), and entitlement when taking a service-oriented architecture (SOA) approach. It describes each pattern's problem domain, provides a vendor-neutral reference architecture, and maps the patterns to specific products within the WSO2 platform.
4. Goals of the Day
-
Understand the relationship between EA and SOA**
How SOA helps to resolve EA challenges **
Mapping EA patterns to SOA
Identify reference architecture(s)
Fill the reference architecture(s) using WSO2 products
Use a pragmatic approach to solution architecture
Identify a real-world problem(s) and architect a solution
from scratch
** will discuss on Thursday, Track-2, 11AM-11:45 “Establishing an SOA
focused EA”
5. Agenda
- Intro
- Reference Architecture for EA Patterns
- Gateway
- Façade
- WOA (WEB Oriented Architecture)
- Reference Architecture for EA Patterns cont..
- EDA (Event Driven Architecture)
- Master Data Hub (MDM, ETL)
- Entitlement
--------------------- Break ------------------------ Lab exercise (Solution building)***
- Q&A
*** identify your use-cases
6. Format
- Pattern overview
- Problem space
- Technical Problem
- Business Problem (use-cases)
- Reference Architecture
- Vendor neutral
- with WSO2 Stack
7. Pattern : Gateway
- An architecture layer encapsulates access to
internal/external systems/resources
- Single interface to;
-
Route
Validate
Secure
Govern
Monitor messages
- Related pattern – Façade
19. MVC (Model View Controller)
- Business logic in WEB
and backend layer
- WEB layer tightcoupled with backend
20. WOA (Web Oriented Architecture)
-
Bring SOA principles to WEB programming
Loosely-coupled
Light-weight web apps (zero business logic)
Light-weight protocols (REST, JSON, POX, protobuf)
WEB API design
25. EDA with SOA
Event Generator
BAM
Event Generator
Message Broker
CEP
Event Bus / Channel
Event Consumer
Event Consumer
Event Consumer
26. EDA+SOA with WSO2
Event Generator
BAM
Event Generator
Event Bus / Channel
Event Consumer
Event Consumer
Message Broker
CEP
27. Event bus / Channel
-
Usually an enterprise service bus
Emitters and consumers connected through the bus
Different interfaces / message formats
Generating events from the bus itself
Integrating non-event based systems
- WSO2 ESB
- WS-Eventing based interactions / integrations
- Transforming to and from WS-Events and general triggers
- Reliable delivery with a JMS broker
28. Message Broker
- Supporting different messaging patterns
- Queue based and pub/sub
- Reliable delivery of messages/events
- WSO2 Message Broker
- Scalable, distributed message storage based on Cassandra
- Distributed queuing
29. Business Activity Monitoring
- Monitoring end-to-end business message flow
- Identifying/collecting/tracing business transactions
- WSO2 BAM
- Scalable analytics using Hadoop
- Scalable data storage model, Cassandra
- Flexible deployment model (external Hadoop cluster and
external Cassandra ring)
- Intuitive and powerful dashboarding
30. Complex Event Processing
- Reading multiple continuous event streams
- Identify different patterns from these events
- WSO2 CEP
- High performant event processing engine
- Extensible query language, Siddhi
31. Master Data Management - MDM
•
•
•
•
•
•
•
•
ETL (extract / transform / load)
Secure transmission of data
Consistent updates
Message transformation
Aggregation/enrichment of data
Data mapping
Multiple protocols
Multiple message formats
34. MDM with WSO2
External / Internal consumers
Web service
SOAP
Mediate
Transform
Filter
Validate
Transports
SQL
DB
Downstream
Apps
35. MDM with WSO2
Consistent data API to interact with master repo
Streamlined integration of downstream apps
ETL from different sources/protocols/messages
Centralized configuration repository
Secured/metered/throttled API for external and
internal consumers
- Monitoring (ETL process, data access, API invocations
etc…)
- Pluggable and independently scalable components
-
36. MDM with WSO2
- WSO2 ESB
- Multiple protocols / SOAP, JSON, CSV, Copybook, Fixed
length
- Easy extension model : transports, message
builders, custom mediators
- Stream processing on large files (extract)
- WSO2 Data Services
-
API for data access (relational / NoSQL)
Declarative definition / Web interface / DeveloperStudio
Security (WS-Security)
QoS (caching, throttling, etc…)
37. MDM with WSO2
- WSO2 G-Reg
- Configuration repository
- Artifact governance using Governance Framework
- WSO2 API Manager
- Consumer API (JSON, OAuth2, role based access)
- Metered and monitored
- WSO2 BAM
- Monitor ETL process (# records processed, successful/failure
rate) : real time alerting after CEP integration
- Operational, admin, C level dashboards
38. Entitlement
- Once users authenticate, making authorization
decisions
- Who can access what (based on the user/role)
- What web service? What operation?
- Typically authorization logic embedded in business
functions/services
- Implementing for each and every services
- Policy based approach. Reusing the same
authorization policy
41. Entitlement with WSO2
-
Decoupled authorization logic
Fine grained authorization policies using XACML
Authorization calls via SOAP, Thrift and WS-XACML
Authorization decision caching
- Attributes / Resources / Policies
- Pluggable user repositories (Active
Directory, LDAP, DB)
42. Entitlement with WSO2
- Entitlement service (SOAP / WS-SOAP / Thrift). REST
interface after JACML
- Pluggable PIP (policy information point) attribute
finders
- Default attribute finders talking to G-Reg (Policy and
Resource details) and user repository for user
attributes (Active Directory / LDAP etc…)
- Caching for increased performance
43. Pattern : Gateway
- Single interface to;
-
Route
Validate
Secure
Govern
Monitor
- Related pattern – Façade