IFS Service-Oriented Component Architecture combines the proven benefits of components and object orientation with the agility and ease of use of service-oriented architectures (SOA).
Object orientation has taken software development forward in the areas of productivity, reliability, and maintainability as a result of the extensive use of interfaces and the tight coupling between information and the functionality that operates on it. However, object orientation has failed to create a straightforward mapping of real-life business processes to software functions. To adapt software to changes and integrations in real-life processes, designers must find the relevant objects, understand their relationships, and figure out which parts of the objects apply to the task at hand. A large amount of detailed knowledge is required to effect change. This creates a time and cost barrier to change.
Process-oriented enterprise computing relies on SOA to address many of the issues in adapting software to change in real-life business processes. SOA applications map well to models and language used to describe real-life processes. In practice, such models as the Business Process Modeling Language (BPML) require the application to expose service interfaces or to be wrapped behind them. Where SOA promotes software functionality to be organized around the business service it provides, rather than which object it operates on, it also becomes easier to add and change process-related business rules in an SOA application.
Although SOA addresses many challenges related to developing agile business software, it suffers from some of the drawbacks that were solved by object orientation. For example, SOA applications generally have more redundant implementations, resulting in quality risks and more difficult maintenance. The many layers of indirection and relatively low level of maturity of development tools mean that performance can suffer - both when using the systems and during development.
IFS has chosen to combine the strengths of both object orientation and SOA in IFS Service-Oriented Component Architecture. An object-oriented core provides the performance, reliability, and quality required in business applications. Combined with a service layer and an SOA API, this makes business processes flexible and easy to use. SOA interface OO implementation