Abstract:
An apparatus facilitates communications between first and second entities via a network. The first entity cooperates with a first interface unit to communicate via the network using a first protocol. The second entity cooperates with a second interface unit to communicate via the network using a second protocol. The network does not support communications using at least one of the first and second protocols. The apparatus includes: (a) a first converter coupled with the first entity for emulating the cooperative relation between the second entity and the second interface unit to convert communications from the first entity into a common protocol; and (b) a second converter coupled with the second entity for emulating the cooperative relation between the first entity and the first interface unit to convert communications from the second entity into the common protocol. The first and second converters communicate via the network using the common protocol.

Description:
BACKGROUND 
       [0001]    Network communications such as, by way of example and not by way of limitation, communications supporting Internet web services, have recently become generally ubiquitous. However, not all networks employ the same communications protocol or other protocols to effect communications. As a consequence communications between selected entities may not be carried out using some networks. 
         [0002]    By way of example and not by way of limitation, web service access by client applications may typically be effected using Simple Object Access Protocol (SOAP) messages that use Hypertext Transfer Protocol (HTTP). However, it is not uncommon to encounter a network environment that does not handle HTTP throughout. In such network environments a message protocol translation may be required in order to support trans-network communications. 
         [0003]    There is a need for an apparatus and method facilitating communications between entities via a network. 
       SUMMARY 
       [0004]    An apparatus facilitates communications between first and second entities via a network. The first entity cooperates with a first interface unit to communicate via the network using a first protocol. The second entity cooperates with a second interface unit to communicate via the network using a second protocol. The network does not support communications using at least one of the first and second protocols. The apparatus includes: (a) a first converter coupled with the first entity for emulating the cooperative relation between the second entity and the second interface unit to convert communications from the first entity into a common protocol; and (b) a second converter coupled with the second entity for emulating the cooperative relation between the first entity and the first interface unit to convert communications from the second entity into the common protocol. The first and second converters communicate via the network using the common protocol. 
         [0005]    A method facilitates communications between a first entity and a second entity via a common network. The first entity cooperates with a first interface unit to effect communication with the common network using a first communication protocol. The second entity cooperates with a second interface unit to effect communication with the common network using a second communication protocol. The common network does not support communications carried out using at least one of the first communication protocol and the second communication protocol. The method includes: (a) in no particular order: (1) providing a first converting element coupled with the first entity; the first converting element being configured for generally emulating the cooperative relation between the second entity and the second interface unit; and (2) providing a second converting element coupled with the second entity; the second converting element being configured for generally emulating the cooperative relation between the first entity and the first interface unit; (b) in no particular order: (1) effecting conversion of communications from the first entity into a common communication protocol; and (2) effecting conversion of communications from the second entity into the common communication protocol; and (c) effecting communication between the first converting element and the second converting element via the common network using the common communication protocol. 
         [0006]    It is, therefore, a feature of the present disclosure to provide an apparatus and method facilitating communications between entities via a network. 
         [0007]    Further features of the present disclosure will be apparent from the following specification and claims when considered in connection with the accompanying drawings, in which like elements are labeled using like reference numerals in the various figures, illustrating embodiments of the disclosure. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]      FIG. 1  is a schematic diagram of a prior art arrangement for communication between a client application and a web service via a network. 
           [0009]      FIG. 2  is a schematic diagram of an arrangement for communication between a client application and a web service via a network using the apparatus of the present disclosure. 
           [0010]      FIG. 3  is a flow chart illustrating the method of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0011]    The terms “coupled” and “connected”, along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Rather, in particular embodiments, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” my be used to indicated that two or more elements are in either direct or indirect (with other intervening elements between them) physical or electrical contact with each other, or that the two or more elements co-operate or interact with each other (e.g. as in a cause an effect relationship). 
         [0012]      FIG. 1  is a schematic diagram of a prior art arrangement for communication between a client application and a web service via a network. In  FIG. 1 , a client application  10  may be situated in a first domain  12 . Client application  10  may include a first entity embodied in a client unit  14  in communicative relation with a client stub  16 . For purposes of this description, a “stub” component may be regarded as a limited-capability unit configured for limited communications. Client stub  16  may therefore operate as a first interface unit for client unit  14  to effect communications using a first communication protocol. By way of example and not by way of limitation, client stub  16  may communicate with client unit  14  using function calls, and client stub  16  may communicate with entities external of first domain  12  using Simple Object Access Protocol (SOAP) messages. 
         [0013]    A web service  20  may be situated in a second domain  22 . Web service  20  may include a second entity embodied in a web service  24  in communicative relation with a web server  26 . Web server  26  may operate as a second interface unit for web service  24  to effect communications using a second communication protocol. By way of example and not by way of limitation, web server  26  may communicate with web service  24  using function calls, and web server  26  may communicate with entities external of second domain  22  using Simple Object Access Protocol (SOAP) messages. 
         [0014]    Communications by client stub  16  via a network  18  (indicated as a double-line guard barrier in dotted line format) may be conveyed using a first communication protocol. Communications by web server  26  via network  18  may be conveyed using a second communication protocol. A problem may be presented when network  18  does not support at least one of the first communication protocol and the second communication protocol. When such a mismatching of communication protocols may be present, communications may not occur via network  18 , as indicated at a locus  19 . 
         [0015]    By way of example and not by way of limitation, access to a web service, such as web service  20 , by a client application, such as client application  10 , may be effected using Simple Object Access Protocol (SOAP) messages that traverse a network using Hypertext Transfer Protocol (HTTP). However, a network environment such as network  18  may not accommodate HTTP throughout, so that HTTP may not completely convey communications between client application  10  and web service  20 . In such non-HTTP network environments a message protocol translation may be required in order to support fully trans-network communications between client application  10  and web service  20 . 
         [0016]      FIG. 2  is a schematic diagram of an arrangement for communication between a client application and a web service via a network using the apparatus of the present disclosure. In  FIG. 2 , a first entity may include a client application  10 . Client application  10  may include a client unit  14  in communicative relation with a client stub  16 . Client stub  16  may operate as a first interface unit for client unit  14  to effect communications using a first communication protocol. By way of example and not by way of limitation, client stub  16  may communicate with client unit  14  using function calls, and client stub  16  may communicate with entities external of client application  10  using Simple Object Access Protocol (SOAP) messages. 
         [0017]    A second entity may include a web service  20 . Web service  20  may include a web service  24  in communicative relation with a web server  26 . Web server  26  may operate as a second interface unit for web service  24  to effect communications using a second communication protocol. By way of example and not by way of limitation, web server  26  may communicate with web service  24  using function calls, and web server  26  may communicate with entities external of web service  20  using SOAP messages. Communications by client stub  16  may be conveyed using a first communication protocol. Communications by web server  26  may be conveyed using a second communication protocol. 
         [0018]    A first converting element that may be configured as a web service proxy  30  may be coupled with client application  10 . Web service proxy  30  may be co-located with client application  10  in a first domain  12 . Web service proxy  30  may generally emulate the cooperative relation between web service  24  and web server  26  to effect converting communications originating from client unit  14  into a common communication protocol for communications via network  18 . Web service proxy  30  may include a service skeleton  34  and a replica web server unit  36 . Service skeleton  34  may perform as a web server emulating unit and may be created to accommodate alteration of information or filling-in of information by a client developer to assure substantial emulation of web service  24 . Replica web server  36  may substantially emulate web server  26 . Service skeleton  34  and replica web server  36  may cooperate to effect converting communications received from client stub  16  into a common communication protocol. 
         [0019]    A second converting element that may be configured as a stub client unit  40  may be coupled with web service  20 . Stub client unit  40  may be co-located with web service  20  in a second domain  22 . Stub client unit  40  may generally emulate the cooperative relation between client unit  14  and client stub  16  to effect converting communications originating from web service  24  into a common communication protocol for communications via network  18 . Stub client unit  40  may include a client proxy unit  44  and a client proxy stub unit  46 . Client proxy unit  44  may be created to substantially emulate client unit  14 . Client proxy stub unit  46  may substantially emulate client stub  16 . Client proxy unit  44  and client proxy stub unit  46  may cooperate to effect converting communications received from web server  26  into the common communication protocol. The common communication protocol may be either the first communication protocol used by client stub  16 , the second communication protocol used by web server  26  or a third communication protocol so long as the common communication protocol enables trans-network communications across network  18  by web service proxy  30  and stub client unit  40  between first domain  12  and second domain  22 . 
         [0020]    By way of example and not by way of limitation, to bridge protocols a web service proxy  30  and associated stub client proxy  40  may be employed. Web service proxy  30  may be configured using a web application server  36  and a service skeleton  34 . Client applications  14  may interact with web service proxy  30  as though it were the originating web service  20 . The disclosure offloads the work of managing client application connections and intercepting and parsing the SOAP message to web application server  36 . When web application server  36  receives a SOAP message it translates the message into an appropriate function call implemented by service skeleton  34 . This function call may be translated by service skeleton  34  into the appropriate message format (common communications protocol) and passed on. The message may be ultimately received by stub client proxy  44  which then may interact with originating web service  20 . Results of SOAP transfer coming from original web service  20  to stub client  40  may be passed back to service skeleton  34 . Service skeleton  34  may return the results to web application server  36 . Web application server  36  may create a SOAP response to send back to client application  10 . 
         [0021]      FIG. 3  is a flow chart illustrating the method of the present disclosure. In  FIG. 3 , a method  100  for facilitating communications between a first entity and a second entity via a common network may begin at a START locus  102 . The first entity may cooperate with a first interface unit to effect communication with the common network using a first communication protocol. The second entity may cooperate with a second interface unit to effect communication with the common network using a second communication protocol. The common network may not support communications carried out using at least one of the first communication protocol and the second communication protocol. 
         [0022]    Method  100  may continue with, in no particular order: (1) Providing a first converting element coupled with the first entity, as indicated by a block  104 . The first converting element may be configured for generally emulating the cooperative relation between the second entity and the second interface unit. (2) Providing a second converting element coupled with the second entity, as indicated by a block  106 . The second converting element may be configured for generally emulating the cooperative relation between the first entity and the first interface unit. 
         [0023]    Method  100  may continue with, in no particular order: (1) Effecting conversion of communications from the first entity into a common communication protocol, as indicated by a block  108 . (2) Effecting conversion of communications from the second entity into the common communication protocol, as indicated by a block  110 . 
         [0024]    Method  100  may continue with effecting communication between the first converting element and the second converting element via the common network using the common communication protocol, as indicated by a block  112 . Method  100  may terminate at an END locus  114 . 
         [0025]    It is to be understood that, while the detailed drawings and specific examples given describe preferred embodiments of the disclosure, they are for the purpose of illustration only, that the apparatus and method of the disclosure are not limited to the precise details and conditions disclosed and that various changes may be made therein without departing from the spirit of the disclosure which is defined by the following claims: