US20100107178A1 - System and Method for Providing a Communications Service in Distributed Computing Environment - Google Patents

System and Method for Providing a Communications Service in Distributed Computing Environment Download PDF

Info

Publication number
US20100107178A1
US20100107178A1 US12/651,068 US65106809A US2010107178A1 US 20100107178 A1 US20100107178 A1 US 20100107178A1 US 65106809 A US65106809 A US 65106809A US 2010107178 A1 US2010107178 A1 US 2010107178A1
Authority
US
United States
Prior art keywords
broker
ims
transaction
client
adapter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/651,068
Inventor
David B. Foster
Larry K. Holden
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US12/651,068 priority Critical patent/US20100107178A1/en
Publication of US20100107178A1 publication Critical patent/US20100107178A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services

Definitions

  • the present invention relates generally to a communications infrastructure and, more particularly, to a system and method for providing a service that enables and manages communications between distributed applications and legacy systems in distributed computing environment.
  • OS/390 consists of several subsystems, including IMS (Information Management System) and CICS (Customer Information Control System).
  • CORBA is OMG's (Object Management Group's) open, vendor-independent specification for an architecture and infrastructure that computer applications use to work together over networks.
  • CORBA is designed to provide interoperability between applications that may be written in different languages and may run on different platforms.
  • CORBA defines an implementation independent object model, which is built with a programming language, such as C++ or Java.
  • CORBA provides object services that are domain-dependent interfaces that are used by many distributed object programs.
  • CORBA defines an ORB (Object Request Broker) that handles the transport of information between applications.
  • ORB functions as a communications infrastructure, transparently relaying object requests across distributed heterogeneous computing environments.
  • ORB simplifies distributed programming by decoupling the client from the details of the method invocations. Interoperability is accomplished through well-defined object interface specifications, which allow client applications to connect to the ORB, specified in OMG IDL (Interface Definition Language).
  • OMG IDL defines the types of objects according to the operations that may be performed on them and the parameters to those operations.
  • FIG. 1 shows the basic CORBA ORB architecture.
  • Client 100 is the entity that wishes to perform an operation on an object.
  • the object which is known as a “servant” and implemented by a server, is an entity that consists of an identity, an interface and an implementation.
  • Object implementation 102 is a code and data that actually implements the object.
  • Object implementation 102 provides the semantics of the object, usually by defining data for the object instance and code for the object's method.
  • the objects export object references with interfaces specified by the OMG IDL for use by clients.
  • the object reference contains an identification of the object implementation so that the object adapter can pass the client's request to the correct object in the sewer.
  • the CORBA architecture is implemented in a conventional programming language, such as C, C++, Java, or Smalltalk.
  • OMG IDL specification is written and compiled to generate client stubs and server skeletons in the languages in which client and server are written.
  • the stubs and skeletons serve as proxies for clients and servers, respectively.
  • the stubs and skeletons are then included in the client's program and the server's program, respectively.
  • client 100 initiates a request to an operation on object implementation 102 through IDL stub 106 .
  • the request is an event carrying information that includes an operation, an object reference of the service provider, and actual parameter.
  • IDL stub 106 represents the mapping between the language of implementation of client 100 and ORB 104 .
  • IDL skeleton 110 represents the mapping between the language of implementation of object implementation 102 and ORB 104 .
  • ORB 104 locates the appropriate implementation code, transmits parameters and transfers control to object implementation 102 through IDL skeleton 110 .
  • the object implementation may obtain some services from ORB 104 through object adapter 112 .
  • control and output values are returned to client 100 .
  • Orbix which is a CORBA compliant ORB from IONA Technologies, Inc., has become a popular CORBA based system. Orbix uses a connection-oriented network design where each client process establishes a socket connection to each server process. Socket is a TCP/IP (Transmission Control Protocol/Internet Protocol) application programming interface that allows connection between two TCP/IP programs. For example, each of one hundred clients on system X communicating with one hundred servers on system Y would use 10,000 (100 ⁇ 100) sockets. The number of sockets of a system is limited. For any OS/390 process, for example, there is a practical limit of 2,000 simultaneous socket connections.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • FIG. 2 is a block diagram showing a mainframe-based system integrated into distributed computing environment.
  • system 200 is a legacy system running on OS/390 and integrated into distributed computing environment using Orbix.
  • Subsystem 208 of system 200 is an IMS.
  • An OS/390 mainframe can include multiple IMS control regions.
  • An IMS adapter such as Orbix IMS adapter, is loaded on each of the control regions.
  • the IMS adapter allows the client to remotely call and communicate with IMS applications.
  • IMS adapter 206 is loaded on control region 222 .
  • Access to transaction 220 is realized via IMS adapter 206 .
  • IMS adapter 206 includes interfaces for communications.
  • IMSraw interface 210 is one of such interfaces.
  • IMSraw interface 210 is a generic interface offering an operation “run_transaction” for invoking legacy transactions.
  • client 202 obtains an object reference of IMS adapter 206 from name service 204 .
  • Client 202 can use name service 204 to obtain the object reference.
  • Client 202 then sends a request to execute transaction 220 to IMS adapter 206 through IMSraw interface 210 .
  • Client 202 establishes a socket connection to IMS adapter 206 .
  • IMS adapter 206 receives the request and forwards the request to control region 222 .
  • the request is processed (i.e., the transaction is executed).
  • IMS adapter 206 sends a response to client 202 .
  • Clients 230 , 232 and 234 perform the same process described above to execute transaction 220 .
  • Each client establishes a socket connection to IMS adapter 206 .
  • the present invention provides methods, systems, and computer program products for enabling distributed applications to communicate with legacy systems in distributed computing environment.
  • the present invention provides a broker that manages communications between client applications and transaction adapters.
  • a preferred embodiment of the present invention is a broker that provides socket connection consolidation.
  • the socket connection consolidation provided by the broker enables a service provider application to support a larger number of client applications.
  • the broker provides routing to the appropriate service provider application by message content and context.
  • the broker abstracts message segmentation complexities and application specific details from distributed client applications.
  • the broker of the present invention can be provided as a CORBA service, an MQSeries-based service, or any kinds of middleware.
  • the broker can be provided as distributed service running separately from the client applications or co-located to the client applications.
  • the broker also functions as an authority delegation between the client applications and the service provider applications.
  • the broker of the present invention receives a request to execute a transaction from a client with input parameters.
  • the input parameters may include a policy, a sequence of properties and a string of input data.
  • the broker uses the policy and the sequence of properties to initiate a routing request.
  • a routing service receives the routing request and returns a transaction name and the name of the transaction adapter that can execute the transaction.
  • the broker Using the name of the transaction adapter as the key, the broker then obtains an object reference of the transaction adapter.
  • the name service can be used to obtain the object reference.
  • the broker submits the transaction to an interface of the transaction adapter with the input data as parameter.
  • the transaction is executed and the broker receives a response from the transaction adapter.
  • the broker forwards the response to the client.
  • the broker can segment the input data before submitting to the transaction adapter if needed. If the response is in multiple segments, the broker can combine the multiple segments into one string before forwarding the response to the client. Further, the broker may receive a security identifier from the client and forward to the transaction adapter for security authentication and/or authorization.
  • the broker of the present invention receives multiple communications connections from multiple clients.
  • the broker consolidates the multiple communications connections and establishes one communications connection to the server.
  • the broker of the present invention enables distributed applications to communicate with existing IMS servers.
  • a client initiates a request to the broker to execute an IMS transaction.
  • the broker contacts the routing service.
  • the routing service locates the IMS transaction and an IMS control region.
  • the routing service returns a transaction name and the name of the Orbix MS adapter that can execute the transaction.
  • the broker obtains an object reference of Orbix IMS adapter.
  • the broker submits the transaction to an IMSraw interface.
  • the response returned from the IMS control region is returned to the client.
  • FIG. 1 is a schematic diagram showing a known CORBA ORB architecture.
  • FIG. 2 is a schematic diagram showing a mainframe-based system integrated into distributed computing environment.
  • FIG. 3 is a schematic diagram showing the relationship of a broker of the invention with other elements in distributed computing environment according to a preferred embodiment of the present invention.
  • FIG. 4 is a flow diagram showing exemplary steps of the operation of the broker in distributed computing environment according to a preferred embodiment of the present invention.
  • FIG. 5 is a flow diagram showing exemplary steps that a client can use to operate the broker of the invention in a distributed computing environment according to a preferred embodiment of the present invention.
  • FIG. 6 is a schematic diagram showing a distributed computing environment according to another embodiment of the present invention.
  • the present invention provides a broker that enables distributed applications to communicate with legacy systems in distributed computing environment.
  • the present invention provides a broker that manages communications between distributed applications and service provider applications.
  • the broker of the present invention reduces a number of socket connections between distributed applications and transaction adapters.
  • the broker enables the service provider applications to be able to provide services in a large scale distributed environment without degradation of performances.
  • the broker of the present invention can be provided as a CORBA service, an MQSeries-based service, or other type of middleware services.
  • the broker of the present invention receives a request to execute a transaction from a client.
  • the broker locates the transaction and an appropriate transaction adapter.
  • the broker submits the request via the transaction adapter.
  • the broker receives a response from the transaction adapter and forwards the response to the client.
  • the broker may receive requests from multiple clients via multiple communications connections.
  • the broker consolidates the multiple connections and provides one communications connection to the transaction adapter.
  • the broker hides and encapsulates all of its functions within one service.
  • the broker of the present invention can be used with any type of transaction adapters.
  • IMS adapter as an example.
  • FIG. 3 is a schematic diagram that illustrates, in a very simple fashion, distributed computing environment including the communications framework of the present invention.
  • System 308 may be a legacy system in any platform and/or language.
  • system 308 is a mainframe running on IBM's OS/390 and sub-system 310 is an IMS.
  • IMS 310 includes IMS control region 318 and transaction 316 .
  • IMS adapter 312 is loaded on IMS control region 318 .
  • Transaction 316 is integrated into distributed computing environment via IMS adapter 312 .
  • IMS adapter 312 provides interfaces for communication, such as IMSraw interface 314 .
  • Client 302 initiates a request to execute transaction 316 .
  • Broker 300 receives the request.
  • Broker 300 locates IMS adapter 312 and transaction 316 using routing service 306 .
  • Name service 304 provides an object reference of routing service 306 .
  • Routing service 306 is disclosed in U.S. patent application Ser. No. ______ filed on Aug. 20, 2002, which is assigned to the assignee of the present application and is incorporated herein by reference in its entirety.
  • broker 300 submits the request to IMS adapter 312 to execute transaction 316 .
  • Broker 300 includes interfaces. Interface 310 of broker 300 can be defined in an IDL as follows:
  • input parameters of the execute method includes, for example, “policy,” “desiredProperties” and input data.
  • the attributes of the execute method “policy” and “desiredProperties” are forwarded to the routing service and used to locate an appropriate transaction.
  • the first attribute “policy” can be equivalent to a contract name in the local database of the routing service.
  • the second input attribute “desiredProperties” may be a sequence of property name/value pairs.
  • desiredProperties can include the following:
  • Exceptions such as RequiredPropertyNotFoundException, InvalidValueException and UnrecognizedPropertyException indicates that a property is not recognized by the broker
  • FIG. 4 shows a flow diagram illustrating the operation of broker 300 and interaction of various systems shown in FIG. 3 .
  • step 402 client 302 initiates a request to execute transaction 316 .
  • Client 302 invokes the execute method of broker 300 defined in the IDL shown above.
  • Client 302 provides the input parameters.
  • the input parameters include a policy, input data and desiredProperties.
  • step 404 broker 300 receives the request with the input parameters from the client.
  • broker 300 sends a routing request to routing service 306 to locate IMS adapter 312 and transaction 316 .
  • Broker 300 forwards information needed for routing service 306 to locate the IMS adapter and the transaction to the routing service.
  • Broker 300 forwards the policy and the desiredProperties from the input parameters to routing service 306 .
  • routing service 306 receives the routing request and returns identifiers of IMS adapter 312 and transaction 316 to broker 300 .
  • the identifiers include, for example, a name of IMS adapter 312 and a name of transaction 316 .
  • the operation of routing service 306 is disclosed in U.S. patent application Ser. No. _ filed on Aug. 20, 2002.
  • broker 300 obtains an object reference of IMS adapter 312 .
  • Broker 300 can use name service 304 to obtain the object reference.
  • broker 300 connects to IMS adapter 312 and forwards the input data received from the client to execute transaction 316 .
  • An interface 314 such as an IMSraw interface, can be used for the communication.
  • step 414 the transaction is executed and IMS adapter 312 returns a response.
  • the response may include a character sequence.
  • the response may also include a length of the response.
  • broker 300 receives the response and forwards the response to client 302 .
  • FIG. 5 shows a flow diagram illustrating exemplary steps that a client can use to execute transaction 316 using broker 300 shown in FIG. 3 .
  • an IDL for broker 300 is obtained.
  • the IDL is then compiled on client 302 to obtain a stub.
  • the stub is integrated with a client code.
  • the client will use the stub to communicate with broker 300 .
  • the input parameters of the execute method of broker 300 are provided in the client code. This can be achieved by providing a desired value for input attributes of the execute method.
  • the input attributes of the execute method are described in detail above.
  • a value for “policy” is provided.
  • Other desiredProperties, such as key and loglevel can also be provided.
  • the input data string that is appropriate to execute the transaction is provided. The length of a request string may be provided.
  • an object reference of broker 300 is obtained.
  • Remote CORBA services either remote routing service or other remote CORBA services
  • client's local CORBA name service can be used to obtain the object reference.
  • client's local CORBA name service is used. Lookup method can be used to obtain the object reference.
  • step 508 the client invokes the execute method of broker 300 .
  • Broker 300 locates transaction 316 and IMS adapter 318 using routing service 308 .
  • the broker accesses the transaction via the IMS adapter.
  • the transaction is executed.
  • the IMS adapter returns a response to broker 300 .
  • the client receives the response from the broker.
  • the response may include character sequence.
  • the response may also include a length of the response.
  • Broker 300 of the present invention facilitates execution of a transaction by building and sending a request to the legacy systems.
  • Some of IMS transactions are horizontally distributed based on the data contained in the request (i.e., content routing).
  • a telephone service provider may have multiple mainframe regions. Each mainframe region has databases that contain information regarding a portion of the customers of the telephone service provider. Alabama customer accounts, for example, are located in a control region different from that of the South Florida accounts.
  • the transactions also usually have different regions based on, for example, whether the request is for development, testing, or production (i.e., context routing).
  • the broker can locate the right transaction and right control region from the input parameters.
  • Broker 300 can segment the input data string provided by the client before sending the input data string to the IMS adapter.
  • the IMS adapter sends and receives data in 8K blocks. I f the input data string received from the client is larger than 8K, the broker can segment the input data string into one or more of 8K segments before sending the input data string to the IMS adapter.
  • the IMS Adapter may convert the segmented input data string from ASCII (American Standard Code for Information Interchange) character set to EBCDIC (Extended Binary Coded Decimal Interchange Code) character set.
  • Broker 300 can also receive a response in multiple segments and combine the multiple segments into one string before forwarding to the client.
  • Broker 300 provides authenticate delegation.
  • the client provides a security identity, such as “userid,” to the IMS adapter through the broker.
  • a security identity such as “userid”
  • IMSSS IMS Security System
  • Transactions must be authenticated with the IMSSS before they are scheduled.
  • the IMS adapter uses the security identity forwarded by the broker to check IMS security, when starting the transaction.
  • the property “otherid” can be used for security authentication, in addition to the “userid.”
  • the broker provides connect-pooling.
  • the broker consolidates multiple socket connections between clients and transaction adapters.
  • the broker enables multiple clients to be able to connect to an transaction adapter using one socket connection.
  • the broker concentrates the sockets for multiple clients within single application server and also for multiple servers.
  • FIG. 6 is a schematic diagram that illustrates, in a simple fashion, the connection-pooling provided by the broker of the present invention. Transactions are horizontally distributed and the broker is running in multiple instances.
  • First system 620 includes control region A 622 and control region B 624 .
  • Second system 626 includes control region C 628 .
  • First broker 600 A and second broker 600 B are examples of multiple instances of broker 300 .
  • Each instance of the broker receives requests fsom multiple clients.
  • the each instance of the broker can receive requests from multiple application sewers.
  • the each instance of the broker can also receive multiple requests from one application server.
  • the each instance of the broker can be local or remote to a client.
  • first broker 600 A receives requests from multiple application servers 602 , 604 , 606 , and 608 .
  • First broker 600 A also receives multiple requests from sewer 610 .
  • Second broker 600 B receives multiple requests from each of server 612 and sewer 614 .
  • Second broker 601 B is local to server 612 but remote to server 614 .
  • the each instance of the broker consolidates the multiple connections from the clients and establishes one socket connection to each of the control regions.
  • First broker 600 A establishes one socket connection with each of the control regions 622 , 624 and 626 .
  • Second broker 600 B also establishes one socket connection with each of the control regions 622 , 624 and 626 .
  • the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.

Abstract

A broker of the present invention enables distributed applications to communicate with a server in distributed computing environment. The broker receives from a client a request to execute a transaction. The broker receives input parameters including input data. The broker uses a routing service to locate the server. The broker then establishes a communications connection to the server and forwards the input data. The transaction is executed and the broker receives a response from the server. The broker forwards the response to the client. The broker can segment the input data before forwarding the input data to the server. If the response is in multiple segments, the broker can combine the multiple segments into one string before forwarding the response to the client. Further, the broker may receive requests from multiple clients via multiple communications connections. The broker then consolidates the multiple communications connections and establishes one communications connection to the server.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of U.S. application Ser. No. 10/231,258, filed Aug. 30, 2002. The entirety of which is herein incorporated by reference.
  • BACKGROUND Field of the Invention
  • The present invention relates generally to a communications infrastructure and, more particularly, to a system and method for providing a service that enables and manages communications between distributed applications and legacy systems in distributed computing environment.
  • BACKGROUND OF THE INVENTION
  • The mainframe-based information technology (IT) environment is still a common architecture in many large organizations. One of the most popular operating systems for mainframes is IBM's OS/390. OS/390 consists of several subsystems, including IMS (Information Management System) and CICS (Customer Information Control System).
  • Mainframe based applications can be integrated into distributed computing environment using a CORBA-based system. CORBA is OMG's (Object Management Group's) open, vendor-independent specification for an architecture and infrastructure that computer applications use to work together over networks. CORBA is designed to provide interoperability between applications that may be written in different languages and may run on different platforms. CORBA defines an implementation independent object model, which is built with a programming language, such as C++ or Java. CORBA provides object services that are domain-dependent interfaces that are used by many distributed object programs.
  • CORBA defines an ORB (Object Request Broker) that handles the transport of information between applications. The ORB functions as a communications infrastructure, transparently relaying object requests across distributed heterogeneous computing environments. ORB simplifies distributed programming by decoupling the client from the details of the method invocations. Interoperability is accomplished through well-defined object interface specifications, which allow client applications to connect to the ORB, specified in OMG IDL (Interface Definition Language). OMG IDL defines the types of objects according to the operations that may be performed on them and the parameters to those operations.
  • FIG. 1 shows the basic CORBA ORB architecture. Client 100 is the entity that wishes to perform an operation on an object. The object, which is known as a “servant” and implemented by a server, is an entity that consists of an identity, an interface and an implementation. Object implementation 102 is a code and data that actually implements the object. Object implementation 102 provides the semantics of the object, usually by defining data for the object instance and code for the object's method. The objects export object references with interfaces specified by the OMG IDL for use by clients. The object reference contains an identification of the object implementation so that the object adapter can pass the client's request to the correct object in the sewer. The CORBA architecture is implemented in a conventional programming language, such as C, C++, Java, or Smalltalk.
  • To use CORBA, OMG IDL specification is written and compiled to generate client stubs and server skeletons in the languages in which client and server are written. The stubs and skeletons serve as proxies for clients and servers, respectively. The stubs and skeletons are then included in the client's program and the server's program, respectively. Thereafter, client 100 initiates a request to an operation on object implementation 102 through IDL stub 106. The request is an event carrying information that includes an operation, an object reference of the service provider, and actual parameter. IDL stub 106 represents the mapping between the language of implementation of client 100 and ORB 104. IDL skeleton 110 represents the mapping between the language of implementation of object implementation 102 and ORB 104. ORB 104 locates the appropriate implementation code, transmits parameters and transfers control to object implementation 102 through IDL skeleton 110. In performing the request, the object implementation may obtain some services from ORB 104 through object adapter 112. When the request is complete, control and output values are returned to client 100.
  • Orbix, which is a CORBA compliant ORB from IONA Technologies, Inc., has become a popular CORBA based system. Orbix uses a connection-oriented network design where each client process establishes a socket connection to each server process. Socket is a TCP/IP (Transmission Control Protocol/Internet Protocol) application programming interface that allows connection between two TCP/IP programs. For example, each of one hundred clients on system X communicating with one hundred servers on system Y would use 10,000 (100×100) sockets. The number of sockets of a system is limited. For any OS/390 process, for example, there is a practical limit of 2,000 simultaneous socket connections.
  • FIG. 2 is a block diagram showing a mainframe-based system integrated into distributed computing environment. As an example, system 200 is a legacy system running on OS/390 and integrated into distributed computing environment using Orbix. Subsystem 208 of system 200, as an example, is an IMS. An OS/390 mainframe can include multiple IMS control regions. An IMS adapter, such as Orbix IMS adapter, is loaded on each of the control regions. The IMS adapter allows the client to remotely call and communicate with IMS applications. As shown in FIG. 2, IMS adapter 206 is loaded on control region 222. Access to transaction 220 is realized via IMS adapter 206. IMS adapter 206 includes interfaces for communications. IMSraw interface 210 is one of such interfaces. IMSraw interface 210 is a generic interface offering an operation “run_transaction” for invoking legacy transactions.
  • To execute transaction 220 in IMS 208, client 202 obtains an object reference of IMS adapter 206 from name service 204. Client 202 can use name service 204 to obtain the object reference. Client 202 then sends a request to execute transaction 220 to IMS adapter 206 through IMSraw interface 210. Client 202 establishes a socket connection to IMS adapter 206. IMS adapter 206 receives the request and forwards the request to control region 222. The request is processed (i.e., the transaction is executed). IMS adapter 206 sends a response to client 202. Clients 230, 232 and 234 perform the same process described above to execute transaction 220. Each client establishes a socket connection to IMS adapter 206.
  • SUMMARY OF THE INVENTION
  • The present invention provides methods, systems, and computer program products for enabling distributed applications to communicate with legacy systems in distributed computing environment. The present invention provides a broker that manages communications between client applications and transaction adapters.
  • A preferred embodiment of the present invention is a broker that provides socket connection consolidation. The socket connection consolidation provided by the broker enables a service provider application to support a larger number of client applications. The broker provides routing to the appropriate service provider application by message content and context. The broker abstracts message segmentation complexities and application specific details from distributed client applications. The broker of the present invention can be provided as a CORBA service, an MQSeries-based service, or any kinds of middleware. The broker can be provided as distributed service running separately from the client applications or co-located to the client applications. The broker also functions as an authority delegation between the client applications and the service provider applications.
  • In one embodiment, the broker of the present invention receives a request to execute a transaction from a client with input parameters. The input parameters may include a policy, a sequence of properties and a string of input data. The broker uses the policy and the sequence of properties to initiate a routing request. A routing service receives the routing request and returns a transaction name and the name of the transaction adapter that can execute the transaction. Using the name of the transaction adapter as the key, the broker then obtains an object reference of the transaction adapter. The name service can be used to obtain the object reference, Using the object reference, the broker submits the transaction to an interface of the transaction adapter with the input data as parameter. The transaction is executed and the broker receives a response from the transaction adapter. The broker forwards the response to the client. The broker can segment the input data before submitting to the transaction adapter if needed. If the response is in multiple segments, the broker can combine the multiple segments into one string before forwarding the response to the client. Further, the broker may receive a security identifier from the client and forward to the transaction adapter for security authentication and/or authorization.
  • In another embodiment, The broker of the present invention receives multiple communications connections from multiple clients. The broker consolidates the multiple communications connections and establishes one communications connection to the server.
  • In another embodiment, the broker of the present invention enables distributed applications to communicate with existing IMS servers. A client initiates a request to the broker to execute an IMS transaction. The broker contacts the routing service. The routing service locates the IMS transaction and an IMS control region. The routing service returns a transaction name and the name of the Orbix MS adapter that can execute the transaction. Using the Orbix IMS adapter name as the key, the broker obtains an object reference of Orbix IMS adapter. Using the object reference, the broker submits the transaction to an IMSraw interface. The response returned from the IMS control region is returned to the client.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram showing a known CORBA ORB architecture.
  • FIG. 2 is a schematic diagram showing a mainframe-based system integrated into distributed computing environment.
  • FIG. 3 is a schematic diagram showing the relationship of a broker of the invention with other elements in distributed computing environment according to a preferred embodiment of the present invention.
  • FIG. 4 is a flow diagram showing exemplary steps of the operation of the broker in distributed computing environment according to a preferred embodiment of the present invention.
  • FIG. 5 is a flow diagram showing exemplary steps that a client can use to operate the broker of the invention in a distributed computing environment according to a preferred embodiment of the present invention.
  • FIG. 6 is a schematic diagram showing a distributed computing environment according to another embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The present invention provides a broker that enables distributed applications to communicate with legacy systems in distributed computing environment. The present invention provides a broker that manages communications between distributed applications and service provider applications. The broker of the present invention reduces a number of socket connections between distributed applications and transaction adapters. The broker enables the service provider applications to be able to provide services in a large scale distributed environment without degradation of performances. The broker of the present invention can be provided as a CORBA service, an MQSeries-based service, or other type of middleware services.
  • The broker of the present invention receives a request to execute a transaction from a client. The broker locates the transaction and an appropriate transaction adapter. The broker submits the request via the transaction adapter. Once the transaction is executed, the broker receives a response from the transaction adapter and forwards the response to the client. The broker may receive requests from multiple clients via multiple communications connections. The broker consolidates the multiple connections and provides one communications connection to the transaction adapter. The broker hides and encapsulates all of its functions within one service.
  • Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
  • The broker of the present invention can be used with any type of transaction adapters. For clarity, however, the below description uses an IMS adapter as an example.
  • FIG. 3 is a schematic diagram that illustrates, in a very simple fashion, distributed computing environment including the communications framework of the present invention. System 308 may be a legacy system in any platform and/or language. In this embodiment, as an example, system 308 is a mainframe running on IBM's OS/390 and sub-system 310 is an IMS. IMS 310 includes IMS control region 318 and transaction 316. IMS adapter 312 is loaded on IMS control region 318. Transaction 316 is integrated into distributed computing environment via IMS adapter 312. IMS adapter 312 provides interfaces for communication, such as IMSraw interface 314.
  • Client 302 initiates a request to execute transaction 316. Broker 300 receives the request. Broker 300 then locates IMS adapter 312 and transaction 316 using routing service 306. Name service 304 provides an object reference of routing service 306. Routing service 306 is disclosed in U.S. patent application Ser. No. ______ filed on Aug. 20, 2002, which is assigned to the assignee of the present application and is incorporated herein by reference in its entirety. Once IMS adapter 312 and transaction 316 are located, broker 300 submits the request to IMS adapter 312 to execute transaction 316.
  • Broker 300 includes interfaces. Interface 310 of broker 300 can be defined in an IDL as follows:
  • module ims {
    interface broker {
    typedef sequence<char Charsegment;
    exception Invalid ValueException { string reason;);
    exception RequiredPropertyNotFoundException { string reason;};
    exception UnrecognizedPropertyException { string reason; );
    exception PolicyNotFoundException { string reason; );
    exception RouterUnavailableException { string reason; };
    exception RouterException { string reason; );
    exception UserNotAuthorizedException { string reason; };
    exception IMSUnavailableException { string reason; };
    exception TransactionFailedException { string reason; };
    exception IMSAdapterUnavailableException { string reason; );
    exception IMSAdapterException { stsing reason; };
    exception BrokerInternalException { string reason; );
    exception BrokerExternalException { string reason; );
    struct Property {
       string name;
       string value;
    };
    typedef sequence<Property> PropertySeq;
    void execute(in string policy,
       in PropertySeq desiredProperties,
       in long requestSize,
       in CharSeqment request,
       in boolean navHeader, // set true if you want to send header
       out long responseSize,
       out Charsegment response)
    raises (RequiredPropertyNotFoundException,
       InvalidValueException,
       UnrecognizedPropertyException,
       PolicyNotFoundException,
       IMSAdapterUnavailableException,
       UserNotAuthorizedException,
       TransactionFailedException,
       IMSUnavailableException,
       IMSAdapterException,
       RouterUnavailableException,
       RouterException,
       BrokerExternalException,
       BrokerInternalException);
       };
    };
  • As shown above, input parameters of the execute method includes, for example, “policy,” “desiredProperties” and input data.
  • The attributes of the execute method “policy” and “desiredProperties” are forwarded to the routing service and used to locate an appropriate transaction. The first attribute “policy” can be equivalent to a contract name in the local database of the routing service.
  • The second input attribute “desiredProperties” may be a sequence of property name/value pairs. Some possible types of desiredProperties can include the following:
      • version: indicates a version of a transaction or object to be resolved by the routing service;
      • mode: provides a direction to the routing service;
      • userid: indicates an unique identifier associated with a user;
      • otherid: indicates an unique identifier associated with a user, which can be used for second level authentication by an IMS (This may be an option);
      • maxresplen: indicates desired maximum length of a response (This may be an option);
      • loglevel: indicates desired loglevel of the broker for a particular transaction (This may be an option);
      • key: indicates a content-based routing key to be used in mapping to a target service (For example, address, site code, state code, or any other content-based routing criteria defined by a client can be used. The routing service may parse the key provided by the client based on a rule specified on the policy to build the true concatenated key to be matched against the routing rules. The key can be extracted from the data and can be used by the routing service to find the routing information. For data 123456789, for example, key can be 123456. The key may be an option); and
      • timeout: indicates maximum amount of time that the broker would wait for a response from an IMS adapter (Timeout may be indicated in milliseconds. This may be an option).
  • Exceptions, such as RequiredPropertyNotFoundException, InvalidValueException and UnrecognizedPropertyException indicates that a property is not recognized by the broker
  • FIG. 4 shows a flow diagram illustrating the operation of broker 300 and interaction of various systems shown in FIG. 3.
  • In step 402, client 302 initiates a request to execute transaction 316. Client 302 invokes the execute method of broker 300 defined in the IDL shown above.
  • Client 302 provides the input parameters. The input parameters include a policy, input data and desiredProperties.
  • In step 404, broker 300 receives the request with the input parameters from the client.
  • In step 406, broker 300 sends a routing request to routing service 306 to locate IMS adapter 312 and transaction 316. Broker 300 forwards information needed for routing service 306 to locate the IMS adapter and the transaction to the routing service. Broker 300 forwards the policy and the desiredProperties from the input parameters to routing service 306.
  • In step 408, routing service 306 receives the routing request and returns identifiers of IMS adapter 312 and transaction 316 to broker 300. The identifiers include, for example, a name of IMS adapter 312 and a name of transaction 316. The operation of routing service 306 is disclosed in U.S. patent application Ser. No. _______ filed on Aug. 20, 2002.
  • In step 410, using the identifiers received from routing service 306, broker 300 obtains an object reference of IMS adapter 312. Broker 300 can use name service 304 to obtain the object reference.
  • In step 412, broker 300 connects to IMS adapter 312 and forwards the input data received from the client to execute transaction 316. An interface 314, such as an IMSraw interface, can be used for the communication.
  • In step 414, the transaction is executed and IMS adapter 312 returns a response. The response may include a character sequence. The response may also include a length of the response.
  • In step 416, broker 300 receives the response and forwards the response to client 302.
  • FIG. 5 shows a flow diagram illustrating exemplary steps that a client can use to execute transaction 316 using broker 300 shown in FIG. 3.
  • In step 502, an IDL for broker 300 is obtained. The IDL is then compiled on client 302 to obtain a stub. The stub is integrated with a client code. The client will use the stub to communicate with broker 300.
  • In step 504, the input parameters of the execute method of broker 300 are provided in the client code. This can be achieved by providing a desired value for input attributes of the execute method. The input attributes of the execute method are described in detail above. A value for “policy” is provided. For “desiredProperties”, for example, mode can be set as “mode=T” and timeout can be set as “timeout=40000.” Other desiredProperties, such as key and loglevel can also be provided. Further, the input data string that is appropriate to execute the transaction is provided. The length of a request string may be provided.
  • Following is an example of the client code that can be used.
  •   ims::Broker_ptr IT_obj;
      CORBA::String_var policy;
      ims::Broker::PropertySeq desiredProperties;
      CORBA::String_var request;
      CORBA: :String_var response;
      policy=”NAVTEST3”;
      desiredPmpesties.length(3); // number of properties
      desiredProperties[O],name=″VERSION″;
      desiredPropesties[O].value=″0001″;
      desiredProperties[1].name=“MODE”
      desiredProperties[1].value=“T”
      desiredProperties[2].name=“KEY”
      desiredProperties[2].value=“A04”
      indata=″A04 BLAHBLAHBLAH″;
    try {
      IT_obj->execute(
        policy,
        desiredProperties,
        request, 0,
        response);
    }
    catch (const ims::Broker::NotFoundException &ex) {
      cout << ″call_im_Broker_execute( ): call failed properly due to ...″
        << endl
        << ″ ims:Broker::NotFoundException exception = ″
        << ex.reason << endl;
      return;
    }
    catch (const C0RBA::SystemException &ex) {
      cout << ″call-im_Broker - execute( ): call failed.″ << end1
        << ex << endl;
      return;
    }
    cout << ″call_MBDB_Broker_execute( ): ″
      << ″success: got back ...″
      << endl;
    cout << ″ response = ″ << response << endl;
    }
  • In step 506, an object reference of broker 300 is obtained. Remote CORBA services (either remote routing service or other remote CORBA services) or the client's local CORBA name service can be used to obtain the object reference. Preferably, the client's local CORBA name service is used. Lookup method can be used to obtain the object reference.
  • In step 508, the client invokes the execute method of broker 300. Broker 300 then locates transaction 316 and IMS adapter 318 using routing service 308. The broker accesses the transaction via the IMS adapter. The transaction is executed. The IMS adapter returns a response to broker 300.
  • In step 510, the client receives the response from the broker. The response may include character sequence. The response may also include a length of the response.
  • Broker 300 of the present invention facilitates execution of a transaction by building and sending a request to the legacy systems. Some of IMS transactions are horizontally distributed based on the data contained in the request (i.e., content routing). For example, a telephone service provider may have multiple mainframe regions. Each mainframe region has databases that contain information regarding a portion of the customers of the telephone service provider. Alabama customer accounts, for example, are located in a control region different from that of the South Florida accounts. The transactions also usually have different regions based on, for example, whether the request is for development, testing, or production (i.e., context routing). Using the routing service, the broker can locate the right transaction and right control region from the input parameters.
  • Broker 300 can segment the input data string provided by the client before sending the input data string to the IMS adapter. For example, the IMS adapter sends and receives data in 8K blocks. I f the input data string received from the client is larger than 8K, the broker can segment the input data string into one or more of 8K segments before sending the input data string to the IMS adapter. The IMS Adapter may convert the segmented input data string from ASCII (American Standard Code for Information Interchange) character set to EBCDIC (Extended Binary Coded Decimal Interchange Code) character set. Broker 300 can also receive a response in multiple segments and combine the multiple segments into one string before forwarding to the client.
  • Broker 300 provides authenticate delegation. The client provides a security identity, such as “userid,” to the IMS adapter through the broker. To use the transaction in a particular control region, the userid of the request needs to have authority in IMSSS (IMS Security System). Transactions must be authenticated with the IMSSS before they are scheduled. The IMS adapter uses the security identity forwarded by the broker to check IMS security, when starting the transaction. The property “otherid” can be used for security authentication, in addition to the “userid.”
  • The broker provides connect-pooling. The broker consolidates multiple socket connections between clients and transaction adapters. The broker enables multiple clients to be able to connect to an transaction adapter using one socket connection. The broker concentrates the sockets for multiple clients within single application server and also for multiple servers.
  • FIG. 6 is a schematic diagram that illustrates, in a simple fashion, the connection-pooling provided by the broker of the present invention. Transactions are horizontally distributed and the broker is running in multiple instances. First system 620 includes control region A 622 and control region B 624. Second system 626 includes control region C 628. First broker 600A and second broker 600B are examples of multiple instances of broker 300. Each instance of the broker receives requests fsom multiple clients. The each instance of the broker can receive requests from multiple application sewers. The each instance of the broker can also receive multiple requests from one application server. The each instance of the broker can be local or remote to a client. For example, first broker 600A receives requests from multiple application servers 602, 604, 606, and 608. First broker 600A also receives multiple requests from sewer 610. Second broker 600B receives multiple requests from each of server 612 and sewer 614. Second broker 601B is local to server 612 but remote to server 614. The each instance of the broker consolidates the multiple connections from the clients and establishes one socket connection to each of the control regions. First broker 600A establishes one socket connection with each of the control regions 622,624 and 626. Second broker 600B also establishes one socket connection with each of the control regions 622, 624 and 626. By consolidating multiple connections from the clients and establishing one socket connection to a server, the broker of the present invention can effectively increase the number of clients that a mainframe-based system can support simultaneously. With the broker of the present invention, a sewer with the limited number of socket connections can provide a service to the larger number of clients.
  • The foregoing disclosure of the preferred embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be apparent to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.
  • Further, in describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.

Claims (5)

1. A method for executing an IMS (Information Management System) transaction in distributed computing environment supporting multiple communications protocols comprising the steps of:
receiving a request and input parameters from a client;
locating the IMS transaction and an IMS adapter associated with the IMS transaction;
establishing a communications connection to the IMS adapter;
receiving a response from the IMS adapter; and
forwarding the response to the client.
2. The method of claim 1, wherein the communications connection is established to an IMSraw interface of the IMS adapter.
3. The method of claim 1, wherein the method further includes the step of obtaining an object reference of the IMS adapter.
4. The method of claim 1, wherein the input parameters includes a policy, a sequence of properties, and input data.
5. The method of claim 4, wherein the step of locating the IMS transaction and the IMS adapter associated with the IMS transaction further including the steps of:
forwarding the policy and the sequence of properties to a mechanism that enables distributed applications to locate horizontally distributed service provider applications; and
receiving a name of the IMS adapter and a name of the IMS transaction.
US12/651,068 2002-08-30 2009-12-31 System and Method for Providing a Communications Service in Distributed Computing Environment Abandoned US20100107178A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/651,068 US20100107178A1 (en) 2002-08-30 2009-12-31 System and Method for Providing a Communications Service in Distributed Computing Environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/231,258 US7673053B1 (en) 2002-08-30 2002-08-30 System and method for providing a communications service in distributed computing environment
US12/651,068 US20100107178A1 (en) 2002-08-30 2009-12-31 System and Method for Providing a Communications Service in Distributed Computing Environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/231,258 Continuation US7673053B1 (en) 2002-08-30 2002-08-30 System and method for providing a communications service in distributed computing environment

Publications (1)

Publication Number Publication Date
US20100107178A1 true US20100107178A1 (en) 2010-04-29

Family

ID=41717731

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/231,258 Active 2028-08-07 US7673053B1 (en) 2002-08-30 2002-08-30 System and method for providing a communications service in distributed computing environment
US12/651,068 Abandoned US20100107178A1 (en) 2002-08-30 2009-12-31 System and Method for Providing a Communications Service in Distributed Computing Environment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/231,258 Active 2028-08-07 US7673053B1 (en) 2002-08-30 2002-08-30 System and method for providing a communications service in distributed computing environment

Country Status (1)

Country Link
US (2) US7673053B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100195606A1 (en) * 2009-02-03 2010-08-05 Samsung Electronics Co., Ltd. Supplementary service provision method and system for ims-based network
US10579347B2 (en) * 2017-11-03 2020-03-03 International Business Machines Corporation Self re-encoding interpreted application

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230032967A1 (en) * 2021-07-29 2023-02-02 Red Hat, Inc. Establishing process connections utilizing an intermediary broker

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
US6130875A (en) * 1997-10-29 2000-10-10 Lucent Technologies Inc. Hybrid centralized/distributed precomputation of network signal paths
US6216173B1 (en) * 1998-02-03 2001-04-10 Redbox Technologies Limited Method and apparatus for content processing and routing
US20020169863A1 (en) * 2001-05-08 2002-11-14 Robert Beckwith Multi-client to multi-server simulation environment control system (JULEP)
US20020178299A1 (en) * 2001-01-19 2002-11-28 Teubner Russell W. System, method and apparatus to allow communication between CICS and non-CICS software applications
US6490623B1 (en) * 1998-08-24 2002-12-03 International Business Machines Corporation System, method and computer readable code for encapsulating system, language and device independent communications socket functionality in a lightweight uniform communications object model
US6505254B1 (en) * 1999-04-19 2003-01-07 Cisco Technology, Inc. Methods and apparatus for routing requests in a network
US20030120817A1 (en) * 2001-10-15 2003-06-26 Maximilian Ott Dynamic content based multicast routing in mobile networks
US20030225693A1 (en) * 1997-08-27 2003-12-04 Data Treasury Corporation Biometrically enabled private secure information repository
US6718550B1 (en) * 1996-06-26 2004-04-06 Sun Microsystems, Inc. Method and apparatus for improving the performance of object invocation
US6742015B1 (en) * 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US20050144267A1 (en) * 2003-12-10 2005-06-30 Jonathan Maron Application server performance tuning client interface
US6970902B1 (en) * 2001-05-24 2005-11-29 Cisco Technology, Inc. Method and apparatus for providing a distributed service in a network
US6976261B2 (en) * 1997-12-18 2005-12-13 Sun Microsystems, Inc. Method and apparatus for fast, local CORBA object references
US7055028B2 (en) * 2000-10-10 2006-05-30 Juniper Networks, Inc. HTTP multiplexor/demultiplexor system for use in secure transactions
US7275079B2 (en) * 2000-08-08 2007-09-25 International Business Machines Corporation Common application metamodel including C/C++ metamodel
US7290056B1 (en) * 1999-09-09 2007-10-30 Oracle International Corporation Monitoring latency of a network to manage termination of distributed transactions
US7523164B2 (en) * 2001-08-16 2009-04-21 Sun Microsystems, Inc. Systems and methods for transaction messaging brokering

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718550B1 (en) * 1996-06-26 2004-04-06 Sun Microsystems, Inc. Method and apparatus for improving the performance of object invocation
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
US20030225693A1 (en) * 1997-08-27 2003-12-04 Data Treasury Corporation Biometrically enabled private secure information repository
US6130875A (en) * 1997-10-29 2000-10-10 Lucent Technologies Inc. Hybrid centralized/distributed precomputation of network signal paths
US6976261B2 (en) * 1997-12-18 2005-12-13 Sun Microsystems, Inc. Method and apparatus for fast, local CORBA object references
US6216173B1 (en) * 1998-02-03 2001-04-10 Redbox Technologies Limited Method and apparatus for content processing and routing
US6490623B1 (en) * 1998-08-24 2002-12-03 International Business Machines Corporation System, method and computer readable code for encapsulating system, language and device independent communications socket functionality in a lightweight uniform communications object model
US6505254B1 (en) * 1999-04-19 2003-01-07 Cisco Technology, Inc. Methods and apparatus for routing requests in a network
US6742015B1 (en) * 1999-08-31 2004-05-25 Accenture Llp Base services patterns in a netcentric environment
US7290056B1 (en) * 1999-09-09 2007-10-30 Oracle International Corporation Monitoring latency of a network to manage termination of distributed transactions
US7275079B2 (en) * 2000-08-08 2007-09-25 International Business Machines Corporation Common application metamodel including C/C++ metamodel
US7055028B2 (en) * 2000-10-10 2006-05-30 Juniper Networks, Inc. HTTP multiplexor/demultiplexor system for use in secure transactions
US20020178299A1 (en) * 2001-01-19 2002-11-28 Teubner Russell W. System, method and apparatus to allow communication between CICS and non-CICS software applications
US20020169863A1 (en) * 2001-05-08 2002-11-14 Robert Beckwith Multi-client to multi-server simulation environment control system (JULEP)
US6970902B1 (en) * 2001-05-24 2005-11-29 Cisco Technology, Inc. Method and apparatus for providing a distributed service in a network
US7523164B2 (en) * 2001-08-16 2009-04-21 Sun Microsystems, Inc. Systems and methods for transaction messaging brokering
US20030120817A1 (en) * 2001-10-15 2003-06-26 Maximilian Ott Dynamic content based multicast routing in mobile networks
US20050144267A1 (en) * 2003-12-10 2005-06-30 Jonathan Maron Application server performance tuning client interface

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Stal, Michael, "The Broker Architectural Framework", Object-Oriented Programming Systems, Languages, and Applications (OOPSLA "95), 1995, pp.1-19. *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100195606A1 (en) * 2009-02-03 2010-08-05 Samsung Electronics Co., Ltd. Supplementary service provision method and system for ims-based network
US8274942B2 (en) * 2009-02-03 2012-09-25 Samsung Electronics Co., Ltd Supplementary service provision method and system for IMS-based network
US10579347B2 (en) * 2017-11-03 2020-03-03 International Business Machines Corporation Self re-encoding interpreted application

Also Published As

Publication number Publication date
US7673053B1 (en) 2010-03-02

Similar Documents

Publication Publication Date Title
US10419373B2 (en) Method and apparatus for composite user interface generation
US8281326B2 (en) System and method for providing a routing service in distributed computing environment
US5790809A (en) Registry communications middleware
US5923879A (en) Conversion system and method between corba and c/c++ architectures for corba data pairs/couples
US7111077B1 (en) Method and apparatus for passing service requests and data from web based workstations directly to online transaction processing (OLTP) server systems
US7047525B2 (en) System and method for an interoperability framework
US20010056475A1 (en) System for on-line financial services using distributed objects
MXPA03006025A (en) Exchanging electronic messages between a host computer system and a distributed computer system.
WO2002086679A2 (en) Service provision system and method
US6993585B1 (en) Method and system for handling transaction requests from workstations to OLTP enterprise server systems utilizing a common gateway
US20040098726A1 (en) JMS integration into an application server
US7130898B2 (en) Mechanism for facilitating invocation of a service
CA2248634C (en) Common connector framework
US5913027A (en) Data processing method for a computer system including computers connected via a communication path to each other and computer-readable recording media for use with the computers
US20100107178A1 (en) System and Method for Providing a Communications Service in Distributed Computing Environment
US6499063B1 (en) Client/server computing for transaction processing with superior coordinator optimization
US20030023577A1 (en) Method and apparatus for handling the registration of multiple and diverse communication protocols for use in an object request broker (ORB)
KR100485674B1 (en) Financial integrated system for e―business environment
US20040243693A1 (en) Inbound connector
AU3881097A (en) Method for coupling transaction systems
US8099501B1 (en) Adapter architecture
US7644411B1 (en) Mechanism for implementing different types of services within the same two-phase commit transaction
US7539998B1 (en) Mechanism for converting CORBA object requests to native XATMI service requests
US7376958B1 (en) Method and apparatus for honoring CORBA transaction requests by a legacy data base management system
CA2237646A1 (en) Registry communications middleware

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION