Talend ESB - Glossary of Terms
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.
A special type of message that contains administrative information about the message broker. They are sent by the broker to special advisory topics. See advisory topics below.
A group of special topics that are created by a message broker that are used for monitoring the state of the broker. The broker sends messages about a variety of internal broker events. Clients subscribing to these topics receive advisory messages about these objects.
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.
An open source project that provides the messaging technology for Talend ESB.
An open source project that provides the EIP-based routing technology used by Talend ESB.
An open source project that provides the Web services framework used by Talend ESB.
An open source project that provides the OSGi runtime container used by Talend Runtime.
A software platform that provides the services and infrastructure required to develop and deploy middle-tier applications. Middle-tier applications implement the business logic necessary to provide web clients with access to enterprise information systems. In a multi-tier architecture, an application server sits beside a web server or between a web server and enterprise information systems. Application servers provide the middleware for enterprise systems. JBoss, WebLogic and WebSphere are J2EE application servers.
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.
A JBI component that provides connectivity to services external to the JBI environment.
The primary deployment format used in Talend ESB Runtime. They are either ZIP or JAR files that contain resources and classes for providing a set of functionality to other bundles or to the end user. Bundles differ from standard JAR files in that they must contain metadata describing the bundle and its dependencies.
A single routing rule base that defines the context for configuring routes, and specifies which policies to use during message exchanges between endpoints.
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.
An application or process that requests services from other applications known as servers. The server processes may be running on the same or a different machine. In the context of a SOA network, a client process is called a consumer or service consumer.
An application that uses the message broker to communicate with other applications. These applications use one of the broker's client API to connect to and interact with the broker.
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
A collection of patterns describing common EAI problems.
For more information see http://www.enterpriseintegrationpatterns.com/.
Enterprise Management System (EMS)
Enterprise Management System (EMS) is a set of integrated tools that enable system administrators to manage large-scale production environments.
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.
A URL that points to a feature repository file.
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.
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 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)
A Java technology that supplies tools for managing and monitoring applications, system objects, devices, and service-oriented networks.
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.
A data type defined in an XML Schema definition as a space-separated list of primitive type elements, defined using the xsd:list element.
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 string containing a boolean SQL statement using SQL 92 syntax that is used to select messages based on JMS message header properties.
A software communications layer that manages the interaction of disparate applications across heterogeneous hardware and network environments.
A runtime directional link between brokers that is used to forward messages. Network bridges are created by network connectors.
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)
A registration property used by the OSGi Configuration Admin Service to identify a group of configuration attributes.
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.
A messaging style where messages are sent between two known endpoints. This messaging style is typically implemented using queues.
The physical mechanism used to access a service.
In Web services, ports are created based on the information specified in a WSDL port element.
A Java object that performs work on a message as it passes along a route. Processors typical performs tasks like modifying the contents of a message or determining its path through a route.
An application that creates messages and posts them to a messaging destination.
Publish and subscribe messaging (pub/sub)
A messaging style where message producers send (publish) messages to a destination and interested consumers can register (subscribe) to receive messages from the destination. This style of messaging is implemented using topics.
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.
An entity that either requests or provides services. This entity may be either legal (a person or a corporation) or physical (a piece of software and/or hardware).
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.
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.
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 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)
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 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.
A language specification by the W3C that defines an XML vocabulary for defining the contents and structure of XML documents. XML Schema is a successor to XML Document Type Declarations (DTDs), but is more expressive and better designed for expressing a type system.
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.