Search code examples
javaspringapache-camelesbapache-servicemix

How can my Workflow's performance be upgraded by Implementing ESB


We are trying to move our complete workflow to ESB.

Here ,all the Operations We are performing in our project!

1.Get an input file from a sftp server.

2.then copy that file to the app server(another server) where java is installed..

3.from there we are accessing DB SERVER(which is another server)..and perform some validations.

4.then we are generating some files and post it back to sftp server..

5.from there through web service we have to transfer that files to another server.

we had implemented all these through JAVA. How can ESB can help when implementing this through any ESB.


Solution

  • we had implemented all these through JAVA. How can ESB can help when implementing this through any ESB.

    Looking from here what I can see is that you may use Apache Camel to route this sample workflow you posted with ease, saving a lot of boilerplate code. Quoting from this question:

    Apache Camel is an open source Java framework that focuses on making integration easier and more accessible to developers. It does this by providing:

    • concrete implementations of all the widely used Enterprise Integration Patterns (EIPs)
    • connectivity to a great variety of transports and APIs
    • easy to use Domain Specific Languages (DSLs) to wire EIPs and transports together

    Camel has a lot of components available to build your workflow/route and save work.

    Speaking about ESB topic, there's a nice definition about ESB and Apache Camel in this FAQ:

    Is Camel an ESB?

    Typically vendors claim practically everything is an ESB these days, so the answer is probably yes :)

    However our view is that an ESB is more of a container of integration components, so we view Apache ServiceMix to be a true ESB based around OSGi (and optionally JBI) to provide a standards based integration platform of components.

    We view Camel as being a rule based routing & mediation engine which can be used inside a full blown ESB, a message broker or a web services smart client. Though if you want to, you could consider that Camel is a small, lightweight embeddable ESB since it can provide many of the common ESB services like smart routing, transformation, mediation, monitoring, orchestration etc.