10 - Web Services Flashcards

(52 cards)

1
Q

what does API stand for?

A

application programming interface

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

set of clearly defined methods of communication between various components

A

API

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

a published document that defines how these methods of communication can be used

A

API

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

refers to the actual implementation of an interface

A

API

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

used informally to refer to the document that describes the usage of this interface

A

API

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

APIs that are designed to support interoperable machine-to-machine interaction over a network

A

web services

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

types of web service implementations (2)

A
  1. simple object access protocol (SOAP)
  2. representational state transfer (REST)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

_____ usage revolves around the exchange of XML messages

A

SOAP Web Services

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

true/false

SOAP is transport specific meaning messages can only be exchanged using HTTP/HTTPS

A

false, SOAP is transport agnostic and messages can be exchanges using any network protocol

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

in SOAP web services, the format of the request/response messages are formally defined in the _____

A

Web Service Definition files

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

Web Service Definitions are written in Web Service Definition Language (WSDL) which has an _____ structure

A

XML-like

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

___ is the API/interface definition for SOAP

A

Web service definition

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

what is the relationship between discovery service, service consumer, and web service

A

web services publish WSDs to the discovery service which can be downloaded by service consumers from the discover service

service consumers can access services from web services

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

discovery services use the ____ framework for sharing and finding WSDs

A

universal description, discovery, and integration (UDDI)

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

what does REST stand for?

A

representational state transfer

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

REST was introduced and defined by _____ in ____ for their PhD dissertation

A

Roy Fielding, 2000

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

design principles (3)

A
  1. transport
  2. data formats
  3. stateless
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

REST uses ____ for message transport

A

HTTP/HTTPS

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

true/false

request/response payloads for RESTful web services can use any data format

A

true

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

RESTful web services are stateless, each exchange between service and client is _____

A

self-contained

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

RESTful web services use ___ and ___ urls

A

HTTP and HTTPS

22
Q

RESTful web service urls are usually designed in a ____, ____ pattern

A

self-descriptive, directory-like

23
Q

why should we stick to the REST API constraints?

A

the system will more easily be able to achieve desired performance, scalability, and other architectural goals

24
Q

6 constraints of REST

A
  1. Client-Server
  2. Stateless
  3. Cache
  4. Uniform Contract
  5. Layered System
  6. Code-on-Demand (optional)
25
solution logic is separated into ___ and ____
consumer and service logic
26
how do consumers invoke services?
using a published technical contract
27
true/false being stateless means that each request depends on the context from an earlier message
false, requests don't depend on context from an earlier message
28
what is one benefit of being stateless that relates to server storage?
statelessness frees up server storage space and processing power that would otherwise be used to store and read earlier messages
29
true/false response messages are explicitly labeled as cacheable or non-cacheable for potential reuse
true
30
services to implement cache-control (2)
1. ways to tell if request messages are equivalent or not 2. ways to label if a response is cacheable or not, by whom, and for how long
31
cache improves runtime efficiency by eliminating ____
the need to send duplicate responses
32
___ and ___ share a common, general technical contract
service consumers, service providers
33
clients of a RESTful web service need to know (3)
1. url and http method for a particular operation 2. required inputs 3. returned outputs
34
a common general contract standardizes the interaction between different entities, making ___ possible
interoperability
35
true/false it is in the interest of both parties that the uniform contract changes as much as possible to avoid security risks
false, it should change as little as possible
36
true/false each layer in a layered system can see past the next layer
false, it can't see past the next layer
37
true/false each service is only concerned about interacting with the adjacent layers
false, they are only concerned about interacting with the next layer
38
true/false each layer's logic cannot evolve independently unless a change in the API is made
false, each layer's logic can evolve independently of the others as long as the API between them remains the same
39
service consumers can support the execution of deferred service logic
code-on-demand
40
disadvantage of code-on-demand
consumers need an execution environment for the deferred process (requires additional features on the consumer's part)
41
REST Architectural Goals (7)
1. Performance 2. Scalability 3. Simplicity 4. Modifiability 5. Visibility 6. Portability 7. Reliability
42
areas of consideration for developing a RESTful sevice
REST architectural goals
43
factors to consider in terms of performance (2)
1. throughput & latency of request and responses 2. resource utilization in the server
44
addresses an architecture's need to support a varying number of concurrent connections
scalability
45
true/false services must be easy to scale-up but does not necessarily mean that it should also be easy to scale down
false, it should be both easy to scale up and scale down
46
reduce the complexity of the app by separating functionalities into modules wherein each unit is distinct
simplicity
47
benefit/s of simplicity
easier debugging/refactoring
48
required for an app that will change over time
modifiability
49
self monitoring and regulating parts of the architecture, with the goal of optimizing performance
visibility
50
refers to the ease of moving applications from deployed location to another
portability
51
degree of the service's susceptibility to failure
reliability
52
how can downtimes be addressed?
by using redundant servers