Reply is the place to meet an incredible variety of enthusiastic, passionate, ideas-driven people, who want to make a difference and an impact.Would you like to know more?
AGILITY: business agility may be defined as the IT systems’ capability to adjust to business future requirements.
In times of rapid changes, when the time between the analysis of a new situation and the development of ad hoc solutions to manage it or implement it becomes constantly shorter, agility becomes a crucial factor, in order to allow the company to respond to business opportunities or react during critical situations.
Very often the systems developed through proprietary and closed solutions, the so called legacy systems, become an obstacle to the development or integration of new solutions.
Disassembling information systems which are often “monolithical” into a series of services, allows to modify and assemble business functionalities in a more rapid and flexible way.
REUSE: the concept at the basis of reuse is not new; it exists since the birth of software systems, but it was always limited to the evolution of systems and languages over the time.
Adopting Web Services as the neutral connection tool to create components and expose them through standard interfaces (e.g. WSDL) is what makes services truly reusable. Interface standardization allows components reuse, regardless of the technology used to develop them: hence the concept of service as the object exposing a functionality.
To put it simple, we may say that the maturity status attained by the interface definition languages is what makes services truly reusable.
However, this is not enough for a usable component to become a real building block for a structure; indeed, it is necessary that such a component is adequately specialized in order to provide a useful function, but at the same time not too atomic, to avoid that the function it performs is too specific and therefore of little use to other business functions. The skills of the programmer of SOA solutions during this phase plays a vital role in the choice of the service granularity level.
INTEROPERABILITY: meaning the capability to make different business or functional components interact in a simple and effective way.
The old software architectures, also called SILOS architectures, were characterized by the difficulty to extract the critical data present in each platform from the different business functions. The SOA paradigm aims at facilitating the transfer of information from one building block to the other, in order to allow data aggregation operations.
In order to obtain this feature at technological level, the SOA methodology relies upon interfaces standardized by bodies like OASIS, W3C, and WS-I, enabling the interface decoupling from the underneath application logic (see DECOUPLING). These two features are the basis for the development of systems ensuring easy interoperability.
DECOUPLING: within an information system, the term coupling means the degree according to which two software systems or components depend from one another.
If two or more systems are strongly coupled, each change made to one of them, must be assessed and analysed taking into consideration all correlated systems.
SOA’s basic principles provide for a strong logic distinction between the modality according to which a function is used (called interface), and the business logic beneath it. This way, each evolutive change to one of the service or business function elements has a much smaller impact on the correlated systems. Such an approach facilitates evolutive maintenance though ensuring the interoperability between the various functions.