Week 1 Flashcards

1
Q

Service Oriented Paradigm

A

The Service-Oriented paradigm to programming utilizes services as the constructs to support the development of rapid, low-cost and easy composition of distributed applications.

Services reflect a new “service-oriented”
approach to programming, based on the idea of composing applications by discovering and invoking network-available services rather than building new applications or by invoking available applications to accomplish some task.

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

What is a web service?

A

A web service is programmatically available application logic exposed over the Internet

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

(Web) services in an SOA

A

Perform encapsulated business functions such as:

  • A self-contained business task, such as funds withdrawal or funds deposit service;
  • A full-fledged business process, such as the automated purchasing of office supplies;
  • An application, such as life insurance application or demand forecasts and stock replenishment;
  • Or a service-enabled resource, such as access to a particular back-end database containing patient medical records
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the difference between Application Service Provider (ASP, Software-as-a-Service (SaaS) and Web service?

A

ASP: application runs on application solution provider, view in browser
SaaS: application runs on customer side, download on demand
Web Service: partly on customer side & partly on solution provider side

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

Where can services be used?

Within an enterprise (Enterprise Application Integration)

A
  • Accelerate and reduce cost of integration
  • Save on infrastructure deployment & management costs
  • Reduce skills requirements
  • Improve reuse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Where can services be used?

Between enterprises (e-Business Integration)

A
  • Providing service to a company’s customers
    • e.g. an Insurance company wishes to link its systems to the systems of a new institutional customer
  • Accessing services from a company’s partners and suppliers
    • e.g. dynamically link to new partners and suppliers to offer their service,s to
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the characteristics of a service?

A

Broader B2B -> Describe services
Search capabilities -> Discover services
Easier aggregation -> Integrate services together

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

Types of (Web) services

A

Informational services

  • Content services such as weather report info, simple financial info, stock quote info, news items
  • Simple trading services that can provide a seamless aggregation of information across disparate systems & data sources

Complex services
- A supply-chain application involving order taking, stocking orders, sourcing, inventory control, financials and logistics

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

Service Properties and State

A

Functional and non-functional properties:

  • The functional service description details the operational characteristics that define the overall behaviour of the service
  • The non-functional description targets service quality attributes, e.g., service metering and cost, performance metrics (response time or accuracy), security, authorization, authentication, scalability, availability, etc

Sateless or stateful services:

  • Services that can be invoked repeatedly without having to maintain context or state they are called stateless.
    • Simple informational services are stateless
  • Services that require their context to be preserver from one invocation to the next are called stateful.
    • Complex services (business processes) typically involve stateful interactions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Services design principles

A

Loose coupling:

  • Coupling indicates the degree of dependency any two systems have on each other.
  • Web services are loosed coupled: they connect and interact more freely (across the Internet). They need not know how their partner applications behave or are implemented

Service granularity:

  • Simple services are discrete in nature, exhibit normally a request/reply mode of operation & are of fine granularity, i.e., they are atomic
  • Complex services are coarse-grained, e.g., a SubmitPurchaseOrder process. These involve interactions with other services and possibly end-users in a single or multiple sessions.
  • Coarse-grained communication implies larger and richer data structures, (viz. those supported by XML)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Service-Oriented Architecture

A

SOA is a logical way of designing a software system to provide services to either end-user applications or to other services distributed in a network, via published and discoverable interfaces

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

SOA: abstraction layers

A

Logical layers:
Business (service) domain
Business Processes
Business Services

Physical layers:
Infrastructure Services
Component-based service realisations
Operational Systems

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

Quality of Service (QoS)

A

QoS refers to the ability of a Web service to respond to expected invocations and perform them at the level commensurate to. the mutual expectations of both its provider and its customers

The key QoS in a Web services environment are:

  • availability
  • accessibility
  • conformance to standards
  • integrity
  • performance
  • reliability
  • scalability
  • security
  • transactionality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

QoS - Availability

A

The degree to which a system, subsystem or equipment in a specified operable and committable state at the start of a mission, when the mission is called for at an unknown.

The probability that an item will operate satisfactorily at a given point in time when used under stated conditions in an ideal support environment

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

QoS - Accessibility

A

Accessibility can be viewed as the “ability to access” and benefit from some system or entity

Example: people with disabilities, or enabling access through the use of assistive technology;

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

QoS - Integrity

A

Capability to handle and interact with unintended changes of data

17
Q

QoS - Reliability

A

Degree of trust of the fact that the service will be executing its functionality

18
Q

QoS - Transactionality

A

Capability to execute a set of calls in a non interrupted manner (atomic)

Sample: double spending

19
Q

Service Level Agreements (SLAs)

A

An SLA is a formal agreement (Contract) between a provider and client, formalising the details of use of a Web service (contents price, delivery process, acceptance and quality criteria, penalties, etc in measurable terms) in a way that meets the mutual understandings and expectations of both providers and clients.

An SLA may contain the following parts:

  • purpose
  • parties
  • validity period
  • scope
  • restrictions
  • service-level objectives
  • penalties
  • exclusion terms
  • administration authority
20
Q

Distributed compuing

A

A distributed system is characterised as a collection of heterogeneous networked computers, which communicate & coordinate their actions by passing messages

(Web) services interact through messages.
-> ‘Distributed computing infrastructure’ required!

21
Q

How are messages sent?

A

COMPLEX

• Internet protocols are essentially methods of data
transport across the Internet.

• The most prominent of the Internet protocols is Transport
Control Protocol over Internet Protocol (or TCP/IP) which
provide for the reliable delivery of streams of data from
one host to another across the Internet:
• The Internet Protocol (IP) enables the unreliable
delivery of individual packets from one host to
another.
• The Transport Control Protocol (TCP) adds the notions
of connection and reliability.

22
Q

How are messages sent part 2

A

Middleware layers. Middleware enables messaging.

Message passing between a pair of processes is
supported by two message communication
operations: send and receive, defined in terms of
destinations and messages.

23
Q

Marshalling (serialization) (in middleware enabling messaging)

A

is the process of taking
any form of structured data items and breaking up
so that it can be transmitted as a stream of bytes
over a communications network in such a way that
the original structure can be reconstructed easily on
the receiving end.

24
Q

Unmarshalling (deserialisation)

A

• Unmarshalling (deserialization) is the process of
converting the assembled stream of bytes on arrival
to produce an equivalent form of structured data at

25
Q

Remote procedure calls

A

RPC is a basic mechanism for inter-program communication where the application elements use a request/wait-for-reply (synchronous) model of communication

26
Q

Synchronous - Service design principle

A
  • RPC-style programming leads to tight coupling of interfaces and applications.
  • In an RPC environment each application needs to know the intimate details of the interface of every other application - the number of methods it exposes & the details of each method signature it exposes
27
Q

Asynchronous - Services design principle

A
  • Asynchronous communication promotes loose coupling which an application does not need to know the intimate details of how to reach and interface with other applications
  • Each participant in a multi-step business process flow need only be concerned with ensuring that it can send am message to the messaging system
28
Q

Message-oriented Middleware pt1

A

MOM combines several mechanisms into an infrastructure that provides the following functions:
• event-driven processing, i.e., the publish/subscribe model
• reliability and serialisation of messages
• subject-based (textual names and attributes to abstract from physical names and addresses
• multiple communications protocols, e.g., store & forward, request/reply, publish/subscribe

29
Q

Message-oriented Middleware pt 2

A

• An integration broker is an application-to-
application middleware service capable of one-to-
many, many-to-one & many-to-many message
distribution.
• It records & manages the contracts between
publishers & subscribers of messages.
• An integration brokers provides the following
functions:
• message transformation, business rules
processing, routing services, naming services,
adapter services, repository services, events &
alerts.