Weitere ähnliche Inhalte Ähnlich wie WSO2Con ASIA 2016: Keynote: At the Heart of Services – Loose Coupling and Its Architectural Benefits (20) Kürzlich hochgeladen (20) WSO2Con ASIA 2016: Keynote: At the Heart of Services – Loose Coupling and Its Architectural Benefits5. © Frank Leymann
Integration Problem: The Origin
5
E01-EDI
Data Warehouse
(Interfaces to and from the
Data Warehouse are not
displayed on this diagram)
G02 - General
Ledger
A05 - AP
S01 - Sales
Corrections
I01 PO
Receiving
I03 Return to
Vendor
I06 Warehouse
Management
Maininframe
PC/NT apps
Unix apps
3rd Party Interface
S06 - Credit App
P15 EES Employee
Change Notice
O THER APPS - PC
AP - Col l ect i ons/ Credi t
TM - Credi t Card DB
ACCTS REC APPS - PC
990CO R
Bad Debt
Benef i ci al Fees
Benef i ci al Reconci l e
JEAXF
JEBFA
JEBKA
JEDVA
JESO A
JEVSA
JEVSF
NSF
Tel eCredi t Fees
I NVENTO RY CO NTRO L APPS - PC
Code Al arm
Debi t Recei vi ngs
Devo Sal es
Di spl ay I nvent ory
I n Home
Junkout s
M erchandi se Wi t hdraw al
Promo Credi t s
RTV Accrual
Shri nk
AP Research - I nv Cnt rl
AP Research- Addl Rpt s
Book t o Perpet ual I nvent ory
Cl ose O ut Report i ng
Comput er I nt el l i gence Dat a
Count Correct i ons
Cross Ref f or VCB Dnl ds
Damage Wri t e O f f
Debi t Recei vi ngs
DFI Vendor Dat abase
Di spl ay I nvent ory Reconci l e
Di spl ay I nvent ory Report i ng
I NVENTO RY CO NTRO L APPS - PC
DPI / CPI
I C Bat chi ng
I nvent ory Adj / Count Correct
I nvent ory Cont rol Report s
I nvent ory Level s
I nvent ory Rol l
M erchandi se Wi t hdraw al
O pen Recei vi ngs
PI Count Resul t s
PI Ti me Resul t s f rom I nv
Pri ce Prot ect i on
Sal es Fl ash Report i ng
Shri nk Report i ng
SKU G ross M argi n
SKU Shri nk Level Det ai l
USM
VCB Dow nl oads
Journal Entry Tool Kit
Scorecard - HR
L02-Resource
Scheduling
(Campbell)
P09 - P17
Cyborg
M02 - Millennium
M03 - Millennium 3.0
Banks - ACH and Pos to
Pay
Cobra
B01 - Stock
Status
S03-Polling
P14 On-line New
Hire Entry
CTS
Plan Administrators
(401K, PCS, Life,
Unicare, Solomon
Smith Barney)
D01 Post Load
Billing
I04 Home
Deliveries
I02 -
Transfers
Arthur Planning
I07 Purchase
Order
I12 Entertainment
Software
I05
Inventory Info
E13
E3 Interface
S04 - Sales Posting
V01-Price Management
System
I10 Cycle Physical
Inventory
I55 SKU
Information
K02
Customer Repair
Tracking
I35 Early Warning
System
B02 Merchandise
Analysis
I13- Auto
Replenishment
U18 - CTO
Intercept
I09 Cycle Counts
E02-Employee
Purchase
Texlon 3.5
ACH
Stock Options
I17 Customer Perceived
In-Stock
U16-Texlon
SiteSeer
C02 - Capital
Projects
F06 - Fixed
Assets
US Bank Recon
File
Star Repair
EDI
Coordinator
M esa Dat a
NEW Soundscan
NPD G roup
AI G Warrant y G uard
Resumix
Optika
Store Budget
Reporting
P16 - Tally Sheet
Cash Receipts/Credit
S05 - House
Charges
Ad Expense
L01-Promo
Analysis
V02-Price
Marketing
Support
BMP - Bus
performance Mngt
Store
Scorecard
I11 Price
Testing
Valley Media
P09
Bonus/HR
I15 Hand Scan
Apps
Roadshow
POS
S08 - Vertex
Sales
Tax
A04 - Cust
Refund Chks
Equifax
ICMS Credit
Cellular
Rollover
S09 - Digital
Satellite
System
NPD,
SoundScan
Sterling VAN
Mailbox (Value)
I18
SKU Rep
X92-X96
Host to AS400
Communication
S02 -
Layaways
Washington,
RGIS,
Ntl Bus Systems
V04-Sign
System
I14 Count CorrectionsNARM
P01-
Employee
Masterfile
I06 - Customer
Order
Frick
Co
UAR - Universal Account
Reconciliation
Depository
Banks
S07 - Cell
Phones
S11 - ISP
Tracking
AAS
Fringe PO
Cash Over/
Short
L60 MDF
Coop
SKU Selection
Tool
SKU
Performance
Supplier
Compliance
1
I35 - CEI
ASIS
Misc Accounting/Finance Apps - PC/NT
COBA (Corp office Budget Assistant)
PCBS(Profit Center Budget System)
Merchandising Budget
AIMS
Merch Mngr Approval
Batch Forecasting
Ad Measurement
AIMS Admin
AIMS
ReportingAd
Launcher
V03- Mkt
Reactions
Spec
Source
CTO2.Bestbuy.
com
Rebate
Transfer
Sign
System
CopyWriter's
Workspace
ELT
PowerSuite
Store
Monitor
AIS Calendar
Stores & Mrkts
Due Dates
Smart Plus
Insertions
Orders
Budget
Analysis Tool
Print Costing
Invoice App
AIS Reports
Broadcast
Filter
Smart Plus
Launcher
General
Maintenance
Printer PO
Printer
Maintenance
Vendor
Maintenance
Vendor Setup
Connect 3
Connect 3
Reports
Connect 3
PDF Transfer
Spec Source
SKU Tracking
S20-Sales
Polling
Prodigy
PSP
In-Home
Repair
Warranty
Billing
System
Process Servers
(Imaging)
Prepared by M i chel l e M i l ls
Application Architecture of a real company J
49. © Frank Leymann
A Bit of Math: Forgive Me J
49
αhot pool
= P≥1
= i
N
( )i=1
N
∑ αi
1−α( )
N−i
= i
N
( )i=0
N
∑ αi
1−α( )
N−i
− N
0
⎛
⎝
⎜
⎞
⎠
⎟ α0
1−α( )
N⎛
⎝
⎜
⎞
⎠
⎟
= α + 1−α( )( )
N
− 1−α( )
N
…a lot of explanations, e.g. application
components fail independently;
independent events are “binomial
distributed”; availability means that at least
one member is running in hot pool; etc etc…
αhot pool
= 1− 1−αmember( )
N
Example: Assume a terribly bad application component with 80% availability (αmember=0.8).
Hot pool with 8 of such bad components has 99.999 availability (αhot pool=0.99999)!
64. © Frank Leymann
Definition: Quote (*)
n …microservice architectural style is an approach to
n developing a single application as a suite of small services,
n each running in its own process and
n communicating with lightweight mechanisms, often an HTTP
resource API.
n These services are built
n around business capabilities and
n independently deployable by fully automated deployment
machinery.
n There is a bare minimum of centralized management of
these services, which
n may be written in different programming languages and
n use different data storage technologies.
64
(*) J. Lewis & M. Fowler: “Microservices” (2015),
http://martinfowler.com/articles/microservices.html
65. © Frank Leymann
Microservice: Main Properties
Microservice is
n small
n running in its own process
n communicating often [via] HTTP
n built around business capabilities
n written in different programming
languages
n use different data storage
technologies
n independently deployable by
fully automated deployment
machinery
65
…what ever that means L
True for many (!) service
True for many (!) service,
and most REST services
That’s what services
are all about!
That’s interesting J
container
69. © Frank Leymann
The Essence of Microservices
n Microservices are all about…
n …proper granularity of components
n …independent deployment
n They are not a counter-proposal to SOA
n They do not prove that SOA failed
n In the opposite: they require loose coupling,…
n They require a methodology to determine “proper
granules” for components
n …something like the holy grail of software engineering for
decades!
n …so, don’t expect your middleware vendors to solve this
problem for you! It’s all about YOU solving an very difficult
architecture/design problem!!!
69
71. © Frank Leymann
IDEAL Principle:
Native Cloud Application Properties - Architects View
Distribution: decomposed application to…
… use multiple cloud resources
… support the fact that clouds are large globally distributed systems
Elasticity: build application to support scaled-out and scaled-in dynamically
Scale out: acquire additional resources to satisfy growing workload
Scale in: free up resources if workload shrinks
? Loose Coupling: influence of application components has to be limited
Example: failures should not impact other components
Example: addition / removal of components is simplified
Isolated State: build the application stateless with respect to…
Session State: state of the communication with the application
Automated Management: runtime management should be handled quickly , automatic
Example: automatic license acquisition because of use of additional resources
Example: resiliency by reacting to resource failures
72. © Frank Leymann
Cloud Computing Patterns: Overview
Applica on Workloads
Cloud Service Models & Cloud Deployment Types Cloud Environments Processing Offerings Communica on Offerings Storage Offerings
Applica on Management
Cloud Integra onMul -TenancyFundamental Architecture StylesNa ve Cloud Applica onsHybrid Cloud Applica ons
Applica on Components
Cloud Run me
Environment
Cloud Applica on
User Group
Load
Balancer
Presenta on
Message
Queue
Business Logic Data
Opera on
Management
Processing
...
...
Communica on Storage
1 2 3
Sta c
Workload
(25)
Periodic
Workload
(28)
Once-in-a-life me
Workload
(31)
Unpredictable
Workload
(33)
Con nuously Changing
Workload
(36)
Infrastructure
as a Service
(41)
Pla orm
as a Service
(44)
So ware
as a Service
(49)
Public
Cloud
(56)
Private
Cloud
(59)
Community
Cloud
(64)
Hybrid
Cloud
(67)
Elas c
Infrastructure
(78)
Elas c
Pla orm
(81)
Node-based
Availability
(85)
Environment-based
Availability
(88)
Hypervisor
(91)
Execu on
Environment
(94)
Virtual
Networking
(118)
Message-oriented
Middleware
(122)
Exaclty-once
Delivery
(126)
At-least-once
Delivery
(128)
Transac on-based
Delivery
(130)
Timeout-based
Delviery
(132)
Two- er
Cloud Applica on
(259)
Three- er
Cloud Applica on
(263)
Content Distribu on
Network
(268)
Hybrid
User Interface
(271)
Hybrid
Processing
(274)
Hybrid
Data
(277)
Hybrid
Backup
(280)
Hybrid
Backend
(282)
Hybrid Applica on
Func ons
(285)
Hybrid Mul media
Web Applica on
(287)
Hybrid Develop-
ment Environment
(289)
Provider
Adapter
(216)
Managed
Configura on
(219)
Elas city
Manager
(221)
Elas c
Load Balancer
(224)
Elas c
Queue
(227)
Watchdog
(230)
Elas city Man-
agement Process
(237)
Feature Flags Man-
agement Process
(240)
Update Transi on
Process
(245)
Standby Pooling
Process
(248)
Resiliency Man-
agement Process
(252)
Shared
Component
(188)
Tenant-isolated
Component
(191)
Dedicated
Component
(195)
Restricted Data Access
Component
(198)
Message
Mover
(201)
Applica on Component
Proxy
(203)
Compliant Data
Replica on
(205)
Stateful
Component
(150)
Stateless
Component
(153)
Mul Component
Image
(184)
User Interface
Component
(156)
Processing
Component
(160)
Batch Processing
Component
(165)
Idempotent
Processor
(176)
Transac on-based
Processor
(179)
Timeout-based
Message Processor
(182)
Data Access
Component
(168)
Data
Abstractor
(173)
Map
Reduce
(96)
=1
1+
Strict
Consistency
(110)
Eventual
Consistency
(113)
Key-value
Storage
(107)
ID
Blob
Storage
(101)
Block
Storage
(100)
1.1 1.2
ZZZ
Integra on
Provider
(208)
Distributed
Applica on
(143)
Loose
Coupling
(139)
?
1+
Rela onal
Database
(103)
www
3,14159...
3,14
hosted onhosted onhosted on
§