Download - Tibco business works
BySudheer NelluriRaghu NukalaRaja SunkavalliPrashanti RaoRaghu Pullela
• 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
TIBCO Business Works
Role of XML
XML Activities
Parse Palette
Role of EMS
Business Integration Software
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
Reduces the amount of time and effort to develop and deploy business activities
In BW
In JAVAimport java.io.*;
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();}
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
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
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
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
Transform XML:Allows us to transform an input XML document into the output specified by the
given XSLT File shared configuration resource
XSLT FileAllows us to load an XSLT file to use to transform XML schemas using the Transform
XML activity
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 specified Data Format shared configuration
Render Data:
Takes an instance of a data schema and renders it as a text string. The schema processed is based on a specified Data Format shared configuration
Enterprise messaging allows different systems to communicate with each other
Enterprise Message Service is the TIBCO’s 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
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 fileThe 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 fileIt can create non existing directories also
What is a Protocol
Http Introduction
Http palette
Groups in TIBCO
Types of Group Actions
Common set of rules and instructions that each computer follows
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
Used to communicate with web server through HTTP Palettes.
Consists of six activities ( 2 at project level, 4 at process level)
Available at Process Level
Available at Project Level
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 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.
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
groupInput Output
Group with a
condition defined
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
Input
Execute and repeat
LoopFail
Exit Loop
True
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
Group with repeat
on error for n times
Input
No Error
Execute and exit
Keep repeating for N times and
exit
Error
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
Group with critical
section
Process 1
Process 2
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
Group
Evaluate condition
first
InputExecute and repeat
True
Fail
Exit without execution
The Mapper is 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 activity adds a new process variable to 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.
We can always give the input schema structure in the Output Editor of Start activity.
The output schema structure can be specified in the Input Editor of the Mapper Activity.
When an activity is first dragged from a palette to the design panel, the activity’s 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:
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
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.
There are four types of variables available in TIBCO BW. They are
Global Variables
Process Variables
Shared Variables
Job shared 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.
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 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.
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.
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 stands for Structured Query Language. SQL is the standard language for relational database management systems.
SQL Commands:
Create
Select
Insert
Update
Delete
Drop
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.