SOA Flashcards

1
Q

What is SOA?

A

An architecture for building business applications as a set of loosely-coupled black box components orchestrated to deliver a well-defined level of service by linking business processes.

It’s a modular set of IT blocks that can be assembled for many purposes.

It asks what services are required to get a solution for a problem, not what technologies.

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

How to SOA?

A
  • Divide your code into reusable modules.
  • Encapsulate any likely design changes in the module.
  • Make the modules modular (e.g. payment service, delivery service, website shop service, etc.)

The SOA vision requires an technological shift as well as an organizational shift.

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

The four properties of a service (debatable):

A

1) It logically represents a business function/activity with a specified outcome.
2) It is self-contained / interdependent.
3) It is a black box for its consumers.
4) It may consist of other underlying services.

Another Definition:
A reusable and configurable encapsulation of a repeatable business task that hides the implementation details from the service’s interface. The building blocks for business processes.

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

what is a black box

A
  • can be viewed in terms of its inputs and outputs
  • no knowledge of its internal workings
  • may be a device, system or object
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Why did SOA develop?

A

because of the modern business environment:

  • goods are ordered more frequency
  • need for fast information transfer
  • need for quick decision making
  • need to adapt to changing demand
  • global and ultra-competitive
  • shorter cycle time
  • and many more…
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

A dynamic organisation is characterised by 3 things …

A

adaptability, accountability, credibility

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

define the business and plumbing layer

A

Business layer — direct relevance to business as it carries out business functions.

Plumbing layer — technical layer (managing databases, web servers etc.)

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

Using SOA, multiple applications can …

A

… invoke multiple services.

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

(9) Key Principles of Service Orientation

A

Loose coupling

  • Simple, autonomous, flexible
  • Each component offers a small range of simple services to other components
  • Less interdependent, information flow, and coordination compared to tight coupling

Service contract
- Services adhere to a communications agreement, as defined by the service description.

Black box component design

  • Autonomy, abstraction
  • Services have control over the logic they encapsulate
  • Services hide the services they encapsulate

Reusability
- Services are designed with the intention of reuse (e.g. a restaurant serves everyday)

Compostability
- A service can be composed of smaller services.

Statelessness
- Services minimise retaining information relating to an activity.

Discoverability
- Services must be designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms.

Interoperability
- the service should work with any other service)

Componentisation

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

Benefits of the modular nature of SOA to organisations

A

Reusing SOA assets to build business processes lets you quickly reconfigure and modify the processes more easily. New process capabilities are provided, enabling an enterprise to:

  • Adapt: Sense and respond to market shifts and demands

  • Tip the punctuated equilibrium of market economics in their favour

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

How does SOA and BPM make innovating easier?

How does it relate to the plumbing layer?

A

Businesses change HOW they do it a lot more than WHAT they do.

SOA enables business people to change business processes without having to focus on the underlying technological plumbing.

You can concentrate on designing and improving business processes by threading together the underlying services.

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

3 approaches to identify services from processes

A

A) Top-down approach
• decompose a problem, system, or process to the fundamental services

B) Bottom-up approach
• build business processes by composing services into more general chunks

C) A mixture of the two

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

What are Entity Relationship Diagrams (ERDs), what is an entity, and what different diagrams exist?

A

A data-focused view of system entities and their relationships.

An entity is an object about which we need to capture and store data (a person, place, event, etc.)

Entities have attributes/properties.

  • One-to-many relationship
  • Many-to-many relationship
  • A many-to-many relationship decomposed into two one-to-many relationships

“many” represented by 3 lines

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

SOA is a foundation for ….

A

… BPM

Once the organisation has achieved a significant level of service-oriented computing, the BPM tools can be used to their full extent.

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

What is the main purpose of SOA?

A

To shift away from monolithic applications and have instead a set of reusable services that can be composed to build applications.

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

2 main benefits of SOA?

A
  • scalable

* responsive to change

17
Q

Components of Web Services

A

Web service: A method of communication between two electronic devices over a network.

HTTP and HTTPs (web protocols)

Web services typically provide output in the form of XML or JSON. Key goal is inter-operatibility.

XML: An Internet authoring language that allows customised tags, enabling the transmission, validation, and interpretation of data between applications.

JSON: A lightweight data interchange approach that is relatively easy for humans to understand and for computers to generate or interpret.

Simple Object Access Protocol (SOAP): A protocol for communicating XML data between web service applications and the operating system.

Representational State Transfer (REST): A relatively simple and fast protocol for communicating JSON data between web service applications and the operating system.

Web services typically take requests in the form of SOAP or REST. SOAP is more complex and provides a rich framework for representing the request. REST is simpler, but less expressive.