How do I choose a server for Web service orchestration? What are some good criteria?
A Web service orchestration server includes the common facilities for composing asynchronous Web services into process-centric applications. An orchestration server is intended to offer a compelling buy-versus-build choice for IT professionals that otherwise would be tasked with re-creating the software infrastructure in a custom fashion for each and every process-centric application they build. The orchestration server category is still in its infancy and selection criteria is likely to go through changes as the category matures. At this point, you may consider the following:
- Project/feature requirements:
Match up product functionality against your project requirements (ideally with a prototype or pilot). Common requirements for Web service orchestration include:
- Asynchronous service support for reliability and scalability of the solution
- Workflow and manual task support for human involvement and exception handling
- Ease of integration with portals, email and custom clients
- Interoperability with published services (.Net, J2EE, etc).
- Support for business transactions (exceptions, cancellation/compensation)
- Interoperability/orchestration standards:
Select which standards are important to you. Proper selection of standards will ensure the solution will interoperate with existing applications and also enable smoother transition to alternative implementations if necessary down the road. Common standards which are important to Web service orchestration server customers include:
- Java/J2EE vs Microsoft/.Net
- Business documents: XML and XMLSchema
- Basic Web services stack: WSDL and SOAP
- Emerging Web services standards: BPEL4WS and WS-Transaction
Try to formally assess the value/cost of the solution for the problem you are trying to address. Then try to estimate the full lifecycle cost of the technology you are evaluating. Make sure you can achieve positive ROI for each stage of a multi-phase project. Cost factors to consider include:
- Software and hardware that you will need for initial phase functionality
- Learning curve and cost of training developers to using the technology
- Cost/complexity of development effort for initial phase functionality
- Maintanence cost, difficulty of making changes and adding new functionality
Dig Deeper on Business process modeling and design
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.