What is best practice for Service Oriented Architecture? The work Model Driven Solutions and GSA have done suggests a best practice at the enterprise level.
What this best practice develops is Enterprise-SOA as BOTH a business and technology style of architecture. Enterprise SOA is consistently represented by well defined models that are independent of the technologies that ultimately provide solutions integrating new and legacy functionality. Solutions, at this scale are for collaborative and virtual enterprises, integrated communities and “systems of systems”. SOA must, ultimately, facilitate better business, better mission execution, collaboration and mutual value.
In my opinion, this represents the most central principles of SOA best practice:
- That the SOA architectural style focuses on how participants work together using services to achieve business value
- That business services are the driver of the architecture
- That technology services and business processes are defined to support the business services
- That both “top down” and “bottom up” concerns must be taken into account in any architecture
- That these architectures are independent of implementation technologies but can support multiple implementation technologies
This approach has been realized by GSA in terms of several projects, one example is their “Financial Management Enterprise Architecture” (FMEA). This has had several layers of development:
- A wide-scale enterprise architecture (composed of both SOA and Value Chain viewpoints)
- A more detailed business architecture for financial management, including business processes and services
- A “systems of systems” level technology services architecture, based on the business architecture
- An open source Model Driven Architecture provisioning capability to produce a large percentage of the application from standards based models
- An open source SOA infrastructure that supports 24/7 operation with redundant, distributed deployment
- A SOA implementation for one area within this architecture with adapters to COTS and legacy systems
- Use of the latest modeling, MDA and platform standards
Is this all done and perfect – of course not! There are business, technical and process issues. There are issues with business stakeholders understanding why SOA is even needed (business or technical)!
Is this “best practice” – I think so! Particularly in the government – and a great benchmark for any large organization.
Note that a tutorial is being given on this subject March 13th in the OMG meeting near DC, see Model Driven Service Oriented Architecture
Tags: Best Practices, business architecture, business modeling, enterprsie architecture, service oriented architecture, soa