|
Web Services and SOA
What is SOA?
Service Oriented Architecture (SOA) is an application framework that breaks everyday business applications into individual business functions and processes, called services. An SOA lets you build, deploy, and integrate these services independent of the applications and computing platforms on which they run.
Simply put, SOA means decoupling. In the history of software engineering, coupling between ‘pieces’ of a software system are like nails through pieces of wood: they make modification of the system design difficult, expensive, and time-consuming. With SOA, these problems can be overcome or at least minimized.
One of the other questions you should ask yourself and your company is, "what if we do not do SOA?" This is very important as it underlines what you or your company perceive as benefits from SOA. Your answer should have technical ramifications as well as business value attached to it. Some of them can be: ‘will not reduce costs of operations by 10%’, or ‘will not improve customer satisfaction by 20%’. Applying these types of metrics (business metrics), allows you to keep the end goal in mind as you delve into the technical aspects of the implementation. Also with that, the business value is usually greater than the project itself. In other words, you may be starting an integration project to service-enable applications, but your business value is visibility into customer purchasing habits.
Benefits of SOA:
- With SOA, you build once and leverage repeatedly or ‘re-use’. It means each element of your business is captured and implemented in only one place. So, changing it is straightforward.
- While re-use has benefits in development and maintenance costs, it also brings in the advantage of flexibility.
- With clearly-defined interfaces between business systems, you can start modeling (and changing) the business process captured by them, at a level above individual systems or applications. Therefore, SOA enables process modeling at a truly enterprise scale.
- It lets you compose new services out of existing ones, reducing the time of the Software Development Life Cycle. This in turn helps you respond quickly to changes and crunches the time-to-market.
The ability to compose new services out of existing ones has many merits. It:
- Helps sellers demystify SOAs by demonstrating proven methods for implementing them efficiently.
- Enables software across organizational and network boundaries to collaborate securely.
- Makes it possible to use existing legacy applications via SOA wrapping.
SOA solution view of the SOA reference:
Service characteristics:
- An SOA is not only about exposing how you can call a service but also defining a set of characteristics for how these calls will be serviced:
- "Service Oriented Approach (SOA) is differentiated from other technologies is not the service capabilities, but the service characteristics".
- Characteristics of SOA are its
- Performance,
- Availability,
- Capacity,
- Quality of service,
- Security.
|
|
|
|
|