Systems Integration: Beyond the Hype
System integration is the practice of connecting applications in your enterprise portfolio to exchange data. Effective system integration connects those applications in a way that is scalable, adaptable, and well-governed. It creates business value that is greater than the sum of its constituent parts, and provides a net-positive return on investment. For many of our clients, effective system integration streamlines regulatory submissions and acceptance, speeds time-to-market for new products, and extends time-on-market for existing ones.
A proliferation of acronyms, products, and standards obscures the time-tested fundamentals of effective system integration:
- Holistic vision of the well-integrated enterprise, informed by a sustained program of planning and re-assessment of program goals, and communicated clearly to all stakeholders.
- Incremental adoption of the holistic vision, instead of a “big bang” effort that sets arbitrary and artificial deadlines for integration.
- Organizational leadership empowered to define the holistic vision and drive its incremental adoption by the business customer, IT, and strategic software vendors.
- Domain expertise that helps integrators to understand business requirements, and to identify further opportunities for streamlining data flow.
- Cultivated skepticism about self-serving or sensationalistic claims about any particular product, standard, technology, acronym, or “orientation” and its ability to solve all integration problems at one stroke.
- Coordinated governance of interface specifications, service-level agreements, and service and message metadata, implemented early and maintained continuously.
- Canonical type modeling: using UML to define interfaces and types, and generating WSDL, XML schemas, and HTML documentation;
- ESB platform selection: defining the requirements for, and executing, a short-list vendor shoot-out, and advising senior management on their vendor choice;
- Deployment modeling: designing a vendor-independent domain-specific language (DSL) for mapping service implementations to endpoints, transports, and computing nodes;
- Governance model definition: designing and implementing a unified versioning scheme for WSDLs, XML schemas, service code, and infrastructure configuration;
- Service construction: Service library design, testing, and development;
- Agile SOA: introducing agile software development tools and techniques, including TDD and continuous integration, to an ESB implementation project;
- Large message handling: implementing the “claim check” integration pattern for efficient large-message delivery.