|
| Home>> Articles>> >> |
|
Best Practices For SOAs |
|
Reuse is one of the most critical success factors of service-oriented architecture. Here are five best practices you can use.
1. Combine "top-down" and "bottom-up" techniques to pragmatically model and define your service interfaces. Lay out a coarse-grained business architecture (perhaps using UML constructs) and then populate services against that architecture based on business priorities. Let the bottom-up population of services then influence iterative definitions of the top-down business architecture over time.
2. Define key review points in your service production software development lifecycle (SDLC). Three key recommended review points are requirements review (when the core requirements are defined and a draft WSDL is completed), design review (when the WSDL is finalized and the underlying implementation approaches are defined), and implementation review (when the service is fully implemented and tested, as a final checkpoint before deploying the service into production).
3. Manage your produced services as software "products." Plan for new versions of your services to be delivered and deployed on a regular schedule so service consumers have the ability to predictively influence new capabilities. Preserve backwards compatibility between versions so that existing service consumers can migrate to new versions gracefully.
4. Deliver your produced services to potential consumers through an asset library. While UDDI registries are useful for operational dynamic binding to services, they are not suitable for development-level service management and discovery. Select a purpose-built asset library that supports multiple asset types, delivers assets to developers within their IDEs, and provides effective processes for governing asset production and consumption.
5. Track actual service consumption on a project basis to enable usage traceability, impact analysis, and calculation of ROI. Project-based consumption (with optional rollups at higher levels of the organization) gives your enterprise the ability to quantitatively calculate cost savings from service reuse, as well as determine downstream impacts of service versioning and redeployment plans. |
|
|
|
|
|