Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

How do I choose a server for Web service orchestration?

How do I choose a server for Web service orchestration?

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:

  1. 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)
  2. 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
  3. Cost/ROI:

    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 Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.