SlideShare ist ein Scribd-Unternehmen logo
1 von 75
Downloaden Sie, um offline zu lesen
Prof.	Dr.	Dr.	h.c.	Frank	Leymann
Institute	of	Architecture	of	Application	 Systems
Universitätsstr.	 38
70569	Stuttgart
Germany
Phone	 		+49-711-685	 88	470
Fax +49-711-685	 88	472	
e-mail			Leymann@
iaas.uni-stuttgart.de
At	the	Heart	of	Services:
Loose	Coupling	and	Its	Architectural	Benefits
(		WSO2Conn	Asia	– Colombo,	Sri	Lanka	– February	17th
,	2016
©	Frank	Leymann
Agenda
2
Loose	Coupling
Messaging
WS*
REST
Architectural	Implications
Microservices
Conclusion
©	Frank	Leymann
Agenda
3
Loose	Coupling
Messaging
WS*
REST
Architectural	Implications
Microservices
Conclusion
©	Frank	Leymann 4
T h e M is s in g P ie c e s
L o o s e ly C o u p le d
©	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
©	Frank	Leymann
Tight	Coupling:	Local	Method	Call
Lot	of	assumptions	between	called	and	calling	method
n Both	methods	run	in	same	address	space
n Both	methods	written	in	same	language	
n Calling	method	has	to	pass	expected	number	of	
parameters	in	expected	data	types
n Call	is	immediate	(i.e.	synchronous)
6
©	Frank	Leymann
RPC	(Remote	Procedure	Call)
n Attempt	to	make	remote	communication	via	RPC	
behave	like	local	call
n Upside:	
n Semantics	familiar	to	developers
n Downside:
n Remote	(!)	communication	invalidates	many	assumptions	
local	calls	are	based	on
n Thus:	RPC	simply	does	not have	semantics	of	a	local	call!
7
©	Frank	Leymann
RPC	≠	Local	Call (1/2)
n Called	method	might	not	be	available	
(network	fragmentation,	server	outage,...)	
Time	Dependency
n How	long	should	caller	wait?
n Remote	method	often	controlled	by	a	different	party	
(business	partner,...)	
Format	Dependency
n What	if	signature	of	called	method	changes?
n Rewrite	code	of	calling	application!		L
8
©	Frank	Leymann
RPC	≠	Local	Call (2/2)
n Calling	function	often	explicitly	points	to	a	particular	
target	function	
Reference	Dependency
n What	if	called	function	is	moved	to	different	machine?
n Parameters	have	to	match	machine	architecture	
(little/big	Endian,…),	locale	settings	(code	pages,	time	
zones,…)	
Platform	Dependency
9
©	Frank	Leymann
Σ =	Causes	of	Volatility	of	RPC
n Time	Autonomy	violation
≈	All	ingredients	have	to	be	available	at	same	time
n Format	Autonomy	violation
≈	Number	and	types	of	parameters	must	match
n Reference	Autonomy	violation
≈	Hard-coded	addresses
n Platform	Autonomy	violation
≈	Internal	representations	of	data	(little/big	endian...)
10
©	Frank	Leymann
Core	principle:	
Reduce	number	of	assumptions	two	parties	make	
about	each	other	when	they	exchange	information
Loose	Coupling
11
©	Frank	Leymann
Loose	Coupling:	Autonomy	Aspects
n Reference	Autonomy
n Producers	and	consumers	don’t	know	each	other
n Time	Autonomy
n Producers	and	consumers	execute	at	their	own	pace	
n Format	Autonomy
n Producers	and	consumers	may	use	different	formats	of	data	
exchanged
n Platform	Autonomy
n Producers	and	consumers	may	be	in	different	environments,	written	
in	different	languages,…
12
©	Frank	Leymann
Agenda
13
Loose	Coupling
Messaging
WS*
REST
Architectural	Implications
Microservices
Conclusion
©	Frank	Leymann 14
©	Frank	Leymann
Messaging
15
Application
B
Application
A
Endpoint
Message
Channel
Route Transform
Manage
©	Frank	Leymann
Reference	Autonomy	in	Messaging
n Producers	and	consumers	
communicate	via	queues	
or	topics,	i.e.	they	don’t	
know	each	other
n Routing	components	free	
producers	even	from	
having	to	know	which	
queue	or	topic	to	use
n …i.e.	producers	only	has	
to	understand	single	
source	to	send	messages	
to
16
Consumer A
Consumer B
Producer
©	Frank	Leymann
Time	Autonomy	in	Messaging
n Asynchrony	is	at	the	
heart	of	messaging,	
thus	time	autonomy	is	
“in	its	guts”
n Queuing	is	providing
1-1	connections
n Pubsub is	providing
1-n	connections
17
Sender
Receiver1
Receiverj
Receivern
…
…
Receiver1
Receiverj
Receivern
…
…
Sender
©	Frank	Leymann
Platform	Autonomy	in	Messaging
n Endpoint	are	isolating	
applications	from	
messaging	environment
n Application	can	be…
n …in	any	programming	
language
n …in	any	operating	
environment
n …
n Messaging	products	run	
in	many	environments
n You	can	even	bridge	
between	different	
products
18
Channel
Adapter
Endpoint
Implement
As…
Messaging
Mapper
Uses	A…
Messaging
Gateway
Implemented	
As…
MOM 1 MOM 2
©	Frank	Leymann
Format	Autonomy	in	Messaging
n Transformation	of	messages	is	done	“on	the	wire”
n Versioning	of	messages	is	enabled
n …
19
A
Translator
B
Translator
A
B
Translator
Translator
Canonical
Data Model
Translator
C C
Translator Translator
©	Frank	Leymann
Agenda
20
Loose	Coupling
Messaging
WS*
REST
Architectural	Implications
Microservices
Conclusion
©	Frank	Leymann 21
©	Frank	Leymann
Message	Endpoints
n Applications	typically	do	not	send	data	to	or	receive	
data	from	a	channel
n They	are	not built	with	integration	in	mind!
n Message	endpoints connect	applications	to	
integration	solution
22
A
EndpointA
EndpointB
B
M M’
©	Frank	Leymann
Characteristics	of	a	Messaging	Endpoint
23
Function
Implementation
Function
Implementation
…is	at	an	address
…is	reachable	via
certain	transports	&
message	encodings
…implements
an	interface
Message
Endpoint
Port Type
Port
Binding
WSDL
©	Frank	Leymann
Protocols	are	Changing	Along	A	Path
24
Initial
Sender
Ultimate
Receiver
My
Gateway
Firewall
Your
Gateway
In	general,	you	cannot rely	on	any	QoS of	„the“	transport	protocol
Message path
Enterprise1
Enterprise2
JMS
HTTP
RMI/
IIOP
MQ
©	Frank	Leymann
SOAP
25
Intended for
ultimate receiver
SOAP Envelope
SOAP Header
SOAP Body
Header Block H1
Header Block Hn
Body Sub-element B1
Body Sub-element Bk
...
...
Intended for
intermediaries
Payload for
middleware
ensuring QoS
Payload for
application
©	Frank	Leymann
Loose	Coupling	in	WS*
n Reference	Autonomy
n Client	interacts	with	an	endpoint	(often	a	URI)	not	with	a	
concrete	program,	i.e.	client	doesn’t	know	the	actual	service
n Time	Autonomy
n Asynchronous	bindings	(JMS,…)	can	be	used
n Reply-to	header,	Correlation	header,…	support	asynchrony	
even	over	synchronous	transports
n Platform	Autonomy
n Client	interacts	with	service	without	having	to	know	
programming	language,	hosting	environment,…	of	service
n Format	Autonomy
n Binding	specifies	serialization	format
n Transformation	can	be	done	“invisibly”	along	the	wire
26
©	Frank	Leymann
Agenda
27
Loose	Coupling
Messaging
WS*
REST
Architectural	Implications
Microservices
Conclusion
©	Frank	Leymann 28
©	Frank	Leymann
Core	Idea	Behind	REST
n REST	is	an	architectural	style,	not	a	technology
n It	allows	to	apply	the	Web	Architecture	to	more	
sophisticated	interactions
n Key	Points:
n REpresentational
n State	Transfer
©	Frank	Leymann
Characteristics	Of	The	Web	Architecture
n Interaction	with	URI	addressable	resources
n Fixed	set	of	generic	interactions	
(mainly	HTTP	GET,	POST,	PUT,	and	DELETE)
n Standard	data	format	(HTML,	XML,…	- MIME	types)
n Stateless
n All	context	is	fully	understandable	from	message
©	Frank	Leymann
Reference	Autonomy	in	REST:	URIs
n URI	decouples	from	knowing	the	actual	function	
implementation
n HATEOAS	goes	beyond	(see	later)
31
Resource
Implementation
Resource
Implementation
Resource
Resource
URIClient
REST Server
©	Frank	Leymann
Time	Autonomy	in	REST:	Long	Running	Requests
n Sometimes	requests	may	take	too	long	for	a	client	to	
wait	for	response
n Especially	POST and	DELETE	may	take	some	time
n They	might	initiate	a	complete	business	processes
n Server	acknowledges	reception	of	request
n Via	HTTP	Status	Code	202 Accepted
n Server	provides	a	resource	that	client	can	use	to	track	
progress	of	long-running	request	(aka	“task”)
n Via	Content-Location header	of	this	resource,	or
n Via	Link to	this	resource
©	Frank	Leymann
Example:	Starting	Long	Running	Request
POST /imageProcessing/beautify HTTP/1.1
Host: www.fl.com
Content-Type: multipart/related; boundary=fl42
--fl42
...
--fl42
...
--fl42--
HTTP/1.1 202 Accepted
Content-Type: application/xml
Content-Location: http://www.fl.com/imageProcessing/tasks/1
<status>
<state>running</state>
<link rel="self" href=".../tasks/1"/>
<estimatedCompletion>2020-04-01</estimatedCompletion>
</status>
TaskResource
©	Frank	Leymann
Example:	Checking	State	of	Long	Running	Request
GET /imageProcessing/tasks/1 HTTP/1.1
Host: www.fl.com
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Location: http://www.fl.com/imageProcessing/tasks/1
<status>
<state>running</state>
<link rel="self" href=".../tasks/1"/>
<estimatedCompletion>2020-10-10</estimatedCompletion>
</status>
©	Frank	Leymann
Example:	Completion	of	Long	Running	Request
n Location header	points	to	newly	created,	i.e.	successfully	
processed	resource	but	not	to	the	task	resource
n Content-Location header	(still)	points	to	the	task	resource
GET /imageProcessing/tasks/1 HTTP/1.1
Host: www.fl.com
HTTP/1.1 303 See Other
Content-Type: application/xml
Location: http://www.fl.com/images/314
Content-Location: http://www.fl.com/imageProcessing/tasks/1
<status>
<state>ready</state>
<link rel="self" href=".../tasks/1"/>
<message>Image processed & stored</message>
</status>
©	Frank	Leymann
Example:	Failed	Long	Running	Request
GET /imageProcessing/tasks/1 HTTP/1.1
Host: www.fl.com
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Location: http://www.fl.com/imageProcessing/tasks/1
<status>
<state>failed</state>
<link rel="self" href=".../tasks/1"/>
<message>Image could not be processed</message>
</status>
©	Frank	Leymann
Platform	Autonomy	in	REST
n The	premier	transport	to	implement	REST	is	HTTP(S)
n HTTP	clients	and	HTTP	servers	are	available	in	all	
major	environments
n Programs	in	most	languages	can	be	producers	and	
consumers	of	HTTP	messages
37
©	Frank	Leymann
Format	Autonomy	in	REST:	Content	Negotiation
n Often,	requested	entity	is	available	in	multiple	
variants
n HTTP	defines	procedures	to	negotiate	the	
appropriate	variant	to	be	transferred
38
Client Server
Variant
Entity
Variant
Variant
Variant
Selection
Response
Request
©	Frank	Leymann
Reference	Autonomy:	HATEOAS
n HATEOAS	=
Hypermedia	As	The	Engine	Of	Application	State
n The	server	returns	links	(“hypermedia”)	that	describe	
the	functions	valid	in	the	actual	“state”	of	the	
“application”
39
©	Frank	Leymann
Example:	Returning	Applicable	Functions
GET /orders/42 HTTP/1.1
Host: www.fl.com
HTTP/1.1 200 OK
Content-Type: application/xml
<order>
<customer>Frank</customer>
...
<link href="www.fl.com/cancellations/42"
rel="www.rels.com/orderAPI/POST/cancel"/>
<link href="www.fl.com/ShipDetails/42"
rel="www.rels.com/orderAPI/GET/shipping"/>
</order
©	Frank	Leymann
REST	Maturity	Model	(aka	Richardson	Maturity	Model)
n Support	of	HATEOAS
n Use	of	appropriate	HTTP	methods	to	
manipulate	individual	resources
n Use	of	appropriate	HTTP	status	codes	
and	header	fields
n Individual	resources	are	identified
n Use	of	single	method	(typically	POST)
n Method	invoked	on	individual	resource	
n Similar	to	“objects”	
n HTTP	is	used	as	a	transport	only
n Single	entry	point	only
n Use	of	single	method	(typically	POST)
n Examples:	SOAP,	XML-RPC
Swamp	of	POX
Resources
HTTP	Verbs
Hypermedia	Controls
Level	0
Level	1
Level	2
Level	3
©	Frank	Leymann
REST	WS	vs “Big”	WS
42
©	Frank	Leymann
Agenda
43
Loose	Coupling
Messaging
WS*
REST
Architectural	Implications
Microservices
Conclusion
©	Frank	Leymann
Two	Classes	of	Faults
n A	fault is	an	event	within	a	system	that	caused	a	
failure
n Transient fault	does	not	re-occur	when	retrying	the	
operation	(“Heisenbug”)
n Permanent fault	is	repeatable	(“Bohrbug”)
44
©	Frank	Leymann
Fixing	Faults
If	software	fault	is	a	Bohrbug there	is	no	repair:
n Get	an	emergency	fix	or	wait	for	the	next	release
If	software	fault	is	a	Heisenbug then	repair	is	easy:
→	Shutdown	and	restart
Luckily,	most	software-caused	faults	are	Heisenbugs
45
©	Frank	Leymann
Fail-Fast	Techniques:	Watchdog
A	watchdog is	a	special	program	that	detects	faults	of	
application	components	fast
It	does	so	by…
n Monitoring	the	liveness of	these	components,	 and
n Re-creating	failed	components	“immediately”
…which	is	equivalent	to	shutdown	and	retry	J
46
©	Frank	Leymann
Watchdogs:	Fault-Detection	Monitoring
47
App
App
App
App
Watchdog
?N=?
App
App
App
App
Queue	Cardinality Lock	Acquisition
Pulse
Heartbeat
©	Frank	Leymann
Hot-Pooling:	High	Availability
n Hot	Pool:	
n A	collection	of	application	components	with	identical	functionality	
sharing	a	common	input	queue
n When	a	member	fails	the	other	members	will	continue	
processing	requests	from	input	queue	 Availability
n Watchdog	will	restart	failed	members	 High	Availability
48
Server
Server
Server
Client AppPUT
GET
Hot	Pool
Update
Watchdog
=	Shutdown	&	Retry
©	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)!
©	Frank	Leymann
Hot-Pooling:	Scalability
n Watchdog	can	monitor	metrics	of	SLOs	of	hot	pool
n If	SLOs	are	threatened	to	be	not	met,	watchdog	will	start	
additional	members	 Scale-out
n If	members	are	underused,	watchdog	will	shutdown	subset	of	
members	 Scale-in
50
Server
Server
App
GET
Watchdog
Server
Server
Server
App
GET
Watchdog
Scale-out
Server
App
GET
Watchdog
Scale-in
©	Frank	Leymann
Underlying	Hot	Pools…
51
…is	loose	coupling!
Server
Server
Server
Client AppPUT
GET
Update
©	Frank	Leymann
n An	Application	System is	the	complete,	interdependent	set	
of	hardware,	middleware,	applications,...	required	to	
process	complete	business	requests
C1 C2 Cn…
Application	System
Application	Systems
52
©	Frank	Leymann
Stability	
n An	application	system	(or	system	for	short)	is	called	stable
iff it	keeps	processing	business	requests	even	when	there	
are	transient	impulses,	persistent	stresses,	or	component	
failures	disrupting	normal	processing
n An	impulse is	a	rapid	shock	to	a	system
n It's	like	whacking	the	system	with	a	hammer	
n Stress is	like	a	force	being	applied	to	a	system	over	an	
extended	period	of	time
n It's	like	constantly	pushing	against	the	system	
53
©	Frank	Leymann
n 100.000	new	sessions	within	a	minute	is	an	impulse	
n 8.000.000	new	messages	in	a	queue	within	a	few	minutes	
before	close-of-business	is	an	impulse	
n Such	an	impulse	can	break	a	system	within	seconds!
Impulse	in	Software
54
©	Frank	Leymann
n Slow	response	from	your	credit	card	processor	over	a	long	period	of	
time (see next)	is	stress
n ...because	it	reduces	the	capacity	to	serve	customers
Stress	produces	strain
n Stress	from	the	credit	card	processor	produces	strain	that	propagate	
to	other	parts	of	the	system
n ...resulting	in	requests	piling	up	in	queues,	queues	getting	full,	
refusing	new	requests,	stopping	services	to	customers
Stress	in	Software
55
©	Frank	Leymann
n How	long	is	a	"long	period	of	time"?
It	depends!
n A	very	good	definition	is	the	time	between	two	code	
deployments	
n If	you	deploy	your	system	once	a	week	it	doesn't	matter	to	
build	the	system	to	run	for	five	years	without	interrupt	
Long	Period	of	Time
56
©	Frank	Leymann
n Sudden	impulses	and	excessive	strain	can	both	trigger	
catastrophic	failure!
n Analogy:	
a	steel	plate	with	a	microscopic	crack	in	the	metal.
Under	stress	the	crack	can	begin	to	propagate	faster	and	
faster	until	the	plate	brakes!	
Cracks
57
©	Frank	Leymann
n Example:	automotive	engineers	build	crumple	zones	into	
the	car	body	to	protect	passengers	by	failing	first
n Similarly,	build	your	components	to	stop	cracks	propagating	
into	the	rest	of	the	system		
Design	for	failure!
Crack	Stoppers
58
©	Frank	Leymann
n ...amplification	is	typically	done	by	tight	coupling:
tight	coupling	accelerates	cracks
Loosely	coupled	components	act	as	shock	absorber,
diminishing	effects	of	errors
instead	of	amplifying	them
The	Role	of	Loose	Coupling
59
©	Frank	Leymann
How	to	Cope	with	Cracks
n The	most	important	technique	to
avoid	cracks	is	the	Circuit	Breaker
n But	there	are	many	other	techniques:
see	the	book	by	Michael	T.	Nygard
n However:
n Thus:
60
Design	for	failure!
Cracks	WILL	HAPPEN!
©	Frank	Leymann
Intermediate	Conclusion
61
Loose	coupling
(especially	time	autonomy	and	reference	autonomy	≈	reliable	messaging)	
supports	building	
highly	available,	scalable	and	stable	components
in	a	straightforward	manner
©	Frank	Leymann
Agenda
62
Loose	Coupling
Messaging
WS*
REST
Architectural	Implications
Microservices
Conclusion
©	Frank	Leymann 63
©	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
©	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
©	Frank	Leymann
Microservice:	The	Essence?
66
A	microservice is	a	service
that	is	independently	deployable
by	fully	automated	deployment	machinery	
…and	this	has	interesting	implications	(see	next)
©	Frank	Leymann
A	Problem
n You	have	a	“big	application”	(a.k.a.	“monolith”)
n If	you	want	to	replicate	it
n …e.g.	because	of	scale,	availability,	elasticity,…
you	pay	penalties	(e.g.	licenses	for	all	components)	
although	you	only	need	“a	few	components”	replicated
67
Application
…
Scale,HA,…
©	Frank	Leymann
Solution
n Split	your	“big	application”	into	“smaller”	granules	that	can	be	
deployed	independently	
n I.e.	split	it	into	microservices
n Replication	can	be	restricted	to	those	components	that	turn	
out	to	be	bottlenecks	( scale),	critical	( HA),…	without	
paying	the	penalties	for	all	other	components	of	the	“big	
application” 68
Application
©	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
©	Frank	Leymann 70
©	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
©	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
§
©	Frank	Leymann
Agenda
73
Loose	Coupling
Messaging
WS*
REST
Architectural	Implications
Microservices
Conclusion
©	Frank	Leymann
Summary
n Building	robust	applications	is	all	about	proper	
architecture and	design
n Loose-Coupling	is	a	central	principle	of	such	
architecture	and	design
n Loose-Coupling	is	supported	by	the	mainstream	
service	technologies
n There	is	no	middleware	or	tooling	magic	that	ensures	
building	“good”	service-based	systems!
74
But	it’s	all	about	YOU
applying	good	architectural	principles
(like	loose	coupling	J)
©	Frank	Leymann
Thanks	for	your	attention!
75

Weitere ähnliche Inhalte

Was ist angesagt?

シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法Yohei Azekatsu
 
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)NTT DATA Technology & Innovation
 
Ksh portfolio
Ksh portfolioKsh portfolio
Ksh portfolioSunhoKo2
 
仕組みがわかるActive Directory
仕組みがわかるActive Directory仕組みがわかるActive Directory
仕組みがわかるActive DirectorySuguru Kunii
 
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)株式会社MonotaRO Tech Team
 
Power BI のいろいろな活用パターン
Power BI のいろいろな活用パターンPower BI のいろいろな活用パターン
Power BI のいろいろな活用パターンYugo Shimizu
 
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くにはデータプロダクト開発を成功に導くには
データプロダクト開発を成功に導くにはRecruit Lifestyle Co., Ltd.
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL Co., Ltd.
 
Power BI を提案してみた件
Power BI を提案してみた件Power BI を提案してみた件
Power BI を提案してみた件Teruchika Yamada
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要かHiromasa Oka
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
PL/SQLをPL/pgSQLにした話を同人誌にした話
PL/SQLをPL/pgSQLにした話を同人誌にした話PL/SQLをPL/pgSQLにした話を同人誌にした話
PL/SQLをPL/pgSQLにした話を同人誌にした話Takashi Meguro
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tipsMasayuki Ozawa
 
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~Junichi Kodama
 
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからHiroshi Kawada
 
いまできるデータ分析を Power BI ではじめよう
いまできるデータ分析を Power BI ではじめよういまできるデータ分析を Power BI ではじめよう
いまできるデータ分析を Power BI ではじめようYugo Shimizu
 
Power BI Desktop こんな使い方してみた件
Power BI Desktop こんな使い方してみた件Power BI Desktop こんな使い方してみた件
Power BI Desktop こんな使い方してみた件Teruchika Yamada
 
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本Sho Okada
 

Was ist angesagt? (20)

シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法シンプルでシステマチックな Linux 性能分析方法
シンプルでシステマチックな Linux 性能分析方法
 
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
 
Ksh portfolio
Ksh portfolioKsh portfolio
Ksh portfolio
 
仕組みがわかるActive Directory
仕組みがわかるActive Directory仕組みがわかるActive Directory
仕組みがわかるActive Directory
 
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
 
Power BI のいろいろな活用パターン
Power BI のいろいろな活用パターンPower BI のいろいろな活用パターン
Power BI のいろいろな活用パターン
 
データプロダクト開発を成功に導くには
データプロダクト開発を成功に導くにはデータプロダクト開発を成功に導くには
データプロダクト開発を成功に導くには
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷
 
Power BI を提案してみた件
Power BI を提案してみた件Power BI を提案してみた件
Power BI を提案してみた件
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
PL/SQLをPL/pgSQLにした話を同人誌にした話
PL/SQLをPL/pgSQLにした話を同人誌にした話PL/SQLをPL/pgSQLにした話を同人誌にした話
PL/SQLをPL/pgSQLにした話を同人誌にした話
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Pythonのmain関数
Pythonのmain関数Pythonのmain関数
Pythonのmain関数
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tips
 
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
事例から学ぶ!Power Platformガバナンス設計~CoEの話も添えて~
 
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
 
いまできるデータ分析を Power BI ではじめよう
いまできるデータ分析を Power BI ではじめよういまできるデータ分析を Power BI ではじめよう
いまできるデータ分析を Power BI ではじめよう
 
Power BI Desktop こんな使い方してみた件
Power BI Desktop こんな使い方してみた件Power BI Desktop こんな使い方してみた件
Power BI Desktop こんな使い方してみた件
 
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
 

Ähnlich wie WSO2Con ASIA 2016: Keynote: At the Heart of Services – Loose Coupling and Its Architectural Benefits

SplunkLive! London 2019: Allied Irish Banks
SplunkLive! London 2019: Allied Irish Banks SplunkLive! London 2019: Allied Irish Banks
SplunkLive! London 2019: Allied Irish Banks Splunk
 
A Mathematical Model for Evaluation of Data Analytics Implementation Alternat...
A Mathematical Model for Evaluation of Data Analytics Implementation Alternat...A Mathematical Model for Evaluation of Data Analytics Implementation Alternat...
A Mathematical Model for Evaluation of Data Analytics Implementation Alternat...Jānis Grabis
 
Monitoring with Elastic Machine Learning at Sky
Monitoring with Elastic Machine Learning at SkyMonitoring with Elastic Machine Learning at Sky
Monitoring with Elastic Machine Learning at SkyElasticsearch
 
Current Anaysis European Ict Trends April 2011 Ver 2
Current Anaysis   European Ict Trends April 2011 Ver 2Current Anaysis   European Ict Trends April 2011 Ver 2
Current Anaysis European Ict Trends April 2011 Ver 2bostergaard
 
Prevent AP Outsourcing 1 Of 3
Prevent AP Outsourcing 1 Of 3Prevent AP Outsourcing 1 Of 3
Prevent AP Outsourcing 1 Of 3Lavante, Inc.
 
cVidya RA for Electric Utilities - RA Forum Conference
cVidya RA for Electric Utilities - RA Forum ConferencecVidya RA for Electric Utilities - RA Forum Conference
cVidya RA for Electric Utilities - RA Forum ConferencecVidya Networks
 
FI _ OVERVIEW.pptx
FI _ OVERVIEW.pptxFI _ OVERVIEW.pptx
FI _ OVERVIEW.pptxGuptaV3
 
Digital transformation from value chain to value network possible digital t...
Digital transformation   from value chain to value network possible digital t...Digital transformation   from value chain to value network possible digital t...
Digital transformation from value chain to value network possible digital t...Tarmo Ploom
 
Zinnov Zones for Robotic Automation Services
Zinnov Zones for Robotic Automation ServicesZinnov Zones for Robotic Automation Services
Zinnov Zones for Robotic Automation ServicesZinnov
 
SOAC Conference Presentation -2 September 2015 - LinkedIn
SOAC Conference Presentation -2 September 2015 - LinkedInSOAC Conference Presentation -2 September 2015 - LinkedIn
SOAC Conference Presentation -2 September 2015 - LinkedInTrevor Francis
 
01-VSM-VSD-Training-Presentation-20140406-pptx.pptx
01-VSM-VSD-Training-Presentation-20140406-pptx.pptx01-VSM-VSD-Training-Presentation-20140406-pptx.pptx
01-VSM-VSD-Training-Presentation-20140406-pptx.pptxabdullahmohamed10900
 
New Charts Architectures (2)
New Charts Architectures (2)New Charts Architectures (2)
New Charts Architectures (2)guestf73e68
 
The Challenges Facing Local CIOs | Geoff Connell | March 2016
The Challenges Facing Local CIOs | Geoff Connell | March 2016The Challenges Facing Local CIOs | Geoff Connell | March 2016
The Challenges Facing Local CIOs | Geoff Connell | March 2016Anna Fenston
 

Ähnlich wie WSO2Con ASIA 2016: Keynote: At the Heart of Services – Loose Coupling and Its Architectural Benefits (20)

Tally9erp
Tally9erpTally9erp
Tally9erp
 
Mis ppt level 2
Mis ppt level 2Mis ppt level 2
Mis ppt level 2
 
SplunkLive! London 2019: Allied Irish Banks
SplunkLive! London 2019: Allied Irish Banks SplunkLive! London 2019: Allied Irish Banks
SplunkLive! London 2019: Allied Irish Banks
 
A Mathematical Model for Evaluation of Data Analytics Implementation Alternat...
A Mathematical Model for Evaluation of Data Analytics Implementation Alternat...A Mathematical Model for Evaluation of Data Analytics Implementation Alternat...
A Mathematical Model for Evaluation of Data Analytics Implementation Alternat...
 
Monitoring with Elastic Machine Learning at Sky
Monitoring with Elastic Machine Learning at SkyMonitoring with Elastic Machine Learning at Sky
Monitoring with Elastic Machine Learning at Sky
 
Current Anaysis European Ict Trends April 2011 Ver 2
Current Anaysis   European Ict Trends April 2011 Ver 2Current Anaysis   European Ict Trends April 2011 Ver 2
Current Anaysis European Ict Trends April 2011 Ver 2
 
Mis ppt level 2
Mis ppt level 2Mis ppt level 2
Mis ppt level 2
 
Prevent AP Outsourcing 1 Of 3
Prevent AP Outsourcing 1 Of 3Prevent AP Outsourcing 1 Of 3
Prevent AP Outsourcing 1 Of 3
 
Tcs iON Manufacturing ERP presentation
Tcs iON Manufacturing ERP presentationTcs iON Manufacturing ERP presentation
Tcs iON Manufacturing ERP presentation
 
cVidya RA for Electric Utilities - RA Forum Conference
cVidya RA for Electric Utilities - RA Forum ConferencecVidya RA for Electric Utilities - RA Forum Conference
cVidya RA for Electric Utilities - RA Forum Conference
 
FI _ OVERVIEW.pptx
FI _ OVERVIEW.pptxFI _ OVERVIEW.pptx
FI _ OVERVIEW.pptx
 
Digital transformation from value chain to value network possible digital t...
Digital transformation   from value chain to value network possible digital t...Digital transformation   from value chain to value network possible digital t...
Digital transformation from value chain to value network possible digital t...
 
e-Manufacturing; before and after
e-Manufacturing; before and aftere-Manufacturing; before and after
e-Manufacturing; before and after
 
Zinnov Zones for Robotic Automation Services
Zinnov Zones for Robotic Automation ServicesZinnov Zones for Robotic Automation Services
Zinnov Zones for Robotic Automation Services
 
SOAC Conference Presentation -2 September 2015 - LinkedIn
SOAC Conference Presentation -2 September 2015 - LinkedInSOAC Conference Presentation -2 September 2015 - LinkedIn
SOAC Conference Presentation -2 September 2015 - LinkedIn
 
01-VSM-VSD-Training-Presentation-20140406-pptx.pptx
01-VSM-VSD-Training-Presentation-20140406-pptx.pptx01-VSM-VSD-Training-Presentation-20140406-pptx.pptx
01-VSM-VSD-Training-Presentation-20140406-pptx.pptx
 
New Charts Architectures (2)
New Charts Architectures (2)New Charts Architectures (2)
New Charts Architectures (2)
 
Mis ppt level 2 revised
Mis ppt level 2 revisedMis ppt level 2 revised
Mis ppt level 2 revised
 
CV Marc de Leijer UK
CV Marc de Leijer UKCV Marc de Leijer UK
CV Marc de Leijer UK
 
The Challenges Facing Local CIOs | Geoff Connell | March 2016
The Challenges Facing Local CIOs | Geoff Connell | March 2016The Challenges Facing Local CIOs | Geoff Connell | March 2016
The Challenges Facing Local CIOs | Geoff Connell | March 2016
 

Mehr von WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

Mehr von WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Kürzlich hochgeladen

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Kürzlich hochgeladen (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

WSO2Con ASIA 2016: Keynote: At the Heart of Services – Loose Coupling and Its Architectural Benefits