I have an unusual design goal that I would like to solve using OpenESB. We have a number of files that will be generated by our system to be transferred to another system. Depending on the data type, the source system and the destination system, a series of transforms will need to take place before the data can be uploaded to the destination system. Any advice on the best approach to this?
General requirements:
- The number and types of transforms are many and could change over time.
- The number and types of data to process will be fairly fixed over time.
- The number of source and destination systems could change radically over time.
- Each of these transforms could be ganged together for the cases where the type, source and destination are similar.
- Based on business rules from each customer, a new transform may need to be substituted or inserted in to the sequence, which would require a new and separate sequence.
- Solution needs to be as flexible and scalable as possible.
- Many future requirements based on type, source and destination could come in to play for which we have not yet considered. This flexibility is a requirement of the system.
In our way of thinking, it seems like a set of nested BPEL might be the best solution, each calling a POJO class to achieve the desired transform. Is this feasible? Is there a better way?