Configuring Multicast messaging model in TIBCO EMS

Multicast is a messaging model that allows the EMS server to send messages to multiple consumers simultaneously by broadcasting them over an existing network. 
Bellow figure shows how using multicast can reduce the amount of bandwidth used to send a message. Where publish and subscribe messaging creates a copy of a published message for each message consumer,
 
multicast broadcasts the message only once. Multiple multicast daemons listening on the channel receive the same broadcast.


Configuring Multicast :

Multicast is configured in the EMS server configuration files. Configuration is a simple three-step process:

1.  Enable multicast in the EMS server.

Enable the multicast parameter in the tibemsd.conf file.

2.  Create multicast channels.

Create named channels in the channels.conf file.

3.  Associate topics with channels.

In the topics.conf configuration file, add the channel property to the definitions of those topics you wish to be multicast. 
Note that a topic can be associated with only one multicast channel.

Exporting an EAR file from Administrator

We can export an EAR file and its configuration file of deployed application in Admin with AppMange command

 AppManage -export -out c:\temp\ExampleApp.xml -genEar -ear c:\temp\ExampleApp.ear -app root/folder1/ExampleApp -user <username> -pw <password> -domain <domain name>

The deployment configuration file and EAR file are created in the c:\temp folder. The application is embedded in root/folder1/, which is relative to the Application Management root in the TIBCO Administrator GUI.

We can export all applications EARs in an administration domain using the appManage -batchExport option.

Example,

AppManage -batchExport -user <user name> -pw <password> -domain <domain name> -dir c:\temp\test

working folder path for the TIBCO projects execution

.TIBCO is the folder for runtime execution of tibco projects.

The path is C:\Users\<systemName>\.TIBCO

and this .TIBCO folder have the default logs location along with working folder

custom_palettes
working
logs
xml_presentations
Designer5.prefs

working folder uses for the checkpoint execution, it saves the jobs in this location  and Alias library  uses this location for saves jar files in this location

This Designer5.prefs file stores all the designer preferences set by user.

Issue with TIBCO Installation - .dll files not found error

After completion of tibco installation,We may get the error like 'libeay32.dll' file not found error.

This error may be solved by re installing the TIBCO again, If still the same error coming after re-installation then fallow this.

Go to the  C:\WINDOWS here the files below are must be taken backup and delete for new installation if error is coming in re-installation

.TIBCOInstallerInstance ,
TIBCOInstallationHistory.xml ,
vpd.properties and
vpd.properties.tibco.<systemName> 

and also the location for libeay32.dll , ssleay32.dll are bellow

C:\Program Files (x86)\Hewlett-Packard\PC COE 3\OV CMS
C:\tibco\ems\5.1\bin
C:\tibco\tibrv\8.1\bin

What are High-availability Modes ?

High-availability applications can be categorized to different modes in a cluster,
  •  hot standby
  •  warm standby
  •  cold standby
Hot standby—Applications on the backup node take over with almost no downtime and may even approach zero downtime.

Using hot standby, two processors use hardware checkpoints to verify synchronization after each CPU instruction.

Warm standby—A slight delay occurs when a backup application takes over for another application. 

Cold standby—The delay is a little longer than warm standby. In cold standby, the cluster software can't detect an outage and applications must be restarted manually.One or more spare processors are set aside to be used if an in-service processor fails.

When TIBCO applications are installed under a cluster, high-availability is best characterized as warm-standby.

What is Cluster ?

A cluster is a group of machines that work together as a single system to ensure that applications and resources are available at all times. 

The computers are physically connected by cables and programmatically connected by cluster software. These connections allow computers to use fail over and load balancing, which is not possible with a stand-alone computer.
 
The machines are managed as a single system using cluster software, which provides a way to support fault-tolerance, high-availability, scalability, and so on.

Scenario - How can you design the fallowing requirements in BW ?

There is an XML with a root element for employment details.

In this XML ,the 'employerDetails' is the root element and its having an repeated attribute 'employeeID'

How can you design the fallowing requirements in BW.

1.Once we recieve this XML ,we need to make it as record in database.

Answer: Queue Reciever--->Parse XML --->JDBC Update/SQL Direct (we can put it in group for JDBC).


2.The employeeID is  unique constraint in database table.So if we want to filter data  before you sent to JDBC ,How can do this in BW?.

Answer: We can use the check point activity to check the duplicate values for employeeID, before sending to JDBC.

3.How can handle the Parse XML Exception in this flow. If there is possible unexpected values occuring in xml some times. But they can resolve the issue if it can process once again.

Answer: To handle this situation we can put Parse XML in JDBC/XA transaction group and  set max redelivery for queue,So it can re- sends the message for execution. if still error exists then the message in  Undelivered queue.

Can we invoke a web service without using SOAP Request Reply activity ?


Yes, we can use Invoke Partner activity. 

The Invoke Partner activity can be used in a Business Works Process Definition to invoke external services over SOAP.

Can we invoke a web service without transport ?


If we will use LOCAL as the End Point type in Service configuration then no need of transport.

End Point type LOCAL - A local endpoint is available to consumers within the same process engine. This type of endpoint provides a highly efficient way for local services to invoke each other without incurring the overhead of using a network transport.

How can we provide Security without using SSL/ HTTPS for web services in tibco bw ?


We can use the Security Policy and Security Policy Association of Policy Palette. 

The Security Policy shared configuration resource specifies a security policy that can be used for inbound or outbound SOAP messages.

How can we make an attribute optional in XML manually without using tibco designer ?


We can do by changing the minOccurs of XSD.
In XSD Schema source ‘minOccurs’ specifies the optional or mandatory.

Example:

  <xs:element name="a" type="xs:string" minOccurs="0"/> 
  <xs:element name="b" type="xs:string" minOccurs="0"/>

XML Namespaces

Name Conflicts: XML Namespaces provide a method to avoid element name conflicts.

In XML, element names are defined by the developer. This often results in a conflict when trying to mix XML documents from different XML applications.

This XML carries HTML Book information (Index details):

<book>
  <index>
    <chapter>second</chapter>
    <page>thirty</page>
  </index>
</book>

This XML carries information about a Book (price details):

<book>
  <author>African Coffee Table</author>
  <price>90</price>
  <publisher>INX</publisher>
</book>

If these XML fragments were added together, there would be a name conflict. Both contain a <book> element, but the elements have different content and meaning.

An XML parser will not know how to handle these differences.

This Name Conflict can Solve by Using a Prefix

Name conflicts in XML can easily be avoided using a name prefix. This XML carries information about an HTML book, and a price details:

<x:book>
  <x:index>
    <x:chapter>second</x:chapter>
    <x:page>thirty</x:page>
  </x:index>
</x:book>

<y:book>
  <y:author>African Coffee Table</y:author>
  <y:price>90</y:price>
  <y:publisher>INX</y:publisher>
</y:book>

In the example above, there will be no conflict because the two <book> elements have different names.

XML Namespaces - The 'xmlns' Attribute

When using prefixes in XML, also-called namespace for the prefix must be defined.The namespace is defined by the xmlns attribute in the start tag of an element.
 
The namespace declaration has the following syntax. xmlns:prefix="URI".
 
<root>
<x:book xmlns:x="http://www.tibco.com/abc/dfg/">
  <x:index>
    <x:chapter>second</x:chapter>
    <x:page>thirty</x:page>
  </x:index>
</x:book>
 <y:book xmlns:y="http://www.tibcoworldin.com/test">
  <y:author>African Coffee Table</y:author>
  <y:price>90</y:price>
  <y:publisher>INX</y:publisher>
</y:book>
</root>

In the example above, the xmlns attribute in the <book> tag give the x: and y: prefixes a qualified namespace.

Default Namespaces

Defining a default namespace for an element saves us from using prefixes in all the child elements.
It has the following syntax:
 
xmlns="namespaceURI"

This XML carries HTML book information:

<book xmlns="http://www.tibco.com/abc/dfg/">
  <index>
    <chapter>second</chapter>
    <page>thirty</page>
  </index>
</book>

This XML carries information about a Book (price details):

<book xmlns ="http://www.tibcoworldin.com/test>
  <author>African Coffee Table</author>
  <price>90</price>
  <publisher>INX</publisher>
</book>

Why Web Services ?

Web Services = XML + Protocol

Web Services take web-applications to the next level. By using Web services, your application can publish its function or message to the rest of the world. By doing this other platforms can also access the web application.

So once this web application available to the rest of world, other platform can also access and also by doing this can interact with the other platforms which are already using that web.

Many of the major platforms can access the web using web browsers.

Web-applications are simply applications that run on the web. These are built around the Web browser standards and can be used by any browser on any platform.

Use of the web services are

1.Interoperability.
2.Reusable application components.
3.Open Standards XML + open Protocol based.

Components of the web services are

SOAP (Simple Object Access Protocol)
UDDI (Universal Description, Discovery and Integration)
WSDL (Web Services Description Language)

What is SOAP ?

SOAP is an XML-based protocol to let applications exchange information over HTTP.
SOAP stands for Simple Object Access Protocol.
  • SOAP is a communication protocol
  • SOAP is a format for sending messages
  • SOAP is designed to communicate via Internet
  • SOAP is platform independent
  • SOAP is language independent
  • SOAP is based on XML
  • SOAP is simple and extensible
  • SOAP allows you to get around firewalls
  • SOAP is a W3C standard

What is WSDL?

WSDL is an XML-based language for locating and describing Web services.
  • WSDL stands for Web Services Description Language
  • WSDL is based on XML
  • WSDL is used to describe Web services
  • WSDL is used to locate Web services
  • WSDL is a W3C standard

What is UDDI ?

UDDI is a directory service where companies can register and search for Web services.
  • UDDI stands for Universal Description, Discovery and Integration
  • UDDI is a directory for storing information about web services
  • UDDI is a directory of web service interfaces described by WSDL
  • UDDI communicates via SOAP
  • UDDI is built into the Microsoft .NET platform

  © Blogger templates The Professional Template by Ourblogtemplates.com 2008

Back to TOP