Documentos de Académico
Documentos de Profesional
Documentos de Cultura
The Information Bus A body of software that facilitates the intelligent movement, organization and integration of data in a distributed environment
Legacy Systems
ERP
Financials
New Applications
HR
Sales
TIB Rendezvous
The back bone of the TIBCO Communication.
TIB Rendezvous
Easy Distributed Application. Support different h/w and s/w platforms. Seamless connection among different platforms and computers.
RV Daemon (RVD)
runs on each m/c as information enters & exits host computers.
TIB/RV Advantages...
No need of program to locate client or n/w address. Distributed application system. Resilient System.
Producer Consumer
Thread safe.
Location transparency.
Subject based addressing
Subject-Based Addressing
Applications publish data on the TIB under a semantically meaningful subject name Applications subscribe to subject names and receive all data published under those subject names Subject based addressing provides location transparency
SUBJECT NAMES
Contains one or more elements separated by dot. It reflects the structure of information in an application system. Max length 255 char.(With delimiter) Max length for element 252. Maximum token 127.
Subject-Based Addressing
TIB messages pass between communication endpoints Endpoints are determined by subjectbased addresses Message handler routines are bound to communication endpoints
Messages are then processed on arrival by the message handler routines
Subject-Based Addressing
Applications address data, not hardware locations
Programs are not topology/address dependent Users and programmers do not have to know networking details
Subject-Based Addressing
Applications listen to subjects and receive all data sent under those subjects Subject-based addressing provides location transparency
Location Transparency
De-couple front-end from back-end Develop generic distributed applications
App1 uses Subject.Based.Addressing App2 uses Subject.Based.Addressing
Publish
Subscribe
Publish
Subscribe
TIB/Rendezvous
Subscribe Publish
Self-Describing Data
Data model Data Model
Application A
Application B
TRDP provides
Subject Based Addressing Sequenced delivery of messages from sender Retransmission of missed messages within a retransmission time window
Reliable TRDP Delivery is an optimistic protocol based on NACKs The TIB/Rendezvous Daemon implements TRDP
Not the application
TIB Technology
TCP
TIB/Rendezvous Daemon
TIB/Rendezvous Daemon
RVD RVRD
Delivers messages reliably Filters subject-addressed messages Dispatches messages to application processes
TIB/Rendezvous Daemons
Host 1 Host 2
Application A
Application B
Application C
RVD Network
RVRD
Delivery Service
Reliable Delivery
Can survive brief network glitches No confirmation No registration No ledger
Certified delivery
Can survive beyond session and process restart Confirmation of every receipt Registration of cooperating applications Ledger
Reliable Publish/Subscribe
Lightest-weight protocol for non-critical message delivery Reliable ordered delivery Broadcast to hundreds and thousands of applications (one to many) Loss detection with transparent re-transmission
Rendezvous Daemon
TRDP
UDP
Certified Publish/Subscribe
Critical ordered message delivery Guaranteed delivery beyond session and process restart Dynamic discovery broadcast protocols Point-to-point message protocols Automatic recovery protocols
TRDP
UDP
Subscriber
2
3 Request registration
Certified Messaging
RVCM is a quality of service that is layered on top of TIB/RV standard APIs
Provides for critical ordered message delivery with acknowledgement Appropriate when each message on a specific subject builds upon information in the previous subject In situations of intermittent physical connectivity
Certified Messaging
The TIB/RV daemons do not differentiate between RVCM messages and other RV messages
No additional logging/caching takes place in the rendezvous communication daemons
Additional system administration may be required to manage, control subject names and disk files used by the RVCM application
Message delivery acknowledgements per delivery tracking sessions Time limit configuration for message delivery specified by the sender
Messages between a delivery tracking session and a non-RVCM (reliable) session occur without acknowledgements
TIB/Rendezvous Daemons
Host 1 Host 2
Application A
Application B
Application C
RVD Network
RVRD
Transports
A communication connection to the TIB/RV daemon is called a Transport A transport contains network context for the application An application may create more than one transport and use them as required Creating a Transport makes a connection between the API and daemon
Transports
If the daemon is not running, it is automatically restarted Many API functions require a transport handle Transport requires three parameters
Service Network Daemon
Transports
Application A
tibrvTransport_Create() creates the TCP connectivity from the TIB/rv library to the TIB/rv Daemon The TIB/rv Daemon then communicates on behalf of the application to and from the network
RVD
UDP
Transports
A transport can communicate only with other transports in the same service group
Communication occurs between identical UDP ports
To communicate with more than one service group, applications must initialize more than one transport
Application C
Logical Network
Service 5439
RV API
Service 7500
Service 9123
Service
TIB/RV Daemon divides the network into logical partitions called service groups Each transport belongs to a single service group A transport can communicate only with other transports in the same service group
Specifying Service
When an application specifies a service
The transport creation function calls getservbyname(), which searches a network database such as NIS, DNS, or a flat file such as /etc/services for the decimal integer to ehich the service name has been defined
Specifying Service
If you specify NULL,
The transport creation function calls getservbyname() If getservbyname() does not find rendezvous, the transport creation function uses UDP port 7500 Its recommended to define Rendezvous as a service especially if UDP port 7500 is already in use
Specifying Service
For example, network administrators might add the following service entry to the network database
Rendezvous 8000/udp
Now programmers can conveniently specify NULL as transport argument to initialize a transport using the default service
Network Parameter
Every application transport communicates with other transports over a single network On computers with more than one network interface, the network parameter instructs the TIB/Rendezvous Daemon to use a particular network for all communications involving this transport
Network Parameter
To communicate over more than one network, applications must initialize more than one transport
Network can be specified in several ways NULL specifies the default network interface
If the application is connecting to a remote daemon, the network parameter must refer to the network from the perspective of the remote computer that hosts the daemon process
Host IP Address
3.209.129.43
Rendezvous software supports multicast addressing only when the network supports multicast
Daemon Parameter
Daemon parameter specifies how and where to find the TIB/Rendezvous Daemon to establish a communication transport Daemon can be specified on a remote computer NULL specifies the default-find to the local daemon on TCP socket 7500
Local Daemon
For local daemons, the transport creation functions daemon parameter is specified and the listen option to the daemon process as a (TCP) communication type and a socket number, separated by a colon
Example: tcp:7500
Local Daemon
When an application specifies NULL, tibrvTransport_Create() will use tcp:7500 as the default daemon To use the default client socket, supply NULL as the daemon argument to the transport creation function and omit the listen option to the daemon process
Remote Daemon
In most cases, applications use a local daemon, running on the same host as the application Certain situations require a remote daemon
The applications runs on a notebook computer that is not directly connected to the network The application connects to a network at a remote site
Summary
TIB/Rendezvous communications take place within a the context of a transport Asynchronous transports can recover subscriptions automatically if the TIB/Rendezvous Daemon is restarted A transport is asynchronous and event driven
Summary
A transport explicitly binds together a service group and a network for use by the messaging software A program may use more than one transport, but it is not recommended that more than one thread share a a transport Programmers use transport handles to reference transports
TIB/Rendezvous Daemon
RVD Commands
Rvd
[listen [<ip_address:]<tcp_port>] [-permanent] [-foreground] [-logfile [<filenam>]] [-reliability <time>] [-http [<ip_address>:]<http_port>] or [-no-http]
-listen <port>
Specifies where the Rendezvous Daemon should listen for clients Corresponds to the daemon parameter of the session initialization call If listen option is not specified RVD uses tcp:7500 as default
-permanent
If this parameter is present, RVD runs indefinitely until terminated If this parameter is NOT present, RVD exits after 15 minutes during which no Rendezvous application connect to it
-foreground
Available only on UNIX platforms If this parameter is present, RVD runs as a foreground process If it is not present, RVD runs as a background process
-logfile <filename>
Send output log to this file When absent, default is stderr
-reliability <time>
Specifies the time for which daemon retains outbound messages Retaining message data allows the daemon to re-transmit message packets upon request from another daemon process (which did not correctly receive the data)
RVRD Tasks
Monitors subject interest expressed by each TIB/Rendezvous transport on the local network Requests subjects from other networks by passing subject interest information to neighboring routing daemon processes
RVRD Tasks
Receives subject interest information from neighbors and tracks delivery addresses Delivers messages as appropriate
To routing daemons on other network To attached client applications
Acting as an RVD process
Transparent Forwarding
TIB/Rendezvous applications on one network can listen for subject names and receive messages from other network transparently
Video Publisher
RVRD
Video Publisher
Subject Interest
Allows cooperating neighbors to handle dynamic importing and exporting of TIB/Rendezvous messages When a routing daemon detects interest in a subject, it sends a subject interest request to its neighbors
The request includes the subject name and a delivery address indicating where to send messages with matching subject names
Subject Interest
Each routing daemon process maintains an interest list of subjects and delivery addresses as requested by neighbors When the message with a matching subject name arrives, the routing daemon distributes it to the appropriate destinations
Local network (locally) and/or Neighbor routing daemons
Adjacency
Two networks are called adjacent when they are connected by a direct physical network link without intervening networks
B and C are adjacent C and D have intervening B network
C A B D
Service Groups
Group of transports that use the same UDP service to communicate
Rendezvous software communicates with other members of a service group on the same network so they can share messages with each other
Programs use rvrd to cooperate across a WAN with programs that belong to a particular service group
The local programs must join the same service group
Service Groups
Routing daemons link compatible service groups on adjacent networks so they behave like a single large network
Neighbors
A pair of routing daemon processes on adjacent networks are neighbors only if they are declared as neighbors
There must be a point-to-point network route between neighbors
To declare a neighboring routing daemon, use the neighbor functionality in the Browser Administration Interface
Neighbors
Non-neighbor routing daemons on adjacent networks do not exchange subject interests directly with each other Other information may still flow over the physical link between the two networks
Examples: telnet, ftp, http etc.
Restricting Messages
Network administrators can use routing daemons in several important ways
Restrict sensitive information to particular networks Limit the volume of messages between networks Constrain information to flow only in one direction between two networks
Restricting Messages
Restrict Messages by Service Port
Limit communication between networks to particular service groups
E.Anet.moo.com
F.Anet.moo.com
G.Bnet.moo.com
H.Bnet.moo.com
Bnet.moo.com
The browser administration interface provides different options for determining what gets logged
Firewalls
Firewalls restrict the flow of information across organizational boundaries
Rvrd can be configured to allow messages to pass as TCP point-to-point packets across the firewall In addition, RVRD can be configured to
Use proxy deliveries Use reply name substitution Accept only local application connections Use passive connection
Yes
Company.Segment.Division.BusinessFunction.System. ObjectType.Operation.
Eg:-
MHP.MHE.SCHOOL.CSOP.ORACLE.CUSTOMER.CRE ATE.
Subject name may contain filters after base subject address.e.g:MHP.MHE.LEARNING.SALES.PRIMIS.ORDER.UPD.P UB.