Talend ESB - Glossary of Terms
Abstract head element
Choice complex type
A collection of clustered services.
A service that is deployed multiple times and configured to work in a master/slave suppport configuration.
A block of logic that creates a routing endpoint that connects to a particular message source or message sink and do certain processing on the message. Talend Mediation perspective has mediation/routing components.
A virtual destination that serves as a proxy for multiple destinations. Producers can send messages to the composite destination an it will be automatically sent to all of the physical destinations that make up the composite destination.
A bridge between a client and a broker connector.
An object that a client uses to create a connection to a broker. A factory supports attributes that configure the quality of service for the connections it creates.
For a service consumer, it is the end user of the service, also called a client for that service. The more exact term in the context of a service-oriented network is service consumer.
For a message consumer, it is an application that consumes messages from a messaging destination.
For a routing consumer, it is the source of messages in a route.
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.
Dead letter channel
An EIP processor that handles messages that cannot be delivered to the intended recipient.
Dead letter queue
A special destination used by the message broker to hold undeliverable messages.
A form of inversion of control, where an object’s external dependencies are given to it, either programmatically or through a framework that is driven by configuration information. The result is to decouple dependent objects and allow the dependencies to be resolved at run time.
A logical holding area for messages in a message broker. Clients publish messages to and consume messages from destinations.
A message consumer that receives all messages published on a topic, including those published while the subscriber is inactive.
For services, it is the point of contact that a service provides for its consumers.
For routing, it is the sources and sinks of messages in a route.
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.
Enterprise Application Integration (EAI)
The use of software and architectural principles to integrate disparate enterprise applications.
Enterprise Integration Patterns
Enterprise Management System (EMS)
Enterprise Service Bus (ESB)
The infrastructure that allows service providers and service consumers to interact in a distributed environment. The bus handles the delivery of messages between different middleware systems, and provides management, monitoring, and mediation services such as routing, service discovery, or transaction processing.
A mechanism that ensures that only one consumer connected to a queue can consume messages.
A rule in an XML Schema definition used in the derivation of user-defined simple types. Common facets include length, pattern, totalDigits, and fractionDigits.
A transport that automatically moves to a new connection in the event that its current connection fails. A cluster architecture where clients are able to migrate from a failed broker to a running broker.
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.
A unit of OSGi deployment that enables you to deploy multiple bundles in a single step.
An XML file that defines one or more features.
The DSL command that creates a message source for a route.
An abbreviation for internationalization, used in the context of preparing products, especially software and documentation, for use in more than one national locale and language.
The message being processed by the processors in the route.
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.
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.
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.
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 Architecture for XML Binding (JAXB)
An API that provides a way to bind an XML Schema to a representation in Java code.
Java Authentication and Authorization Service (JAAS)
A Java security framework for user-centric security to augment the Java code-based security.
Java Business Integration (JBI)
A specification for a standards-based, vendor-neutral architecture, based on SOA principles, for the integration of disparate applications, service providers, and service consumers. JBI-compliant components are expected to plug in and interoperate with other JBI-compliant components. This frees vendors to concentrate on supplying components that implement their particular area of expertise without worrying about implementing the other necessary portions of a complete solution. JBI also frees end-users to pick and choose among many JBI-compliant components to assemble a SOA network sized to their needs, without locking in to one vendor's approach. The JBI specification was developed by the Java Community Process.
Java Database Connectivity (JDBC)
An API specified in Java technology that provides Java applications with access to databases and other data sources.
Java Management eXtensions (JMX)
Java Message Service (JMS)
A Java API implementing a messaging standard that allows application components based on J2EE to create, send, receive, and read messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous.
Java Naming and Directory Interface (JNDI)
A set of APIs specified in Java technology that assists Java applications with interfacing to multiple naming and directory services.
A text-based, human-readable format for representing simple data structures, JSON is specified in RFC 4627. The official Internet media type for JSON is application/json. JSON format is often as an alternative to XML for the serialization and transmission of structured data over a network connection.
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.
The process of taking in-memory objects and converting them to a binary or textual format for transmission over a transport.
A topology in which a single instance, the master, is active and one or more instances, the slaves, are ready to resume when the active instance stops.
For messaging, it is an atomic unit of data that is passed between two or more clients. A message consists of three components:
- headers, which contain a predefined set of metadata that is used to communicate information about a message between the different parties that handle the message
- properties, which contain application defined metadata about a message to the different parties that handle the message
- body, which contains the messages payload
For routing, the data passed and processed by a route. A message consists of three components:
- headers, which contain metadata that is used to communicate information about a message between the different processors that handle the message
- attachments, which contain binary data that is associated with the message
- body, which contains the messages payload
For 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.
Message exchange pattern (MEP)
- request-response, where one client sends a message and expects a message to be returned
- one-way, where a client sends a message without expecting a response
The WSDL specification defines a number of more detailed MEPs that are all variations of the two basic patterns.
A collection of JMS messages that are assigned the same JMSXGroupID. When used in conjunction with the JMSXGroupSeq message groups can be used to ensure that messages are processed in the proper sequence.
A configuration entity used to link brokers together to form a network of brokers.
Network of brokers
A group of brokers that are linked together to operate as a single logical unit.
In an XML Schema definition, an attribute of an element that specifies that the element is optional within a complex type.
One type of WSDL-defined abstract operation, in which the service endpoint sends a message, but does not expect a return message.
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.
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
OSGi is set of open specifications aimed at making it easier to build and deploy complex software applications. The key piece of OSGi technology is the OSGi Framework. It defines standardized mechanism for packaging and managing application bundles. It can dynamical resolve dependencies between bundles and can handle having multiple versions of a bundle deployed simultaneously.
The OSGi specifications are maintained by the OSGi Alliance. See http://www.osgi.org.
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.
A member of a SOA network, whether service provider, service consumer, or intermediary.
The on-the-wire structure of messages over a given transport.
In Web services, the payload format is specified using a WSDL binding element.
Persistent identifier (PID)
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.
In Web services, ports are created based on the information specified in a WSDL port element.
Publish and subscribe messaging (pub/sub)
Industry-standard abbreviation for qualified name, as defined in the XML namespace specification. A QName is resource name that incorporates the namespace of the specification where that resource is defined.
QNames are composed of:
- A URI representing the namespace of the resource's definition.
- The name of the resource, usually called the localPart.
- Some QName formats also include an alias for the namespace called the prefix.
QNames can be found in several formats. The format that is used in a self-contained document such as a WSDL contract, where a qualified name is in the form prefix:localPart. The prefix is declared in an xmlns element in an XML namespace declaration in the same document. For example, ls:SOAPHTTPService is a qualified name, where the prefix ls is defined in the statement earlier in the same document, and SOAPHTTPService is a resource defined in the specification at that location.
A destination that uses first in/first out semantics.
A message returned by a service to a service consumer in response to a request from that consumer.
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.
A message sent from a service consumer to a service provider asking for the service to perform an action.
A messaging pattern in which a message producer receives a message and returns a correlated message.
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.
On the Web, for example, 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.
A service provider implemented using RESTful principles.
A consumer that indicates to the topic that every attempt is to be made to send messages that the consumer may have missed.
A chain of processors through which a message travels.
A process or application that can respond to requests from a service consumer.
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.
A Service Participant that enables consumers to look-up service providers based on the service name and a policy describing the consumer's non-functional requirements and capabilities. The registry matches the service name and consumer policy with all the service providers' requirements and capabilities and returns all matching providers, together with the agreed policy as the result of the policy negotiation process.
A JMS object that provides a single-threaded context for producing and consuming messages. JMS clients use the Session object to create producers, consumers, messages, and other artifacts used to work with messages.
One type of WSDL-defined abstract operation, in which the service endpoint sends a message and receives a correlated message.
A comprehensive programming and configuration model for modern Java-based enterprise applications the uses dependency injection.
Store and forward
A paradigm in which brokers receive messages, store them locally, and forwards the message to a recipient when it is able to do so. The message is only deleted once it has been successfully delivered.
Streaming Text Orientated Messaging Protocol (STOMP)
A language agnostic, simple text-based protocol that allows clients to talk with any message broker supporting the protocol.
A destination that uses publish and subscribe semantics.
A standards-based network protocol, such as HTTP or STOMP, that defines how objects communicate over a network. In Web services, the transport details for an endpoint are specified inside the WSDL port element.
An address at which a message broker accepts client connections.
The capability to move a message from one transport to another. This includes transforming message data between the formats required by each protocol and managing the metadata differences between the transports. It also means managing the differences in how the protocols operate. For example, when mediating between HTTP and JMS the bridge must manage the differences between the HTTP transports synchronous, request/reply style and the JMS transports asynchronous style.
Uniform Resource Identifier (URI)
A string of characters used to identify or name a resource on the Internet.
The process of taking a binary or textual format payload and converting that into objects. See also Marshalling.
A logical destination that represents one or more physical destinations.
A logical topic that allows consumers to use a physical queue to consume messages from the destination.
Web Services Addressing (WS-A,WS-Addressing)
Web Service Authentication
Authentication based on WS-Security Standards between Web Service participants and Talend ESB service participants. Authentication can be based on the standards UserNameToken and SAMLToken.
Web Services Reliable Messaging (WS-RM)
Web Services Security (WSS)
An EIP in which an messages are directed to an additional message channel in addition to the primary channel.
World Wide Web Consortium (W3C)
An international consortium where member organizations, a full-time staff, and the public work together to develop Web standards.
XML Schema Definition (XSD)
An instance of an XML schema written in the XML Schema language. An XSD defines a type of XML document in terms of constraints upon what elements and attributes may appear, their relationship to each other, and what types of data may be in them.