2 - Service-Oriented Architectures Flashcards

1
Q

Software architecture

A

Elements, elements public props, relationships.

SA of a program or computing system is the structures which comprises software elements, the externally visible properties of those elements and the relationship among them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Architectural style

A

encapsulates important decisions about architectural elements and emphasizes important constraints on elements and their relationships.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Service-Oriented architecture (SOA)

A

is an architectural style for building software systems with autonomous loosely coupled components that provide their functionality via a standardized interfaces in the form of services. A service is a encapsulated piece of logic reachable over the network via a standardized interface – distributed architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

The components of SOA:

A

Message, Operation, Service, Process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The components of SOA: message

A
  1. represents the data required to complete some or all parts of a unit of work.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

The components of SOA: operation

A

Represents the logic required to process messages in order to complete a unit of work

  1. Sends and receives messages to perform work
  2. Is therefore mostly defined by the messages it process
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

The components of SOA: service

A

Represents a logically grouped set of operations performing related units of work.

  1. Groups a collection of related operations
  2. Is therefore mostly defined by the operations that comprise it
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

The components of SOA: process

A

A large piece of work that requires the completion of smaller units of work.

  1. (Instance) can compose services
  2. Invokes a unique series of operations to complete its automation
  3. is partially defined by the service operations it uses.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

A central aspect of SOA is the provisioning, search and consumption of services as a functional unit. The high abstraction level of services allows

A

Implementation independence, decomposition, distribution.

  1. An implementation independent of hard- and software programming language and operating system
  2. Decomposition of applications in sub-processes (= services)
  3. Distribution of services over the network
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Eight Principles of SOA: 1. Reusability

A
  1. Definition: To be used again unaltered in a context that could not been foreseen during the development of the service.
  2. Means: generic operations, messages and data types; utility services (common utils).
  3. Advantages: boost service composition; protection of investment; shorter innovation cycles.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Eight Principles of SOA: 2. Formal Contract

A
  1. Definition: Set of terms and conditions that must be met and accepted by a potential service requestor in order to enable successful communication and interaction
  2. Service description documents (in Web Services, WSDL definition and the XSD schema)
  3. Specify formally messages, operations, endpoint references, policies; informally semantics
  4. Requestor depend on this definitions: changes are serious and versioning is important.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Eight Principles of SOA: 3. Loose Coupling

A
  1. Definition: measure that quantifies the strength of the dependency and element A has with respect to its operational interaction with an element B.
  2. Tight coupling between A and B means changing A most likely requires changing B.
  3. Accomplished by limiting the dependencies between a service and its requestors to the information expressed in the service contract (no internal information)
  4. Designing the service contract in such a way that it is not necessarily specific to any one service requestor.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Eight Principles of SOA: 4. Abstraction

A
  1. Definition: generalization by reducing the information content of a concept in order to obtain only information relevant for a particular purpose. Opposite: concretisation.
  2. Principle: service as a black-box; underlying logic invisible to the outside world.
  3. Means: design of the operations (granularity); design of the messages.
  4. Enables: reusability, loose coupling, changes of the implementation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Eight Principles of SOA: 5. Composability

A
  1. Ensures that services are designed in such a manner so that they can participate as effective members, or controllers, of these compositions.
  2. Another form of reusability: granularity of operations and standardization.
  3. Composability is necessary for orchestration: a process (work flow) composes services and offers them as a new service.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Eight Principles of SOA: 6. Autonomy

A
  1. Definition: independence and self-governance of an entity to make an informed, uncoerced decision of how to render its service.
  2. Service-level: service boundaries are distinct from each other
  3. Services may share underlying resources or applications, or legacy clients may use them in parallel
  4. Wrapper services encapsulating legacy application for a SOA
  5. Pure: underlying logic is under complete control and ownership of the service
  6. No parallel usage neither by other service nor by legacy clients
  7. Underlying logic is build from the ground up to support the service
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Eight Principles of SOA: 7. Statelessness

A
  1. Goal: minimization of state information managed by a service and the duration for which it is hold
  2. Result in better reusability and scalability
  3. Any operation on the web service interface can be called at any time, and each call is fully independent of each other.
17
Q

Eight Principles of SOA: 8. Discoverability

A
  1. Helps avoid accidental creation of redundant services or services that implement redundant logic
  2. Meta-data of a service: overall purpose and functionality provided by its operations
18
Q

Three layers of abstraction:

A
  1. Orchestration service layer
  2. Business service layer
  3. Application service layer
19
Q

Web Service Definition

A

a web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web Service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols.

20
Q

SOA with Web Services

A
  1. WSDL: web service description language – XML-based meta-language for the description of Web Service interfaces. Describes an abstract interface to a service.
  2. SOAP: XML-based message exchange format for the invocation of the WS.
  3. UDDI: universal description discovery and integration – a directory service for the registration and search for Web Services.