jakob@rojel.dk soa tailoring. what gives you the right to talk
Post on 30-Dec-2015
217 Views
Preview:
TRANSCRIPT
jakob@rojel.dk
SOA Tailoring
What gives you the right to talk
AgendaThe SOA sceneESB / MS PlatformAgile SOAProduct SOA
AgendaThe SOA sceneESB / MS PlatformAgile SOAProduct SOA
The SOA SceneMost people are doing SOASome people knows what it really is aboutFew people really knows why they are
doing SOA
The scope and definition of SOA keeps expanding
SOA actually now delivers in some areas
The EA MafiaFocus on Enterprise ArchitectureNo real SOA without an Enterprise Service BusExtra cost justified by reuseBusiness agility comes later
Sounds a little like mainframe and waterfall development method
Read this
Remeber the SOA promiseBusiness agilityReusable services in the cloud
The good news is that this is delivered outside the EnterpriseMashupGoogle, Facebook, Flickr, Amazon, eBay,
Microsoft
AgendaThe SOA sceneESB / MS PlatformAgile SOAProduct SOA
ESB and the Microsoft stackThere has been a lot of arguing whether
Microsoft has an Enterprise Service BusIt is possible to develop SOA solutions
without an ESB ?Will a shrink-wrapped ESB product help
your organization ?Is ESB just old hat ?
ESB overview
Defining ESB Defining ‘ESB’
Many variations, products and technologies Commonality and convergence
Distributed, ubiquitous ‘fabric’ for message exchange and integration
Central administration and deployment Standards-based and secure messaging Centralized logging Lightweight containers Message exchange patterns & routing Adaptation and mediation Persistence and recoverability Orchestration and choreography
The Microsoft SOA platform today
• BizTalk Server 2006 R2– Message brokerage (pub/sub, message stream processing)– Integration toolset (adapters, transformation, EDI support, etc.)– Orchestration– Business activity monitoring– Business rules, Single Sign-on, B2B support, development tooling etc.
• Windows Communication Foundation (WCF)– Service model – loosely-coupled composition
• Asynchronous messaging primitives• MEP (message exchange patterns) and extensible behavioural support
– Channel architecture - transports and encodings
• Windows Workflow Foundation (WF)– Activity model – tightly-coupled composition
• Workflow models – sequential, state transition• Base activity library• Extensible architecture• Rules
Who are you kidding? “Service Buses? Microsoft doesn’t get it!”
…but Microsoft says: “The Service Bus is a set of design patterns”
“The Service Bus is about the platform, not the product”
“ESB is a subset of the service bus approach. Other subsets exist”
“BizTalk Server is a mere hub & spoke message broker” BizTalk Server is pre-ESB, but firmly rooted in the same concepts
“WCF is interesting, but not ESB” That’s the point! It’s a foundation for building service buses.
‘Oslo’ will build on WCF extending the service bus concept across applications, enterprises and ‘cloud’ computing
BizTalk Server Service Bus Robust, recoverable message exchange . Message Exchange Patterns (MEPs)
1-way, 2 way, reliable, ordered, etc No first-class support for duplex, but possible through custom adapters
Powerful pub/sub mechanism Process Automation
Orchestration engine
Distribution and Scalability Hosting model across multiple servers (Enterprise edition only) Load-sharing
Single-point administration (Enterprise edition only) Central ‘resource’ repository to aid deployment Adapter framework
OOB adapters, third-party adapters and custom adapters
BizTalk Server Service Bus Centralised model
‘Heavyweight’ model
All messages persisted to Message Box No lightweight, non-persisted, non-recoverable model Low latency and real-time challenges
Supports built-in service types only Orchestrations, Receive and Send ports Must use adaptation for other services Leads to over-use of orchestration
No built-in support for common ESB design patterns Addressed via the ESB Guidance Toolkit
WCF Service Bus Part of .NET Framework
Freely distributable – no licensing costs
Provides lightweight container model Service and channel model Hosting model
Wide range of MEPs, including duplex Extensive support for SOAP and WS-*
New support for Web 2.0 and REST
WCF LoB Adapter Framework Platform-level adapters Exposed as WCF bindings
WCF Service Bus Foundational only Administration, management and deployment
Does not provide OOB enterprise-level tooling
No pre-built support for pub/sub May be addressed in ‘Oslo’
NB. early previews of ISB contain pub/sub model
Can be implemented today using custom code
No pre-built persistence features May be addressed in ‘Oslo’
No pre-built support for many common ESB design patterns May be addressed in ‘Oslo’ Some support today via ESB Guidance Toolkit
Limited support for orchestration and choreography Can use WF with WCF
ESB Guidance Toolkit Patterns and Practices
Guidance & best practice Documented design patterns Production-ready code (open source)
Targets BizTalk Server R2 and WCF Not ‘Oslo’! Use as a ‘starter’ pack
Extend or create components Adapt code Add to functionality
ESB patterns examples
Point to point
Request response resolution
General ESB proswikipedia
Faster and cheaper accommodation of existing systems.
Increased flexibility; easier to change as requirements change.
Standards-based. Scales from point solutions to enterprise-wide
deployment (distributed bus). Predefined ready-for-use service types. More configuration rather than integration
coding. No central rules engine, no central broker. Incremental changes can be applied with zero
down-time; enterprise becomes "refactorable
General ESB conswikipedia
Enterprise Message Model is usually required, resulting in additional management overhead. May not be a simple task to achieve many disparate systems collaborating on message standards.
Requires ongoing management of message versions to ensure the intended benefit of loose coupling. Incorrect, insufficient, or incomplete management of message versions can result in tight coupling instead of the intended loose coupling.
It normally requires more hardware than simple point to point messaging.
New skills needed to configure, manage, and operate an ESB. Extra overhead and increased latency caused by messages
traversing the extra ESB layer, especially as compared to point to point communications.
Some critics remark that ESB require a significant effort to implement, but produces no value unless SOA services are subsequently created for the ESB.[
ESB RecommendationsVery few will benefit from implementing a
ESB productUnderstand the ESB concepts and patternsUse a pragmatic mix of WCF, WF and
Biztalk in that priorityKeep it simple
If it is Endpoint resolution, transformation and logging your are looking for ESB is way over engineered
Prepare for Internet Service Bus / Federated Service Bus
AgendaThe SOA sceneESB / MS PlatformAgile SOAProduct SOA
”Net generation” trendsServices outside the enterpriseLot faster time to marked … always in betaSpoiled employees does not follow
corporate policy or long term benefitsProvide them with the tools they need or
they will go elsewhere
Architecture decisions needs to accommodate soft values
Employees go elsewhere
But this stuff is just for fun isn’t it?What relevance does this have outside
of staff morale, corporate communications, professional networking, knowledge sharing, reducing time wasted in meetings and retention of intellectual property?
Gatwick Cabin Crew Swaps
Agile development is king• Scrum has been adopted as a very
successful development method– Empowered teams– 2-4 weeks iterations– Feature and test driven development
• Agile does not believe in reuse economic• Dynamic languages looks like the next big
wave– Ruby (on Rails)– Phyton– Groovy
Agile meets SOATraditional contract first web services are
expensiveTo buildTo updateIt helps if using a framework like WS SW
FactoryApplications and services are easily
intertwined but need to be kept aside
Not all services are alikeBe careful with service categorization
External WSCast in stone WS (e.g. Host integration server
to Mainframe)Application private WSLookup WS (e.g. REST type)Core Web Services
Different internal architecture, development approach and governance for the various service types
Keep focus on the Service ModelEven agile needs to respect adding to
the Service ModelUsing the right framework for the
Service Model it is a doable task
Don’t let WS slow you downLate introduction of WSModern tools and layered architecture
makes it trivial to add WS layer laterGet to WCF
Web Architectures requires WSThe Web 2.0 web applications heavily relies
on WSAJAXSilverlightAdobe XYZ
REST and JSON and similar technologies are predominant
Mashup and REST is a nice fit
Productivity is still kingLot of productivity coming out of Redmond
ADO.Net data servicesDynamic DataWCFSoftware Factories
Staying in control• When working agile in iteration remember
to have somebody responsible for the longer perspective
• Could even be an Enterprise Architect • In the end of the iteration feed information
back into the Enterprise– Update service models– Domain categorizations– Promote services
Agile wrapupAgile might not be the best longterm
strategy but it is vary hard to avoidThe SOA architecture needs to be prepared
for changes The technology catch-up for developers
and architects is huge so start small
AgendaThe SOA sceneESB / MS PlatformAgile SOAProduct SOA
SOA Economy
In-house invented SOA components are expensive and of questionable value.
Reuse as funding to SOA overhead is questionable
Think twice before developing SOA components for non core business, focus on key differentiators
If at all possible by SOA enabled products for non core business
SOA Enabled ProductA Product designed for the SOA worldA product build og loosly coupled componentsA product where components can be
externalizedA product where business logic and user
interface is separated by a service layer
Example SOA enabled productOBA Blueprint
LOB Integration
360 BLWeb
Service
InfoPath FormsLibraries
360 Web parts
360 Process Manager
360 Backend Server LOB ActiveDirectory
External Services
Dat
aA
pplic
atio
n S
ervi
ces
Pro
duc
tivity
Pre
sen
tatio
n
Org Workers
WF BDC WCFImport mail
service
FormsServices
Citizens / Custome
rs
36
0 S
ecu
rity
and
lo
gg
ing
Internet Portal (MOSS)
InfoPath 2007 Browser Forms
MOSS Intranet PortalOutlook with 360
plugin
ExampleExternalize the contact model
In this show case the contact model of a Enterprise Content Management system was replace with the customer model of Microsoft CRM
MS CRM SI 360
SOA ProductsStill in its infancyMight be delivered as installable productsMight be cloud servicesRequires a new mindset which provides
space for smaller vendors
SummaryUse ESB with care, only for very stable stuffConsider buying servicesUse your Enterprise Architect to maintain a
flexible Service ModelTechnology and business models are
changing rapidly to travel light
Comparing ESB and Cameras
Comparing ESB and CamerasBut in the end it all comes
down to the photographer and the motif
Questions ?
top related