I am looking some architecture or patterns to sole the following problem.

An operations research kind of application. Let’s say a seaport where, there are boats, trains, trucks, all with schedule, crews for inspection, equipment most be available…etc.
We need to propose the best way to organize the work in order to process everything as quickly as possible. There are a lot of assignment rules.

The input to these rules changes very often. We receive many messages, there are triggering rules but the assignment will be triggered very often, let’s say every 5 seconds.

For a 3-tier, n-tier or any database centric solution, I am afraid there will be just too much information to retrieve and objects to create. We will hit a performance wall very fast.

We thought about an in-memory model. This is for operation and there is no need to store the information so no database is really required. The idea itself is good it the implementation raises question for concurrency, isolation, transaction (ACID). The best I could come up with is a transaction cache (JBOSS).

So, does anyone already implemented such application or have idea on how to implement it. Any comment is more than welcome.