When moving existing legacy applications (or newly developed server applications) to a Service- Oriented Architecture (SOA), you must consider the SOA solution’s overall objectives and problems that must be addressed.
An SOA solution must help a business quickly respond to changes in the business environment and lower development costs through reuse of assets. Without this business agility, there’s much less reason to move to SOA. An SOA solution should make it possible to enhance an existing IT infrastructure, making it able to flexibly and quickly adapt, without disrupting current operations. The creation and publishing of services and message mitigation via Enterprise Service Buses (ESBs) provide this flexibility.
Building a Service
How well individual services are specified and realized (granularity) significantly impacts aspects of IT flexibility and business agility. The goal here is to provide and adhere to guidelines for specifying and realizing services that enable the SOA in your enterprise. A major emphasis is on decoupling service consumers from service providers. An underlying concept of decoupling is that changes to the service provider shouldn’t necessitate any changes to the service consumer.
To realize SOA objectives, the task of creating and modifying processes must be simplified and adhered to. Some problems process implementers face are:
• Selecting appropriate service operations (granularity)
• Arranging to invoke the services with correct parameters such as Web Services Description Language (WSDL)
• Handling various possible responses, including error responses.
The quality of service design can significantly affect the ease of service integration. Significant impact on orchestrating a business process occurs based on design decisions such as:
• The names and number of services