defining a pragmatic and practical soa focused enterprise architecture

44
Defining a Pragmatic and Practical SOA Focused Enterprise Architecture Asanka Abeysinghe WSO2, Inc Vice President, Solutions Architecture Chintana Wilamuna WSO2, Inc Architect, Solutions Architecture

Upload: asher

Post on 25-Feb-2016

65 views

Category:

Documents


3 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Defining a Pragmatic and Practical SOA Focused

Enterprise ArchitectureAsanka Abeysinghe

WSO2, IncVice President, Solutions Architecture

Chintana WilamunaWSO2, Inc

Architect, Solutions Architecture

Page 2: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Asanka Abeysinghe

- @asankama- http://asanka.abeysinghe.org- asankaa AT wso2 DOT com

Page 3: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Chintana Wilamuna

- @std_err- http://engwar.com- chintana AT wso2 DOT com

Page 4: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Format

- Pattern overview - Problem space

- Technical Problem - Business Problem (use-cases)

- Reference Architecture- Vendor neutral - with WSO2 Stack

Page 7: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Gateway

Page 9: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

SOA Gateway

Page 10: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

SOA Gateway - Extended

Page 11: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Gateway using WSO2

Page 12: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Gateway using WSO2 cont.

Page 13: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Gateway Implementation Patterns : Centralized

Page 14: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Gateway Implementation Patterns : Federated

Page 15: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Federation and Multi-tenancy

Page 16: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Gateway Implementation Patterns : Multi-tenanted

Page 17: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Gateway Demo : after the break

Page 19: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

MVC (Model View Controller)

- Business logic in WEB and backend layer

- WEB layer tight-coupled with backend

Page 20: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

WOA cont.

Page 22: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

WOA using WSO2

Page 23: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Traditional EDA

Event Generator Event Generator Event Generator

Event Consumer Event Consumer Event Consumer

Channel

Page 25: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

EDA with SOA

Event Generator Event Generator Message Broker

Event Consumer Event Consumer Event Consumer

Event Bus / ChannelBAM CEP

Page 26: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Event Bus / Channel

EDA+SOA with WSO2

Event Generator Event Generator Message Broker

Event Consumer Event Consumer

BAM CEP

Page 27: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

MDM problem

DS 1

DS 2

DS 3

DS 4

System A

Legacy System

ETL Master Data

Data sources

Data sources

Page 33: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

MDM architecture

Data service

Transports

Mediate Transform Filter Validate

Downstream AppsDB

MonitoringAccess API

Configuration Repository

Page 34: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

MDM with WSO2

Web service

Transports

Mediate Transform Filter ValidateSOAP

Downstream AppsDB

SQL

External / Internal consumers

Page 35: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Entitlement architecture

Policy Decision Point

User Attribute Finder Resource Finder Policy Finder

Page 40: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

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: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Pattern : Gateway

- Single interface to;- Route - Validate - Secure- Govern - Monitor

- Related pattern – Façade

Page 44: Defining a Pragmatic and Practical SOA Focused Enterprise Architecture

Thank You