Best Practices For Building A Middleware Architecture
Keep a vision in mind of where corporate systems need to go, but choose an architecture that allows changes over time
Build systems incrementally. Focus on the next four to six months. Find small pieces you can build and deliver in a short time, and try things as you go.
Don't pick all the tools at once. Select enough to get started, and add as you go.
Accept a certain amount of instability. If you wait until a technology is completely stable, the project will take forever or the technology will be obsolete by the time you use it.
Encapsulate as much as you can. If different system elements, such as network interfaces and object models, are encapsulated, it's easier to replace them when needs change and technology evolves.
Take a tiered approach. Use different layers to logically isolate application elements and create modularity.
Focus on four key areas of scalability: number of users, amount of data, types and breadth of functions, and complexity of the workload.