Hi, ODE is originally designed to be run in a clustered fashion, however it has never been implemented in ODE. The goal would be to integrate a clustering framework like Hazelcast in order to add this functionality.
The main integration points are the ODE scheduler and the process store. The scheduler is already capable to handle several nodes but needs the integration to know if cluster nodes are still present. The API currently anticipates a heart beat model, with Hazelcast this might need to be changed or adapted. The other part is the process store, which implements the (hot-)deployment that is filesystem based. Under the assumption that a distributed filesystem is used, the cluster implementation needs to take care that only one single node (the master) is taking care of new deployments, just in order to avoid multiple nodes doing the same thing in parallel. Then there is also one lock that needs to be distributed, either using database locks or a distributed lock (e.g. from hazelcast). Addtional requirements would be the integration with our config file so that a cluster (and its nodes) can be configured as well as some basic monitoring. Also a basic test environment, e.g. based on Docker would be very good to verify the approach. So I guess the steps would be: 1. Research to find a suitable cluster framework (I think Hazelcast would be a good fit) and getting familiar with ODE and this framework. 2. Identify the integration points in ODE. 3. Based on the chosen framework, develop approaches to serve these integration points (We need leader election for the store, a distributed lock for the runtime and the information whether nodes are joining or leaving the cluster to be able to reschedule tasks from lost nodes) along with a distributed setup to test. 4. Develop and test, 5. Test. For questions regarding the integration points please feel free to ask here, I can give you some pointers. HTH, Tammo On Tue, Mar 24, 2015 at 5:03 AM, sudharma subasinghe <[email protected]> wrote: > Hi, > > I am interested in this project as I have enough basic knowledge about > apache axis2, apache ODE, WS-BPEL and I am currently studying those. So I > appreciate if you can provide more details on project. > Thank you > -- Tammo van Lessen - http://www.taval.de
