Red Hat Training

A Red Hat training course is available for JBoss Enterprise SOA Platform

Appendix C. Some Useful Definitions

C.1. Enterprise Service Bus

An enterprise service bus is a concrete implementation of an abstract SOA design philosophy. An enterprise service bus (ESB) has two roles: it provides message routing functionality and allows you to register services. The enterprise service bus that lies at the center of the JBoss Enterprise SOA Platform is called JBoss ESB.
An enterprise service bus deals with infrastructure logic, not business logic (which is left to higher levels). Data is passed through the enterprise service bus on its way between two or more systems. Message queuing may or may not be involved. The ESB can also pass the data to a transformation engine before passing it to its destination.

C.2. Java Virtual Machine

A Java Virtual Machine (JVM) is a piece of software that is capable of running Java bytecode. The JVM creates a standard environment in which the intermediate bytecode is run. By creating the standard environment irrespective of the underlying hardware and operating system combination, it allows programmers to write their Java code once and have confidence that it can be run on any system. Red Hat recommends customers use OpenJDK as it is an open source, supported Java Virtual Machine that runs well on Red Hat Enterprise Linux systems. Windows users should install Oracle JDK 1.6.


The file is where the user accounts and passwords for accessing the SOA Web consoles are stored. Administrators control access to the system by editing this file. Note that the passwords are saved in clear text so for production systems, password encryption should be used instead.


The file is where user access privileges are defined. This file uses the following syntax: username=role1,role2,role3. You can assign any number of roles. Note that a user must be assigned the JBossAdmin, HttpInvoker, user, and admin roles in order to be able to log into the server consoles.

C.5. is the shell script the user runs to launch the JBoss Enterprise SOA Platform. The Microsoft Windows equivalent is run.bat. The script contains the commands needed to start the server with the profile and port binding which the user has specified in the shell. The script is found in the SOA_ROOT/jboss-as/bin directory.

C.6. run.conf

SOA_ROOT/bin/run.conf is the default server configuration file. run.conf.bat is the Microsoft Windows equivalent.

C.7. Boot-Strapper Mode

Putting your software into boot-strapper mode tells it what to load and when to do so.

C.8. Message Re-delivery Service

The Message Re-delivery Service attempts to redeliver messages when none of the end-point references work.

C.9. Action Pipeline

The action pipeline consists of a list of action classes through which messages are processed. Use it to specify which actions are to be undertaken when processing the message. Actions can transform messages and apply business logic to them. Each action passes the message on to the next one in the pipeline or, at the conclusion of the process, directs it to the end-point listener specified in the ReplyTo address.
The action pipeline works in two stages: normal processing followed by outcome processing. In the first stage, the pipeline calls the process method(s) on each action (by default it is called "process") in sequence until the end of the pipeline has been reached or an error occurs. At this point the pipeline reverses (the second stage) and calls the outcome method on each preceding action (by default it is processException or processSuccess). It starts with the current action (the final one on success or the one which raised the exception) and travels backwards until it has reached the start of the pipeline.

C.10. Class-path

A classpath is a setting that tells the Java Virtual Machine where, on the filesystem, to find user-created classes and packages.

C.11. Business Process Definition

A business process definition determines the common elements of any runtime instances being used in a process. It is reusable.

C.12. Server Profiles

A server profile is a set of pre-determined settings for running the JBoss Enterprise SOA Platform in different ways. The following profiles come with the product: all, default, minimal, production, standard and web. They are found in the SOA_ROOT/jboss-as/server/ directory. The user specifies which profile to run when launching the software by using the -c switch. If none is specified, the "Default" profile is used.

C.13. Datasource Name

A datasource name (DSN) is the title given to a particular piece of data. For example, a DSN could refer to the name of a database.

C.14. Decision Table

A decision table contains a list of actions. These are undertaken by the system when required.

C.15. Service

A service is a list of action classes that process an ESB Message in a sequential manner. Each service element consists of one or more listeners and one or more actions. These are set within the jboss-esb.xml configuration file.

C.16. Stateless Service

A stateless service is a self-contained service that independently performs tasks instead of having to receive instructions from the user. Additionally, it does not need to use up vast amounts of data to identify objects.

C.17. Service Binding

A service binding allows you to transport data between clients and services by linking them.

C.18. Enterprise Java Bean

An Enterprise Java Bean is a Java component architecture designed for enterprise applications. It can be used to create these applications and then deploy them to a server.

C.19. Loose Coupling

Loose coupling is when two components are linked together to perform certain tasks, but remained unlinked the rest of the time.

C.20. Persistence Mechanism

A persistence mechanism is a fail-over property. It makes an object persistent, meaning it can automatically start up again after a shutdown and resume the task it was previously performing.

C.21. Resource Adapter

A resource adapter allows you to modify an application so that other components can be "plugged" into it. These components are then able to communicate with the rest of the system using the adapter.

C.22. Shell Script

A shell script is a text file containing a series commands for UNIX-based operating systems like Red Hat Enterprise Linux. They call on the shell (terminal) when they run. The Microsoft Windows equivalent is a batch file.

C.23. Web Container

A web container works with Java servlets. It is responsible for managing their performance as well as making sure they are sending and receiving the correct information. The JBoss Enterprise Application Platform is a type of web container.

C.24. Initial Context Factory

An initial context factory is where initial context objects are created. These objects are used to create and view naming and directory properties.

C.25. UsernameToken

The UsernameToken is used to "propagate" a username (and optionally a password) throughout a system to avoid having to login multiple times in a single session.

C.26. Schema Validation

This is the process of validating or "checking" code to make sure it works. You can make sure there are no errors in your XML code by running it through a schema validation.

C.27. Byte Array

As the name suggests, this is an array of bytes that make up objects like memory. You can create an array of bytes for use with message sending and processing packets.

C.28. Extended Transactional Client

An extended transactional client allows you to send and receive messages from local queue managers. It also allows you to view and update external queue managers.

C.29. Connection Pooling

Connection pooling is a back-end way of connecting a server to multiple clients. Once a connection pool is created, an application server can draw on it to perform stored actions (for example, requesting a database to do a certain task). It simplifies common tasks as the actions are ready to go in the connection pool for when the user decides to deploy them.

C.30. Pooled Database Manager

As the name implies, this manager works with pooled databases and allows for them to be accessed, managed and configured efficiently.

C.31. Cipher Transformation

Use this transformation to decrypt information.

C.32. Concurrency Control

This method of control allows multiple operations to run concurrently while making sure all their processes are running correctly and efficiently.

C.33. Uniform Resource Identifier

A uniform resource identifier (URI) uses a sequence of alphanumeric characters to identify a resource in the system. A web URL is one type of URI.

C.34. Provider Adapter

A provider adapter allows applications to receive information from remote providers.

C.35. Implementation Class

An implementation class defines how an object which belongs to certain classes is implemented.

C.36. Interceptor Class

An interceptor class is applied to an object to make it perform additional actions that have been defined in the class.

C.37. Transacted Flag

You can set your session to have a transacted flag with the value of true or false. It can be set to true on specific endpoints to make them transactional. This means that all the actions of the endpoint can be grouped into one singular action instead of lots of smaller ones.

C.38. Java Connector Architecture (JCA) Transport

The Java Connector Architecture (JCA) Transport is a Java-based piece of architecture that works as a service integrator. It is a connector that links application servers and enterprise information systems.

C.39. JCA Bridge

The JCA bridge is a dispatcher which can open and close connections. It identifies connections set by the user and can detect connectors and gateways.

C.40. JCA Adapter

The JCA adapter acts as a "go between" that links application servers and enterprise information systems.

C.41. End-point Class

An end-point class lets you identify resources and services on your network by providing their network address.