Skip to content

Posts from the ‘TIBCO Developers Library’ Category


Handling Exceptions Using the Catch Activity

Programming and application errors can be anticipated, detected and resolved. Error handlers are the ones which are tasked to identify the errors. It can either recover from the errors without the need to terminate the application or keep the error report to a file. Then it will terminate the affected application.

If these application errors are detected on an early stage, it lessens the effort of reworking. Time, cost and resources can also be saved upon the detection.

When an unhandled exception occurs, an activity receives control of execution. This activity is called the Catch activity. Exceptions are handled one by one, or you can specify to handle ALL exceptions. You can have more than one exception, but you must be sure that each Catch activity handles a unique exception type.

If you wish to perform to handle the exception, the Catch activity allows you to transition to activities. You cannot transition back to the main execution track from the Catch track. Transitions are permitted between Catch tracks within an exception scope.

But if you want to throw the exception caught again, you may use the Rethrow activity. This activity is used to propagate the exception to the higher level.

Building A Try/Catch Block

A try/catch block allows you to try to perform an action, or in the case of TIBCO, an activity. If an exception occurs, it will catch the exception and lastly, deal with the exception gracefully rather than crashing the application.

You can create a Try/Catch block in TIBCO with the use of Groups. The Catch and Generate Error activity must be put inside a Group, and set the action into “none”. This is used for grouping without the loop. With only one condition for the group, this will allow you to catch any error that occurs inside of the group. You don’t need to catch errors in each activity individually.
Error data will be available to activities that has executed after the error transition. The error data can be found on two types of process variables, the $_error process variable and the activity error variables ($_error_). After an error had occurred, this can be found on the Process Data Panel.

The $_error process variable will show the ErrorReport complex element that contains the schema depending on the activity that throws an error. This is the error’s general information like StackTrace, Msg, FullClass, etc. The $_error process variable is also useful in an error-handling procedure because you can map data from this process variable into input items for activities in your error-handling procedure.

On the other hand, the $_error_ shows the error output schema. Remember that each activity has one or more predefined error schemas. You can see these schemas on the activity’s Error Output tab. These are represented as a choice element. The $_error_ process variable is made and supplied with the error data, when an error is encountered.


TIBCO Deployment

Researched and written by Xmarter TIBCO Consultants

Traditional deployment of business integration project requires a lot of configuration effort. The administrator needs to ensure that the configurations for multiple interactions are supported and configuration files are required for different components on different machines. TIBCO ActiveMatrix BusinessWorks, in contrast, provides an interface for creating deployment configuration and then deploying the project. To deploy TIBCO ActiveMatrix BusinessWorks Projects, TIBCO Administrator is used. It is a central administrator server for creating, deploying, managing, and monitoring TIBCO applications and machines within the administration domain. Upon deployment, TIBCO Administrator will create deployment configuration that will be sent to the machines where the projects will be deployed.

All TIBCO BusinessWorks Projects undergo same project phase: design, deploy, and run. After designing and testing the process in TIBCO Designer and setting up the required resources, projects will be deployed in TIBCO Administrator to run on its designated machines. There are two ways to deploy the project in the TIBCO Administrator Server: using the TIBCO Administrator GUI or using scripting deployment utilities. TIBCO Administrator GUI is a web-based graphical-user interface where administrators can easily manage and deploy TIBCO BusinessWorks Projects using a web browser while scripting utilities allow TIBCO Administrator functions to be executed from the command-line.

In using TIBCO Administrator GUI to deploy projects, an Enterprise Archive (EAR) file needs to be created using TIBCO Designer. The EAR file must contain all the required resources such as adapter configurations and process definitions that need to be deployed. After building the EAR file, it will be uploaded to TIBCO Administrator GUI to create the application and to set deployment configuration. On the other hand, in using command-line utilities for deployment, only the Buildear and AppManage utilities are used. Buildear utility is used to build the EAR file based on an archive defined in a TIBCO Designer project while AppManage utility creates an XML based deployment configuration file then uploads the deployment file and EAR file into TIBCO Administrator.

TIBCO Administrator allows applications to be deployed multiple times. However, only one deployment configuration can run anytime. It has a Configuration Console which provides options for deploying and updating applications and it maintains a deployment configuration history that allows reverting of deployments in the future. Updating of application is very important if new TIBCO software is installed on the machines where the application is deployed.

Once an application is deployed, TIBCO Administrator imports all the values defined for global variables from the EAR file. This allows global variables to be changed during deployment. Global variables may vary depending on the environment and these variables might use environment specific values. Thus, setting correct variables during deployment is critical for the application to run.

TIBCO Administrator enables administrator to manage deployed processes and services included in the application. Processes deployed in TIBCO Administrator can be assigned and run on any machine that belongs to the same administration domain. The target machine where processes and services are deployed is called ‘container’. Services can also be enabled and disabled. Disabled services will not be deployed in the next application deployment unless enabled before deploying. Service’s process instances execution can be controlled by changing process configuration properties like Max Jobs, Activation Limit and Flow Limit. This is helpful if process instances need to run sequentially due to limited CPU resources and memory. Max Jobs property is used to limit the number of concurrent process instances that can be loaded in memory. Meanwhile, Activation Limit property is selected if process instances that are loaded in memory will stay in memory until completion. However, Flow Limit property sets the maximum number of process instance that can be started before suspending the process starter.

Project deployment maybe a simple task but it’s at least as important as the project design. Deployment needed to include required resources and configurations to have a smooth run in production. Thus, TIBCO ActiveMatrix BusinessWorks allows business integration project deployment to be easily configured and run on any machine in the domain.

In another perspective, TIBCO lets you integrate different incompatible applications in a service-oriented architecture (SOA). This can be achieved through ActiveMatrix (AMX) Service Grid and other AMX family of products. In AMX Service Grid, you can create a composite, which contains services, components, and references. You can think of a composite as a circuit board which holds several important electronic modules.

Services simply refers to web services, which are standardized methods of communication between two contracting parties, commonly a service provider and a service consumer/client, in a language only both of them can understand. Communication happens through message exchanges either one-way or two-way. In a two-way communication, the consumer sends a request message and expects a response message back. This message comes in a specific format usually SOAP or JMS.

Components are implementations of web services. You can use TIBCO ActiveMatrix BusinessWorks, Java, .NET, or Ruby to create the implementations of web services provided that these applications conform to the specifications that describe your web services. A common model used to describe the specifications of web services is the Web Services Definition Language (WSDL). However, there are circumstances when the service provider or the implementing applications cannot change the structure of the message format they are using, yet the client must conform to their specification. This is where mediation comes in. One of the things mediation does is translating the message into a format which can be understood by the receiving end.

References are external web services which provide operations you want to reuse as implementations of your own web services. Alternatively, you can refer to another composite within your AMX SOA project.

After creating the composite, you need to be able to run the web service by deploying it to logical and physical servers. Now that you have pieced all the components together in the circuit board, you need to make sure that these components will work harmoniously as a single unit. Deploying web services in AMX Administrator, which supports both graphical and command-line interfaces, is very simple and straightforward and takes less time to achieve.

First, you need to create a service assembly. A service assembly is simply a collection of composite, shared resources, connections, metadata, and other necessary files in your AMX SOA project. Think of it as a CPU composed of a motherboard, which is like a composite, together with other essential stuffs, to make the whole system working. The service assembly is compressed into a portable ZIP file which is uploaded to AMX Administrator GUI during deployment. You can create a service assembly by using a utility provided in TIBCO Business Studio, which is the main development tool for creating AMX SOA projects.

When you upload the ZIP file, AMX Administrator will automatically determine what components are present and are ready to be deployed in nodes. Nodes are instances of the Java Virtual Machine, which run containers, software that executes the code, and the messaging bus. Nodes are installed on a physical server and they can be started, stopped, and uninstalled anytime, while containers can either be activated or deactivated. You can deploy various components, which become service units during runtime, into multiple nodes for fault tolerance and load balancing. You can map several nodes to one service unit.

The environment lets you logically manage the nodes, the messaging bus, which can be one or more instances of the TIBCO Enterprise Message Service, and the connectors, containers, shared resources, and keystores contained in nodes. Shared resources enable services to connect with physical resources such as a JMS or an HTTP server. You can have one or more environments to enable and maintain system scalability and flexibility depending on system requirements. Environments also let you configure logging events for tracing errors easily and manage substitution variables or enterprise level variables which could potentially alter from one environment to another. Examples of these variables are queue destinations, service URLs, among others.

When it meets all the requirements for deployment, the service assembly now becomes deployable. On AMX Administrator, you can just simply click the Deploy button to deploy the service and after it is deployed, you can start the service. When the status changes to Running, your web service is now usable and ready to accept requests from service clients.

AMX Administrator GUI comes with monitoring and management tools such as dashboard, infrastructure, service, deployment, and log views which let you track the status, health, and performance of the AMX infrastructure and the services running on that infrastructure.

AMX Administrator also provides a utility that gives you an option to deploy services through the command-line interface. All you have to do is write build scripts which are in XML format and specify the deployment options with the target resources you want to execute. Scripting makes it easier and faster to deploy services especially if it requires you to deploy a lot of services into multiple nodes and environments. It also makes deployment possible for operating systems that don’t support GUI.

TIBCO ActiveMatrix simplifies the life cycle of web services and empowers you truly create SOA applications easily, rapidly and efficiently. With the accelerating adoption of SOA in enterprise applications, you can be assured that your business will realistically benefit in the long run from using this software. With absolutely shorter integration phases and quicker, zero downtime deployments, the TIBCO ActiveMatrix solution strongly brings business advantage and growth together to a much higher level.


TIBCO Developers Library – What is TIBCO Silver?

Considering the number of months or even years required for developers to create and develop software applications, the amount of money spent to purchase licensed software, upgrade software and hardware requirements, and train or update the skill sets of the developers and the extent of efforts needed to test errors and check compliance rules and security, we can say that the traditional rudiments of software development can be a bit dragging, inefficient, and costly in the part of businesses that expect these applications to serve them in the quickest way possible. To address these concerns, TIBCO has developed another remarkable software that lets you develop applications with the cloud or, as simply put, remotely through the Internet. Introducing TIBCO Silver, a promising innovation that embodies the realization of cloud computing.

TIBCO Silver is a TIBCO software that enables you to easily and quickly develop applications by separating the development of these applications from the underlying infrastructure that governs these applications. In other words, you, as a software developer or architect, would just need to focus on creating and building the application without worrying too much about the installation and configuration of your development environment. All you need to do is to connect to the cloud and your working environment is made available for you in a minute or two. This working environment is ensured to be complete, updated, and reliable. It is also very fast and easy to deploy applications directly as soon as you have finished them for everything is already provided with the cloud. You have access to both the development and the production environments. You can develop applications within the public or private cloud or even outside the cloud. You can finish the development rapidly anytime and anywhere.

TIBCO Silver is an innovation that takes away the dilemma of governance which refers to the boundary or norm that defines the way applications should be developed and what resources are available for use. With TIBCO Silver, the developers do not need to be mindful of how the project is managed and monitored. The I.T. Department can setup governance checkpoints that would allow certain personnel to create rules regarding what the developers can do. These governance checkpoints are built in to TIBCO Silver. The developers don’t also need to be concerned with the security of the projects because security mechanisms such as authorization, authentication, access control and encryption are readily available and are also built in to TIBCO Silver. All the developers need to do is to define these reusable templates declaratively. You can deliver valuable business applications and services to customers in a less amount of time and effort.

TIBCO Silver makes software development very portable. One concern that hinders the developer from finishing quickly the application could be the absence of necessary and prerequisite drivers or software that should be installed into a desktop computer. TIBCO Silver works like a utility that checks all the necessities and requirements of development. Hence, you don’t need to install the software into your desktop computer and you don’t have to bother yourself with the current state of your development environment because everything is provided to you outright with the cloud. All you have to do is to know the connection to that cloud and you can immediately begin working. It’s so easy and convenient. TIBCO Silver thus offers software as services instantly made available for developers.

TIBCO Silver is an intelligent software that is capable of analyzing the errors in your application and that provides support for programming languages like Java, C, C++, .NET, and Ruby. This means that you don’t have to start from scratch once you decided to integrate your old application into TIBCO Silver. Furthermore, TIBCO Silver is elastic in a sense that the growing or shrinking of the application is taken care of by the platform. It also makes use of graphical representation of the development activities aside from explicit codes, which is easy for those developers who are not really into encoding. TIBCO Silver also has the capability to scale your applications. This means that the platform determines the system load required to achieve your development goals. You don’t need to manually set particular settings or contact your I.T. Department to adjust some of these settings because TIBCO Silver intelligently does this to suit your needs!

Amazingly, software development has evolved from the usual and traditional way with the goal of making development of applications and services faster, easier, and more efficient in order to leverage business goals and operations. Using TIBCO Silver, you are on the right track towards achieving these. The silver linings of the cloud shine to pave the way to a brighter and clearer future in the aspect of software development and towards the success of your business.

NOTE: This article was written by one of the TIBCO Certified Professionals of Xmarter, Inc., a technology consulting firm that specializes in delivering business solutions using TIBCO technology. To schedule a technical interview with the consultants, send an email to


TIBCO Developers Library – What is TIBCO BusinessEvents?

What businesses need today is something that will perceive and identify various diverse events that occur within and across the organization, which may result and lead to a significant condition, problem, or opportunity that requires an immediate response or human intervention. These events may occur in a specific pattern or trend and may result to a specific outcome that could likely make an impact to the company either in a positive or a negative way. TIBCO BusinessEvents is a leading software in complex event processing that addresses the concern of responding to certain conditions or situations before they occur by processing or executing predefined rules. In this document, you will learn more about how TIBCO BusinessEvents can be beneficial to many users like I.T. and TIBCO consultants, software architects and even CIOs with focus on its features and advantages, and how easily you can define and make use of its resources.

What is Complex Event Processing?

Complex Event Processing is an event processing technology that processes events uninterruptedly. It is different from other event processing technologies because it treats all events as potentially significant and aims to identify meaningful events within the event cloud. It employs techniques such as detection of complex patterns of many events, event correlation and abstraction, event hierarchies, and relationships between events. You can use the data gathered by your car sensors, for example, to generate certain types of events. These car sensors measure the change in pressure of tires over time. If it detects that there is a dramatic drop in tire pressure within a small amount of time, it may send out a “lossOfTirePressure” event, notify the driver about the situation, and respond by slowing down the car. You can see that before the car experiences a flat tire, the system sends out a notification; thus, the problem that is likely to occur is prevented from happening. TIBCO BusinessEvents is a software that specializes in Complex Event Processing. It analyzes the cause and impact of different meaningful events and how to respond to those that may be considered as a potential harm or benefit. It also works on correlating massive amount of data about many events and applying specific rules to identify situations that require a response. BusinessEvents is “proactive”, which means that it responds before problems arise and opportunities come; thereby, eliminating possible complications that may happen and grabbing the chance or opportunity to gain leverage in business.

What are the different aspects of Complex Event Processing?

One aspect is about knowing the state of persons, objects, or entities in your business. It is monitoring of certain events and observation of certain performance indicators or criteria. Another aspect is about detecting significant facts about persons, objects, or entities in your business and responding to specific conditions that occur. The last is about tracking information over a period of time and tracing pertinent data that may result to a problem or an opportunity.

BusinessEvents enables CEP problems to be solved through a model-driven approach. What are these various models?

These models are the Event model, Concept model, Rule and Ruleset model, Rule Functions, and State model. The event model provides inputs into BusinessEvents through the event properties and optionally their XML payload. The Concept model refers to data concepts mapped from events properties or payload, or other means into BusinessEvents. Rules provide the behavioral mechanisms in BusinessEvents and are composed of the declarations, optional conditions, and actions. Rulesets serve as containers of related rules. Rule functions refer to algorithms, procedures, or functions, which have arguments and a body. They are reusable components in BusinessEvents projects. State model refers to some state machine or state model representation, which describes the states that an entity can hold, the transitions allowed between the states and the conditions for such transitions.

What are channels and destinations?

Channels represent a physical connection to a resource such as Rendezvous daemon or Java Message Service. Destinations are contained in only one channel and represent listeners to messages from that resource, and they can also send messages to that resource.

What are the types of channels?

There are three types of channels: TIBCO Rendezvous channels, JMS Channels, and Local channels. TIBCO Rendezvous channels use the Rendezvous daemon as a connection resource while the JMS Channels use the JMS as a connection resource. Local channels are used to route events to multiple rule sessions. Rule sessions refer to an instance of the BusinessEvents engine.

What is the difference between serializers and deserializers?

Serializers are used by BusinessEvents to convert events to messages while deserializers are used by BusinessEvents to convert messages to events.

What are the three sorts of event that BusinessEvents supports?

The three types of events supported are the simple event, time event, and advisory event. When called event, this refers to a simple event which defines an object that represents an activity such as debiting an account, logging an employee, or suspending a fraud account. You can define the properties of simple events. Time events are timers that are used to trigger rules. There are two types: the repeating time event which repeats every specified interval and the rule-based time event which is asserted into working memory after a specified period of time. Rule-based event can be done by using the ontology function provided in BusinessEvents. Lastly, the advisory event is an event asserted into working memory when certain condition occurs such as exceptions or errors, the failure of the BusinessEvents engine to invoke or call a BusinessWorks process, and the success condition of engine startup or activation. You do not have to create or configure an event of advisory type because it is automatically available for use in the resource list when you add a resource to the declaration portion of a rule.

What are concepts?

Concepts are descriptive entities similar to object oriented concept of a class. They describe a set of properties. For example, an Employee concept can have properties such as FirstName, LastName, Salary, and Department. Concepts have property history and you can set the history size to a number of values with their timestamp, which you want to keep in working memory or a persistent storage. History policies can either be Changes only, which means values will be stored only when they are modified or changed, or All Values, which means values will be stored all the time even though they are not modified or changed. Concepts can also have inheritance, containment, and reference relationships.

What are database concepts?

Database concepts are BusinessEvents concepts created by mapping tables or views from a database. Each row in a table represents one database concept instance, and each column represents the properties of the database concept. Database concepts are different from BusinessEvents concepts because you can perform database operations such as query, insert, update and delete.

What is a scorecard?

A scorecard is a special type of concept that serves as static variables available throughout the BusinessEvents project. Scorecards are used to track certain key factors. Unlike a BusinessEvent concept, a scorecard is itself a single instance and not a description for creating instances. It is created during design-time. Rules are used to view and update the values of the properties in a scorecard.

What is a rule? What comprises a rule?

Rules provide the behavioral mechanisms in BusinessEvents. A rule is composed of the declaration of entity types such as events or concepts, optionally one or more conditions, and an action. The action is executed by BusinessEvents when all of the conditions evaluate to true or there are no condition specified. BusinessEvents rules are declarative rather than procedural. This means that there is no definite execution of these rules but you can specify a rule priority to determine which rule or rules are executed first when certain condition occurs. The rule priority is a number from 1 to 10 with 1 as the highest priority and 10 as the lowest priority. The default value is 5. When you leave the rule priority to a default value, this means that the BusinessEvents will be the one to choose or decide which rule will be executed when certain condition occurs. Rules are contained within a ruleset which serves as a container of related rules.

What is a state modeler?

State modeler is a Unified Modeling Language (UML) compliant application that allows you to model the lifecycle of an instance. For each instance of a given concept, you can define which states it can have and how it will change from state to state based on applicable rules. A state model begins with a start state and ends with one or more end states. It is similar to a finite state automaton. In between may be simple, composite and concurrent states connected by transitions. A simple state is a state that has an entry and an exit action. A composite state is like a group of nested folders that contain other states. A concurrent state allows multiple state flows to be passed on. Transitions determine when an instance of a concept passes from one state to another which is indicated by complex transitions, or from a state to itself which is indicated by self-transitions.

What is a rule function?

A rule function is an algorithm or method you write in BusinessEvents language for use in the entire project. A rule function is composed of arguments and a body. It can return a value, for example, integer, String, or boolean data type. It can also return void or no value. Rule functions can be used as event preprocessors and can be executed during engine startup or shutdown.

What is an event preprocessor?

An event preprocessor is a rule function with one argument of type simple event. It performs actions after an incoming message is converted into a simple event but before it is asserted into working memory. This means that before a rule can process the simple event, the event preprocessor executes certain tasks first.

What is a virtual rule function?

A virtual rule function is a rule function that has arguments but no body. Its implementation is provided in the Decision Manager Business User Interface. The implementations are called decision table classes or external classes since they exist outside the BusinessEvents engine. Each row in a decision table forms a simple rule and collectively defines the body of the virtual rule function.

What is Decision Manager, its use, and importance?

Decision Manager is a component of BusinessEvents. It is an Eclipse-based platform. Its friendly user interface allows a non-technical user to write, test, and deploy business rules to the BusinessEvents engine. Users who do not know programming or TIBCO BusinessEvents can participate in the formulation of rules and rule functions and make their logic become part of the overall BusinessEvents project. It is a client application to Rules Management Server and is supported only in Windows platform.

What is a Rule Management Server?

A Rule Management Server (RMS) is another component of BusinessEvents, which manages decision projects and provides a mechanism for approval. It also provides user authentication, decision project authorization, and other project management features. Decision Manager communicates with Rules Management Server to check out decision projects, update local copies of decision tables, and commit changes. RMS users can then approve or reject those changes. What is nice in RMS is that it can be accessed remotely through a router or the Internet, which means that it does not have to be installed on the user’s machine.

Describe how an RMS project is created and used by Decision Manager users.

The BusinessEvents project is created by the user. He creates events, concepts, rules, and rule functions. The project must contain at least one virtual rule function. The EAR file for this project is built and the RMS user sets up an RMS project for it. The RMS user creates access control files which define the appropriate personnel that can access the decision project, domain model files which define what ontology resources the business user is allowed to utilize, and others such as test files that contain data to test the decision table.

After that, the RMS user starts the RMS server and informs the business user that it is already running. The business user logs into Decision Manager and requests for a decision project by checking it out and saving it to his local computer. The business user creates one or more decision tables locally with a locally running BusinessEvents engine started by Decision Manager automatically. The business user commits the decision project for approval. The RMS user receives the request, reviews the project, and then approves or reject it. If he approves it, the RMS generates class files in a known location on a production BusinessEvents engine or he can manually save it there. The class files are either hot deployed to a running system or deployed when the BusinessEvents system starts up. After this, the business logic defined by the business user is now part of the BusinessEvents application.

With TIBCO BusinessEvents, you can identify significant events and information over time within your organization. You can analyze the most likely impact of these events to your business and prevent the occurrence of problems and grab every opportunity that comes to your business. This prediction capability of TIBCO BusinessEvents makes it truly one of a kind and the leading software when it comes to complex event processing. It also incorporates business users to formulate rules based on their own expertise and integrate these rules in TIBCO BusinessEvents. It is a fantastic way to collaborate in building projects and this results to higher throughput, efficiency, and leverage in business.

NOTE: This article was written by one of the TIBCO Certified Professionals of Xmarter, Inc., a technology consulting firm that specializes in delivering business solutions using TIBCO technology. To schedule a technical interview with the consultants, send an email to


TIBCO Developers Library – What is PeopleSoft8 Adapter?

To incorporate business transactions and operations into the enterprise, TIBCO has developed a strategy for companies, which would provide fast and cost-effective integration of real-time business into the enterprise. This is why TIBCO Adapter for PeopleSoft8 was designed to provide businesses a middleware technology that allows the exchange of business data in real-time.

What is PeopleSoft?

PeopleSoft is a company that designs applications to provide solutions to the most complex business requirements in order to meet the changing business needs of enterprises worldwide. It is a leading provider of Enterprise Resource Planning (ERP) software solutions that include enterprise solutions for human resource management, customer relationship management, manufacturing, distribution, material management and accounting.

What is TIBCO Adapter for PeopleSoft8?

TIBCO Adapter for PeopleSoft8 is a business integration software. It serves as a gateway between PeopleSoft8 applications and other external or business applications and allows exchanging of business data in real-time. However, PeopleSoft8 Adapter does not only allow exchanging of business data in real-time, but it also supports and facilitates complex business transaction automation that results to cost and error reduction and increased response time. It finds a gateway to ease the job of TIBCO developers in integrating business processes while ensuring validity, accuracy and uniqueness of data throughout the enterprise.

What are the features of TIBCO Adapter for PeopleSoft8?

The following are the features provided by the TIBCO Adapter for PeopleSoft8:

It is integrated into the TIBCO ActiveMatrix BusinessWorks. The TIBCO ActiveMatrix BusinessWorks has an easy to use integration platform that allows you to integrate PeopleSoft8 Adapter to your project to automate business processes.

It uses TIBCO Designer, an easy-to-use graphical user interface, for configuring and maintaining adapters.

It uses transports such as TIBCO Rendezvous and JMS Messaging.

TIBCO Adapter for PeopleSoft8 does not allow data to be committed and published unless it has successfully passed PeopleSoft8′s business logic and validation.

It uses PeopleSoft8 Integration Broker to publish messages out of PeopleSoft8 system in real-time.

It uses PeopleSoft8 8 Component Interfaces that supports full data validation and provides an interface for importing business and extracting data from PeopleSoft8 system. The adapter also uses PeopleSoft8 Component Interfaces to retrieve PeopleSoft8 components in a synchronous way and insert data into the system.

What are the two PeopleSoft8 Interfaces?

There are two PeopleSoft8 integration interfaces that the PeopleSoft8 Adapter supports: the Component Interfaces and Integration Broker. The Component Interface provides the interface between the adapter and PeopleSoft8 applications. The adapter also uses Component Interfaces as a schemas and APIs for exchanging and formatting business data between the TIBCO environment and PeopleSoft Applications. The PeopleSoft8 Integration Broker on the other hand, is a gateway that allows synchronous and asynchronous exchange of messages between other trading partners and internal system. It allows the adapter to use PeopleSoft8 application messages to generate schemas that are used in formatting and processing data messages between TIBCO environment and PeopleSoft8 Applications.

How the adapter works with PeopleSoft8 Interfaces?

In configuring PeopleSoft8 adapter services, schemas are generated based on the PeopleSoft8 Interface used. When using Component Interface, the adapter fetches the Component Interface schema definitions from the PeopleSoft8 system, and then extracts and stores them in the project during design-time. The adapter is also allowed to download both the standard and custom Component Interfaces. By choosing the Component Interface and applying it to your adapter services configuration in the TIBCO Designer, the adapter service will be automatically transformed into a Component Interface representation and the name of the Component Interface will replace the name of the adapter service.

When using the Integration Broker PeopleSoft8 interface, the adapter will use the Message definitions instead of Component Interface. In configuring your adapter services, both the standard and custom messages can be fetched from the PeopleSoft8 system and can be used, extracted and stored by the adapter in the project at design-time. When you select the message definitions and apply it to your adapter configuration in the TIBCO Designer, the adapter service will be transformed into message definition’s representation and its name will be automatically replaced with the name of the message definition.

What are the adapter services supported by TIBCO Adapter for PeopleSoft8?

The TIBCO Adapter for PeopleSoft8 supports four adapter services: the Publication Service, Subscription Service, Request-Response Service, and Request-Response Invocation Service.

The Publication Service listens and detects changes in the PeopleSoft application’s data and publish these changes in real-time to the TIBCO Environment. There are two types of Publication Service: the CI Publication Service and the Message Publication Service. These Publication services are based on two different technologies, the Component Interface and Application Messaging.

The CI Publication Service fetches Component Interface from the PeopleSoft8 system that is used to define the schema in order to format and process business data coming from PeopleSoft8 system before publishing it to the TIBCO environment.

The Message Publication Service, on the other hand, uses Application Messaging technology. PeopleCode is provided to allow the adapter to capture data from the PeopleSoft8 to a PeopleSoft8 message and uses HTTP to send it to the adapter. Message Publication Service receives the message at run-time, processes it and publishes it to the TIBCO Environment. After publishing the message, an acknowledgement to the PeopleSoft8 system is sent back.

The Subscription Service subscribes for messages in the TIBCO environment, then maps those received messages into PeopleSoft8 schemas and uses Component Interface to insert data into the PeopleSoft8 database. There are two types of Subscription Service, which are based on two different technologies (Component Interface and Application Messaging): the CI Subscription Service and the Message Subscription Service.

The CI Subscription Service downloads the Component Interface from the PeopleSoft8 system that is used as a schema to format and process data before inserting it into the PeopleSoft database. Data will only be committed to the PeopleSoft8 database if the Component Interface had successfully parsed the business logic and validation.

Unlike the CI Subscription Service, the Message Subscription Service uses the Application Messaging technology. It receives messages from the TIBCO environment and then converts those messages into an IB message. It sends those IB messages over JMS/HTTP to the respective Listener Connector. There are two types of Listener Connector, which the Message Subscription Service supports, and these are the JMS Listener Connector and the HTTP Listener Connector.

The Request-Response Servicelets the adapter receives requests from the TIBCO environment and then sends those requests to the PeopleSoft8 system. The adapter will wait for the PeopleSoft8 system’s response in order to send a response back to the TIBCO environment.

In Request-Response Invocation Service, it is the PeopleSoft8 system that sends request to the adapter. The request will then be sent by the adapter to the external application using the TIBCO environment. The external application will process the messages and send it back to the adapter. The adapter, in return, will send the response back to the PeopleSoft8 system.

How do you deploy the TIBCO Adapter for PeopleSoft8?

In order to deploy the PeopleSoft8 Adapter, first, you must create an Enterprise Archive (EAR) file in your TIBCO Designer. The EAR file must contain all the information about the adapter services that you wish to deploy. Use the Enterprise Archive resource in your designer to create the EAR file, and then configure it so that it will contain all information about the adapter instances. Using TIBCO Administrator, import the EAR file, and then deploy and start the PeopleSoft8 adapter. Adapter services can now be monitored using the built-in monitoring tools provided by TIBCO Administrator.

These are just basic information that can help developers start learning TIBCO PeopleSoft8 Adapter. As you further explore and use this software, you will see that it is a powerful and easy-to-use business integration tool and it has a great functionality that suits your business needs.

NOTE: This article was written by one of the TIBCO Certified Professionals of Xmarter, Inc., a technology consulting firm that specializes in delivering business solutions using TIBCO technology. To schedule a technical interview with the consultants, send an email to


TIBCO Developers Library – What is Policy Manager?

Many businesses nowadays are not only concerned with the operations and functions of the different business processes but also on how these processes are used, managed, and secured. In the formulation and design of services, the functionality and the policies governing the usage of these services are both considered by the technical team. Thus, it takes a lot of time and effort to finish and implement these services since both the functionality and the policies are hardcoded by programmers and it does not provide much flexibility in case some variable values have to be changed over time.

To address this issue as well as to shorten the length of time it takes for TIBCO consultants and architects to develop and implement the functionality and the policies, TIBCO Policy Manager brings a solution to this problem by separating the policy formulation from functionality, supplying configurable policy templates, and making policies declarative rather than procedural, thereby enabling dynamic businesses to be easily adjusted as the circumstances demand. It also makes policy formulation very simple that even personnel who do not have sufficient knowledge and experience in policy formulation such as people from the administration or management department of a company may be able to define policies. In this document, several questions regarding Policy Manager are presented such as the definition of Policy Manager, how it is used, and its features and advantages.

What is Policy Manager?

Policy Manager is a TIBCO software that oversees and directs policies to services deployed in TIBCO ActiveMatrix Service Grid software. It makes policy-based governance simpler, easier, and more manageable. The control over security and other aspects of the Service Oriented Architecture can easily be controlled and changed; thus, it is flexible. It also extends policy-based governance to services deployed outside of ActiveMatrix Service Grid environments, such as those deployed using TIBCO BusinessWorks. This can be done by using the TIBCO ActiveMatrix Policy Agent.

What is meant by runtime governance?

Runtime governance is a feature of Policy Manager that separates the functionality of a service from the policies on how the service is used.

Differentiate functionality from policy.

Functionality refers to the everyday activities within your business such as debiting an account, releasing checks, and similar others. Policies are declarative conditions, variable values and key factors that modify the daily operations of functional units affecting performance and security.

What are the advantages of declaring policies at runtime over hard-coding policies into functional components?

You can separate the creation of the functionality which is done by the I.T. department from the formulation and implementation of policies which is done by the management. Thus, you can save time, resources, and effort. You can maximize the use of declarative policies by reusing policy templates readily available in Policy Manager. You can concisely define declarative policies which merges policy templates with a small number of parameters which can be set and adjusted according to a specific business situation. Since policies are declarative rather than procedural, they are easier to understand and change since you need to keep up to the demands and requirements of dynamic business.

What are the examples of policies you can use in Policy Manager?

Most policies you can readily use in Policy Manager are related to security and logging. You can use a policy that adds a digital signature to outbound messages sent to the provider and validating that digital signature in inbound messages received by the provider. There is also a policy that screen request messages by checking that the requestor has valid credentials and appropriate access permissions for the request. If the request passes the screening, the agent forwards it to the service. If it fails, the agent logs the rejected message and does not forward it to the service. A policy can also encrypt messages as they exit on an endpoint and decrypt messages as they enter an endpoint. There is also a policy that automatically attaches credentials to request messages before they arrive at messages. When an error occurs, a policy can log its details and this can be studied by the administrator.

What are the three conceptual components of TIBCO ActiveMatrix policy software?

The three conceptual components of TIBCO ActiveMatrix policy software are the Policy Manager Console, the central service, and Policy Agents. Policy Manager console is a friendly graphical user interface that lets appropriate users define and administer policies and monitor them. You can have the console in two forms as a TIBCO ActiveMatrix Administrator plug-in for Service Grid users, or as a TIBCO Administrator plug-in for Policy Agent and BusinessWorks users. The central service is a set of network applications that provide the underlying infrastructure for Policy Manager such as database repository, validation, and distribution. Policy agents enforce policy by intercepting and analyzing messages to and from managed services and processing them in accordance with applied policies. You can have either a Node agent or a Proxy agent. A Node agent enforces policies for services deployed in ActiveMatrix Service Grid Nodes, while you use a proxy agent to enforce policies for Non-ActiveMatrix services. When you deploy services in ActiveMatrix Service Grid, these services are automatically registered and managed in Policy Manager. The non-ActiveMatrix services should be explicitly registered and managed using proxy agents.

Give an example of policy enforcement.

For example, the consumer sends a request message. The policy agent intercepts the message and encrypts the outbound data. Before that message arrives at the provider, another agent intercepts the message and enforces policies that check credentials and access permissions, decrypt the inbound data, and log requests. The provider processes a request and sends back a response message. Before that message goes back to the consumer, an agent encrypts the message and attaches a digital signature and gathers response time statistics. Before the message actually reaches the consumer, another agent intercepts it, decrypts the inbound data, and verifies the digital signatures. Finally, the consumer receives the response message.

Differentiate an endpoint from a managed endpoint.

An endpoint is an address for interacting with services. Similarly, a managed endpoint is also an endpoint itself but it is where an agent can enforce policies.

What are the four phases involved in creating and applying policy?

The four phases involved in creating and applying policy are the following: first, register your services. This means that the WSDL data about the service is extracted and recorded in the database. Second, manage the services. To manage means to designate one or more endpoints as managed endpoints and to instruct the agent to manage those endpoints or to intercept and inspect messages at all relevant endpoints that pertain to that service. Third, you can now define policies. Select a policy template and supply the values for the template variables depending on a specific situation or according to the needs of your business. You can define, for instance, the name of the policies, endpoints, Identity Management Systems, and connections. You have to specify the criteria to select target policies for services. Fourth and the last, you can now apply policies. After defining policies, policies assigned to services are saved to the database. The target service is validated and enforcement details are sent to the appropriate policy agents.

Give examples of infrastructure resources and how they are used in Policy Manager.

Certain infrastructure resources are readily available in Policy Manager. All you need to do is register and define them. You have the Keystore set, Identity Management System, Connections, and Universal Description Discovery and Integration (UDDI). Keystore sets contain certificates and key information for encryption, decryption, signing, and others for this purpose. Identity Management Systems (IMS) are directory systems similar to Domain Name Systems for the Internet. IMS provide identity-based access control to systems and resources. The supported IMS in Policy Manager are Lightweight Directory Access Protocol (LDAP) servers and CA SiteMinder. Connection refers to the messaging service. The supported messaging service in Policy Manager is the Java Message Service. Lastly, we have the UDDI registry that maintains public information about available services, endpoints, policies, and related resources. Except JMS, all of these infrastructure resources are automatically targeted to all agents. JMS are only automatically available to all proxy agents but not to node agents, since ActiveMatrix services use the Service Grid messaging service.

TIBCO Policy Manager is therefore a powerful, dynamic software that is helpful for all types of businesses when it comes to providing security and usage control over services. If you want to gain leverage in your business and make development of services and their security faster, more reliable, and more efficient, the best choice is to use Policy Manager.

NOTE: This article was written by one of the TIBCO Certified Professionals of Xmarter, Inc., a technology consulting firm that specializes in delivering business solutions using TIBCO technology. To schedule a technical interview with the consultants, send an email to


TIBCO Developers Library – What is TIBCO iProcess Suite?

TIBCO iProcess Suite

All companies aim for a clear, smooth and effective business flow. In order to achieve this, business tasks should therefore be monitored and analyzed, and outputs and performance reports should be clear and must be done in real-time. TIBCO iProcess Suite offers a one of a kind and powerful business processes management tool to help your company achieve this aim.

What is iProcess Suite?

TIBCO iProcess Suite is a set of software that enables consultants and developers to model, simulate, execute and monitor business processes. It is a complete business process management (BPM) tool that helps you increase the performance of your business execution. It offers a full visibility of step by step business flow. You can integrate any types of business flow using this software. It has the capability to make humans and systems participate in the business process execution. It offers excellent process monitoring capabilities.

What is Business Process Management?

Business Process Management is simply the management of your business processes. It is a simple yet a powerful concept that helps you increase the efficiency of your business processes. It is a combination of processes and technology. It improves the execution and monitoring of processes. These processes may involve the tasks between two persons, a person and an application or between two applications.

What kinds of activities are involved in business process management?

These activities complete the cycle of your BPM. First is the modeling of business processes. This is where you create a flow of your process. You analyze the sequence and model it based on your working environment. Next is the deployment of your created model. The business process model that you create will be deployed so that it will be ready for execution. After that is, the execution where the process is already being used. The process is in action and users can already interact with the application. The last one is the monitoring and maintenance of the application. Monitoring the output and maintaining the processes are essential to every application.

What are the advantages of iProcess Suite?

The advantages are summarized as follows: It can accept any type of business process flow; simplifies complex business processes; and offers full visibility of business flow across the entire enterprise. It reduces the time consumed in managing the processes. It increases the speed of execution of each process. Another advantage of using this software is that humans and system tasks work hand in hand. For example, if a certain company orders a large amount of items that costs a large amount of money to an iProcess user company, it is a bit inappropriate for the system to comply with that order automatically, so an authentication of the manager or supervisor is needed first before the compliance of the order. It offers excellent flexibility to business changes. Rules and regulations of a business firm can change anytime. IProcess Suite can easily adjust to these new rules with ease.

What are the sets of software that comprise the iProcess Suite?

TIBCO IProcess Suite is composed of
· TIBCO Business Studio™
· TIBCO iProcess™ Decisions
· TIBCO iProcess™ Conductor
· TIBCO iProcess™ Analytics
· TIBCO iProcess™ Workspace
· TIBCO iProcess™ Insight
· TIBCO iProcess™ Engine

What is TIBCO Business Studio™?

TIBCO Business Studio™ is an eclipse-based environment tool where you can create business models based on Business Process Modeling Notation (BPMN) standards. You can also do simulation based on the model that you create to locate processes that need to be improved and changed. You can create your business model similar to a flow chart of a business process. When you complete the business model, Business Studio is capable of integrating new processes into the old processes. The simulation capability of the tool can predict outputs such as users’ utilization of a certain task. It is an excellent simulation tool that helps business analysts improve the business flow process.

What is TIBCO iProcess™ Decisions?

Every business is accompanied by business rules. These rules are important and should always be followed. At a certain time, rules in businesses can change. For the management to easily adapt to these new rules, TIBCO iProcess™ Decisions provides us with a spreadsheet user interface that handles these rules. This tool has a user friendly environment that even non-technical personnel can use to modify, test and analyze business rules. It has an excellent flexibility to respond to fast changing business rules.

What is TIBCO iProcess™ Conductor?

Business processes are prone to unavoidable circumstances that might change how a business process will flow. Because of this complexity, TIBCO iProcess™ Conductoris created. Business applications that are already deployed in the iProcess Engine can dynamically be modified using this tool. There might be inevitable changes that would happen during the runtime of the processes, which need to be taken into account immediately. In that case, this tool is the best choice to do the job.

What is TIBCO iProcess™ Analytics?

Business process monitoring is essential to every business process management. iProcess™ Analytics provides companies the ability to analyze and monitor business processes. This will give them deep implication to efficiently and continuously improve their system. It is an On-line Analytic Processing (OLAP) based tool that offers a real-time monitoring of running processes with graphical and easy to configure monitoring reports.

What is TIBCO iProcess™ Workspace?

This web-based tool is used for user interaction with the business applications. This tool displays all tasks, cases, jobs, outputs, users’ information, records and process completion counts that an administrator can monitor and manage. The user utilizes this tool to complete and monitor the completion of task.

What is TIBCO iProcess™ Insight?

TIBCO iProcess™ Insightis another business process monitoring tool from TIBCO, which has business activity monitoring capabilities. It is a powerful tool that provides a profound insight to the business manager about the performance of the business processes. Business managers can resolve to business process effectiveness, locate business processes inaccuracy and monitor the performance of business processes in real-time. It can also manage users, tasks, operations and exceptions.

What is TIBCO iProcess™ Engine?

TIBCO iProcess™ Engine is responsible for the execution of the business processes. All business models are deployed in this engine. It is the one that makes sure that the processes are running. Users and Administrators are connected to this engine. This engine is also responsible for the cases, tasks and instances created by the users and the administrators.

Experience increase in productivity, save cost and achieve efficient business flow. TIBCO iProcess Suite is a powerful business process management tool that will definitely benefit you and your company.

NOTE: This article was written by one of the TIBCO Certified Professionals of Xmarter, Inc., a technology consulting firm that specializes in delivering business solutions using TIBCO technology. To schedule a technical interview with the consultants, send an email to


TIBCO Developers Library – What is TIBCO Hawk?

Other thing that should be considered in business process integration are slowdowns and sudden outages in the system. Businesses cannot afford to have any delays in their operations that may cause financial losses. Constant system monitoring is needed to prevent and predict any possible failures and downtimes. This is why TIBCO developed a software that has the capability to monitor and manage not only the systems and applications but the network statistics as well.


TIBCO Hawk is a network monitoring and management software for distributed systems and applications in the enterprise. It is designed using the concept of an independent smart agent that runs on each node in the network to monitor local conditions, so there is no need for a centralized monitoring console or frequent pooling across the network that can consume more bandwidth or cause network traffic.

One of the advantages of using TIBCO Hawk is that it uses less bandwidth while monitoring every machine in the network. It is because TIBCO Hawk distributes the monitoring load to each machine that has locally installed Hawk agents in order to conserve system resources and network bandwidth. The system administrator has now the capability to monitor the operating system, the application parameters and behaviors of each machine in the network using only less bandwidth. Another great advantage of TIBCO Hawk is that, in case of network failure, the Hawk agents will continue to perform local tasks because each agent operates independently from the other.

One of the benefits of using TIBCO Hawk is that it reduces sudden or unexpected system outages and slowdowns. TIBCO Hawk has this capability to automatically repair failures and slowdowns within seconds of detection and it also allows problems to be found and fixed before any slowdowns and failures can occur.

TIBCO Hawk system architecture.

There are two major components that make up the TIBCO Hawk System: the Agents and the Console Applications. Agents reside on each computer in the network and perform monitoring and managing duties. It uses rulebases as a monitoring policy and microagents to extract monitoring information and to carry-out specified tasks.

The Console Applications, on the other hand, can be further divided into three subcomponents: the TIBCO Hawk Display that provides the interface to monitor and manage agent behavior in your network, the Event Service that records and logs all the activities of the agent, and the bridges to other management systems.

Features of TIBCO Hawk Display

The TIBCO Hawk Display is a local window for all the activities in the network, which provides a graphical user interface used for viewing active agents in the network. It displays container icons that are created for each agent and arranged in clusters. These agent icons are, by default, clustered according to subnets. It also allows you to customize container icons and to convey added information that can be useful for your monitoring. Menus and dialogs are provided for you to create, modify and distribute rulebases to any agent present in the network. You can also invoke a microagent method that allows you to view the results immediately.

Features of TIBCO Hawk Event Service

The TIBCO Hawk Event Service does not only record the activity of TIBCO Hawk agents but it also logs and subscribes to all TIBCO Hawk system events such as agent activation and expiration, microagent and rulebase changes, alerts and clears. The external applications must be saved on a data file in order for them to access the logs. If ever there is an expired or non-communicating agent in the network, the Event Service provides the use of a user-supplied script to notify the system administrator.

How does TIBCO Hawk agent operates?

The Hawk agent uses microagents as an object to represent and interact with the managed object in your local machine. Then, the agent loads the rulebases as monitoring policies to monitor your system or your applications. It uses RV Messaging to communicate with the microagents, and uses EMS or RV messaging to communicate with other agents, Event Service and Hawk Display. It also communicates using instances of TIBCO Hawk Display but it works independently with the Display and other agents.

What is the difference between the Hawk Microagent(HMA) and Application Microagents?

HMA or Hawk Microagents are default microagents residing on your local machine to monitor system’s health and statistics. HMA can be a platform-specific or platform-independent microagent. It means that every platform has its own specific microagent or it has microagents that are default to any platform.

The Application Microagents, on the other hand, are microagents that are specifically created or coded to monitor the application statistics. Only those applications that use AMI are dynamically discovered by the Hawk System and represented by microagents that enables those applications to be managed and monitored.

What is AMI or Application Management Interface?

Application Management Interface (AMI) is a gateway between the external applications and Hawk System that uses RV Messaging to communicate. It is used as a protocol in instrumenting an application with a management interface that allows the application to be monitored and controlled by exposing internal application methods to the TIBCO Hawk system.

TIBCO Hawk Agents operate by loading rulebases. So, what are rulebases?

Rulebase refers to a collection of rules that controls the monitoring conducted by the agents, which can be created or modified using the rulebase editor in the TIBCO HAWK Display. It uses a microagent method as a data source to create one or more tests. These tests use If/else construct to check the conditions and includes action if the condition evaluates to true. An action, can be sending an alert or notification messages, execute an OS command, creating post condition, or invoking another microgent method.

What are Alert Messages?

Alert messages originate from a rulebase that implements the monitoring policy or logic. When a specified condition occurs, the agent publishes an alert message to the TIBCO Hawk Display and presents it by colors to show the severity of the alert. It uses colors such as red for high alert, orange for medium alert, yellow for low alert, cyan if it’s recovering, green if it’s ok and purple for no heartbeat. These colors are default to the Hawk Display but it also allows you to change them based on your own preference. You can also suspend an alert message that will be temporarily neutralized to prevent it from interfering with other monitoring tasks. If ever a condition ceases, these alerts will be cleared or removed in the Display.

What is a rulebase scheduling?

Rulebase scheduling allows you to create a schedule that defines when a rulebase, rule, test or action is active or not. These schedules can be imposed on the rulebase to control the monitoring activity and performing corrective tasks. You can define and assign a schedule using the TIBCO Hawk Display, which must be saved on a file so that it can be assigned later on to one or more agents and can be applied to any rulebase objects.

In creating a schedule, you can also specify inclusion and exclusion periods. For example, you can set a rulebase to be activated only during office hours and be deactivated during holidays. For the inclusion period, you can use Mondays to Fridays from 8 AM to 5PM and for the exclusion period you can include holidays such as Christmas and New Year.

What are the Hawk Group operations?

There are three Hawk Group operations: the Network Query, Network Query with test and Network Action. These group operations allow you to detect and solve problems in the network. If you want to research and test on how to build rules, these Hawk Group operations can be used as an interactive tool.

Network Query, from the name itself, queries one or more agents in the network to detect the location where such specified condition exists. It is such a powerful feature that allows you to communicate with multiple TIBCO Hawk agents at one time. As an individual agent, you can ask or query multiple agents in your network.

The Network Query with test, on the other hand, is where you apply a test based on the results of the network query. You can use these tests to filter the result set, but these tests are optional and only one test per query is allowed.

Lastly, the Network Action specifies an action to be performed on any agent in the network but you can only specify an action one at a time.

Both the Network query and Network Action allow you to combine common and identical tasks which can be executed in a single operation and can be performed on each agent in the network.

What are the monitoring best practices?

Using TIBCO Hawk, you can have these practices to achieve an efficient and effective way of monitoring your system and your applications.

* Create a rulebase based on the process existence. This is to check or test whether there are not enough or too many process instances that are running or you can use this rulebase to automatically restart a failed process.

* Creating a rulebase that monitors the process resource utilization. This is to make sure that the use of the resources such as the memory and the CPU don’t get too big overtime, which might affect the system’s performance.Create a rulebase for your LogFile or Event Log Monitoring. Through this, you can make or define another rule based on the entries of those activities logged on which you’ll be able to perform necessary actions.

* Checking for the existence of an Application Microagent also needs to be monitored. This is useful in a situation where you want to detect if the application that you are monitoring is not responding or not communicating with the agents.

After studying and configuring TIBCO Hawk System, you will see that it is such a powerful monitoring tool. It can help system administrator to guarantee and improve software performance and availability. With the solutions provided by TIBCO Hawk, monitoring can now be implemented in the network without worrying much of the use of the bandwidth and the network traffic.

NOTE: This article was written by one of the TIBCO Certified Professionals of Xmarter, Inc., a technology consulting firm that specializes in delivering business solutions using TIBCO technology. To schedule a technical interview with the consultants, send an email to


TIBCO Developers Library – What is TIBCO General Interface?

TIBCO General Interface

The primary objective of software developers is to create applications that function efficiently and conform to the needs of the end-users. However, an effective program must have a look and feel that is somewhat favorable for the users. This is where TIBCO General Interface can be very useful because it allows TIBCO developers to create the interface for their efficiently working applications.

What is TIBCO General Interface?

When General Interface (GI) application is deployed in a web browser, it can function as a client-installed software that is locally installed in your computer. This means that when the applications developed in GI are deployed on a web browser, it can perform with the speed, performance, and features that are just like software installed in your own computers.

What is great about GI is that it has a visual authoring environment which allows the developers to create applications and deploy them quickly. Also, the visual authoring environment can run as an independent tool or integrated into any IDE that you like.

What is the advantage of GI over Thick Client?

Thick clients are applications that are installed in your computer. General Interface’s advantage over these applications is that it is much easier and cheaper than thick applications because you don’t need to buy and install new software in your computers for the application to run. All you need is a web browser.

What is the advantage of GI over Thin Client?

Just for an overview, a thin client is a client computer which is connected to a central server. The advantage of GI over thin clients is that it provides better speed, performance and necessary business logic to function as an efficient application, so that processing on the server will be minimized.

What does it mean when we say that GI is AJAX-based?

Applications developed in GI are fast because they can retrieve only the needed data in contrast to getting all the data from the server. For example, there is an employee data in the server that has the fields of employee_id, name, department, bday and other fields. Using GI which is AJAX-based, we can just retrieve the employee_id, name, and department instead of getting all the employee data because we may not need all the other information in our application.

What is a server-based MVC architecture?

A server based MVC is composed of the Model, View, and Controller. The model is in charge of managing information and notifying the user if there are changes in the information. The View is used to draw GUI objects. It is attached to the model and draws its contents in the display area. When there are changes in the model, then the view redraws the GUI. The controller is in charge of controlling the model and view based on the input of the user.
In this setup, the browser is just like a display area because all the processing is done on the server. It is also slower because the server will submit a new page during every input of the user.

What is TIBCO GI’s MVC architecture?

The GI’s MVC architecture has the model and controller on the server but the view component is running on the browser. Also, the view component has its own MVC architecture which turns the browser into an environment where the user and the application can interact without bothering the web server all the time. Thus, there are only few processes running on the server. This will greatly improve the performance of the application.

What are the requirements for installing TIBCO GI?

Installing TIBCO GI does not require too much from your system. It will only consume more or less 100MB of disk space and it can already function efficiently with only 512MB of RAM.

For the software requirements, it can run with XP Pro from Service Pack 1 to older versions, VISTA, and WINDOWS 2003 Server. The minimum version required for Internet Explorer is only 6.0 and for Firefox are 2.0 and 1.5.x versions.
This means that you don’t need to have the latest computers or the newest versions of the software to be able to use TIBCO General Interface.

What is a CDF?

CDF stands for Common Data Format. It is a document which contains a common XML schema that can be used by different components. In GI, a CDF document can be used and displayed in Grids, Lists, and Charts.
The data stored in CDF are somewhat similar to the data stored in databases because both data can be accessed by external components.

For example, an application can retrieve data from the database and use or display this data as needed by the application. In GI, the data retrieved from the CDF can also be used, mapped and displayed using different components such as Grids, Lists, and Charts.

What are charts?

Generally, the term chart refers to a visual representation of data. This also applies to the charts used in GI because they are used to represent data in a visual manner which is different from data representation using tables, grid, and lists.

In TIBCO General Interface, charting is offered as an added option which means that it does not require any additional installation or plug-ins before it can be used.

Furthermore, charts in GI make use of a common data format which can also be used by other GI components.

How do you customize GI applications?

Customizing GI applications can be done in four different ways.

o Dynamic properties

· These are used to override the default properties so that the look and feel of your application conforms to the requirements of the client or the company.

· The good thing about dynamic properties is that once you have created it in .JSS file, it can be reused by other applications.

o Cascading Style Sheets (CSS)

· These can be used to change the appearance of your application provided that the property for an object that you are changing is not set elsewhere in your application.


· You can also customize your application by merging XSL and XML files or by adding XSL parameters to your GI components.

o Spyglass

· These are data displayed in a pop-up window when you mouse over certain components in your application.

How do you deploy applications using GI?

Deploying applications in GI can be done in three different ways:

o HTML Page

· As its name suggests, this is a page in HTML format. When you double-click this page, your application will be displayed in your web browser.

o Launch Link

· This is embedded into another HTML page where a link for your application will be created. When the link is clicked, your application will be displayed.

o Inline DIV

· This is added into another HTML page and it will be displayed in the same HTML page as another division. Your application may run along with other applications in that page.

What are the best practices in developing GI applications?

Some of the best practices in GI can be achieved through:

o Correctly referencing your application when deployed on a web server because the location of your files while developing your application differs when they are already deployed on the web server.

o Using your own application’s unique namespace so that naming conflicts during deployment will be minimized if not completely resolved.

o Changing the deployment mode into live mode so that your application will be able to call web services.

o Using the static mode if you are not calling any web service. This mode is usually used for testing and developing applications.

TIBCO General Interface is truly a great tool for both creating an interface for your already working applications and for developing your own web-based application. This tool is so easy to use and its output and end results are really amazing.

NOTE: This article was written by one of the TIBCO Certified Professionals of Xmarter, Inc., a technology consulting firm that specializes in delivering business solutions using TIBCO technology. To schedule a technical interview with the consultants, send an email to


TIBCO Developers Library – What is TIBCO Enterprise Message Service?

TIBCO Enterprise Message Service

In developing large and useful business applications, there is really a need for communication between two or more software components so that they may perform their tasks accordingly. Like for TIBCO consultants, they need to create a way where TIBCO software components can communicate with one another especially in carrying out the required tasks.

One way of communication is through direct connection between different systems. However, this kind of approach is not applicable for large number of systems because some software components function differently from others. Also, it will require all the systems to know how to connect to every system in the network. This is one of the reasons why enterprise messaging system was created; so that all these systems can connect to each other through a central messaging server and all they need to know is how to connect to this central messaging server. This enterprise message system is implemented in TIBCO Enterprise Message Service.

What is enterprise messaging?

Enterprise messaging allows different systems to communicate with each other using a loosely coupled architecture. A loosely coupled architecture means that we can replace components without affecting the other components running in the server. The reason behind this is that the components are less dependent on each other. This also means that the system can continue to work even though some components are not connected to the network or to the server. Furthermore, some components within the system can still continue to send messages without waiting for reply messages.

What are the advantages of enterprise messaging?

Enterprise messaging can provide a single unifying medium of communication between different systems. It is also good for a network setup that is always changing.

For example, we have ten different systems and we want all of these systems to communicate with each other. If we are not using messaging, then we will need to know and configure the connection to every system. Now, just imagine what would happen if we have 100 computers or more. But, if we are using enterprise messaging, then we will just need to know how to connect the systems to a central messaging server.

Another advantage is that there is a movement of real-time data. The messages can be created and received in real-time.

Moreover, enterprise messaging has time independence, which means that the client has the option to still receive messages when he reconnects to the server even if the client was down when the message was sent.

What is TIBCO EMS?

TIBCO EMS stands for Enterprise Message Service and it is TIBCO’s implementation of Java Message Service. TIBCO EMS is fully compliant with the JMS specification and it has added some enhancements to the JMS specification. It also has added features like load-balancing, routing, and fault tolerant configurations, which help improve performance and minimize failures in the server.

What is JMS?

JMS which stands for Java Message Service is an enterprise messaging specification created by Sun Microsystems. It is also what we call the store-and-forward messaging system. Store-and-forward messaging system means that all messages created by clients pass through the server before it is sent or forwarded to the designated consumers. This also applies to the reply messages created by the consumers.

JMS also provides both queue-based and publish-subscribe APIs. Queue-based APIs make use of queue destinations and publish-subscribe APIs make use of topic destinations.

What is the JMS Message structure?

The JMS Message structure is composed of the headers, properties, and body. The header is required, while the properties and body are both optional.

The Header of the message contains predefined fields which are used to route and deliver the message. Some of these predefined fields are the following:

o JMSDestination is the destination to which the message is sent.

o JMSDeliveryMode determines if the message is persistent or non-persistent

o JMSExpiration is the length of time that the message will live before expiration.

The Properties (optional) are optional properties that can be added on JMS systems by authorized users such as administrators.

The Body (optional) contains the data you want to send to the consumers. It must be one of these five types:

o TextMessage

o MapMessage

o BytesMessage

o StreamMessage

o ObjectMessage

What is message compression?

Message compression ensures that the message will take less memory space when saved on the storage of the server. Nonetheless, we must take note that message compression will only compress the body of a message. The headers and properties can never be compressed.

What are the types of queues and topics we can create in EMS?

There are three types of queues or topics that we can create in EMS. They can be static, temporary, or dynamic queues/topics. Static queues/topics are specified explicitly in the configuration files. Temporary queues/topics are used for reply messages in request/reply interactions. Dynamic queues/topics are not specified in the configuration files for these are dynamically created by client programs. Moreover, dynamic queues are TIBCO specific, which means that it is an extension added by TIBCO to the JMS specification.

What are the advanced features of TIBCO EMS?

The advanced features of TIBCO EMS include JMS capability to non-Java programs such as C and C# Client API. It also provides an administrative API which is used for managing and monitoring the EMS server and its components. It can be configured for connection to other EMS servers such as fault-tolerance and routing so that multiple EMS servers can participate in the server operations. It can also be connected to other TIBCO components specifically TIBCO Rendezvous and TIBCO SmartSockets. It offers destination bridging which makes it easier to send the same message from one destination to other destinations. It has JNDI and SSL support to provide security over the EMS server and its components. Also, it can be integrated into third party application servers.

How do you configure the TIBCO EMS?

There are the three ways to configure TIBCO EMS. The first way is by modifying the configuration files. The main server configuration file is the tibemsd.conf. This is where you can set the names of the other configuration files. It has some basic parameters such as server name and password, listen port and storage location for messages. Its other parameters are for fault-tolerance, and SSL.

Another way to configure TIBCO EMS is through the use of the EMS Administration tool which comes in console mode. This means that you have to type or issue the correct commands to use this tool.

The third way to configure TIBCO EMS is the through the use of Administration API.

What is fault tolerance and how does it work?

Fault tolerance is having a pair of EMS servers configured as the primary and backup servers. The primary server accepts client connections, and interacts with clients to deliver messages. When the primary server fails, the backup server resumes the operation in its place. The backup server will be the primary server, and the other server will be the backup server when it goes online.

One important configuration for these fault-tolerant servers is that they should have access to the same shared state which consists of information about client connections and persistent messages.

What are destination bridges?

Destination bridging is a server-based solution provided by TIBCO EMS. It is an alternative for creating messages multiple times. For example, if we want to send the same message from one destination to other destinations, we don’t need to send the same message a number of times. We just bridge the different destinations so that the same message will be sent to all the bridged destinations.

How can you improve Client-side processing while using TIBCO EMS?

We can improve the client side processing by configuring the Server Settings, Destination Settings and Security Settings.

In the server settings, we can use EMS routing between servers within the network so that all servers and systems within the network can communicate with each other. Also, we should use destination bridging so that we don’t have to send the same message again and again.

For the destination settings, we should only use durable topics if it is really needed. We can enable pre-fetching for small size messages. We can make use of lower JMS reliability modes. For client-load balancing, we can use non-exclusive queues so that more than one consumer can process the message from the queue in a round-robin fashion.

In setting up the security for TIBCO EMS, we should just use SSL if there is no available Virtual Private Network. Another way is through disabling authentication if possible so that the servers and clients can easily communicate with each other.

These are just some of the important information you need to know about TIBCO EMS and it still has a lot more to offer which you will learn upon using it. This TIBCO component is so easy to use and its functionality is great. So, if you are developing large business applications and you want your software components to communicate with each other, TIBCO EMS is the right software for you.

NOTE: This article was written by one of the TIBCO Certified Professionals of Xmarter, Inc., a technology consulting firm that specializes in delivering business solutions using TIBCO technology. To schedule a technical interview with the consultants, send an email to