Top Banner
Enterprise Application Interface What is EAI ? EAI constitutes a basic framework that seamlessly links Heterogeneous business applications both packaged and Internally developed into one unified system so Processes and Data can be shared throughout the company and beyond, to include partners, customers and other stakeholders. Establish the communication between different application and different platforms also. Definition:EAI combines separate application into a co-operating federation of application Integration: Extracting the information b/w Systems[Different system is known as Integration.
299
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: tibco sol

Enterprise Application Interface

What is EAI ?EAI constitutes a basic framework that seamlessly links Heterogeneous business applications both packaged and Internally developed into one unified system so Processes and Data can be shared throughout the company and beyond, to include partners, customers and other stakeholders. Establish the communication between different application and different platforms also.Definition:EAI combines separate application into a co-operating federation of applicationIntegration: Extracting the information b/w Systems[Different system is known as Integration.

Page 2: tibco sol

EAI TOOLS

Tibco –Core javaFinanceBankingTelecommunicationB2B solution.

Web Methods-J2eeMarketing(B2c)

Scebeyond –Core java Health care sector[HLT,HIPPA]

Vitria –J2eeFinance

Sap Net weaver XI –j2ee,abap MQ Serious – Point to point Application (B2B – single)Marcaton ,wlpb ,wspb ,BizTalk server

Page 3: tibco sol

Why should we go for EAI?

Major

propellers

Stake holder Satisfactions

Merger acquisition

ROIGlobalization

Technology changes

EAI

Page 4: tibco sol

GlobalizationROI-Returns on InvestmentStake Holder satisfactionTechnology changes Merger acquisitionMajor Propeller

Page 5: tibco sol

EAI MODEL

Point to point ~Middleware

Page 6: tibco sol

EAI – Middleware Technology

Message-Oriented-MiddlewareGuarantee of DeliveryError Handling

Remote Procedure Call (RPC)Connection-Oriented communication servicesBasic data-type translation

Object Request Broker (ORB)Business logic levelConnects objects such as customers and accounts

Page 7: tibco sol

Message-Oriented Middleware (MOM)MOM enables movement of data packaged as messages between independent applications on multiple platforms and across disparate networks with a guarantee of delivery. MOM is used in distributed networks to manage the message distribution, receipt confirmation, and error handling processes

Remote Procedure Call (RPC) MiddlewareRPC is synchronized with basic data-type translation and connection-oriented communication services and can also refer to products that use Interface Definition Language (IDL) to describe the argument lists for outgoing and incoming parameters. Normally DBMSs and Database Gateways incorporate RPCs into their applications.

Object Request Broker (ORB) MiddlewareORB Middleware connect at the business logic level by using defined standards and connecting objects, such as customers, accounts and transactions. This is most suitable to organizations obtaining new applications or developing applications internally.

Page 8: tibco sol

EAI Architecture

ERPGISCRM

SCADA DBMSApp

Integration BusIntegration Bus

GIS

App

Adapter

Page 9: tibco sol

Composition of EAI Solution

An Integration Bus Adapters Tools to build Custom Adapters Monitoring, Administration and Security

facilities

Page 10: tibco sol

EAI Implementation Guidelines Map the IT Requirements to Business Strategy Evaluate Business Process and Data models Measure ROI Establish definite canons, regulation

procedures, ownership and accountability Compare different EAI packages in the market Evaluate Technologies Check for the development Tools Check for Administration tools and processes

Page 11: tibco sol

Key Benefits

The elimination of redundant data repositories.

A reduction in IT expenditures.The facilitation of Business Process

Management.Extensibility

Page 12: tibco sol

EAI CONTEXT

EAI CONVERTS DATA INTO MESSAGES WHICH ARE UNDERSTANDABLE TO any kind of application

They are 2 types of integration Point to point integration Middleware baes application

Page 13: tibco sol

Type of EAI

Point –to-point architecture

Server centric architecture

Net centric architecture

Page 14: tibco sol

Point –to-point architecture

Client & server architecture

Best example is MQ-serious

Page 15: tibco sol

Server centric architecture

It maintain the one centralized server

One drawback is all application come

Deadlock problem

All application run at time means that time centralized server asked which application is first

Best example is web method and sap xi

Centralized serverOracleSap

Peoplesoft

scebal

Page 16: tibco sol

Net centric architecture

One centralized bus or network is available

Databases are communicate the bus architecture

Connect to the network and subscribe the data.

Best example is tibco , scebehaind.

Net centric bus

Secibal People soft

Oracle Sap netwevar

Page 17: tibco sol

Levels of EAI

Database level EAIApplication level EAIMethod level EAIInterface level EAI

Page 18: tibco sol

Database level EAI

If u want establish the communication between the database to database.

Database level eai usage is 30%

Oracle Sap

Sibel javaEAI

EAI

Page 19: tibco sol

Application level EAI

Application level EAI using to communicate different flat forms at a time.

Application level EAI usages is 60%

OraclePeople soft

SecibelEAI EAI

Page 20: tibco sol

Method level EAI

C++ Java COM VB VB C++

Method level EAI usage 10%

Page 21: tibco sol

Interface level EAI

If two EAI want to communicate A to B and A develop the one interface and B also implement the one interface

A B

INTERFACE

INTERFACE

Page 22: tibco sol

Rules of EAI

Synchronization & A synchronization-Request and Reply-Example http protocol-yahoo messenger-it activates means get the data-offline Ability to communicate business and partner-internal business communication and other

business communication. Drag & Drop B2B,B2C,A2A,SOA,E2A

Page 23: tibco sol

TIBCO-THE INFORMATION BUS COMPANY It is one of the most powerful EAI tool There is no server in Tibco.That is the main

diference b/w others eai tools & tibco. Tibco follows bus architecher where as other

eai tools follows hub& spoke(client/server) architecher.

In tibco every thing is zero coding In other eai tools in addition with http,ftp,smtp

protocols we need separate Adapr for http,ftp..etc.But in tibco we need just http,ftp,…etc .These will take care about adapters.

Page 24: tibco sol

As a tibco developer four things we need to know that Adapter-with which data will be

sent/receive by external system . Messaging –with which data will be sent

reliably between the systems. Schemas-define the structure for

incoming & outgoing Data Mapping –It means converting one

schema structure into another schema structure & performing business logic

Page 25: tibco sol

Tibco Architecture

There are three phases in Tibco DevelopingDeploymentProduction MonitorFor developing we have to use Tibco

Architecture

Page 26: tibco sol

Tibco Solution

Real time business integration , application, database, enterprise portal as well as service BAM(BUSSINESS ACCESS MONTORING) or optimization

Page 27: tibco sol

Tibco Advantage

• Total Business Solution.

• Flexibility for changing needs.

• Scalability for dynamic demand.

Page 28: tibco sol

BENEFITS OF TOTAL BUSINESS INTIGRATION

• Processes

Reduce costs Improve efficiencies Operate in Real time

People

Simplify change Empower staff Access data

• Partnerships

Seamless Visible Integrated

Page 29: tibco sol

BENEFITS OF TOTAL BUSINESS INTIGRATION

• Processes

Reduce costs Improve efficiencies Operate in Real time

People

Simplify change Empower staff Access data

• Partnerships

Seamless Visible Integrated

Page 30: tibco sol

TIBCO Product Strategy• TIB/Active Enterprise Automate internal

systems and processes

• TIB/Active Portal Business via

interactive,personalized portals

• TIB/Active Exchange Partners and B2B

markets

Page 31: tibco sol

TIBCO Active Enterprise

TIB/Rendezvous Messaging infrastructure.

TIB/Adapters Data translation.

TIB/MessageBroker Data transformation.

TIB/Repository Metadata repository.

Page 32: tibco sol

TIB/Integration ManagerProcess automation

TIB/InConcertWorkflow management

TIB/HawkMonitoring & management

Page 33: tibco sol

Messaging - TIB/Rendezvous TIBCO Active Enterprise provides a common messaging platform with one connection to each application and no central server.

Locally enables applications to send and receive messages.

Extremely high degrees of flexibility and scalability.

Event-driven communications or traditional request/reply.

Page 34: tibco sol

Data Translation - Adapters

Adapters that connect applications by converting internal events into messages

Off-the-shelf adapters for ERP, CRM and B2B applications and databases.

Adapters for development models and other messaging technologies.

Development kit for quickly creating custom adapters.

Page 35: tibco sol

Data Transformation Message Broker

TIBCO ActiveEnterprise transforms messages so applications can resolve structural and content

differences.

Increases efficiency and reduces errors.

XML provides common structure for metadata.

Page 36: tibco sol

Process Management TIB/Integration-Manager TIBCO ActiveEnterprise manages business

processes

Automated sequencing of operations performed by

applications and databases.

Management of the workflow of tasks performed by

people.

Page 37: tibco sol

Common Data Store TIB/Repository

TIBCO ActiveEnterprise provides monitoring and management

capabilities that keep e-business systems running smoothly

at all times

Automated responses to system problems.

Instant alerting of system administrators.

Remote management of applications and network resources.

Page 38: tibco sol

System Monitoring and Management TIB/Hawk

Integrated with ActiveEnterprise products Adapters, MessageBroker, Integration Manager

Provides a robust common metadata storage facility

Configuration of adapters Data schemas for messages, files, and database tables Business process models

Allows import / exports of binary and XML files.

Page 39: tibco sol

TIBCO ActiveEnterprise Advantages

Page 40: tibco sol

Benefits of using a Portal

Personalized platform.

Empower employees, vendors.

Value add for customers, partners.

Branding, visibility.

Turn viewers to users to buyers.

Automate, distribute the supply chain.

Page 41: tibco sol

TIBCO Active Portal

TIB/Portal Builder Integrated, personalized content via Web and wireless devices

TIB/Portal Pack Aggregation and distribution of 3rd-party content and services

TIB/Alert Server Message delivery to wireless devices

Page 42: tibco sol

TIBCO Active Portal ADVANTAGE Integration From enterprise and 3rd party sources.

Personalization User management of specific content. Administrative management of design and

access privileges.

Delivery Real-time, event-driven. Web and Wireless.

Page 43: tibco sol

Partnership Challenges

Business

Time delays and increased errors.

Limited support for collaborative business processes.

Consistent customer service for all customers

Fragmented management of trading partners or supply chain.

Page 44: tibco sol

Partnership Challenges

Operational

High overhead to support mid-size and low tech trading partners

Existing systems are expensive to maintain, inflexible and limited

Cross company data and process integrations are complex and hard to deployv

Page 45: tibco sol

TIBCO Active Exchange

TIB/Business Connect Full-featured sophisticated integration server.

TIB/Business Connect for Rosetta Net Full support for the Rosetta Net standard.

TIB/Business Partner Lightweight application giving entry level connectivity

to partners.

TIB/Partner Express Browser-based application for small partners to

connect to the trading network.

Page 46: tibco sol

TIBCO Active Exchange Advantages

Automating cross company business processes Communicating with trading partners

effectively, efficiently, in real time.

Secure exchange of commerce documents over the Internet and private networks.

Management of trading partner membership for all

partners.

Page 47: tibco sol

Leverage TIBCO Technologies TIB/ActiveEnterprise Automate internal systems and

processes.

TIB/Active Portal Business via interactive,personalized

portals.

TIB/Active Exchange Partners and B2B markets.

Page 48: tibco sol

Leverage TIBCO Technologies TIB/ActiveEnterprise Automate internal systems and

processes.

TIB/Active Portal Business via interactive,personalized

portals.

TIB/Active Exchange Partners and B2B markets.

Page 49: tibco sol

Produce Total Business Solutions

Page 50: tibco sol

RV-RENDEZVOUS rv is a s/w or protocal like tcp/ip or udp RV responsbulity is distibuted application these are d couppled application Rv is self describing data based on subject names .

MOMBus Based ArchitecherWire formatGranted and realible message

Bussines works- To develop the sclable & exchange and easy to develop the intigration of bussiness process components.

To create the bussiness processLess java codeNot allow the java scriptThis concept implement xmlWe can save the project group files and project ear in degin

Hawk hawk is tibco monotoring system( life cycle system, sender,target system)Entair life cycle bussiness processAlret message and blinks

Page 51: tibco sol

RepositoryData and meta data need tibco AE components(IM,MB,HAWK)Message brokarData transformation and routing (message brokar engin subcribe other system)

Intigration managerOldest manager,java code,javascriptStored as .dat format.dat file deployee the adminTo develop the bussiness process

Adapter To develop the custom adapterUser can develop the adaptorSupporting two types of adapto- application

-custom

Page 52: tibco sol

Active portal

Communication between web or mobailPortal builder supporting server only Bussiness connector- trading network components online communication

B2c communication

Active Exchange:To develop the workflows intigration incocept,staffware

Page 53: tibco sol

TIBCO BUSINESS WORKS

WIREFORMAT TECHNOLOGIES

Page 54: tibco sol

BUSSINESS INTIGRATION

• Business Integration• TIBCO BusinessWorks is a scalable, extensible, and easy to

use integration• platform that allows you to develop integration projects.

TIBCO BusinessWorks includes a graphical user interface (GUI) for defining business processes and an engine that executes the process.

• It provides an integrated user experience for all phases of the integration life cycle, including process Automation, data transformation, adapter configuration, deployment, security and runtime administration and monitoring.

• TIBCO BusinessWorks also works with TIBCO Administrator, a web-based GUI for monitoring and managing run-time components.

Page 55: tibco sol

BW KEY COMPONENTS

TIBCO Designer TIBCO Business Works Engine TIBCO Runtime Agent TIBCO Administrator TIBCO ADAPTOR

Page 56: tibco sol

TIBCO Designer

Page 57: tibco sol

Starting the TIBCO Designer• Click Start>Programs>TIBCO>Designer_version (or ) Navigate to the <tibco_home>/designer/<version>/bin directory.

• Type ./designer

• Select one of the Startup Options

Page 58: tibco sol

TIBCO Designer Interface Overview

Which palettes are displayed depends on:

• the installed TIBCO products

• the resource selected in the project tree

• preferences set

Page 59: tibco sol

TIBCO BW PALETTS

Page 60: tibco sol

TIBCO BusinessWorks Palettes

Procesé Palette

General Activity Palette

ActiveEnterprise Adapter Palette

File Palette

FTP Palette

HTTP Palette

Java Palette

General Activities Palette

TCP Palette

EJB Palette (Chargeable)

JDBC Palette

JMS Palette

Mail Palette

Parse Palette

Rendezvous Palette

SOAP Palette

WSDL Palette

XML Activities Palette

RMI Palette

Transaction Palette

Page 61: tibco sol

Process PaletteProcess Definition

• When editing process definitions, the palette panel changes to a list of activity palettes that can be used within a process definition

• Process Variables Tab that allows to specify user-defined process variables for the process definition

• A value to the process variable can be assigned with the Assign

• This tab contains two panels:

• Left panel allows to add, delete, and rename process variables

• Right panel allows to define data schemas for the process variable selected in the left panel

Allows business processes definition

Page 62: tibco sol

Active Enterprise Adapter PaletteCommon Features

• Support for Message Filter Resources • ActiveEnterprise Adapter activities automatically make use of the class specified in the Message

Filter resource defined for Adapter Configuration

• When deploying a project, TIBCO BusinessWorks process engine needs to have access to any classes specified in a Message Filter resource

• Internationalization Support • TIBCO BW and TIBCO Adapter products can use either the Latin-1 or UTF-8 character encoding

• Refresh Adapter Service Button• Button that allows to re-synchronize activities with the adapter service specified in the activity. Any

changes that have occurred to the adapter service are reflected in the activity after the refresh completes.

• Transport Tab• Allows to override the transport configuration of the adapter service.

• Has different fields depending upon which transport is selected in the Transport Type field

• Configure SSL button• Allows to configure the SSL parameters when the transport supports SSL and the SSL field is

checked

Page 63: tibco sol

Active Enterprise Adapter Palette

Adapter Request-Response Server Starts a process based on the receipt of a request from an adapter

• The adapter sends a request by way of a pre-configured request-response invocation service, and the process that is started acts as the implementation of the request.

• The process sends any required responses back to the adapter’s service using the Respond to Adapter Request activity. Adapter Subscriber

Starts a process based on the receipt of a message from the publication service of the specified adapter

Respond to Adapter Request

Is used to send a response to an adapter for a previously received request.

Publish to Adapter

publishes a message that can be received by an adapter’s subscription service

Page 64: tibco sol

Active Enterprise Adapter Palette

Send Exception to Adapter Request

Used to send an exception to an adapter for a previously received request

Wait for Adapter Message

Waits for the receipt of a message from the publication service of the specified adapter

Wait for Adapter Request

Waits for the receipt of a request from an adapter request-response invocation service

• The adapter sends a request by way of a pre-configured service, and the process definition acts as the implementation of the request

• The process sends any required responses back to the adapter’s service by placing the Respond to Adapter Request activity at a later point in the process definition.

Page 65: tibco sol

EJB PaletteEJB Overview

• EJB palette of TIBCO BusinessWorks allows to connect to J2EE-compliant application servers and invoke Enterprise Java Beans (EJBs) on the servers

• The EJB specification includes support for distributed transactions. However, the EJB palette does not currently support client-managed transactions, including EJB calls. Therefore, you cannot call an EJB with the "Mandatory" transaction attribute.

• The EJB palette has been tested with the following application servers: • BEA WebLogic, Version 7.0 with service pack 2

• BEA WebLogic, Version 8.1 with service pack 1

• JBoss, Version 3.2.1

• IBM Websphere, Version 5.0.2

• A TIBCO BusinessWorks process instance acts as an EJB remote client

• To connect to an EJB server and invoke an EJB, the client must have the following in the classpath:

• the application server JAR files (supplied by the EJB server vendor) required for clients.

• the client JAR files that contains the required EJB client stubs (EJBHome, EJBObject) for invoking the desired beans

Page 66: tibco sol

EJB Palette (Chargeable)

EJB Connection

EJB Home

Establishes a connection to the service, obtains a reference to the home object, and then obtains a reference to the remote object from the home object.

It can also be used to invoke a method on the EJB’s home object

EJB Remote

Invokes a method on the remote object obtained by the EJB Home activity

Must be placed after an EJB Home activity in a process definition

Specifies the connection configuration for the JNDI server• The Maximum Connections field specifies the maximum number of

InitialContexts TIBCO BusinessWorks will create at any given time

• The InitialContext is only used when obtaining a reference to the Home object. Once the Home object is obtained, the context is released back into the pool

Page 67: tibco sol

File Palette

Create File

File Poller

Polls for files or directories with the given name and starts a process when a change (creation, modification, deletion) is detected

List Files

Returns information about files or directories or a listing of all the files in the specified directory

Creates a new file or directory with the specified name.

When creating a file, you can also provide the file contents.

Read File

Is used to read a file and place its contents into the process’ available data

Page 68: tibco sol

File Palette

Remove File

Rename File Is used to rename or move files

Can also rename directories (it cannot be used to move a directory to a new location)

Wait for File Change

Waits for a file change (creation, modification, or deletion) to occur during process execution

When this activity is encountered, the process instance is suspended and waits for the specified file to change before resuming

Removes the specified file

Can also remove empty directories

If an attempt is made to remove a directory that is not empty, an exception is thrown

Write File Writes the desired contents to the specified file

Page 69: tibco sol

FTP PaletteFTP Connection

FTP Delete File

Issues an FTP delete or mdelete command to remove one or more files from the remote server

FTP DIR

Provides a listing of files in the specified directory of the FTP server

Describes a connection to an FTP server

FTP connections are used when configuring activities in FTP palette.

FTP Get Issues an FTP get or mget command to the specified server

Remote files can be retrieved to process data or to local storage

Process data only one remote file (FTP get command). File’s content will be stored in memory as part of the activity’s output

Local storage one or more files (FTP get or mget commands)

Page 70: tibco sol

FTP Palette

FTP Get Default Directory

FTP Make Remote Directory

Creates the specified directory on the remote FTP server

FTP Put Issues an FTP put or mput command to the specified server

Process data can be used as the content of the file to send to the remote server

Files in local disk storage can be sent

Process data only one file to the remote server (FTP put command)

Locally stored files one or more files to the remote server (FTP mput command).

Retrieves the name of the current remote directory

Default remote directory is operating system-dependent and determined by the remote FTP server

Page 71: tibco sol

FTP Palette

FTP Quote

FTP Remove Remote Directory

Deletes the specified directory from the remote FTP server

FTP Rename File

Renames the specified file on the remote FTP server

Sends an arbitrary FTP command to the FTP server

Supported FTP commands can be determined by using the Available Commands button on the FTP Connection shared configuration resource

FTP Sys Type

Retrieves the FTP server’s operating system type

Page 72: tibco sol

General Activities Palette

Page 73: tibco sol

General Activities PaletteAssign

Call Process Calls and executes an existing process definition

The input is defined in the Start activity of the called process

The output is defined in the End activity of the called process

Allows to assign a value to a user-defined process variable

When executed, the entire schema for the selected process variable is replaced with the specified values. Elements that do not have a value specified in the Input tab are set to null FTP connections are used when configuring activities in FTP palette.

Checkpoint Performs a checkpoint in a running process instance

A checkpoint saves the current process data and state so that it can be recovered at a later time in the event of a failure

If a process engine fails, all process instances can be recovered and resume execution at the location of their last checkpoint in the process definition

There is no input or output for the activity

Page 74: tibco sol

General Activities PaletteConfirm

External Command Allows to execute an Operating System command

Waits for the command to complete before transitioning to the next activity

Optionally, the command’s output and any errors can be included in this activity’s output schema, written to a file, or both.

Confirms any confirmable messages received by process instance

Generate Error Generates an error and causes an immediate transition to any error

transitions, or if there are no error transitions, stops the process instance

Is useful within a group or within a called process (to catch and raise custom error conditions)

Page 75: tibco sol

General Activities PaletteInspector

Label

Is used to write the output of any or all activities and process variables to a file and/or stdout

Particularly useful when debugging process definitions to see the entire schema instead of mapping specific elements to the Write File activity.

Activities and process variables within a subprocess are not available to the Inspector activity (but the output of a Call Process activity can be written using the Inspector activity)

To obtain the output from one or more activities or process variables within a subprocess, place the Inspector activity within the process definition of the subprocess.

Allows you to create a generic label for providing documentation and comments within process definition

Is not an activity (no transitions to or from it, no action)

Labels can be resized to cover an area. By applying a border and a background color it’s possible to visually group related activities within process definition

Page 76: tibco sol

General Activities PaletteMapper

Notify Allows a process instance to send data to a corresponding process

instance containing a Wait activity or Receive Notification process starter

Notify Configuration resource and the key specified create the relationship between Notify activity and Wait or Receive Notification

Adds a new process variable to the process definition

New variable can be a simple datatype, a TIBCO ActiveEnterprise schema, an XML schema, or a complex structure

Notify Configuration Specifies a schema to use for passing data between executing

process instances

Corresponding Receive Notification, Notify and Wait activities use the same Notify Configuration resource to define the data for inter-process communication

Schema can be empty (pass data between processes isn’t needed)

Page 77: tibco sol

General Activities PaletteNull

Receive Notification

Starts a process when another process executes a Notify activity with a matching key and Notify Configuration resource

The same Notify Configuration shared configuration resource must be specified by corresponding Receive Notification and Notify activities so that data can be passed from the process containing the Notify activity to the process started with Receive Notification

Activity with no action performed

Useful to join multiple process flows

Sleep

Suspends the process on the current transition for the given amount of time

In processes with multiple control flows, only the current execution branch of the process is suspended

Page 78: tibco sol

General Activities PaletteTimer

WaitSuspends execution of the process instance and waits for a Notify activity with a matching key to be executed in another process instance

The same Notify Configuration shared configuration resource must be specified by corresponding Wait and Notify so that data can be passed from the process instance containing the Notify activity to this process instance

Starts a process at a specific time or periodically

Write to Log

Writes a message to the log

Logs are stored within the TIBCO BusinessWorks installation directory under the logs subdirectory

There is one log file for each process engine

Page 79: tibco sol

HTTP PaletteHTTP Connection

HTTP Receiver

Starts a process based on the receipt of a HTTP request

Describes the characteristics of the connection used to receive incoming HTTP requests

At most one process with an HTTP Receiver or Wait for HTTP Request can use the same HTTP Connection resource (this restriction allows the HTTP server listening for incoming requests to dispatch the request to the correct process)

There can be more than one SOAP Event Source that uses the same HTTP Connection (or SOAP Event Source and HTTP Activity)

Allows to specify that HTTPS protocol must be used by clients

Proxy Configuration

Used to specify a proxy HTTP server when HTTP requests are sent outside of a firewall

Page 80: tibco sol

HTTP PaletteSend HTTP Request

Send HTTP Response

Sends a response to a previously received HTTP request

Used in conjunction with the HTTP Receiver process starter or the Wait for HTTP Request activity

Default status line returned by this activity is "200 OK"

Sends a HTTP request to a web server

This activity can send a request to a server that complies with either the HTTP 1.0 or 1.1 specification

To specify HTTP version of the server you are sending the request to isn’t needed (TIBCO BW automatically sends request using the correct version based on version supported by the HTTP server)

Wait for HTTP Request

Waits for an incoming HTTP request within a process definition

Process instance suspends until incoming HTTP request is received

Page 81: tibco sol

Java PaletteJava Code

Java Custom Function

Allows to create custom functions to use when mapping data in an activity’s input tab

These functions are also displayed when using the XPath Editor to build an XPath expression

To create a custom function, first write the function as a method of a Java class and compile the code into a Java class file. Then load that class file into the project using this resource

Allows to write standard Java code that can manipulate any of the process data or perform any custom action

Automatically creates an invoke() method in which code should be put

When input and output parameters are specified, get/set method code is automatically generated for the activity

Java Method Allows to invoke a method contained in a Java class

Java class file must be located in the classpath for TIBCO Designer and the TIBCO BusinessWorks process engine

Page 82: tibco sol

Java PaletteJava Schema

Java To XML

Allows to convert a Java object’s data members into an XML document

Allows to specify a Java class that is used to configure a Java To XML or XML to Java activity

Java class is converted to an XML schema using the some rules

XML To Java Allows to create an instance of a Java object based on data from an

XML document

The XML schema for providing input to the Java object is created from the Java object or Java Schema specified on Configuration tab

Page 83: tibco sol

JDBC Palette

JDBC Call Procedure

JDBC Connection

Describes a JDBC connection

Calls a database procedure using the specified JDBC connection

If it is not part of a transaction group, it is committed after completion

If it is part of a transaction group, it is committed or rolled back with other JDBC activities within the group at the end of transaction

To commit after completion within a transaction group, check Override Transaction Behavior field

JDBC Query

Performs the specified SQL SELECT statement

Page 84: tibco sol

JDBC Palette

SQL Direct

JDBC Update

Performs the specified SQL INSERT, UPDATE, or DELETE statement

If it is not part of a transaction group, it is committed after completion

If it is part of a transaction group, it is committed or rolled back with other JDBC activities within the group at the end of transaction

To commit after completion within a transaction group, check Override Transaction Behavior field

Executes a provided SQL statement

Allows to build a SQL statement dynamically (using other activities), then pass the SQL statement into this activity’s input

Also allows to execute SQL statements that are not supported by other activities in JDBC palette If it is not part of a transaction group, it is committed after completion

If it is part of a transaction group, it is committed or rolled back with other JDBC activities within the group at the end of transaction

To commit after completion within a transaction group, check Override Transaction Behavior field

Page 85: tibco sol

JMS Palette

JMS Connection

JMS Application Properties

Describes any JMS message properties that a JMS application expects

These properties can then be added to a JMS message on the Advanced tab of a JMS activity (they will appear as "OtherProperties" on the Input or Output tab of the activity)

Describes a JMS connection (used when specifying JMS activities)

JMS Queue Receiver

Starts a process based on the receipt of a message for the specified JMS queue

JMS Queue Requestor

Used to send a request to a JMS queue name and receive a response back from the JMS client

Page 86: tibco sol

JMS Palette

JMS Topic Publisher

JMS Queue Sender

Sends a message to the specified JMS queue.

Sends a message to the specified JMS topic

JMS Topic Requestor

Used to communicate with a JMS application’s request-response service (this service invokes an operation with input and output)

The request is sent to a JMS topic and the JMS application returns the response to the request

JMS Topic Subscriber

Starts a process based on the receipt of a message for the specified JMS topic

Page 87: tibco sol

JMS Palette

Reply To JMS Message

Sends a reply to a previously received JMS queue or topic message

Selected activity determines which message reply message is in response to

Wait for JMS Queue Message

Waits for the receipt of a message for the specified JMS queue

Wait for JMS Topic Message

Waits for the receipt of a message for the specified JMS topic

Page 88: tibco sol

Mail Palette

Receive Mail

Polls a POP3 mail server for new mail

When new mail is detected and retrieved, the Receive Mail process starter starts a new process for the process definition it resides in and passes the mail data to the next activity in the process flow

Send Mail

Sends an email by way of a SMTP server

Page 89: tibco sol

Parse Palette

Data Format Shared Configuration that contains the specification for parsing or

rendering a text string using Parse Data and Render Data activities

Specifies the type of formatting for the text (delimited columns or fixed-width columns), the column separator for delimited columns, the line separator, and the fill character and field offsets for fixed-width columns

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 specified

Each column of an input line is transformed into the corresponding item in the specified data schema. Each line is treated as a record, and multiple lines result in a repeating data schema containing the lines of the input text string.

Render Data Takes an instance of a data schema and renders it as a text string

(based on a specified Data Format shared configuration)

Each record in the input data schema is transformed into a line of output text. Each record in a repeating data schema is transformed into a separate line in the output text string

Page 90: tibco sol

Rendezvous Palette

Publish Rendezvous Message

Publishes a TIBCO Rendezvous message on the given subject with the given message content

Rendezvous Subscriber

Creates a process when a TIBCO Rendezvous message on the given subject is received

Rendezvous Transport

Describes a TIBCO Rendezvous transport

Resource used when specifying activities from Rendezvous palette

Page 91: tibco sol

Rendezvous Palette

Send Rendezvous Request

Publishes a TIBCO Rendezvous message on the given subject with the given message content, and it expects a reply to the message on the given reply subject and with the given reply message content

Wait for Rendezvous Message

Waits to receive a TIBCO Rendezvous message with the given subject

Reply to Rendezvous Request

Used to send a reply to a received TIBCO Rendezvous message

Page 92: tibco sol

RMI Activities Palette

RMI Lookup The RMI Lookup activity retrieves a reference to a remote object from

the specified registry server. The object reference output by this activity can be passed to a Java Code or Java Method activity to invoke methods on the remote object.

RMI Server The RMI Server process starter registers the specified remote object

name with the specified registry server and then creates process instances to handle incoming requests for the object. The process definition acts as the implementation of the specified object.

Page 93: tibco sol

SOAP Palette

SOAP Event Source Creates a process instance for incoming SOAP requests

SOAP Event Source process starter configuration creates a concrete WSDL file that describes the web service implemented

WSDL file is created based on a WSDL file resource in the project, but this process starter allows you to reconfigure web service definition

Retrieve Resources

Generates a WSDL file containing a concrete service description of any process definition that has a SOAP Event Source process starter (allowing clients to access the WSDL for a web service that is implemented by a TIBCO BusinessWorks process definition)

Also used to retrieve other resources (XSDs or process definitions, ...)

Normally used in conjunction with an HTTP Receiver process starter and a Send HTTP Response activity

SOAP Request Reply Performs a request on the specified web service and expects a reply

from the web service

Both document and RPC web services invocation are allowed

Page 94: tibco sol

SOAP Palette

SOAP Send Fault

Sends a SOAP fault to the client if an error occurs during processing of a SOAP request

Used when the SOAP Event Source process starter handles incoming SOAP requests

WSDL file for the request can have one or more fault schemas defined for any operation that can be used by SOAP Send Fault activity to send application-specific data about the fault back to the client that made the SOAP request

Cannot be used if the SOAP request is one way

Fault schema must be a valid XSD schema

SOAP Send Reply

Sends a reply to an application that sent a SOAP request

Used within process definitions that implement web services (when a SOAP Event Source is used as the process starter)

Cannot be used if the SOAP request is one way.

Page 95: tibco sol
Page 96: tibco sol

IntroductionIntroduction

DesignDesign

TestingTesting

DeploymentDeployment

Technical TermsTechnical Terms

Agenda

Page 97: tibco sol

Introduction

“ The purpose of this slide-show is to

provide step-by-step instructions for

developing:

Web Services Client & Server

using

TIBCO BusinessWorks 5.1”

Page 98: tibco sol
Page 99: tibco sol

Create An Empty Project

Create a new project. Specify project location.

Page 100: tibco sol

Create two folders – Processes (to hold processes) and Resources (to hold resources).

Create Project Folders

Page 101: tibco sol

Create HTTP Transport

Create HTTP transport.

Page 102: tibco sol

Create HTTP Transport

Configure the port as shown below. Avoid using common ports (80, 8080 etc.)

Page 103: tibco sol

Create Abstract WDSL

Select folder Resources. Import (.xsd) file that contains schema for WSDL configuration.

Page 104: tibco sol

Create Abstract WDSL

Select folder Resources. Import (.xsd) file that contains schema for WSDL configuration.

Page 105: tibco sol

Create Abstract WDSL

Select folder Resources. Import (.xsd) file that contains schema for WSDL configuration.

Page 106: tibco sol

Create Abstract WDSL

After importing, make sure the file is in the right folder. Then check the schema for errors.

Page 107: tibco sol

Create Abstract WDSL

After importing, make sure the file is in the right folder. Then check the schema for errors.

Page 108: tibco sol

Create Abstract WDSL

Create an Abstract WSDL.

Page 109: tibco sol

Create Abstract WDSL

Create an Abstract WSDL.

Page 110: tibco sol

Create Abstract WDSL

Create two Message objects (InputMessage, OutputMessage). Select InputMessage to configure.

Page 111: tibco sol

Create Abstract WDSL

Click on Add button and name it ClientRequest. Click on select and specify Element. Click on browse and from Select a Resource dialog box select BWWSCleintRequest.

Add

Select

Browse

Page 112: tibco sol

Create Abstract WDSL

Click on Add button and name it ClientRequest. Click on select and specify Element. Click on browse and from Select a Resource dialog box select BWWSCleintRequest.

Add

Select

Browse

Page 113: tibco sol

Create Abstract WDSL

To Configure OutputMessage :

Repeat the steps that were taken to configure InputMessage.

Page 114: tibco sol

Create Abstract WDSL

Create PortType.

Page 115: tibco sol

Create Abstract WDSL

Create operation RequestReplyOperation.

Page 116: tibco sol

Create Abstract WDSL

To configure RequestReplyOperation click on Add. Add two objects to Message Table.

Add

Page 117: tibco sol

Create Abstract WDSL

Name the objects in Message Table as ClientRequest and ServerReply. Select ClientRequest and click on Browse button.

Browse

Page 118: tibco sol

Create Abstract WDSL

Name the objects in Message Table as ClientRequest and ServerReply. Select ClientRequest and click on Browse button.

Browse

Page 119: tibco sol

Create Abstract WDSL

The final configuration should look like as shown below.

Page 120: tibco sol

Create Abstract WDSL

To Configure ServerReply:

Repeat the steps that were taken to configure ClientRequest.

Page 121: tibco sol

Create Concrete WDSL

Create two processes in the processes folder and name them WSClient, and WSServer.

Page 122: tibco sol

Create Concrete WDSL

Select WSServer process.

Page 123: tibco sol

Create Concrete WDSL

From SOAP palette drag and drop SOAPEventSource in the process panel. Click on Browse button to configure it.

Browse

Page 124: tibco sol

Create Concrete WDSL

From SOAP palette drag and drop SOAPEventSource in the process panel. Click on Browse button to configure it.

Browse

Page 125: tibco sol

Create Concrete WDSL

Click on Browse button to configure transport. Select BW-HTTP-Connection.

Browse

Page 126: tibco sol

Create Concrete WDSL

Click on Browse button to configure transport. Select BW-HTTP-Connection.

Browse

Page 127: tibco sol

Best practice Tip - (Use Document/Literal).

Create Concrete WDSL

Page 128: tibco sol

Create Concrete WDSL

Select WSDL Source tab. Right click on the wsdl source and select Save As . . . .

Page 129: tibco sol

Create Concrete WDSL

Select WSDL Source tab. Right click on the wsdl source and select Save As . . . .

Page 130: tibco sol

Create Concrete WDSL

Now we need to import this resource back to the project. Select Resources folder, and select import.

Page 131: tibco sol

Create Concrete WDSL

Select ConcreteWSDL file and import it back to the project. Make sure it imported in Resources folder.

Page 132: tibco sol

Configure Client Process

Create the process as shown below. The Timer is configured to trigger every 60 seconds. For SOAPRequestReply configuration, click on Browse button.

Page 133: tibco sol

Configure Client Process

Create the process as shown below. The Timer is configured to trigger every 60 seconds. For SOAPRequestReply configuration, click on Browse button.

Page 134: tibco sol

Configure Client Process

Map output from SOAPRequestReply to Log task.

Page 135: tibco sol

Configure Client Process

Map timer output (current timestamp) to SOAPRequestReply. The client will send a time stamp to server.

Page 136: tibco sol

Configure Server Process

Create the process as shown below. Write the mapping formula.

Page 137: tibco sol

Configure Server Process

Create the process as shown below. Write the mapping formula.

Page 138: tibco sol
Page 139: tibco sol

Click on Tester tab. Click on the green start button. Select both WSClient and WSServer process to start.

Page 140: tibco sol

Click on Tester tab. Click on the green start button. Select both WSClient and WSServer process to start.

Page 141: tibco sol

Connecting green lines show that the process was executed successfully.

Page 142: tibco sol
Page 143: tibco sol

Create .ear File

Create a folder Deployment. Add an Enterprise Archive component to it.

Page 144: tibco sol

Create .ear File

Create two Process Archive objects. (WSClientProcessArchive, WSServerProcessArchive)

Page 145: tibco sol

Create .ear File

Browse

Configure WSClientProcessArchive; use the Browse button and select WSClient process.

Page 146: tibco sol

Create .ear File

Browse

Configure WSClientProcessArchive; use the Browse button and select WSClient process.

Page 147: tibco sol

Create .ear File

Click on Build Archive.

Page 148: tibco sol

Create .ear File

Click on Build Archive.

Page 149: tibco sol
Page 150: tibco sol

Simple Object Access ProtocolSimple Object Access Protocol(SOAP)(SOAP)

is a lightweight protocol for the exchange of information between web services.

SOAP consists of three parts: • An envelope that defines a framework for

describing what is in a message and how to process it.

• A set of encoding rules for expressing instances of application-defined datatypes.

• A convention for representing remote procedure calls and responses.

Simple Object Access ProtocolSimple Object Access Protocol(SOAP)(SOAP)

is a lightweight protocol for the exchange of information between web services.

SOAP consists of three parts: • An envelope that defines a framework for

describing what is in a message and how to process it.

• A set of encoding rules for expressing instances of application-defined datatypes.

• A convention for representing remote procedure calls and responses.

Page 151: tibco sol

Web Services Description Language WSDL

is an XML based language. WSDL format is used to describe network services as a set of endpoints operating on messages containing either document-based or procedure-oriented data.

WSDL has two flavors • AbstractAbstract

abstract description of the operations and messages

• Concreteendpoint definition with network protocol and message format

Web Services Description Language WSDL

is an XML based language. WSDL format is used to describe network services as a set of endpoints operating on messages containing either document-based or procedure-oriented data.

WSDL has two flavors • AbstractAbstract

abstract description of the operations and messages

• Concreteendpoint definition with network protocol and message format

Page 152: tibco sol

• MessageMessage, The Message component is used to define the type of information being exchanged within a web service. One or more Message components can be added to a WSDL resource.

• BindingBinding, This field specifies concrete protocol and data format specifications for the operations and messages defined by a particular portType.

• TypesTypes, This field displays the type information for the part.

• PortTypePortType, The PortType component describes the operations that are supported by the web service. One or more PortType components can be added to a WSDL resource.

• PortPort, This component specifies an address for a binding. This address is defined as a single communication endpoint.

• ServiceService, which is used to aggregate a set of related ports.

• MessageMessage, The Message component is used to define the type of information being exchanged within a web service. One or more Message components can be added to a WSDL resource.

• BindingBinding, This field specifies concrete protocol and data format specifications for the operations and messages defined by a particular portType.

• TypesTypes, This field displays the type information for the part.

• PortTypePortType, The PortType component describes the operations that are supported by the web service. One or more PortType components can be added to a WSDL resource.

• PortPort, This component specifies an address for a binding. This address is defined as a single communication endpoint.

• ServiceService, which is used to aggregate a set of related ports.

Page 153: tibco sol

TCP Activities PaletteRead TCP Data

The Read TCP Data activity reads data from an open TCP connection. The connection must be opened by an activity or process starter that executed previously in the process definition. Activities that can open a TCP connection are: TCP Receiver, TCP Open Connection, and Wait for TCP Request. The activity that opens a TCP connection places a handle to the open connection in its connectionKey output element. The connectionKey is mapped to this activity’s input.

TCP Close Connection The TCP Close Connection activity closes a TCP connection opened by a

previously executed activity or process starter. Activities that can open a TCP connection are: TCP Receiver, TCP Open Connection, and Wait for TCP Request. The activity that opens a TCP connection places a handle to the open connection in its connectionKey output element. The connectionKey is mapped to this activity’s input

TCP ConnectionThe TCP Connection is a shared configuration resource that specifies the connection information for the TCP server. This resource is used when a process definition acts as a TCP client connecting to a remote server or when a process definition acts as a TCP server accepting incoming TCP connections.

Page 154: tibco sol

TCP Activities PaletteTCP Open Connection

The TCP Open Connection activity opens a connection to a TCP server. After establishing the connection, the activity places a handle to the open connection in the connectionKey output element. This connection key can be used by subsequent activities in the process definition to read data from, write data to, or close the connection.

TCP Receiver The TCP Receiver process starter starts a new process when a client requests a TCP connection.

When a connection request occurs, the process starter places a handle to the open connection in the connectionKey output element. This connection key can be used by subsequent activities in the process definition to read data from, write data to, or close the

Wait for TCP Request

The Wait for TCP Request activity waits for a TCP client connection request. When a connection request occurs, the activity places a handle to the open connection in the connectioney output element. This connection key can be used by subsequent activities in the process definition to read data from, write data to, or close the connection. .

Write TCP Data

The Write TCP Data activity sends data on the specified TCP connection. The connection must be opened by an activity or process starter that executed previously in the process definition. Activities that can open a TCP connection are: TCP Receiver, TCP Open Connection, and Wait for TCP Request. The activity that opens a TCP connection places a handle to the open connection in its connectionKey output element. The connectionKey is mapped to this activity’s input.

Page 155: tibco sol

Transaction PaletteJTA UserTransaction Configuration

The JTA UserTransaction Configuration shared configuration resource contains the information required to communicate with a Java Transaction API (JTA) transaction manager. This resource is used by transaction groups that use the JTA UserTransaction type

Transaction StateThe Transaction State activity can be used in a transaction group to obtain the current state of the transaction or to set the transaction to a rollback only state. When a transaction is set to the rollback only state, the only outcome of the transaction that is permitted is a rollback

XA TransactionManager ConfigurationThe XA TransactionManager Configuration shared configuration resource contains the information required to communicate with an XA-compliant transaction manager. This resource is used by transaction groups that use the XA Transaction type.

Page 156: tibco sol

WSDL Palette

Message Used to define the type of information being exchanged within a web

service

One or more Message components can be added to a WSDL resource

WSDL

A WSDL file is an XML instance of the WSDL XML Schema

A WSDL resource is composed of a series of definitions that describe the format and roles of messages used in web services

Port Type Describes the operations that are supported by the web service

One or more PortType components can be added to a WSDL resource

Once the portType component has been created and selected within the project, Operation component becomes available in WSDL palette

Operation Describes the message formats for the incoming and outgoing

messages required by the activities supported by the portType

One or more Operation components can be added to a PortType component

Page 157: tibco sol

XML Activities Palette

Render XML Takes an instance of an XML schema element and renders it as a

stream of bytes containing XML or an XML string

The schema is processed based on the XSD file specified.

Parse XML

Takes a binary XML file or an XML string and processes it, turning it into an XML schema tree based on the XSD or DTD specified

Transform XML Allows to transform an input XML document into the output specified

by the given XSLT File shared configuration resource

This activity allows to use the XSLT file instead of manually creating mappings

XSLT File

Allows to load an XSLT file to use to transform XML schemas using the Transform XML activity

Page 158: tibco sol

TIBCO BW MAPPING

Page 159: tibco sol

What is BW Mapping? BW Mapper Edit Statement XPath Formila Builder Functions

Page 160: tibco sol

What is BW Mapping?BW mapping is a way of transforming data in one format to another predefined format. For Eg:- XML to COMMAREA, XML structure 1 to XML structure 2, etc

How to Achieve it?

Use the BW Mapper activity available in TIBCO Designer.

Where to use mapper?In the IP based projects, using IP template, one or more BW mapper activities are used in the “Exits” provided in each IP Pattern Templates used to created BW Services.

Page 161: tibco sol

What is BW Mapping?BW mapping is a way of transforming data in one format to another predefined format. For Eg:- XML to COMMAREA, XML structure 1 to XML structure 2, etc

How to Achieve it?

Use the BW Mapper activity available in TIBCO Designer.

Where to use mapper?In the IP based projects, using IP template, one or more BW mapper activities are used in the “Exits” provided in each IP Pattern Templates used to created BW Services.

Page 162: tibco sol

BW Mapper – Useful Details Input Editor – Select Target schema to which

inbound data needs to be transformed to. Input – Used to map data available in the

previous activities in the process to the target format. Normally, a simple mapping involves “dragging and dropping” from the source input field to the target field in output schemaThe BW Mapping document is used as a source for mapping specifications in IP projects

Output – A tree format view of the target schema

Others – We can add, insert, move the elements of the schema in the Input tab using the buttons available.

Page 163: tibco sol
Page 164: tibco sol

Edit Statement

The Edit Statement button is used to select a Statement type on a particular field.

In IP projects its most commonly used to coerce the “Any” element in the EMS Body section to appropriate XSD operation element.

Can also be used to set the cardinality for mapping a particular elements – whether Optional to Optional, Required to Required, etc

Other uses include creating For Each, If, Copy, Copy-Contents, Choose statements etc on a particular field mapping.

Page 165: tibco sol

Edit Statement – common usage Variable – Used for storing an intermediate

value which needs to be used in a complex mapping.

For Each – Used for mapping aggregates from input schema to aggregates in output schema

Choose – This helps us in mappings where several conditions are involved with each condition resulting in different value for target field

If – A simple if condition Copy-of – Used to copy an aggregate directly to

the target aggregate, when both source and target aggregate have same structure

Explore the Edit statement in the BW mapper activity for more functionalities

Page 166: tibco sol

XPath Formula Builder If a field mapping involves slightly more complex

transformations, then the formula builder helps in creating the statement to map the field

Typical examples could be if-then conditions, comparisons, mathematical or logical functions etc

Helps in using the basic functions available out of the box in the designer

Can be used wherever icc2.jar functions need to be used in the mapping

Clicking on XPath Formula Builder button opens up a new window for creating the mapping statement

Page 167: tibco sol

Functions

GeneralStringLogicalFilterSetComparisonNumberBinaryData/TimeConditions and IterationsIcc2 – Custom Functions for IP projects

Page 168: tibco sol

Project Structure• Not all folders in TIBCO Designer are directories in the file system

• Folders created from a Folder resource in the General Palette (displays a multi-folder icon) become folders in the file system.

• Other folders, such as the Adapter Services folder inside an adapter configuration are

• logical folders

• only exist in memory in the resource that holds them.

• Actual data for these elements is stored in the file of the top-level resource. For example, Adapter Services data is stored in the Adapter Configuration file.

Page 169: tibco sol

Sample usage

count($Start/input/spreply_seq/UI322C-COMMAREA[UI322C-RECORD/UI322C-REC-TYPE = '01']/UI322C-RECORD/UI322Q-ACCT-CONTACT-DETL-REC/UI322Q-PHONE-DETL[tib:trim(UI322Q-PHONE-NUMBER) !='']) > 0

exists($Start/input/spreply_seq/UI322C-COMMAREA[tib:trim(UI322C-RECORD/UI322C-REC-TYPE) = '01']/UI322C-RECORD/UI322Q-ACCT-CONTACT-DETL-REC/UI322Q-CHL-ADDRESS)

if (upper-case(UI322Q-3RD-PARTY-ACCT-IND) = 'Y') then 'true‘ else 'false‘

tib:trim(UI322Q-ACTIVE-CARD-IND) !='‘

Page 170: tibco sol
Page 171: tibco sol

Project Structure• Not all folders in TIBCO Designer are directories in the file system

• Folders created from a Folder resource in the General Palette (displays a multi-folder icon) become folders in the file system.

• Other folders, such as the Adapter Services folder inside an adapter configuration are

• logical folders

• only exist in memory in the resource that holds them.

• Actual data for these elements is stored in the file of the top-level resource. For example, Adapter Services data is stored in the Adapter Configuration file.

Page 172: tibco sol

Components of a Process Definition•Subprocesses•Activities•Transitions•Groups

Subprocesses

• Subprocesses cannot have process starters as the start activity

• Procedure for creating and calling a sub-process

• Create a process definition for the sub-process

• Specify the input, output and any error schemas on the start and end activity

• Create a process definition that will call the subprocess

• Place a call process activity in the process definition or drag the subprocess into the main process definition

Page 173: tibco sol

SUBPROCESS

Page 174: tibco sol

Activity Icons

Activity Icons

Page 175: tibco sol

Palette Process Starter Starts a process when...Adapter SubscriberAdapter Request-Response Server

File File Poller The specified file is created, changed, or deleted.

Timer The specified time interval occurs. You can start processes for one-time events or schedule processes to start on recurring time intervals.

Receive Notification A corresponding Notify activity has executed.

HTTP HTTP Receiver An HTTP request is received.JMS Queue Receiver

JMS Topic SubscriberMail Receive Mail Mail for the specified user is received by

the mail server.Rendezvous Rendezvous Subscriber A TIBCO Rendezvous message is

received.SOAP SOAP Event Source A SOAP web services request is received.

ActiveEnterprise Adapter A message or a request from an adapter is received.

General Activities

JMS Either a JMS queue or topic message is received.

Process Starters• When a process starter is placed into a process definition, it replaces the default Start activity, and becomes the first activity in the process

Page 176: tibco sol

Transitions• Transitions describe the flow of processing

• It is represented by an arrow between two activities or group of activities in a process definition

• The arrows are unidirectional and cannot be drawn to a previously executed activity

• Different condition types for a transition are• Success • Success with condition• Success if no matching condition• Error

Page 177: tibco sol

Groups• To create a set of activities with a common error transition

• To create sets of activities to be repeated (iterations)

• To create set of activities that participate in transaction

• To create critical section that synchronizes process definitions

• To specify that the first activity that completes should determine which transition(s) to take to continue processing. This allows you to wait for one or more incoming events and continue processing based on what incoming event was received first.

Page 178: tibco sol

Groups

Group Nested Group

Page 179: tibco sol

Group

Common error handling May be nested May include sub-process call Provides special processing:

None Iterate Repeat-Until-True Repeat-On-Error-Until-True Transaction Critical Section Pick First

Page 180: tibco sol

Pick First – before execution

First-of-N to complete continues, others cancelled.

Page 181: tibco sol

Pick First – during execution

First-of-N to complete continues, others cancelled.

Page 182: tibco sol

Pick First – after execution First-of-N to complete continues, others cancelled.

Page 183: tibco sol

Critical Section

Provides synchronized access to Shared Variable.

Multiple jobs, single process Multiple jobs, multiple processes (uses lock

object) Multiple jobs, multiple processes, multi-engine.

Page 184: tibco sol

OracleJMS

MicrosoftSQL

Server

• Enabling transactions for JDBC, JMS and EJB activities

• Both XA and JTA transaction models are supported

• Supports multiple JDBC and/or JMS operations atomically

• Extended Group activity to support transaction

Transaction support

Page 185: tibco sol

Process Data

Page 186: tibco sol

Loops• Loops allow you to execute a series of activities more than once• Types of loops that are available are:

• Iterate Loop• Repeat Until True Loop• Repeat On Error Until True Loop

Activity Output and Groups• If the group is used for a loop (iterate, repeat until true, and so on), activity output in the group is reset so that activities in subsequent iterations of the group will not have access to output data from previous iterations

• If you wish to store data from each successive iteration of a loop, • Create a process variable and use the Assign activity in the loop to store or alter data for each iteration.• Accumulate the output of each execution of one activity in the group into a list.

Critical Section Groups

• Critical section groups are used to synchronize process instances so that only one process instance executes the grouped activities at any given time.

• Any concurrently running process instances that contain a corresponding critical section group wait until the process instance that is currently executing the critical section group completes.

Page 187: tibco sol

Different Types of Variables• Global Variables• Process Variables• Shared Variables

• Global Variables — These variables allow you to specify constants that can be used throughout the project.

Page 188: tibco sol

Global Variables

Usage of the global variable in the fields of a resource,

• enter the variable name surrounded by %% on both sides.

•drag from the Global Variable tree in the display into a text field in the configuration panel.

Changing the Global variables at runtime

• By Modifying runtime variables using TIBCO Administrator• By Changing the values in .tra file as below-tibco.clientVar.<variablePathAndName> <value>

Page 189: tibco sol

Process Variables

• Process Variables — Allow you to access various data in your project.

• Types of Process Variables

• Activity Output

• Predefined Process Variables

• There are two process variables that are available to all activities that accept input: $_globalVariables and $_processContext (such as process ID, process name and so on)

• Error Process Variables

• When an error occurs in a process, the data pertaining to the error is placed into process variables. The $_error process variable contains general error information. Activities can also have error process variables named $_error_<activityName>.

• User-Defined Process Variables

Page 190: tibco sol

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

• Activities

• setSharedVariable

• getSharedVariable

Page 191: tibco sol

ERROR HANDLING

When executing business processes, activities can encounter error.

In error handling, we add procedures to our process definition for handling an error.

 

Page 192: tibco sol

ERROR PROCESS VARIABLES When an error transition is taken, error data is

available to activities that execute after the error transition.

There are two types of process variables that contain error data, the $_error process variable

The $_error process variable contains general information about the process in

which the error occurred. the activity error variables.

Page 193: tibco sol

Error handling

Logger Level

Starter Process Level

Sub-Process Level

Page 194: tibco sol

BW ENGINIt is totally back round process it execute the bw process at time in text mode , it is not a text mode .

Overview of Processes bw• A Process definition is a graphical representation of your business process

• You can develop and test business processes using TIBCO designer

• The process definition is executed by a TIBCO BusinessWorks process engine

Page 195: tibco sol

TIBCO Administrator

• TIBCO Administrator allows you to upload, deploy and monitor TIBCO applications on machines that belong to an administration domain. TIBCO

• Administrator provides the following modules to manage users, resources and applications:

• • User Management. This module allows you to create users and roles, and assign them access rights to TIBCO Administrator consoles, applications and application repositories.

• • Resource Management. This module allows you to manage TIBCO software installed on other machines in the domain and monitor machines in the domain.

• • Application Management. This module allows you to upload, deploy and monitor applications. You can also start and stop application service instances or process engines.

Page 196: tibco sol

Architecture Overview

Page 197: tibco sol

1. Tomcat web server—Manages basic communications and makes TIBCO Administrator available.2. Administration server—Manages domain and application repositories.3. User Management—Manages access rights for user and roles to TIBCO Administrator modules and repositories. 4. Resource Management—Allows you to view the status of all machines in an administration domain 5. Application Management—Allows you to deploy and monitor applications.

Page 198: tibco sol

Administration Domain An administration domain is a collection of users, machines, and services.

The administration domain is managed by a administration server, which is assisted by a TIBCO Hawk Agent running on each machine in the administration domain.

A TIBCO administration domain consists of these elements:

Administration server Machines User and Access Information Application Configuration Runtime Application TIBCO Hawk Agent

Page 199: tibco sol

TIBCO Administrator includes several utilities and plug-ins

TIBCO Domain Utility Scripting Deployment Utility Command Line Utilities TIBCO Enterprise Message Service Plug-in TIBCO Business Works Manual Work Plug-in

Page 200: tibco sol

Tibco domain utility

Page 201: tibco sol
Page 202: tibco sol

Tibco admin

Page 203: tibco sol
Page 204: tibco sol
Page 205: tibco sol
Page 206: tibco sol
Page 207: tibco sol
Page 208: tibco sol
Page 209: tibco sol
Page 210: tibco sol
Page 211: tibco sol
Page 212: tibco sol

TIBCO Runtime Agent

TRA is responsible sending message to hawk.

Hawk is only monitoring It had micro agent is there .

Page 213: tibco sol

TIBCO ADAPTOR

• Establish the communication b/w internal to external system and external to internal system.

• It is mainly two types• custom adaptor-• In this case user developed by adaptors by

using adaptor sdk(api)• Default adaptor or application adaptor• It is built in application(eady made adaptor)By tibco company .

Page 214: tibco sol

Tibco Messaging System

Tibco messaging system is mainly three typesRv• rv is a s/w or protocal like tcp/ip or udp our responsbulity is

distibuted application these are d couppled application • Rv is self describing data based on subject names .

• MOM• Bus Based Architecher• Wire format• Granted and realible message Jms & ems:If we start work on jms . It is supporting ems ( ems was developed

by tibco, some drawbacks are coverd )Smart socket This is also messaging system

Page 215: tibco sol

TIBCO RENDEZVOUS

Page 216: tibco sol

Objectives

Completing this unit will enable us to Define the role of the TIB in a distributed

computing environment. Describe the unique characteristics of the TIB. Define subject-based addressing. Define TIB message interaction types. Describe TIB architecture. Describe the TIB programming model. Define what function RV Router Daemons

perform. Understand how to develop subject naming

schemes.

Page 217: tibco sol

TIB Middleware Messaging

The TIB allows a move away from complex interfaces

Application messages contain a large amount of ‘infrastructure’code, some as much as 60-70%.

The actual application functionality occupies the rest.

TIB moves the communications infrastructure away from the applications and into a packaged software "daemon”.

Allows programmers and designers to concentrate on application functionality, rather than low level network and operating system details.

Page 218: tibco sol

TIB Architecture

The information bus in a distributed collection of TIB/Rendezvous daemons exchange multicast

messages in a peer-to-peer manner.

Multiple applications can connect to a local RVD or an

application can connect remotely to an RVD for message exchange

on the network.

The RVD manages all the complex details of data

distribution to other RVDs.

Page 219: tibco sol
Page 220: tibco sol

Subject Based Addressing

Page 221: tibco sol

TIB/Rendezvous software uses subject-based addressing™technology to direct messages to their destinations, so applicationprocesses can communicate without knowing the details of networkaddresses or connections.

Subject-based addressing conventions define a uniform name space for messages and their destinations.

The locations of component processes become entirely transparent;any application component can run on any network host without modification, recompilation or reconfiguration.One can dynamically add, remove, and modify components of a distributed system without affecting other components.

Subject-based Addressing is not tied to any name service. Subject names can be registered, and browsed, in any LDAP server or other name services.

Page 222: tibco sol

Subject Naming

The TIB allows a move away from complex interfaces

Application messages contain a large amount of ‘infrastructure’code, some as much as 60-70%.

The actual application functionality occupies the rest.

TIB moves the communications infrastructure away from the applications and into a packaged software "daemon”.

Allows programmers and designers to concentrate on application functionality, rather than low level network and operating system details.

Page 223: tibco sol

Subject Naming

Subject naming is the key to any TIB system. Every name should consist of these parts: <scope>.<type>.<filter>

Scope defines the universe within which the subject naming convention is valid.

Type should match exactly the object name of the data object transported on this subject.

Filter specifies some additional filters that can be generated dynamically and/or read from a configuration.

Page 224: tibco sol

TIB Middleware Messaging

The current implementation limits subject names.

Total length of 255 characters (including delimiters)

Maximum element length is 252 characters

Page 225: tibco sol

Subject-BasedAddressing

Accesses data rather than computers.

Allows data to come from different sources.

Programs are not topology / address dependent.

Users and programmers need not know networking details.

Implements location transparency.

De-couples front-end from back-end.

Page 226: tibco sol

Valid Subject Name Examples

• NEWS.LOCAL.POLITICS.CITY_COUNCIL

• NEWS.NATIONAL.ARTS.MOVIES.REVIEWS

• CHAT.MRKTG.NEW_PRODUCTS

• CHAT.DEVELOPMENT.BIG_PROJECT

• DESIGN

• News.Sports.Baseball

• Long.subject_name.is.valid.even.though.quite.uninformative

Page 227: tibco sol

Reserved Characters

Page 228: tibco sol

Invalid Subject NameExamples

News..Natural_Disasters.Flood Invalid null element in subject string

WRONG. Invalid null element at the end of the

subject string

.TRIPLE.WRONG.. Invalid subject string with three null

elements

Page 229: tibco sol

Communication Paradigms

Two Communication Paradigms

•Demand Driven

•Event-Driven

Page 230: tibco sol

Demand Driven

Traditional Client-Server computing using Request-Reply interactionsClient (Pull) = Demand drivenOne-to-One communication modelEvent notification based on “Polling”

Page 231: tibco sol

Reserved Characters

Flexible computing model using Publish-Subscribe interactions.

Event driven by data Producer (Push).

Multi-cast communication model.

Less network & server overhead.

Page 232: tibco sol

Reserved Characters

Publish / Subscribe Distribution of information from many

sources to many consumers.

Request / Reply Queries or transactions.

Broadcast Request / Reply Queries resulting in several replies from

one or more servers.

Page 233: tibco sol

Reserved Characters

Reliable:• UDP Datagram broadcast protocol is not reliable

and is unable to detect lost messages. • Reliable broadcasting is built into TIB/Rendezvous. Implemented by TRDP

Certified:• Certified messages are maintained at their sender

until the receiver has acknowledged receipt of the message.

Implemented by RVCM

Page 234: tibco sol

Reliable Messaging

Page 235: tibco sol

Reliable Messaging

Page 236: tibco sol

Certified Delivery

Page 237: tibco sol

Certified Delivery

Page 238: tibco sol

Messages and Data

RV uses a unified data representation to exchange messages among all supported platforms.

Translates between universal wire format and local data formats.

Messages are the common currency that TIB/Rendezvous uses to exchange data.

Messages contain fields of self-describing data. Every message has a subject name that describes its

destination. All data that enters or leaves a program through the RV

daemon must be encapsulated in the fields of a message.

Page 239: tibco sol

TIB Router Daemons

TIB/Rendezvous provides a facility (RVRD) for creating "software routers" that send information from one sub-net to another.

Routing daemons forward broadcast messages between networks via TCP “neighbor” connections.

Communicating applications remain de-coupled from network

addresses and other details.

Delivering messages between networks requires RVRD.

Page 240: tibco sol

TIB Router Daemons

TIB/Rendezvous provides a facility (RVRD) for creating "software routers" that send information from one sub-net to another.

Routing daemons forward broadcast messages between networks via TCP “neighbor” connections.

Communicating applications remain de-coupled from network

addresses and other details.

Delivering messages between networks requires RVRD.

Page 241: tibco sol

TIB Router Daemons

RVRD’s allow RV messages to be exchanged across the WAN, or

through firewalls.

TCP connections are used between RVRDs to exchange RV

messages.

Each LAN requires an RVRD.

Multiple RVRDs on a LAN can cause duplicate message delivery.

Page 242: tibco sol

Qualities of Service

Fault Tolerance: When a process dies another rapidly assumes active

duty. Implemented by RVFT. Distributed Queues: Load balancing among the different receivers. Implemented by RVDQ. Transactional: Messages grouped into transactional brackets. Implemented by RVTX. Data Security: Conversation between sender and listener is encrypted. Implemented by RVDS.

Page 243: tibco sol

Fault Tolerant Communications

Page 244: tibco sol

Fault Tolerant Communications

Page 245: tibco sol

1-of-N Delivery to a Distributed Queue

Page 246: tibco sol

Review

Page 247: tibco sol

TIBCO EMS

Page 248: tibco sol

You need a messaging service to integrate applications within an enterprise.

JAVA Message Service 1.1 (JMS) is a JAVA frame work specification for messaging between applications.

TIBCO Enterprise Message Service implements and integrates several message services including JMS.

In JMS there is one producer and one/more than one customers. The producer is the creator of message.

Page 249: tibco sol

Messages are the structured data that one application sends to another.

The TIBCO EMS server is an intermediary which sends the messages to the correct destination.

The server also provides fault-tolerance, message routing and communication with other messaging systems such as TIBCO Rendezvous and TIBCO Smart Sockets.

Page 250: tibco sol

Message Delivery

Message Producer

TIBCO EMSServer

Message Consumer

Message

Message

EMS Client

EMS Client

Page 251: tibco sol

JMS Supports 2 messaging models:

Point-To-Point (Queues). Publish and subscribe (Topics).

Page 252: tibco sol

Point-To-Point

If there is only one producer and only one consumer then the messaging is called Point-to-point.

A queue is used to store point-to-point message until it is received by the consumer.

The producer sends the message to the queue;the consumer retrieves the message from the queue and sends back the acknowledgement.

Page 253: tibco sol

Point-To-Point Messages

Message Producer

TIBCO EMSServer

Queue

TIBCO EMSServer

Queue

Message Consumers

Message Consumers

Send Message

Receive Message

AcknowledgementEMS Client EMS Client

Page 254: tibco sol

Publish And Subscribe

In this model, the producer is known as publisher and the consumer is known as a subscriber.

Topic is used to store messages in such a messaging system. This type of messaging is also known as broadcasting messaging.

In default mode if messages are delivered when the subscriber is not available, the subscriber doesn’t receive those messages. But we can create durable subscriptions.

Messages for durable subscriptions are stored on the server until the message expires or the storage limit is reached.

Page 255: tibco sol

Subscribers can receive messages from a durable subscription even if the subscriber was not available when the message was originally delivered.

Page 256: tibco sol

Publish & Subscribe Messages

Message Producer

TIBCO EMSServer

Message Consumers

Message Consumers

Topic

Publish Message

Subscribe to Topic

Deliver Message

Acknowledge

EMS Client EMS Client

Page 257: tibco sol

Messages

JMS Messages have a standard structure. This structure includes the following sections:

Header (Required) Properties (Optional) Body (Optional).

Page 258: tibco sol

Header Fields JMS Destination-Destination to which message is sent.

JMS Delivery Mode-Persistent or Non persistent message

JMS Expiration-Length of time that message will live before expiration. If set to 0,message doesn't expire.

JMS Priority-Uses a numerical ranking, between 0&9, to define message priority as normal or expedited.

JMS Message ID-Value uniquely identifies each message sent by a provider.

Page 259: tibco sol

JMS Timestamp-Timestamp of time when message was handed off to a provider to be sent.

JMS Correlation ID-This ID can be used to link messages, such as linking a response message to a request message.

JMS Reply To-A destination to which a message reply should be sent.

JMS Type-Message type identifier.

JMS Redelivered-If this is set, it is possible that the message was delivered to the client earlier, but not acknowledged at that time.

Page 260: tibco sol

Properties

There are applications, vendors, and administrators on JMS systems can add optional properties.

The properties area is optional and can be left empty.

Page 261: tibco sol

Message Bodies Message-This message type has no body.

Text message-A java.lang.String

MapMessage-A set of name/value pairs. The names are java.lang.String objects, and the values are Java primitive value types or their wrappers.

Bytes Message-A stream of uninterrupted bytes.

Stream Message-A stream of primitive values in the Java programming language.

Object Message-A serializable object constructed bin the Java programming language.

Page 262: tibco sol

Message Persistence JMS Defines two message delivery modes, persistent and

non-persistent. This mode is set by the message sender or publisher in the JMS delivery Mode message header field.

Non persistent messages are never written to persistent storage. Persistent messages are logged to persistent storage when they are sent.

Messages with the persistent delivery mode are always written to persistent storage, except when they are published to a topic that has no durable subscribers.

When a topic has no durable subscribers, there are no subscribers that need messages recent in the event of a server failure.Therfore, messages do not need to be saved, and performance is improved because disk I/O is not required.

Page 263: tibco sol

Message Acknowledgement

The interface specification for JMS requires that message delivery be guaranteed under many, but not all, circumstances. The specification defines three levels of acknowledgements:

DUPS_OK_ACKNOWLEDGE,for consumers that are tolerant of duplicate messages.

AUTO_ACKNOWLEDGE,in which the session automatically acknowledges a client’s receipt of a message.

CLIENT_ACKNOWLEDGE,in which the client acknowledges the message by calling the message’s acknowledge method.

Page 264: tibco sol

Undelivered Message Queue

If a message is to be removed from the system in any way besides being properly consumed by a message consumer, the server checks the message for the JMS_TIBCO_PRESERVE_UNDELIVERED property.

When JMS_TIBCO_PRESERVE_UNDELIVERED is set to true, the server moves the message to the undelivered message queue,$sys.undelivered.

This undelivered message queue is a system queue that is always present and can’t be deleted.

To set use of the undelivered message queue, the application that sends or publishes the message must set the Boolean JMS_TIBCO_PRESERVE_UNDELIVERED property to true before sending or publishing the message.

Page 265: tibco sol

For example:

Message.setBooleanProperty(“JMS_TIBCO_PRESERVE_UNDELIVERED ,true);

You can only set the undelivered property on individual messages, there is no way to set the undelivered message queue as an option at the per-topic or per-queue level.

Page 266: tibco sol

Reliable Message Delivery

JMS has PERSISTENT and NON-PERSISTENT delivery modes for both topic and queue. In addition to these modes, you can use Tibjms.RELAIBLE_DELIVERY mode from TIBCO Enterprise Message Service.

PERSISTENT and NON-PERSISTENT delivery requires the server to return a system message to the client application to ensure proper handling of messages. Using Tibjms,RELAIBLE_DELIVERY as the JMS Delivery Mode precludes the TIBCO Enterprise Message Service server from sending this system message.

In RELAIBLE_DELIVERY mode, the client application doesn’t wait for this system message-indeed, the server doesn’t send it. Reliable mode decreases the volume of message traffic, allowing better usage of system resources and higher message rates.

Page 267: tibco sol

Message Priority The JMS specification includes a message header field in

which senders can set the priority of a message, as a value in the range[0,9].EMS does support message priority.

When the EMS server has several messages ready to deliver to a consumer client, and must select among them, then it delivers messages with higher priority before those with lower priority.

However, priority ordering applies only when the server has a backlog of deliverable messages for a consumer. In contrast, when the server rarelyhas only one message at at time to deliver to a consumer, then the priority ordering feature will not to be apparent.

Page 268: tibco sol

Fault Tolerance

You can configure TIBCO Enterprise Message Service servers as primary and backup servers to provide fault tolerance for your environment.

The primary and backup servers act as a pair, with the primary server accepting client connections and performing the work of handling messages, and the secondary server acting as a backup incase of failure. When the active server fails, the backup server assumes operation and becomes the primary active server.

Page 269: tibco sol

Routing

TIBCO Enterprise Message Service provides the ability for servers to route messages between each other.

Topic messages can be routed across multiple hops,provided there are no cycles.

Queue messages can travel almost one hop to any other server from the server that owns the queue.

Page 270: tibco sol

SSLTIBCO Enterprise Message Service supports SSL.SSL is

supported between the following components:

Between an EMS Java client and the TIBCO Enterprise Message Service server.

Between an EMS C or C# client and the TIBCO Enterprise Message Service server.

Between the administration tool and the TIBCO Enterprise Message Service server.

Between routed servers & fault_tolerant servers.

Page 271: tibco sol

Integrating With Third Party Products

TIBCO Enterprise Message Service allows you to work with third-party naming/directory service products or with third-party application servers.

Transaction SupportTransaction Support

TIBCO Enterprise Message Service can integrate with Java TIBCO Enterprise Message Service can integrate with Java Transaction API (JTA) complaint transaction managers.Transaction API (JTA) complaint transaction managers.

TIBCO Enterprise Message Service implements all interfaces TIBCO Enterprise Message Service implements all interfaces necessary to be JTA complaint.necessary to be JTA complaint.

Page 272: tibco sol

Static Queues And Topics

Destinations for messages can be either Topics or Queues. A destination can be created statistically in the server configuration files, or dynamically by a client application.

Configuration information for static queues and topics is stored in configuration files for the TIBCO Enterprise Message server. To manage static destinations, you can edit the configuration files using a text editor, you can use the administration tool, or you can use the administration APIs

Static queues and topics are administered by the server. Clients retrieve the destination using JNDI.

Page 273: tibco sol

For example, the following code retrieves the initial context using the JNDI properties specified by env, then looks up a Topic named My Topic.

Context ctx=new InitialContext(env);Topic myTopic=(Topic)ctx.lookup(“MyTopic”);

Page 274: tibco sol

Dynamic Queues And Topics

Dynamic queues and topics are created on-the-fly by applications using QueueSession.createQueue() and TopicSession.createTopic().

Dynamic queues and topics do not appear in the configurations files, and exist as long as there are messages or consumers on destination. A client cannot use JNDI to lookup dynamic queues and topics.

When you use the show queues or show topics command in the administration tool, you see both static and dynamic topics and queues. The dynamic topics and queues have an asterisk(*) in front of their name in the list of topics or queues.

Page 275: tibco sol

Dynamic queues and topics inherit properties from their respective parents. When shown by the administration tool, properties of a queue or topic may have an asterisk(*) character in front of its name. This means that this property was inherited from the parent queue or topic and can’t be changed.

Page 276: tibco sol

Destination BridgesYou can create server-based bridges between destinations. This allows all messages delivered to one destination to also be delivered to the bridged destination.

You can bridge between different destination types, between the same destination type, or to more than one destination.

For example, you can create a bridge between a topic and a queue or from topic to another topic.

Page 277: tibco sol

Properties for topic and queues

Property Topic QueueFailsafe yes yesSecure yes yesMax byte yes yesGlobal yes yesSender name yes yesSender name enforced yes yes Flow control yes yesTrace yes yesImport yes yesExport yes noMax redelivery no yes Excuse no yesPrefect no yesExpiration yes yes

Page 278: tibco sol

Starting the Administration Tool The administration tool is located in your<installation _ path>/bin

directory and is a stand-alone executable named tibemsadmin on UNIX and tibemsadmin.exe on windows platforms.

Type tibemsadmin – help to display information about tibemsadmin startup parameters. All tibemsadmin parameters are optional.

When you First Start tibemsadmin The administration tool has a default user with the name

admin.This is the default user for logging in to the administration tool.

To protect access to the server configuration, you should assign a password to the user admin .

To assign a password to admin: Log in and connect to the administration tool.

Change the password by entering: Set password by admin<password>

When you restart the admin tool and type connect, the admin tool now requires your password before connecting to the server.

Page 279: tibco sol

UNIT 8

TIB/Hawk

Page 280: tibco sol

Traditional SystemsManagement

Page 281: tibco sol

Traditional SystemsManagement

Large, dedicated central server withHeavy reliance on polling

high network and system utilizationtraps with ptp connectivity

n-tier client-server hierarchical structureNot designed for managing distributed applicationsGenerally inflexible

Extremely complexHigh cost of ownership

Page 282: tibco sol

Event DrivenSystem Management

Distributed, autonomous,rule-based smart agentsPurely alert-based, no polling

No central consolelow network and system utilization

Powerful and scalable for global monitoring ofmission critical distributed applications.

Fault tolerance through location independence.

Page 283: tibco sol

Event DrivenSystem Management

Page 284: tibco sol

Event DrivenSystem Management

TIB/Hawk agents are distributed, autonomous, smart softwareprocesses that monitor distributed systems and applications activity.

Agents are distributed because each agent resides on one computer and typically is responsible for all monitoring on that computer.Instead of being concentrated in one central console, monitoring activity is spread over the entire network.

There is no network polling and no centralized decision intelligence.

Page 285: tibco sol

Event DrivenSystem Management

Agents are autonomous because they operate independently of the TIB/Hawk Display program and are usually active whenever the operating system they monitor is active.

Agents are smart because they automate monitoring tasks using sets of rules that hold your management and automation logic.

Page 286: tibco sol

Monitoring Evolution

Page 287: tibco sol

Monitoring Evolution

Monitoring network hardware (routers, hubs, WAN connections, etc.). Systems administrators have many choices for monitoring the physical connections that make up a network.

Monitoring distributed operating system services. There are fewer tools for monitoring network operating systems than for network hardware.

Monitoring distributed applications. There are even fewer tools for monitoring the activities of distributed applications on a network.

Page 288: tibco sol

Basic Architecture

Page 289: tibco sol

Basic Components

Page 290: tibco sol

The Agent

TIB/Hawk Agents are•Java processes that runs on every monitored and managed node.

•AutonomousEach agent can be instructed to collect and monitor

data that is totally disparate from the activity of another.Fault-tolerant in that the actions performed by the

agents are completely independent of each other.so in the event of network catastrophe, agents can

continue to locally monitor data and take action.

Page 291: tibco sol

Microagents

Microagents are•The Agent’s interfaces to the monitored and managed objects.•Support methods that an Agent can invoke for collecting information or taking action.

Microagents range from•application oriented to.•operation system oriented to.•Generic.

Page 292: tibco sol

Microagents

•Applications that incorporate the Application Management Interface (AMI) dynamically appear as microagents to the Agent.

All TIB/Adapter SDK built applications automatically have microagents support.

• RuleBaseEngine, Logfile and SysInfo built-in to the Agent

Page 293: tibco sol

Hawk MicroAgent

TIB/Hawk MicroAgent (HMA) areC/C++ processes that runs with every AgentOperating System specific microagents

The HMA processesCommunicate with the Agent using theApplication Management ProtocolCollect data as instructedTake action on behalf of Agent

Page 294: tibco sol

Hawk Event Service

Event Services utilizes the Console API

•Subscribes to all Hawk EventsHeartbeatsLost HeartbeatsAlerts

•Provides external notification for Agents with lost heartbeats.

•Runs anywhere on the network.

Page 295: tibco sol

The Display

The Display provides for

Easy viewing of large environments.

Unique and customizable Container Icon descriptions convey added information.

Various viewsAgentCanvasRulebaseRepository

Page 296: tibco sol

The Display

•The Display utilizes the Console APISubscribes to all Hawk Events

HeartbeatsLost HeartbeatsAlerts

•Console APIManipulates

Agents Rulebases Network Query/Network Action

Page 297: tibco sol

RuleBase

Rulebase

•Is a collection of rules organized to monitor parameters to proactively detect problems.

•Controls the monitoring conducted by the Agent Telling the Agent the conditions to monitor.How often to monitor them.What constitutes a problem.What actions to take when a problem is determined.

Page 298: tibco sol

RuleBase

The behavior of the agent is determined by the RuleBases that it utilizes.

Any number of RuleBases can be assigned to an agent.

RuleBases are created and distributed using the TIB/Hawk display.

Page 299: tibco sol

END OF UNIT 8

TIB/Hawk