Vikrit Chintana Rog Shok Ka Moolabhoot Karana by Shri Ram Sharma
2013 10-wso2 con-tut-t3-1330-asanka-chintana
-
Upload
asanka-abeysinghe -
Category
Technology
-
view
104 -
download
0
description
Transcript of 2013 10-wso2 con-tut-t3-1330-asanka-chintana
![Page 1: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/1.jpg)
Defining a Pragmatic and Practical SOA Focused
Enterprise Architecture
Asanka AbeysingheWSO2, Inc
Vice President, Solutions Architecture
Chintana WilamunaWSO2, Inc
Architect, Solutions Architecture
![Page 2: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/2.jpg)
Asanka Abeysinghe
- @asankama- http://asanka.abeysinghe.org- asankaa AT wso2 DOT com
![Page 4: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/4.jpg)
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”
![Page 5: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/5.jpg)
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
![Page 6: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/6.jpg)
Format
- Pattern overview - Problem space
- Technical Problem - Business Problem (use-cases)
- Reference Architecture- Vendor neutral - with WSO2 Stack
![Page 7: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/7.jpg)
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
![Page 8: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/8.jpg)
Gateway
![Page 9: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/9.jpg)
SOA Gateway
![Page 10: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/10.jpg)
SOA Gateway - Extended
![Page 11: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/11.jpg)
Gateway using WSO2
![Page 12: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/12.jpg)
Gateway using WSO2 cont.
![Page 13: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/13.jpg)
Gateway Implementation Patterns : Centralized
![Page 14: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/14.jpg)
Gateway Implementation Patterns : Federated
![Page 15: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/15.jpg)
Federation and Multi-tenancy
![Page 16: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/16.jpg)
Gateway Implementation Patterns : Multi-tenanted
![Page 17: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/17.jpg)
Gateway - sub-pattern : Façade
- Façade- Service Façade - API Façade
- Service Granularity- Fine-grained to- Coarse-grained
- Binding - Industry standards
![Page 18: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/18.jpg)
Gateway Demo : after the break
![Page 19: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/19.jpg)
MVC (Model View Controller)
- Business logic in WEB and backend layer
- WEB layer tight-coupled with backend
![Page 20: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/20.jpg)
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
![Page 21: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/21.jpg)
WOA cont.
![Page 22: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/22.jpg)
WOA using WSO2
![Page 23: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/23.jpg)
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
![Page 24: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/24.jpg)
Traditional EDA
Event Generator Event Generator Event Generator
Event Consumer Event Consumer Event Consumer
Channel
![Page 25: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/25.jpg)
EDA with SOA
Event Generator Event Generator Message Broker
Event Consumer Event Consumer Event Consumer
Event Bus / ChannelBAM CEP
![Page 26: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/26.jpg)
Event Bus / Channel
EDA+SOA with WSO2
Event Generator Event Generator Message Broker
Event Consumer Event Consumer
BAM CEP
![Page 27: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/27.jpg)
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
![Page 28: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/28.jpg)
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
![Page 29: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/29.jpg)
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
![Page 30: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/30.jpg)
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
![Page 31: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/31.jpg)
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
![Page 32: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/32.jpg)
MDM problem
DS 1
DS 2
DS 3
DS 4
System A
Legacy System
ETL Master Data
Data sources
Data sources
![Page 33: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/33.jpg)
MDM architecture
Data service
Transports
Mediate Transform Filter Validate
Downstream AppsDB
MonitoringAccess API
Configuration Repository
![Page 34: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/34.jpg)
MDM with WSO2
Web service
Transports
Mediate Transform Filter ValidateSOAP
Downstream AppsDB
SQL
External / Internal consumers
![Page 35: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/35.jpg)
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
![Page 36: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/36.jpg)
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…)
![Page 37: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/37.jpg)
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
![Page 38: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/38.jpg)
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
![Page 39: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/39.jpg)
Entitlement architecture
Policy Decision Point
User Attribute Finder Resource Finder Policy Finder
![Page 40: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/40.jpg)
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
![Page 41: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/41.jpg)
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)
![Page 42: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/42.jpg)
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
![Page 43: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/43.jpg)
Pattern : Gateway
- Single interface to;- Route - Validate - Secure- Govern - Monitor
- Related pattern – Façade
![Page 44: 2013 10-wso2 con-tut-t3-1330-asanka-chintana](https://reader035.fdocuments.in/reader035/viewer/2022070304/54c6a9014a7959aa4b8b456c/html5/thumbnails/44.jpg)
Thank You