8 - Web Services Foundations Flashcards

1
Q

What are Web Services and how to they differ from Middleware Technology?

A

Many definitions, but common aspects are: standardization, interface, components, interoperatibility, machine-to-machine interaction, internet protocols, discoverabiliy, XML

More suitable for B2B integration: middleware is logically centralized: interacting with systems of other companies require exposure of internal process (trust, autonomy, confidentiality, … )
- MIDW is focused on local network scenario, no global standards or interoperability

An implementation of SOA using XML, HTTP, and Web technology

Allow wrapper mechanism to incorporate legacy systems and middleware

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

Give an overview of the main ideas behind SOA

A

Provided distributed computing capabilities as services that work together in a standardized manner
- potentially residing under different ownership demands : B2B!

General goals of Web Services

Roles: service provider, requestor, and registry

Simple services are simple wrappers or servlets (etc.)

Complex services are built through choreography of smaller services (process/work flows)

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

What are the main services technologies on the Web and their purposes?

A

Description: WSDL for interfaces, DPEL for busines processes, UDDI/WS-Policy for properties and semantics

Discovery: repository of WS descriptions + API for interactions

Interaction: transport (HTTP), messaging (SOAP/WS-Security)

Composition: choreography, workflows

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

Give an overview of Web Service Architecture

A

WS wraps conventional middleware with internal web service middleware (mapping of operations) which can be accessed via a WS interface

External architecture is built by connecting internal architecture above with an external middleware

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

What are the main goals of SOAP?

A

XML message format for stateless communication (one-way): loosely coupled

  • can also be used for RPC interactions (on top of basic one-way)
  • protocol-independence: behind step to determine which protocol to use
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the components of a SOAP envelope and their functionality

A

Header (optional): mechanism of extension, independent from message contents

  • additional control information that can be attached to message
  • used for application-specific info, as well as for generic (transaction, security, tracing)
  • arbitrary XML defined in schema of header element

Body: actual message content encoded as XML elements: app-specific

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

Give an overview of the message processing model in SOAP

A

Nodes must follow specific action when they receive a message:

1) Check syntax and analyze SOAP-related parts (Attributes of envelop, header, and body)
- - Role: depending on roles attributed to node, specific header are processed (next, ultimate receiver)
- - Must Understand: node must be able to process its headers, fault generated if not possible
- - Relay: headers that must be forwarded if not processed by current node

2) Intermediaries: process, remove, and modify headers on the way from sender to receiver (standard SOAP encoding is usually used)
* Error handling: SOAP fault element placed in body of response message

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

Give an overview of SOAP data encoding

A

Simple types use atomic XML Schema values (Attribute XSI: type can be set in body’s elements)

For complex types, attribute encoding style is used: defines serialization rules
- Encoding rules based on XML schema for arrays, structures, …

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

How can SOAP be used to realize RPC?

A

Stateless, one-way model of SOAP can be combined to form request/response types of interaction

Parameters and return value are structured in XML elements (element-name = name of procedure / “Response” suffix on reply)
- Protocol binding specifies end point of request (HTTP is more natural for RPC: synchronous protocol).

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

What are the goals of WS-Addressing and how does it enhance SOAP?

A

Addressing and endpoint aspects are protocol-specific in SOAP

WS-Addressing places such information in message headers (standard, protocol independent)
- Provides additional capabilities: loss prevention, message identity, replyTo, EPR, Action

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

What are the goals of WSDL and its components?

A

Specify the interface / formal contract of services: allows documentation and automation

  • operation, parameters, (similar to CORBA (DL)), access mechanism (SOAP), service location
  • Allows different protocols and locations in the same interface
  • Defines MEP for service

Abstract part: types, MEP, operations, interface (Set of operations)

Concrete part: binding (specific protocol and format implementing an interface), endpoint associated to bindings, service (collection of endpoints)

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

What is the functionality of import/include elements?

A

Modularize service definitions: parts of description can be split into documents (include) or shared between multiple descriptors (import)

Include required same target Namespace attribute of root element (description)

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

What are MEPs and how are they specified in WSDL?

A

Defines interaction process in terms of a sequence of one or more messages in a single operation: minimal, abstract contract (no types or binding specifics)

MEPs defined in WSDL

  • in-bound: in-only, robust in-only, in-out, in-optional-out
  • out-bound: out-only, robust out-only, out-in, out-optional-in (where to send: out of WSDL scope)
  • Robust, Optional = fault message may be sent as reply (normally not given)
  • In-out, out-in = fault message may replace a reply (since one must be given)
  • Only: no fault messages
  • new MEPs can be defined
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the components of an Interface element?

A

A set of abstract operations
Interface can inherit from other interface (no overloading)
Operation = set of abstract messages
- References a MEP which defines interaction
- Types of input, output, in fault, out fault (schema types)
- Style (e.g. RPC) expected faults (schema type)

  • RPC style: facilitates prog. language binding to WSDL: MEPs in-only and in-out
  • rules for message schema: input and output are complex type with sequence
  • input message name = op. name, output = op name + response
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are bindings in a WSDL description?

A

Non-abstracted part: (concrete) ways to format message in a specific protocol (message grammar)
Supports SOAP, HTTP, MIME (protocol of SOAP also defined)
Actual MEP can be specified (e.g. soap-response to implement in-out)

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

What are endpoints and services?

A

Endpoint: address of server hosting the service. Name + binding + address
Service: set of related endpoints, which provide same interface service with different bindings

17
Q

Give a short overview of WS-Policy

A

Allows description of Web-Service capabilities and requirements

Attached to WSDL/UDDI

18
Q

What are the goals and main components of UDDI?

A

Service discovery: registry with services published by providers

  • support search according to taxonomies
  • specify technical binding information to allow communication with service

Defines schemas for describing business and services, and a SOAP API to access the registry

Binding template C* businessService C* businessEntity (each with an UDDI key)
Binding template references at model: concept, idea, well accepted specification (codes, numbers, identifiers). Provide a “fingerprint” for identifying compatible services.

APIs: inquiry (find + get details), publishers (Save, delete, security). SOAP-based services.

19
Q

What are the different types of UDDI registry?

A

Corporate/private: within boundaries of a company/group: no sharing with other registries

Affiliated: controlled environment with restricted access (member only): controlled sharing

Public: open access, possibly moderated/administered: sharing possible.

Ex: UDDI business registry (public): master directory of available e-commerce services.

20
Q

What is the basic architecture of a Registry?

A

May consist of multiple UDDI nodes (federated)

Nodes: provide UDDI API, interact with nodes in the same registry: replication

Registry affiliation: multiple registries with policies for sharing registry data: shared private public

WSDL files are published and retrieved, additional tools generate stubs to realize interaction.

21
Q

Give an overview of the Java API for XML Web Services

A

Mapping JAva WSDL/XML, abstracts SOAP messaging

Client-side: allows app. to invoke service using a Java stub interface
- maps to SOAP and perform HTTP request

Server-side: maps incoming requests to RPC and dispatches to target class.
- WS implemented in a Java class.