You are on page 1of 64

TIBCO Business Works

By
Sudheer Nelluri
Raghu Nukala
Raja Sunkavalli
Prashanti Rao
Raghu Pullela
Contents
TIBCO Business Works
Role of XML and XML activities
Parse Palette
Role of EMS
File Palette
Introduction to HTTP
HTTP Palette
Groups and types of group actions
Mapper Activity
Variables
Database concepts
JDBC Palette
Contents
TIBCO Business Works
Role of XML
XML Activities
Parse Palette
Role of EMS
TIBCO Business Works
Business Integration Software
TIBCO Business Works (contd..)
Mediates interactions between different applications and databases
Allows the automation of business processes
Manage transactions and Web Services, Handle exceptions and report errors
Provides graphical user interface to configure application services
Provides plug-ins for application connectivity
Provides interface for administrator to monitor and manage processes and application resources
Benefits of BW In JAVA
import java.io.*;

public class Test {


Reduces the amount of public static void main(String [] args) {

time and effort to develop String fileName = "temp.txt";

and deploy business String line = null;

activities try {
FileReader fileReader = new FileReader(fileName);

In BW BufferedReader bufferedReader = new BufferedReader(fileReader);

while((line = bufferedReader.readLine()) != null) {


System.out.println(line);
}

bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println(
"Unable to open file '" + fileName + "'");
}
catch(IOException ex) {
System.out.println(
"Error reading file '"
+ fileName + "'");
ex.printStackTrace();
}
Benefits of BW (contd..)
Accelerates the application development and deployment cycle
Functions and data are available as re-usable services to use in
complex business processes
Improves the consistency, performance and scalability
Capable of integrating any IT resource virtually
Features of BW
Supports leading standards and protocols including HTTP/S, FTP,
JDBC, TCP and JMS
Extensive Web Services capabilities and support for SOAP over JMS
and HTTP/S
Enables distribution of information using technology that is best
suited for scenario
Provides built-in tool for defining XML schemas, parsing and
rendering capabilities
Role of XML
Designed to describe data
Software and hardware independent language for carrying
information
One of the most important technologies for business integration
both inside and across enterprises
XML Activities
Parse XML:
Processes a binary XML file or XML string and turns it into an XML
schema based on the XSD specified

Render XML:
Takes an instance of an XML schema element and renders it as a
stream of bytes containing XML or an XML string
XML Activities (contd..)
Transform XML:
Allows us to transform an input XML document into the output specified by the givenXSLT
Fileshared configuration resource

XSLT File
Allows us to load an XSLT file to use to transform XML schemas using theTransform XMLactivity
Parse Palette
Data Format:
It contains the specification for parsing or rendering a text string
using the Parse Data and Render Data activities
Parse Data:
Takes a text string or input from a file and processes it, turning it
into a schema tree based on the specifiedData Format shared
configuration
Parse Palette (contd..)
Render Data:
Takes an instance of a data schema and renders it as a text string.
The schema processed is based on a specifiedData Formatshared
configuration
Role of EMS
Enterprise messaging allows different systems to
communicate with each other
Enterprise Message Service is the TIBCOs
implementation of Java Message Service.
It obey the Java Message Service specifications
Some features like load-balancing, routing and fault
tolerant configurations are added to TIBCO EMS
Benefits of EMS
Reduces the cost and complexity of integrating
different systems
Increases flexibility and promotes greater service
reuse
Improves the performance, scalability and reliability of
distributed system communication
File Palette

File palette
CONTENTS:
Copy file
Create file
File poller
List files
Read file
Remove file
Rename file
Wait for file change
Write file
COPY FILE:
It used for coping a file.
In input we can give the source file(fromfilename) which is to be copied.
Destination folder (tofilename) at which the copied file is pasted.
Create

create is used to create files and directory

Just we need to give our indented file name or directory name and location as input
FILE POLLER

It is a starter activity
File poller can detect any changes in a
file at particular location at regular
intervels of time.
The input to the file poller is a location
of files or a particular file.
We can also check for a specific event
by select the options
LIST FILES

List files is used for listing all the files and directories in a location ie.. Folder.
Input to the list files activity is the desired location.
The output of the list files contains the file name size and last modified date also.
READ FILE

Read file is used for reading the file


The input to the file will be the file full name.
The output of the activity will be the content in the file
REMOVE FILE:
Remove file was used to delete the file.

It deletes the file permanently from our system we cant able to find the removed file in
recycle bin.
The input to the remove file is the file name we want to remove.
RENAME FILE:
Rename file is used for changing a file name.
We can also use the rename file for moving a file.
For renaming a file we have to give the existing file name and desired file
name.
WAIT FOR FILE CHANGE
It is a non starter process

It pause the process until the changes are made in the location which is specified
WRITE FILE

Write file is used for writing text content into the file
It can create non existing directories also
Groups and HTTP Palette
What is a Protocol
Http Introduction
Http palette
Groups in TIBCO
Types of Group Actions
Protocol
Common set of rules and instructions that each computer follows

HTTP Protocol
Hyper text transfer protocol
Application layer protocol
Works as a Request Response model
Usually works on 8080 port in association with TCP protocol and on 80
port with UDP
HTTP Palette
Used to communicate with web server through HTTP Palettes.
Consists of six activities ( 2 at project level, 4 at process level)

Available at Project Level

Available at Process Level


HTTP Palette
HTTP Connection: Describes the connection properties . Necessary if we use
either HTTP receiver or wait for HTTP request

HTTP Proxy : Useful when we want to send requests outside the firewall to a
proxy server(HTTP)

HTTP Receiver : It is process starter activity which will be triggered once it gets
a HTTP request.

Send HTTP Request: Asynchronous activity that sends an HTTP request and
waits for a response from the Web Server
Wait for HTTP Response : Waits for an incoming HTTP request in a
process. The process instance suspends until the incoming HTTP request is
received.

Send HTTP Response : Sends a response to a previously received


HTTP request. Activity is used in conjunction with the HTTP receiver process
starter or Wait for HTTP Request activity. default status line returned is "200
OK".
Groups in TIBCO

Groups are used to segregate certain actions together.


Used for iterations
Used for repeating a group of activities or a single activity for a specific number
of times
Ex: if we want to repeat a sub process for 10 times we will use a group action.
Group Actions
1) Iterate
2) Repeat until true
3) Repeat on error until true
4) Transaction
5) Critical section
6) Pick first
7) While true
8) if
Iterate :
Used to iterate group once for every item in the list
Iterate can be of any number of times depending on the loop condition

Iterate action on a
Input group Output
Repeat until true:
Repeat the iterations until the condition is true
Once the defined condition is true, it will come out of the loop
Condition is true then exit

Fail Execute and repeat


Input
Group with a Loop
True
condition defined
Exit Loop
Repeat on error until true:
Used to iterate a group when an error occurs
If there is no error it is executed only once
Example would be a password for account

No Error
Input Group with Execute and exit
repeat on error Error
for n times Keep repeating for N times
and exit
Critical Section :
Synchronize process instances so that only one process instance executes the
grouped activities
Other process keeps waiting until the process instance that is currently executing
critical section completes

Process 1
Group with Process 1 executes group first
Process 2 critical section
Process 2 keeps waiting until the other is
completed and then executes group
While True:
Repeat as long as the defined condition evaluates as true
If the condition evaluates as false exit the group

Group True
Execute and repeat
Input
Evaluate Fail
Exit without
condition first execution
Mapper Activity
What is Mapper Activity?
TheMapperis a synchronous activity that adds a new
process variable to the process.
This variable can be an inline schema, primitive
element, or a complex element.
The Mapper activityadds a new process variableto the
process definition.
Mapper activity is used to convert one XML structue
into another XML structure.
It can be used to write your logics.
You can find Mapper Activity in General Activities.
Input Schema:
We can always give the input schema structure in the
Output Editor of Start activity.
Output Schema:
The output schema structure can be specified in the
Input Editor of the Mapper Activity.
How do we use Mapper Activity?
When an activity is first dragged from a palette to the design panel, the
activitys input elements are displayed as hints. These hints show you the
data the activity expects as input. Each element can be required or
optional or repeating. Required elements must have a mapping or
formula specified.
You map data by selecting an item in the Process Data
panel, then drag and drop that item into the desired
schema element you wish to map in the Activity Input
panel.
When you perform mapping, simple mappings appear in the formula area
next to the input element after you release the mouse button. For more
complex mappings, the Mapping Wizard dialog allows you to select which
kind of mapping you wish to perform.
Most options in the Mapping Wizard dialog are
straightforward. However, there are some complex
scenarios that require multiple steps.
You can specify XPath formulas to transform an element if you need to
perform more complex processing.
The XPath Formula Builder allows you to easily create XPath formulas.
Input: Output:
Statements:
There are some statements that are used to convert a
hint into a statement without performing any mapping.
They are as follows:
Surround With If
Surround With For Each
Surround With For Each Group
Surround With Choice
Statements(Cont..)
When you select an element in the Activity Input
schema and right-click, a popup menu appears. The
Statement menu item contains several sub-items that
are useful shortcuts for creating statements.
Surround with If:
An if statement is used to surround other statements in an
XSLT template to perform conditional processing.
If the test attribute evaluates to true, the statements in the
if are output, otherwise they are not output.
Surround with For-Each:
A shortcut for moving the current element into a For-Each
statement performs the specified statements once for each
item in the selected node.
This is useful if you wish to process each item of a repeating
element once.
Surround with For-Each-Group:

A shortcut for moving the current element into a For-Each-Group statement


and adding a Group-By grouping statement.

Groups the items in a list by a specified element. This statement requires a


Grouping statement to specify which element to group-by.
You may need to convert a flat list of items into a more structured list. For
example, you may have list of all orders that have been completed. You may
want to organize that list so that you can group the orders placed by each
customer.
This scenario typically occurs when you retrieve records from a relational
database and the records must be structured differently.
Surround with Choice:
A shortcut for adding a choice statement and its associated
conditions or otherwise statements around the currently
selected element.
Variables:
There are four types of variables available in TIBCO BW. They
are

Global Variables
Process Variables
Shared Variables
Job shared Variables
Global Variables:
Global variables are the static variables and they can be set during
the run time.
TIBCO Global variables allow you to specify constants that can
be used throughout the project.

Advantages:
1) Easy Reuse of variables in multiple places in the project
2) Easy to change global variables value in TIBCO
Administrator.
ProcessVariables:

Process variables are data structures available to the activities


in the process.

Scope of the Process variable is with-in the process in which


it has been declared.

Assign Activity is used for assigning values to the process


variables
Shared Variables
Shared variables allow you to specify data for use across multiple process instances.

Scope of the shared variable is it can be used in the entire project.

Get Shared Variable and Set Shared variable activities are used for retrieving and setting the data
for a shared variable.
Job-Shared Variables

A Job Shared Variable resource is similar to a Shared Variable, but its scope is limited to
the current job.

A copy of the variable is created for every instance

It is used for passing data to and from sub-processes .

Get Shared Variable and Set Shared variable activities are used for retrieving and setting
the data for a shared variable.
Data-Base Concepts:
A database is an organized collection of data so that we can access
the data easily.

It stores the data in the form of files. It can store data in the form of
tables, but there will be no relation between the tables. So, we go for
Relational Data Base management systems.
SQL:
SQL stands for Structured Query Language. SQL is the standard
language for relational database management systems.

SQL Commands:
Create
Select
Insert
Update
Delete
Drop
What is JDBC?
JDBC is a Java API that can access any kind of tabular data, especially data
stored in a Relational Database

What is JDBC Palette?


The JDBC palette contains activities and shared resources for querying,
updating, or calling stored procedures in the database.
JDBC Palette Activities:

Activity Action

JDBC Query Performs the specified SQL SELECT


statement
JDBC Update Performs the specified SQL INSERT,
UPDATE, or DELETE statement.
SQL Direct Executes an SQL statement that you supply

JDBC Call Procedure calls a database procedure or function using


the specified JDBC connection.
Thank You