Lecture 9 Flashcards

1
Q

What is architecture in terms of software development?

A

Architecture: Designing a solution to a problem according to given constraints

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

What is architecture style in terms of software development?

A

Architectural Style: General principles informing the creation of an architecture

Architectural styles inform and guide the creation of architectures

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

What is a distributed system?

A

A distributed system involves multiple entities talking to one another in some way, while also performing their own operations

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

What is Software Oriented Architecture (SOA)?

A

SOA is a way of developing distributed systems by combining stand-alone, reusable, loosely-coupled services.

SOA defines an architecture which usually consists of the following roles and the contracts between those
roles

Service Service Requestor Service provider–Publish–>Service

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

How did we use to write software?

A

Monoliothic Architechture many components but….
One database
A single deployment unit
A single language/technology

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

What is a service?

A

SOA centres around the concept of decomposing
business problems into services.

Service = Business Capability

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

What are the principles of SOA?

A
Standardized service contract
service reusability
service discoverability
service composability
service loose coupling
Service abstraction
service statelessness
service autonomy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How can SOA be realised?

A

SOA can be realised through a variety of technologies

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

Describe the 3 evolutions of SOA

A

Evolution of SOA

  1. SOAP-based web services
  2. RESTful web services
  3. Microservices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a SOAP-based web service?

A

Based on international standards

Service interfaces is exposed through WSDL documents

Message exchange using SOAP

Client code may be generated from WSDL description

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

What is a RESTful web service?

A

Representative State Transfer (REST)

Everything is a resource

Resources are identified by URIs and their state is manipulated through HTTP operations GET, POST, PUT, DELETE

Rather a set of architectural principals, than a standard

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

SOAP-based services: drawbacks

A

Inefficient
Overly general
Heaveywieght

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

SOAP vs REST web services

A

Independence – SOAP is language, and transport independent, while REST must use HTTP

Efficiency – REST can use smaller messaging formats, while SOAP requires XML for all of its messages

Environment – SOAP works well in a distributed environment, while REST assumes a direct point-to-point collaboration

Dynamic – REST is easier to implement and learn to use, SOAP requires more bandwidth and resources to work efficiently

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

What is Microservices?

A

Microservices: evolution of SOA

Designed for Failure:
Designed for scale, if a service fails, the system should stay alive. Gave rise to chaos engineering

Deplopyment & Containerization:
Independent deployability over reuse. Microservices are often placed within a virtual container system such as Docker.

Automation:
Again, fast deployment depends on infrastructure
automation, DevOps, continuous integration

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