Interoperability
ability of 2 application systems to exchange information with each other and to use the information that has been exchanged (Winter).
Adaptable software, name 5 with 1 most adaptable and 5 less adaptable
Approaches to interoperability (combination is possible):
Information-oriented approach =
exchange of simple information
information-oriented approach, advantages:
Few or no changes to systems involved
Does not require managing state, logic and sequence
Straightforward and widely used
APIs =
set of functions and procedures that specify how software components should interact
business process integration-oriented approach, goal:
single model spanning many applications and data stores which “controls” how systems and humans interact
Service-oriented approach (SOA)
provides services instead of information –> loose coupling
service-oriented approach (SOA), definition:
software architecture for building applications that implement business processes or services by using a set of loosely coupled black-box components orchestrated to deliver a well-defined level of service. (one of the many definitions)
features of service-oriented approach (SOA):
loose coupling =
a long-standing IT term meaning that the internals of an application or business service must be able to change without impacting client applications. Specifically, a service consumer should not be required to know any more about service than what is contained in the published contract
What enables SOA (service-oriented approach)
service providers =
provide a service that preforms some business function at the request of the service consumer.
service consumers =
developers do not have to design, build or test services; they just use them to accomplish business functions
service registries =
provide a mechanism for storing. Managing and accessing service contracts.
disadvantages of portal-oriented approach:
Non automatic information flow between application
advantages of portal-oriented approach:
Noninvasive
Easier
Faster to realize
middleware =
any type of software that facilitates communication between 2 or more software systems.
types of middleware:
Remote procedure call (RPC) =
procedure call over network; network hidden for programmer
advantages of remote procedure call (RPC):
disadvantages of remote procedure call (RPC):
Message-oriented middleware (MOM) =
like RCP, but asynchronous: messages are queued
advantages of message-oriented middleware (MOM):