Best Practices: SOA Application Design Analysis
The AnalysisYour first step should be an analysis of business requirements. Use a top-down approach, focusing first on gaining an understanding of business needs. Consult with key stakeholders and get a shared understanding of top-level process flows followed by a refinement of sub-processes. This refinement will help you identify key specialists that will in turn help you further refine sub-processes, associated data and system interactions. Use ActiveVOS Designer's BPMN 2.0 and process drill-down capabilities to help you refine the model with stakeholders. This iterative approach will also help you identify non-functional concerns such as security, quality of service and the like.
Time spent up-front understanding data and system interaction is invaluable. This will help the definition of message exchange patterns and data handling early, and provide a basis for defining and finalizing the XML schema and interfaces that various partners can agree to and work towards. Changing these in later stages of a project can set you back.
The need to redefine and re-implement data interchange specifications and interfaces can be avoided. Proper analysis in early stages of a project can prevent unnecessary redesign. That being said, much can be discovered through experimentation and implementation of components. The experience gained will help you through the refinement process.
Analysis, planning and experimentation are invaluable at helping teams gain confidence and arrive at optimum message exchange patterns and data handling.