wso2con asia 2016: pattern-driven enterprise architecture: applying patterns in your architecture
Post on 16-Apr-2017
446 Views
Preview:
TRANSCRIPT
Pa#ernDrivenEnterpriseArchitecture
MifanCareemDirector,Solu9onArchitectureWSO2Inc.
Agenda
• Ofpa#ernsandbedroomsandsuch• LayeredArchitecture• ServiceOrientedArchitecture• ResourceOrientedArchitecture• EventDrivenArchitecture• MicrokernelArchitecture• Micro-servicesArchitecture• CloudArchitecture• Alltogetherthen!
WhatisaPa#ern!
• Apa#ernisareusablesolu9ontoasoJwaredesignproblemthathasbeenproveneffec9veinmul9plesitua9ons.
PATTERN:BedAlcove(akaDowereallyneedabedroom???)source:AbridgedbyGregHohpe;originallyfromChristopherAlexander
• DesignProblem:Bedroomsmakenosense• Forces:
– First,thebedinabedroomcreatesawkwardspacesaroundit:dressing,working,watchingtelevision,siYng,areallratherforeigntothesidespacesleJoveraroundabed.
– Second,thebeditselfseemsmorecomfortableinaspacethatisadjustedtoit.
• Solu6on:– Don'tputsinglebedsinemptyroomscalledbedrooms,butinsteadputindividualbedalcovesoffroomswithothernonsleepingfunc9ons,sothebeditselfbecomesa9nyprivatehaven.
PATTERN:BedAlcove
• RelatedPa#erns– CommunalSleeping– MarriageBed– CeilingHeightVariety– Half-openRoom– ThickWalls
• RelatedAn9-pa#ern– Bedsidearguments!
FromBAtoSAtoDA
LayeredArchitecture
Presentation Layer
Network and Storage Layer
Persistence
Services | Middleware Layer
Business Layer
Agile L
Dev H
Dep L
Test H
Perf L
Scale L
Separation of concerns
Architecture sinkhole
LayeredArchitecture
Presentation Layer
Network and Storage Layer
Persistence
Services | Middleware Layer
Business Layer
Agile L
Dev H
Dep L
Test H
Perf L
Scale L
Separation of concerns
Architecture sinkhole
SOA:MEDIATION/TRANSFORMATION,BUSPATTERN,ENTERPRISEINTEGRATIONPATTERNS
Legacy Services
Wrapper
Connectors
Data Services Web Services
Transactional Client
Content based router Scatter-gather Content enricher
Dead letter channel Guaranteed delivery Store and forward
Adaptor
Cloud Services Async Services
SOA:SECURITY,IDENTITYBUS,SERVICEREGISTRY
Identity, Authentication, Entitlement, Enterprise Identity Bus
LDAP
External IS
Token Validation
Federated Identity Trusted Subsystems Brokered Authentication
Service Registry, Service Governance
Service Registry, Metadata centralization, Service decomposition, Service versioning
++ServiceOrientedArchitectureAgile H
Dev H
Dep L
Test L
Perf L
Scale H
++ServiceOrientedArchitectureAgile H
Dev H
Dep L
Test L
Perf L
Scale H
MicrokernelArchitecture
SMS
USSD
MePIN
Agile H
Dev L
Dep H
Test H
Perf H
Scale L
EventDrivenArchitecture
EDA Mediator EDA Broker
++EventDrivenArchitectureAgile H
Dev L
Dep H
Test L
Perf H
Scale H
++EventDrivenArchitectureAgile H
Dev L
Dep H
Test L
Perf H
Scale H
External Consumption
ResourceOrientedArchitecture
HATEOAS Late Binding Uniform interfaces Loose coupling
++ResourceOrientedArchitectureAgile H
Dev H
Dep L
Test H
Perf H
Scale H
MicroservicesArchitecture
MSA: API REST Topology MSA: Application REST Topology
MSA: Messaging topology
Client side discovery
Server side discovery
++MicroservicesArchitectureAgile H
Dev H
Dep H
Test H
Perf L
Scale H
Cloudbasedarchitectures
Watchdog
Stateless component
Agile H
Dev L
Dep H
Test L
Perf H
Scale H
++Cloudbasedarchitectures
Summary
Programming is like sex. One mistake and you have to support it for the rest of your life. (Michael Sinz)
ThankYou
top related