Sei sulla pagina 1di 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.*;

Reduces the amount of


time and effort to develop
and deploy business
activities
In BW

public class Test {


public static void main(String [] args) {
String fileName = "temp.txt";
String line = null;
try {
FileReader fileReader = new FileReader(fileName);
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

Input

Iterate action on a
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
Input

Group with a
condition defined

Execute and repeat


Loop

True

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

Input

Group with
repeat on error
for n times

No Error
Error

Execute and exit


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
Process 2

Group with
critical section

Process 1 executes group first


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

Input

Group
Evaluate
condition first

True
Fail

Execute and repeat


Exit without
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
Surround
Surround
Surround

With
With
With
With

If
For Each
For Each Group
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

Potrebbero piacerti anche