7. Which of the following can be considered "EAI best practices"?
a) Performance profile the solution early on
b) Make sure the solution is "traceable"
c) Value the "human factor" at the same level as technical decisions
d) Define clear and strict milestones and deliverables
ANSWER: A, B, C
It is in the nature of EAI projects that they are inherently non-linear ( or, complex) and that the amount of data transported and stored by the infrastructure is steadily growing. Therefore EAI solutions need to be linearly sizable and extensible without limit.
Performance profiling of the solution is very important to get right early on in the development lifecycle. EAI projects have often failed because of performance issues that were only discovered once they were deployed.
Another area often overlooked is "runtime debugging" in an EAI environment. This can be a mammoth task to even comprehend (let alone implement). Some problems will always pop up once it is in the production environment that you have not catered for. So start off small and try to think in terms of "tractability" when architecting the integrated solution right from day one! One nice thing to consider is that in a SOA/EAI environment, Web services provide definite "points in the process" that you should be able to easily monitor and/or log what is happening in real-time.
The human factor plays also a critical role in any EAI project. Other than ERP solutions that may be contained within the limits of a department, an EAI project will always involve several mutually contending departments and often disparate institution who have never met before and do not know anything about each other. Personal encounters and positively connotated meetings are essential for the success of an EAI project. On the other side, defining strict milestones and deliverables as known from classical project management are disasters for an EAI project, as they undermine the agility of the project and the self-responsibility of the individual for the success of the whole.