Enterprise Integration: Part II
Benefits of good ESB and SOA principles include reusable and scalable components and model-driven implementation for service abstractions.
Join the DZone community and get the full member experience.Join For Free
This series of articles will describe a number of enterprise integration design principles, some based on enterprise services bus (ESB) and service-oriented architecture (SOA) architectural principles. These articles extract specific principles and apply them to technical solutions involving any system integration requirements.
Over the years, I have designed and implemented many aspects of traditional service-oriented architectures and have introduced enterprise service bus designs to support robust, scalable, and highly available integration solutions. The benefits of these approaches have included:
- Reusable and scalable components.
- Common frameworks and patterns for rapid service design and development.
- Model-driven implementation for service abstractions.
- Automated service and route discovery.
Future implementation and design should be augmented by flexible guidance to facilitate faster development objectives and to align with current and future enterprise design trends. The principals and patterns defined within this series of articles are intended to provide a flexible fabric for current and future IT solutions involving system integration.
My current thinking around an enterprise view of integration comprises five distinct layers that are the basis for implementing integration principles.
The principal layers are:
- Stakeholders, customers, and industry (users, devices).
- User interface layer (information consumption).
- Business process/logic layer (information manipulation).
- Integration services layer (information exposure/reconciliation).
- Data services/platform layer (information storage/discovery/analytics and maintenance).
Integration principles are expected to apply mainly in the business process/logic and services layers but are not strictly limited to these layers.
Key Integration Principles
The following architectural principles apply to all technology solutions that require any system integration functionality.
- Integration services perform the following activities:
- Data transformation.
- Data mapping.
- Abstract service endpoints from their source applications.
- Provide service orchestration.
- A business system, data store, or application should almost always be abstracted by a defined interface.
- Integration services do not validate business rules or perform business validation on data. This is the role of specific business applications or an enterprise rules capability,
- Integration services may utilize a number of different protocols and technologies.
- Integration designs should always take into consideration:
- Support for rapid development/a high rate of change.
- Support and maintenance cost.
- Scalability and performance.
In the next article, we’ll unpack the principles in more detail.
Published at DZone with permission of Rob Sanders, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.