Tuesday 11 March 2008

To Succeed as an EAI Architect

As authored by Eric Roch reproduced here with an inclusion (and slight modification) of only the most relevant and notable facts:

The Career Path to being an EAI Architect must include technical and leadership milestones. Often developers overlook the need for strong written and verbal skills needed to produce coherent design documents and communicate the system vision to a team of developers. Once the design deliverables are in place the architect must then act as a technical lead to ensure the design principals are complied with to produce the components that must work together as an integrated system.

For an EAI architect, there is no way around a strong technical knowledge base. You must know the integration tools intimately to define the role the tools will play in a total solution. A solution typically consists of the EAI tools, application servers, web servers and enterprise applications like ERP systems.
The architect must understand where components of the system should be built and how these components interact to create a composite application. The goal of EAI is to integrate disparate system to function as a one. The systems to be integrated, are essentially the components and message flows, broker orchestrations, adapters, etc. are the integration environment that requires design artifacts defining the component relationships.

We effectively treat systems to be integrated as objects with interfaces and message flows into these interfaces. It is therefore critical that the architect has a solid understanding of OOA/OOD and UML.

Another important aspect of creating architecture is the use and creation of design patterns. This is the fundamental means to reuse design artifacts, so a study of design patterns is a requirement for an EAI architect.
Some design patterns categories that apply to EAI follow:
Enterprise Architecture:
SOA, ESB, Hub and Spoke
Reference Architecture: Composite Applications, Portals, Web Servers
Integration: File Transfer, Messaging, Shared Database
Application Architecture:
Application Server Platform: Model View Controller (MVC) e.g. Struts Model View
Integration Broker: Validate, Enrich, Transform, Route, Operate (VETRO)
Messaging: Publish-Subscribe, Request-Reply, Filter, Routing
Services: Canonicals, Security, Common Error Handler
Business Process Management:
Business: Codified Business Rules
Workflow: Control Flow, Branching and Synchronization, State-Based Instance management and task priority
To Sum it Up:
1. First make sure you have a solid development background in the tool set. You cannot make it to the next level without understanding the tools for EAI.
2. Study OOA/OOD and UML and be able to produce design deliverables with UML.
3. Collect a library of design patterns from books and past projects.
4. Develop your written and verbal skills by looking for opportunities to produce design deliverables and present them to the development team.
5. Look for opportunities to act as a technical lead always seeking to lead bigger efforts to the point where you can lead large projects (from a technical perspective). People skills, negotiation and communication are critical in this step.

I am already acquainting myself with design patterns and a business requirements specification deliverable. Exploring further on both these lines is going to be very interesting.

keep you posted
~ sayli :)

No comments:

Post a Comment