2013 10-wso2 con-tut-t3-1330-asanka-chintana
Post on 27-Jan-2015
104 Views
Preview:
DESCRIPTION
TRANSCRIPT
Defining a Pragmatic and Practical SOA Focused
Enterprise Architecture
Asanka AbeysingheWSO2, Inc
Vice President, Solutions Architecture
Chintana WilamunaWSO2, Inc
Architect, Solutions Architecture
Asanka Abeysinghe
- @asankama- http://asanka.abeysinghe.org- asankaa AT wso2 DOT com
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”
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
Format
- Pattern overview - Problem space
- Technical Problem - Business Problem (use-cases)
- Reference Architecture- Vendor neutral - with WSO2 Stack
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
Gateway
SOA Gateway
SOA Gateway - Extended
Gateway using WSO2
Gateway using WSO2 cont.
Gateway Implementation Patterns : Centralized
Gateway Implementation Patterns : Federated
Federation and Multi-tenancy
Gateway Implementation Patterns : Multi-tenanted
Gateway - sub-pattern : Façade
- Façade- Service Façade - API Façade
- Service Granularity- Fine-grained to- Coarse-grained
- Binding - Industry standards
Gateway Demo : after the break
MVC (Model View Controller)
- Business logic in WEB and backend layer
- WEB layer tight-coupled with backend
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
WOA cont.
WOA using WSO2
Event Driven Architecture - EDA
- Event Channel Consumer- Create/emit event (emitter/agent)- Transfer event (HTTP, File, etc…)- Consume event- Patterns
- Publish/Subscribe- Store and forward- Pont-to-point- Request-reply
Traditional EDA
Event Generator Event Generator Event Generator
Event Consumer Event Consumer Event Consumer
Channel
EDA with SOA
Event Generator Event Generator Message Broker
Event Consumer Event Consumer Event Consumer
Event Bus / ChannelBAM CEP
Event Bus / Channel
EDA+SOA with WSO2
Event Generator Event Generator Message Broker
Event Consumer Event Consumer
BAM CEP
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
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
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
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
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
MDM problem
DS 1
DS 2
DS 3
DS 4
System A
Legacy System
ETL Master Data
Data sources
Data sources
MDM architecture
Data service
Transports
Mediate Transform Filter Validate
Downstream AppsDB
MonitoringAccess API
Configuration Repository
MDM with WSO2
Web service
Transports
Mediate Transform Filter ValidateSOAP
Downstream AppsDB
SQL
External / Internal consumers
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
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…)
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
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
Entitlement architecture
Policy Decision Point
User Attribute Finder Resource Finder Policy Finder
Entitlement with WSO2
Policy Decision Point
User Attribute Finder Resource Finder Policy Finder
Decision Cache
Attribute Cache Resource Cache Policy Cache
Policy Enforcement
Entitlement Service
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)
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
Pattern : Gateway
- Single interface to;- Route - Validate - Secure- Govern - Monitor
- Related pattern – Façade
Thank You
top related