0

We are part of a SOA implementation.

We publish events via the enterprise bus for certain changes in our system.

The architects here have advised, however, that some bulk changes to data should go via a flat file (generated by our system) and handled (moved between servers) by middleware, because they want to avoid overloading the bus with data. (It would be possible for us to publish a single event containing all the changes as opposed to many single events, which would perform much better, but for some reason they do not want this).

More recently, a contention has arisen over a price list that we produce. The original requirement for us was to produce a flat file on a daily basis (which would be a lot simpler than communicating real-time pricing changes). In this scenario, we fought off requirements from the consumer system to tailor the data a specific way. Our argument is that in a SOA context, our output should be consumer-agnostic, so as long as it contains the necessary data, it can be transformed by middleware into the required target format.

Now, however, architecture has again intervened, saying that publishing a price list is an event that could/should go via the bus. We are not sure we agree with this, and why, in the case of bulk changes mentioned above, a file transfer is acceptable which effectively bypasses the bus.

I guess my question is manifold:

  • Are there guidelines around what data should be contained in an event in the SOA context?
  • Is there place for file transfers in an event-driven architecture? If so, is my assumption correct that we could be exporting a file containing pricing information in our own format, and leave it to middleware to transform?
mydoghasworms
  • 375
  • 2
  • 10

0 Answers0