I was hoping for some expert opinions on some high level questions about
a new architecture, and if Synapse could fit.
Much thanks in advance for any type of feedback.

High level overview
- Complete re architecture of existing system from the ground up.
- Need to be able to "tie" web services together in steps to achieve the
  overall system requirements.
- System processes video content for delivery to destinations.
- Nodal system (4 to 5 global nodes initially)
- Need failover on both a nodal level and individual service level.
- Load balancing on a web service level.
-Many web services (sync and async) (.NET and Java) (WSDL and REST)
  95% internal web services written by us, under our control.
- 70% long running processes.
- Steps in the process are driven by work being completed by services,
  not a user completing a step in a UI.

Things we have considered:
BPEL process engines
Positives              - provides the "glue" to tie web services together.
                                - products / os projects provide a console for 
managing processes and instances
                                out of the box
Concerns             - Feels like "square peg in a round hole" seems very 
specific to user centric processes.
                                - If we need something outside of what BPEL 
supports, seems difficult.
BPMN process engine
Positives              - provides the "glue" to tie web services together.
                                - products / os projects provide a console for 
managing processes and instances
                                out of the box
                                - BPMN seems more fully featured with some 
mediation / orchestration abilities.
Concerns             - Feels like "oval peg in round hole" still seems user 
centric, but less than BPEL.
                                - If we need something outside of what BPMN 
supports, seems difficult.
Synapse
Positives              - Synapse seems very lightweight.
                                - Seems to meet our high level requirements 
without the overhead of a process engine.
                                - Appears failover and load balancing is built 
in.
Concerns / Questions
                                - We have long running processes. (ie: a web 
service is called from synapse and the work that
                                web service does may not be done for hours)
                                Does synapse have the ability to "wait" on that 
response? Is there a callback mechanism?
                                - Can synapse "replace" the functionality of a 
BPEL or BPMN engine, just in a different way?
                                - No console application built in for 
monitoring?

Danny


Danny Gallagher | Software Engineer
T. 678.556.5674 | F. 770.619.0802
DG | 245 Hembree Park Drive, Suite 100, Roswell, GA 30076
[email protected] | www.dgit.com
   [Description: DG]

Reply via email to