Defining a Pragmatic and Practical SOA Focused Enterprise
- Slides: 44
Defining a Pragmatic and Practical SOA Focused Enterprise Architecture Asanka Abeysinghe WSO 2, Inc Vice President, Solutions Architecture Chintana Wilamuna WSO 2, Inc Architect, Solutions Architecture
Asanka Abeysinghe - @asankama - http: //asanka. abeysinghe. org - asankaa AT wso 2 DOT com
Chintana Wilamuna - @std_err - http: //engwar. com - chintana AT wso 2 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 WSO 2 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, 11 AM-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 WSO 2 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 WSO 2
Gateway using WSO 2 cont.
Gateway Implementation Patterns : Centralized
Gateway Implementation Patterns : Federated
Federation and Multi-tenancy
Gateway Implementation Patterns : Multi-tenanted
Gateway - sub-pattern : 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 tightcoupled 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 WSO 2
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 Channel Event Consumer
EDA with SOA Event Generator BAM Event Generator Message Broker CEP Event Bus / Channel Event Consumer
EDA+SOA with WSO 2 Event Generator BAM Event Generator Event Bus / Channel Event Consumer Message Broker 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 - WSO 2 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 - WSO 2 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 - WSO 2 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 - WSO 2 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 System A Data sources DS 3 DS 1 ETL DS 2 Master Data DS 4 Data sources Legacy System
MDM architecture Access API Data service Configuration Repository Mediate Monitoring Transform Filter Validate Transports DB Downstream Apps
MDM with WSO 2 External / Internal consumers Web service SOAP Mediate Transform Filter Validate Transports SQL DB Downstream Apps
MDM with WSO 2 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 WSO 2 - WSO 2 ESB - Multiple protocols / SOAP, JSON, CSV, Copybook, Fixed length - Easy extension model : transports, message builders, custom mediators - Stream processing on large files (extract) - WSO 2 Data Services - API for data access (relational / No. SQL) Declarative definition / Web interface / Developer. Studio Security (WS-Security) Qo. S (caching, throttling, etc…)
MDM with WSO 2 - WSO 2 G-Reg - Configuration repository - Artifact governance using Governance Framework - WSO 2 API Manager - Consumer API (JSON, OAuth 2, role based access) - Metered and monitored - WSO 2 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 WSO 2 Policy Enforcement Entitlement Service Policy Decision Point Decision Cache User Attribute Finder Resource Finder Policy Finder Attribute Cache Resource Cache Policy Cache
Entitlement with WSO 2 - 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 WSO 2 - 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
- Examples of non defining relative clauses
- Relative clauses defining and non defining
- Defining and non-defining
- Defining and non defining relative clauses in telugu
- Non essential relative clause
- Relative clauses örnekleri
- Pragmatic enterprise architecture
- Ea and soa
- Pragmatic artifacts
- Discourse and text
- Putting the enterprise into the enterprise system
- Enterprise
- Focused and unfocused tasks examples
- Discriminative listening
- What is purposeful listening
- All types of love
- Syntactic clues definition
- Pragmatic definition in linguistics
- What is locutionary act
- The pragmatic wastebasket
- Entailment and implicature examples
- Pragmatic definition in linguistics
- Pragmatic rules
- Pragmatic language
- Teori hukum roscoe pound
- Correspondence theory of truth
- Wso pragmatic
- Time of knowledge
- Social pragmatic communication disorder
- Early adulthood cognitive development
- Pragmatic love
- Cognitive development in early adulthood
- Pragmatic rules
- Aspects of lexical meaning
- Artisan software tools
- Pragmatic definition in linguistics
- Pragmatic approach to problem solving
- Polysemy exercises with answers
- Kellerman's typology of followers
- Pragmatic approach in accounting theory
- Semantic development stages
- Pragmatic organization dynamic display
- Independent critical thinking
- Knowledge and knower
- Pragmatic synonym