Large organizations typically require hundreds of integrations between disparate legacy systems to meet enterprise business requirements. Even with a SOA approach, this complex web of point-to-point integrations can be difficult to govern and manage. The result is a proliferation of overlapping services, poor documentation, limited reuse and a challenging support environment.
Surprisingly, there is little vendor support to solve this problem. Most of the major vendors are focused on registry and repository products that provide solid run-time governance but provide little support at design time. A fresh approach to this challenge is emerging based on proven best practices and semantic tools.
The approach begins with a canonical model—a universal way to represent enterprise data. Services map to and from the canonical model, eliminating point-to-point dependencies and isolating changes to a single link.
Implementing the canonical model with semantic technology is an excellent match for the dynamic and demanding challenges of a large SOA environment. The agility of the underlying graph model allows rapid, controlled change to meet user demands while preserving enterprise needs for governance and control.
Other critical components to address design-time SOA governance include tools for mapping services, authoring interface specifications (typically known as Interface Control Documents, or ICDs) and reporting on key metrics. Using semantic tools with the canonical model provides:
- Flexible reporting on dependencies, reuse and other critical metrics
- Controlled process and workflow for authoring interface documents
- Robust, granular, field-level mappings between services
- A versioned repository of service documentation
The benefits of this approach are significant. The mapping process and document authoring workflow reduce input errors and streamline approvals. The well-documented service environment promotes reuse and reduces service duplication. Together, these changes combine to dramatically shrink development time and cost. Ultimately, a cleaner, well-documented environment makes support easier, faster and cheaper.
If you are planning a large SOA deployment or if you are struggling with an existing one, the semantic approach is well worth a look.
Contact me on Twitter @mloughlin to let me know what you think...