Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Chapter 7. SOA Terms

Definitions

abstract contract
abstract head element
An XML Schema element that cannot appear in an instance document. When a substitution group's head element is declared as abstract with abstract="true", a member of that element's substitution group must be used instead.
anyType
The root type for all XML Schema type definitions hierarchies. All primitive types are derivatives of this type, as are all user-defined complex types.
Apache CXF
An open source project that provides the Web services framework used by Red Hat JBoss Fuse.
binding
A description of the message format and protocol details for a set of operations and messages. Bindings are created based on the information specified in a WSDL binding element.
consumer
The end user of a service, also called a client for that service. The more exact term in the context of a service-oriented network is service consumer.
choice complex type
An XML Schema construct defined using the choice element to constrain the possible elements in a complex data type. When using a choice complex type, only one of the elements defined in the complex type can be present at a time.
concrete contract
contract
A description of the messages and formats accepted and generated by a service. A service's contract is specified in a WSDL document that defines the interface and all connection-related information for that interface. A WSDL contract contains two sets of components: logical (or abstract) and physical (or concrete).
The logical components of the contract are those that describe the data types, message formats, operations, and interfaces for the services defined in the contract. Logical components are specified with the WSDL elements types, message, portType, and operation.
endpoint
The point of contact that a service provides for its consumers.
endpoint reference, EPR
A self-contained object that describes the network contact and policy information for an endpoint, as defined in the WS-Addressing standard.
facet
A rule in an XML Schema definition used in the derivation of user-defined simple types. Common facets include length, pattern, totalDigits, and fractionDigits.
fault message
A message containing error or exception information passed between a service and its consumers. Fault messages are defined using the fault element in a WSDL document.
in message
The message being processed by the processors in the route.
input message
A message passed from a service consumer to a service. When mapped into Java, the parts of an input message are mapped into a method's parameter list. Input messages are defined using the input element in a WSDL document.
interface
The external touch point between applications to collaborate or share functional behavior. Interfaces are completely described by the combination of logical and physical portions of a WSDL document.
Once defined in a contract, an interface is the abstract boundary that a service exposes. A service's interface is the set of message types and message exchange patterns through which service consumers can interact with that service. In a WSDL 1.0 document, interfaces are defined using the portType element.
intermediary
A service whose main role is to process all received messages in a value-added way, such as converting them from one data format to another, or routing them to another service. An intermediary has characteristics of both a service provider and a service consumer. Most intermediaries have an intermediary contract, which is similar in form to a service contract, except that it includes rules for processing messages.
Java API for XML Web Services, JAX-WS
A document centric API for Web services. It was designed to take the place of JAX-RPC in Web services and Web applications.
Java API for RESTful Services, JAX-RS
A standardized set of APIs and annotations designed to simplify the creation of Web applications using REST architectural principles.
list type
A data type defined in an XML Schema definition as a space-separated list of primitive type elements, defined using the xsd:list element.
logical contract
The abstract portion of a WSDL document that defines the data types, message types, and the interfaces for the services defined in the contract. The logical contract answers questions such as:
  • What kinds of data will this service work with?
  • What kinds of data are grouped together for processing?
  • What operations are related and what are their interfaces?
WSDL elements used in the logical contract include: portType element, operation element, message element, and types element. Compare with physical contract.
message
services—Any data passed between a service provider and a service consumer, or between two endpoints. Messages are defined in using the WSDL message element.
nilable
In an XML Schema definition, an attribute of an element that specifies that the element is optional within a complex type.
notification operation
One type of WSDL-defined abstract operation, in which the service endpoint sends a message, but does not expect a return message.
one-way operation
One type of WSDL-defined abstract operation, in which the service endpoint receives a message, but does not provide a return message. One-way operations specify only input message types.
operation
A message interaction between a service and a service consumer. The WSDL specification provides for four types of operations:
  • one-way operation
  • request-response operation
  • solicit-response operation
  • notification operation
output message
A message passed from a service provider to a service consumer. When mapped into Java, the parts of an output message are mapped to a method's output parameter list, including any return value. Output messages are defined using the output element in a WSDL contract.
port
The address used to access a service. Ports are created based on the information specified in a WSDL port element.
participant
A member of a SOA network, whether service provider, service consumer, or intermediary.
payload format
The on-the-wire structure of messages over a given transport specified using a WSDL binding element.
physical contract
The concrete portion of a WSDL contract that defines the bindings and transport details used by the services defined by that contract. The physical contract answers questions such as:
  • How is message traffic formatted on the wire?
  • How and where does message traffic travel?
  • Is there more than one option for transmitting a request?
WSDL elements used in the physical contract include: binding element, service element, operation element, and port element.
reply
A message returned by a service to a service consumer in response to a request from that consumer.
See also: output message
request
A message sent from a service consumer to a service provider asking for the service to perform an action.
See also: input message
request-response operation
One type of WSDL-defined abstract operation, in which the service endpoint receives a message and returns a correlated message. Request-response operations specify input message, output message, and fault message types.
response
See reply
Representational State Transfer, REST
An architectural style for services based on Roy Fielding's doctoral dissertation. REST takes the view that services can be fully implemented using the concepts encapsulated in the design of the Web. A service's operations are handled as if they were resources addressed by a URI. Requests are made using one of the four simple HTTP verbs: GET, PUT, POST, and DELETE.
resource
On the Web a resource is anything that can be identified using a URI. When developing RESTful services, a resource is a class or method that implements a piece of the application's functionality.
RESTful service
A service provider implemented using RESTful principles.
Service Component Architecture, SCA
A set of specifications that describe a model for building applications and systems using a Service-Oriented Architecture. SCA extends and complements prior approaches to implementing services, and SCA builds on open standards such as Web services. SCA is developed by a consortium of companies. Compare with JBI.
Service-Oriented Architecture, SOA
A loosely-coupled distributed architecture in which service providers make resources available to service consumers in a standardized way. SOA is language and protocol independent.
service consumer
See consumer
solicit-response operation
One type of WSDL-defined abstract operation, in which the service endpoint sends a message and receives a correlated message.
substitution group
A feature of XML Schema that allows you to define groups of elements that may be used interchangeably in instance documents. For example, a vehicle head element might be defined with automobile, boat, and airplane substitution elements, any of which could be used wherever the vehicle element might be used. A substitution group is defined using the substitutionGroup attribute of the XML Schema element.
service provider
A process or application that can respond to requests from a service consumer.
Web Services Addressing, WS-A, WS-Addressing
A specification that provides transport-neutral mechanisms to address Web services and messages. See the WS-Addressing specification.
Web Services Description Language, WSDL
An XML grammar for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. WSDL is the language used to express service contracts. For further information see the WSDL specification.
Web Services Reliable Messaging, WS-RM
A specification that describes a protocol that allows messages to be delivered reliably between distributed applications in the presence of software component, system, or network failures.
Web Services Security, WSS
An OASIS specification that describes enhancements to SOAP messaging to provide a means for applying security to Web services. For further details, see the WSS specification.
Web service
An open set of standards for how systems connect to each other and communicate information. The standards are based on a distributed computing framework and provide a facility for applications or systems to collaborate regardless of location, hardware, or other implementation details.