Interoperability Professors: Chantal Taconet Students: Hai Le Sophie - - PowerPoint PPT Presentation

interoperability
SMART_READER_LITE
LIVE PREVIEW

Interoperability Professors: Chantal Taconet Students: Hai Le Sophie - - PowerPoint PPT Presentation

Middleware for Distributed Applications 2019-2020 Interoperability Professors: Chantal Taconet Students: Hai Le Sophie Chabridon Liarou Eleni Denis Conan 1 Content 1. Definition 2. Interoperability Maturity 3. Exchanging Information via


slide-1
SLIDE 1

Middleware for Distributed Applications 2019-2020

1

Interoperability

Students: Hai Le Liarou Eleni Professors: Chantal Taconet Sophie Chabridon Denis Conan

slide-2
SLIDE 2

Content

1. Definition 2. Interoperability Maturity 3. Exchanging Information via Interfaces 4. Importance and Aspects of Interoperability 5. System of Systems (SoS) 6. Interoperability General Scenario 7. Tactics for Interoperability 8. Standards for Interoperability 9. A Design Checklist for Interoperability 10. Summary

2

slide-3
SLIDE 3

Interoperability Definition (1)

Interoperability is about the degree to which two or more systems can usefully exchange meaningful information via interfaces in a particular context. A system can be interoperable but the context should be defined(with whom, what and under what circumstances the system is going to interoperate with another system). An interoperable system is highly affected by the system it is going to interoperate with.

3

slide-4
SLIDE 4

Interoperability Definition (2)

The Interoperability of a system is divided into two categories

Syntactic Interoperability Semantic Interoperability Semantic Interoperability is as critical for the system as syntactic interoperability.

4

slide-5
SLIDE 5

Interoperability “Maturity” (1)

There are different ways for the systems to interoperate. Five levels of Interoperability are defined [1]:

  • No Data Exchange: no physical connection
  • Unstructured Data Exchange: exchange of human-interpretable, unstructured

data (free text)

5

slide-6
SLIDE 6

Interoperability “Maturity” (2)

  • Structured Data Exchange: exchange of human-interpretable structured data

intended for manual and/or automated handling, but requires manual compilation, receipt, and/or message dispatch

  • Seamless Sharing of Data: automated data sharing within systems based on a

common exchange model

  • Seamless Sharing of Information: universal interpretation of information

through cooperative data processing

6

slide-7
SLIDE 7

Exchanging Informations via Interfaces

There are two critical concepts that need clarification:

  • “Exchange of Information” : It can be done even if there is no

communication between the components.

  • “Interfaces” : the meaning of an interface extends far beyond the API. By

interface, we mean the set of assumptions that you can safely make about an entity.

7

slide-8
SLIDE 8

Importance and Aspects of Interoperability

We want our system to interoperate because 1. That way the system can provide a service to be used by many unknown systems. 2. Interoperability allows use to construct capabilities from existing systems. These lead to two important aspects

8

Discovery Handling of the response

slide-9
SLIDE 9

System of Systems (SoS)

SoS is a group of systems that interoperate in order to achieve a joint purpose.

9

slide-10
SLIDE 10

Interoperability general scenario (1)

The portions of an interoperability general scenario include:

10

Source of stimulus (1)

System that initiate a request to interoperate with other system

Stimulus (2)

A request exchange information among the systems

Response (5)

Results in the exchange rejected, accepted, logged

Artifacts (3)

The systems that wish to interoperate

Response measure (6)

The percentage of information exchange correctly

Environment (4)

The system that wish to interoperate are discovered at runtime or know prior to runtime

slide-11
SLIDE 11

Interoperability general scenario (2)

Example of the interoperability scenario:

11

slide-12
SLIDE 12

SOAP and REST

Web-based applications to interoperate, there are two major off the shelf technology options today:

12

WS* and SOAP

Simple Object Access Protocol

REST

Representation State Transfer

Two majors Technologies

slide-13
SLIDE 13

SOAP vs. REST: About SOAP

SOAP (Simple Object Access Protocol) is a protocol specification for XML-based information that distributed application can use to exchange information. SOAP and WS* together define many standards:

13

Infrastructure for service composition

SOAP can be employ the BPEL (Business Process Execution Language)

Service discovery

UDDI (Universal Description, Discovery and Integration) language.Businesses publish services and discover each other

Transaction

WS-AT, WS-BA, WS-CAF, WS-Transaction

Reliability

Does not insure reliable message delivery

slide-14
SLIDE 14

SOAP vs. REST: About REST

REST is a client-based architecture style that is structured by 4 principles:

  • URI: Resource, data
  • Operation: CRUD operation (POST, GET,PUT, DELETE).
  • Format: Support multiple types like XML, HTML, JSON.
  • Stateless

REST interfaces are simple, so any HTTP client can talk to HTTP server. All REST API must have HATEOAS

14

slide-15
SLIDE 15

SOAP vs. REST: Comparison

The decision of your implementation is depended on your concern, tradeoff. Each technology has strength, weakness.

15

SOAP REST Standardized interoperability: More Standardized interoperability: Less Individual message: More characters Individual message: Fewer characters Quality of service (QoS): Greater Quality of service (QoS): Minimal require

slide-16
SLIDE 16

Tactics for Interoperability (1)

The goal of the tactics implemented to control interoperability is the appropriate handling of an information exchange request.

16

slide-17
SLIDE 17

Tactics for Interoperability (2)

Categories of tactics identified

17

Locate Manage Interfaces Orchestrate Tailor Interface Discover Service ➢ By service we mean a set of capabilities that is accessible via the interface.

slide-18
SLIDE 18

Standards and Interoperability (1)

What is a standard and why it can not guarantee the interoperability of a system?

  • Standards are agreements made on the structure and function of the

information to be shared, so that many different applications can use it.

  • Standards provide a common interface that is supported by many vendors

and application builders.

18

slide-19
SLIDE 19

Standards and Interoperability (2)

1. Standards undergo customizations when incorporated into products or

  • tools. Every vendor wants to create a unique selling point as a

competitive advantage. 2. Standards are often on purpose open-ended and let the development create a proprietary implementation. 3. As standards have a life cycle, they can evolve to compatible or noncompatible ways. So may be a risk for an organization to adopt a new one or loss due to unsupported products and incompatibilities if everybody uses the standard.

19

slide-20
SLIDE 20

Standards and Interoperability (3)

  • 4. There are many bad standards which include underspecified, overspecified,

inconsistently specified, unstable, or irrelevant standards.

  • 5. Because of the competition among organizations many conflicting standards

can show up.

  • 6. In new emerging fields it is thought that standardization may hinder flexibility

and that could be destructing. Solution

20

We need to architect systems first and then decide which standards can support desired system requirements and qualities. This approach allows standards to change and evolve without affecting the overall architecture of the system.

slide-21
SLIDE 21

A design checklist for interoperability (1)

21

Allocation of responsibilities (1) Coordination model (2) Data model (3) Mapping among architectural elements (4) Resource management (5) Binding time (6) Technologies (7)

Checklist

slide-22
SLIDE 22

A design checklist for interoperability (2)

22

Allocation of responsibilities Requirement: Check your system responsibilities that will need to interoperate with other system. Detect the request to interoperate with known and unknown external systems. Check the tasks:

  • Accept the request
  • Exchange information
  • Reject the request
  • Notify appropriate entities
  • Log the request (for interoperability in an untrusted environment_

Coordination model Requirement: Ensure the coordination mechanism meet the quality attribute requirements. Check the tasks:

  • Volume of traffic by under control, not under control
  • Timeliness of message being sent
  • Currency of the message being sent by our systems
  • Jitter of the message’s arrival times
  • Make sure all of the system under your control makes assumptions that are consist with

the systems which are not under your control

slide-23
SLIDE 23

A design checklist for interoperability (3)

23

Data model Requirement: Determine the syntax and semantics of the major data that can be exchanged among interoperating system. Check the items: Transformation, abstraction, private data Mapping among architectural elements Requirement: Mapping component to processor: Check the tasks: Meeting the requirements: security, availability, performance for communication Resource management Requirement: Make sure the interoperation is never exhaust resource. Check the tasks:

  • Resource for communication is acceptable
  • The operation requires that resource be shared among participating

system.

slide-24
SLIDE 24

A design checklist for interoperability (3)

24

Binding time Requirement: Determine the systems that may interoperate and when they become known to each other. Check the tasks:

  • Policy for binding to both known and unknown external system
  • Mechanism to reject unacceptable binding and log such request
  • In case of late binding, ensure that mechanism will support the

discovery of the protocols or sending of information using chosen protocols Technologies Consider technologies that are designed to support interoperability.

slide-25
SLIDE 25

Summary

  • Interoperability refers to the ability of systems to usefully exchange

information.

  • These systems may:
  • Have been constructed with the intention of exchanging information.
  • Be existing systems that are desired to exchange information.
  • Provide general services without knowing the details of the systems that wish to utilize those

services.

  • Achieving interoperability involves the relevant systems locating each other

and then managing the interfaces so that they can exchange information.

25

slide-26
SLIDE 26

References

1. https://kilthub.cmu.edu/articles/Current_Perspectives_on_Interoperability/6572 852/files/12057890.pdf 2. https://dzone.com/articles/difference-between-rest-and-soap-api

26

slide-27
SLIDE 27

Thank you for your attention!

27