1 / 44

Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Defining a Pragmatic and Practical SOA Focused Enterprise Architecture. Asanka Abeysinghe WSO2, Inc Vice President, Solutions Architecture . Chintana Wilamuna WSO2, Inc Architect, Solutions Architecture . Asanka Abeysinghe. @ asankama http://asanka.abeysinghe.org asankaa AT wso2 DOT com.

asher
Download Presentation

Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Defining a Pragmatic and Practical SOA Focused Enterprise Architecture Asanka Abeysinghe WSO2, Inc Vice President, Solutions Architecture ChintanaWilamuna WSO2, Inc Architect, Solutions Architecture

  2. Asanka Abeysinghe • @asankama • http://asanka.abeysinghe.org • asankaa AT wso2 DOT com

  3. ChintanaWilamuna • @std_err • http://engwar.com • chintana AT wso2 DOT com

  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

  8. Gateway

  9. SOA Gateway

  10. SOA Gateway - Extended

  11. Gateway using WSO2

  12. Gateway using WSO2 cont.

  13. Gateway Implementation Patterns : Centralized

  14. Gateway Implementation Patterns : Federated

  15. Federation and Multi-tenancy

  16. Gateway Implementation Patterns : Multi-tenanted

  17. Gateway - sub-pattern : Façade • Façade • Service Façade • API Façade • Service Granularity • Fine-grained to • Coarse-grained • Binding • Industry standards

  18. Gateway Demo : after the break

  19. MVC (Model View Controller) • Business logic in WEB and backend layer • WEB layer tight-coupled 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

  21. WOA cont.

  22. WOA using WSO2

  23. 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

  24. Traditional EDA Event Generator Event Generator Event Generator Channel Event Consumer Event Consumer Event Consumer

  25. EDA with SOA Event Generator Event Generator Message Broker BAM CEP Event Bus / Channel Event Consumer Event Consumer Event Consumer

  26. EDA+SOA with WSO2 Event Generator Event Generator Message Broker BAM CEP Event Bus / Channel Event Consumer Event Consumer

  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

  32. MDM problem System A Data sources DS 3 DS 1 ETL Master Data DS 2 DS 4 Data sources Legacy System

  33. MDM architecture Access API Configuration Repository Monitoring Mediate Transform Filter Validate Data service Transports DB Downstream Apps

  34. MDM with WSO2 External / Internal consumers SOAP Mediate Transform Filter Validate Web service Transports SQL Downstream Apps DB

  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

  39. Entitlement architecture Policy Decision Point User Attribute Finder Resource Finder Policy Finder

  40. Entitlement with WSO2 Policy Enforcement Entitlement Service Policy Decision Point Decision Cache User Attribute Finder Resource Finder Policy Finder Attribute Cache Resource Cache Policy Cache

  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

More Related