Publishing Orchestrations
Pros:
- Short development cycle, well suited for agile iterative development
- Easy to use and understand by developers
- No special XML Schema, WSDL skills needed
Cons:
- Limited control over the message schema, no flexibility to optimize it
- Poor collaboration model - can't share service contract among parties until it's stable
- Weak interoperability control
- Encourages bottom-up design approach, as the result is a high chance of tight coupling services and overall poor solution design that doesn’t scale and is not truly “service oriented”
Publishing Schemas
Pros:
- Encourages top-down contract-first approach that enables designing true service oriented solutions
- Emphasis on message helps designing better messages aligned with business processes
- Gives control over the message schema
- Opens opportunity to share service contract among participants in collaborative development
- Potential to create more interoperable services
- Possibility of optimizing service performance
- Isolated services development and easy iteration over stabilized schema
Cons:
- Requires skilled developers who know XML Schema, understand WSDLs and appropriate tools
- Longer initial design phase, difficult to conduct iterations before schema is stabilized because of manual work involved
- Poor implementation of WSDL generation, manual tweaking of service description required
- Limited toolset to support development process
Summary:
Publishing schemas as web services is the choice to consider when:
- Designing top-down contract-first global scoped services (for example, consumed from outside of the enterprise boundaries, i.e. B2B)
- When designed service should follow existing or given service contract, for instance some standard industry schema
- No or little control over service consumers, change management is difficult or impossible
- Large complex solutions with high number of dependencies
- Collaborative development involves multiple parties sharing the same service contract
- Interoperability is a major concern
- Project timeline allows time for thorough messaging schema design
- Developers available with XML Schema and WSDL skills
Publishing orchestrations is a way to go when:
- Implementing simple solutions with small number of dependencies when we have control over both consumer and service endpoints
- Rapid prototyping, proof-of-concepts, service stubs
- Developing local scoped services, when collaboration is not an issue
- Don’t care much about interoperability
- No skilled XML Schema, WSDL developers available
No comments:
Post a Comment