WO1998002811A1 - Method for coupling transaction systems - Google Patents
Method for coupling transaction systems Download PDFInfo
- Publication number
- WO1998002811A1 WO1998002811A1 PCT/US1997/011884 US9711884W WO9802811A1 WO 1998002811 A1 WO1998002811 A1 WO 1998002811A1 US 9711884 W US9711884 W US 9711884W WO 9802811 A1 WO9802811 A1 WO 9802811A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- module
- segment
- service
- message
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Definitions
- This invention relates to the field of data communication and, in particular, to systems and methods providing flexible communications between proprietary computer systems and resources located on open network systems.
- legacy software libraries of legacy systems may include applications that do not readily or efficiently communicate with resources located on open network system.
- legacy software routines are implemented in high level, report program generator (RPG) languages written for older programming environments. These are relatively slow by current OLTP systems standards and are not supported by the more advanced communication middleware.
- Open system transaction management systems like AT&T's TOP END, can communicate with proprietary transactions managers, such as IBM's Customer Information Control System (CICS).
- CICS Customer Information Control System
- this communication is only possible if CICS is implemented in one of the newer IBM SAA-compatible environments, such as MVD, ESA and the like.
- CICS Customer Information Control System
- the present invention is a flexible messaging system for coupling data between an RPG application program on a proprietary platform and a transaction management system on an open system platform.
- the messaging system handles the message building/parsing, sending/receiving, and exception processing functions for the RPG application, providing RPG programmers with substantially transparent access to resources served by the transaction management system.
- the messaging system of the present invention accommodates RPG applications developed for IBM's AS/400 systems, which operate in IBM's system network architecture (SNA LU6.2).
- the resource which is typically a database, is implemented on an open system platform, such as UNIX or Windows.
- the transaction management system is preferably implemented on a gateway server in the SNA network, to route transactions between the RPG application and the open system resource.
- the open system platform employs TCP/IP network protocols to keep LU6.2 traffic off of the open system network.
- a messaging system in accordance with the present invention comprises a messaging module (MSG module) that serves as an application program interface (API) for a message building and parsing module (Build/Parse module), a data dictionary associated with the Build/Parse module, and a set of defined data structures for exchanging data and control information between the RPG application and the MSG module.
- the MSG module uses the network services on the gateway to initialize conversations with the transaction management system, which establishes a dialogue with the targeted resource on the open system platform. Thereafter, the RPG application can access the resource through the messaging system, using message packets constructed from RPG-provided data and control information.
- the message packets are assembled by the Build/parse module in accordance with the associated data dictionary, and transmitted by the MSG module to the transaction monitor with the appiop ⁇ ate control information.
- a Build/parse module associated with a service application at the open system resource provides complementary message building and parsing services for the resource.
- ADF definition file
- the flexibility of the messaging system is further enhanced by a human-readable, i.e ASCII, definition file (ADF) which provides a common definition for the data to be exchanged by the RPG application and the open system resource.
- ADF definition file
- the data dictionary for the messaging system and the defined data structures, through which the RPG application and the messaging system exchange data, are generated from the (ADF).
- the defined data structures and data dictionanes are updated only when the ADF is modified, at which times, the updated objects are generated using utilities provided by the present invention
- FIG 1 is a block diagram of a network system incorporating a messaging system in accordance with the present invention
- Fig. 2A is a block diagram of the messaging system tor the netwoik system shown in
- Fig 2B is a block diagram showing the relationship between the ASCII Definition File and the defined data structures and data dictionaries geneiated from the ASCII Definition File
- Fig. 2C is a representation of an ACDS defined data structure foi communications between an RPG application and the messaging system ot the piesent invention
- Fig. 3A is a block diagram of the components of a service application supported by transaction services of the open system network.
- Fig. 3B is a more detailed block diagram of the service application ot Fig 3A.
- Fig. 4 is a block diagram of the network system of Fig 1 , including a security service in the gateway server
- Figs. 5A-5D are flow charts of methods implementedy by the messaging system of the present invenUon Detailed Discussion of the Invention
- Computer system 100 comprises a first computer 112 based on a proprietary system architecture, a server 192 based on an open system architecture, and a gateway server 152 for connecting the different system architectures.
- the proprietary system architecture of first computer 112 is represented by network protocol 130
- the open system architecture of server 192 is represented by network protocol 160.
- the open system architecture may be a UNIX or Windows-based architecture
- network protocol 160 is typically TCP/IP.
- First computer 1 12 includes an RPG application 1 10 coupled to messaging system 120, which generates message packets based on RPG-provided data for transmission on network protocol 130.
- first computer 1 12 is an IBM AS/400 system, adhering to IBM's System Network Architecture (SNA), and network protocol 130 is IBM's SNA LU6.2.
- Messaging system 120 acts as an application program interface (API) between RPG application 110 and service applications 310 (Fig. 3 A) accessed through transaction management system 150. Specifically, messaging system 120 converts data and control information provided by RPG application 1 10 into a message packet that is transmitted to gateway server 152 using LU6.2 protocol (130).
- API application program interface
- Gateway server 152 includes a network services module 140, a transaction management system 150, and an interface module 142.
- network service module 140 allocates a conversation between messaging system 120 and transaction management system 150 by means of interface module 142. In the preferred embodiment of the invention, this occurs when messaging system 120 is initialized by a call from RPG application 1 10.
- a conversation is a logical connection that allows communications between applications on different nodes to proceed, while hiding the details of the underlying communication protocol from the communicating applications.
- the allocated conversation carries message packets between messaging system 120 and transaction management system 150.
- the message packets include parameters, i.e. data and control information, necessary to activate the remote process (service application 310), carry on communications with the activated process, and terminate it.
- transaction management system 150 provides access to service applications 310 (Fig. 3 A) on open system network server 192, based on control information specified in these message packets.
- Gateway server 152 handles conversion between the SNA and open system communication protocols, i.e. TCP/IP.
- the actual format of the message packets is specified in part by interface module 142, which separates the data and control information contained in a message packets, and uses the control information to establish a dialogue with a requested server application 310 through transaction management system 150.
- the data from the message packet is forwarded to the designated server application 310 along with a control header provided by transaction management system 150.
- the other determining factor in the format of the message packet is server application 310, which employs a build/parse module 320 (Fig. 3 A) comparable to that in messaging system 120 to parse and, if necessary, reformat data from the forwarded message packet in accordance with a data dictionary 328. This process is discussed in greater detail below, in conjunction with Fig. 3B.
- Suitable transaction management systems 150 include transaction processing monitors that adhere to X Open distributed transaction processing (DTP) model. These include AT&T's TOP END, Novell's TUXEDO, and Transarc's ENCINA. AT&T's TOP END transaction management system 150 is employed in the preferred embodiment of system 100. Modifications of the TOP END transaction monitor are necessary to preserve the security and accountability of transactions by ensuring that identification codes assigned to users of RPG application 110 (userids) are preserved when the users' service requests are forwarded to transaction services 160. These modifications are discussed below, in conjunction with Fig. 4.
- DTP distributed transaction processing
- Messaging system 120 comprises a MSG module 210, a Build/parse module 220 including a data dictionary 228, and defined data structures (DDS) 250 for coupling data between messaging system 120 and RPG application 1 10. Also shown are a List_Build module 230 for facilitating data access, a memory management system (MMS) module 240 for allocating and deallocating memory for messaging system 120, and an inbound/outbound message buffer 218 for communicating with transaction management system 150.
- MMS memory management system
- component modules 210, 220, 230, and 240 are written in the C programming language.
- MSG module 210 includes a MSG API 212 through which RPG application 110 accesses functions 214 for initiating and terminating conversations with transaction management system 150 and for requesting transaction processing services from server applications 310 accessed through transaction management system 150.
- MSG module 210 also includes registered functions 216, which manipulate data between DDS 250 and MSG buffer 218 as described below.
- Build/Parse module 220 comprises a Build/Parse API 222, a data dictionary (DD) 228, message building/parsing functions 224, and a registered function (RF) API 226.
- Build/Parse API 222 provides MSG module 210 with access to platform independent message building/parsing functions 224.
- DD 228 specifies the fields and field attributes of data segments that are recognized by an open system resource being accessed by RPG application 1 10. As discussed in greater detail below, DD 228 contributes to the flexibility of messaging system 120, by providing a mechanism for altering its message building capabilities without requiring recoding of RPG application 1 10 or server applications 310.
- RF API 226 provides Parse/build module 220 with access to registered functions 216, which manipulate RPG data in DDS 250.
- Registered functions 216 are specific to the data types of a platform, and including registered functions 216 in MSG module 210 removes any platform-dependence from Build/Parse module 220.
- a substantially identical build/parse module 322 (Fig. 3A) is employed in server application 310 on the open system platform.
- Build/Parse module 320 parses request message packets from RPG application 110 and builds response message packets to RPG application 1 10.
- List_build module 230 and MMS module 240 provide linked list building and memory allocation functions, respectively, for MSG module 210 and Build/Parse module 220. For example, when RPG application 110 is initialized, it identifies to MSG module 210 all DDS it employs. MSG module 210 checks that the DDS have the proper number of parameters and calls List_build module 230 to generate a linked list of pointers to the DDS. List_build module calls on MMS module 240 as needed to allocate memory for the linked list. List_Build module 230 and MMS module 240 are also used by MSG module 210 to eliminate the linked list when RPG application 110 is terminated.
- Typical service applications 310 provide RPG application 1 10 with functions for searching and writing data to database 390 (Fig. 3 A).
- messaging system 120 In order for RPG application 1 10 to communicate with database 390, messaging system 120 must employ in its data packets, data having attributes consistent with the columns of database 390. Since RPG application 1 10 is the ultimate source of data, messaging system 120 must include some means of ensuring consistency between the attributes of the data segments employed by RPG application 1 10 and those of database 390. This is the function of DDS 250 and DDs 228, 328.
- Messaging system 120 provides utilities for generating DD 228 and DD 328 (Fig. 3B) and DDS 250 from a single source that includes attribute definitions consistent with those of database 390. This ensures that messaging system 120 and service application 310 support the same vocabulary, which in turn ensures that RPG application 1 10 and database 390 can communicate.
- the single source from which DDs 238, 328 and DDS 250 are generated is ASCII definition file (ADF) 260.
- ADF 260 is a human-readable file that includes descriptions of the attributes of every field of every data segment in the system. As noted above, the attributes of a segment field correspond to the columns (attributes) of the database 390.
- ADF 260 also includes a header segments, which are used to indicate which service application 310 is being requested by RPG application 110 and may also include control information for error codes and messages. Header segments associated with service applications 310 that require input data from RPG application 1 10 have appended the data segments corresponding to the required data.
- ADF 260 also includes a list of restricted segments, which are segments that may only be used by selected service applications 310.
- ADF 260 is typically generated through a GUI design tool, which in the preferred embodiment of the invention, is Visual Builder Tool (VBT). In essence, ADF 260 specifies the vocabulary understood by database 390.
- VBT Visual Builder Tool
- DSU Data_Structure Utility
- DDS 250 are regenerated whenever ADF 260 is modified.
- DSU 270 reads ADF 260 and uses List_Build module 230 to generate a linked list of fields and a linked list of segments from the entries in ADF 260. For every segment in the segment linked list, DSU 270 retrieves attributes of the component fields from the field linked list and writes the information to a DDS 250.
- DDS 250 are made available to messaging system 120 by writing them to a file, which is linked to RPG application 110 and messaging system 120 as an externally defined data structure.
- DDSs 250 are provided for each data segment defined in ADF 260.
- Application request data structures (ARDS) 252 are loaded with data by RPG application 110 to provide messaging system 120 with the data it needs to a build a message to a service application 310 (service request).
- Application response data structures (ASDS) 254 are written by messaging system 120 to communicate a response from service application 310 to RPG application 110 (service response), following parsing by Build/Parse module 220.
- a single application control data structure (ACDS) 256 is used by RPG application 1 10 to communicate service application requests to messaging system 120.
- DDBIN 280 that reads ADF 260 and generates DD 228 as a binary file sorted by segment names.
- DDBIN 280 also creates a summary information field for DD 228, including the total number of segments, offsets into DD 228 for alphabetically sorted segment groups, and an offset into the file for a restricted segment file (RSF). This is followed by a flat representation of segment structures and field structures for each segment and field known to the system.
- RSF restricted segment file
- each segment structure includes the name of the segment, the number of fields for the segment and whether or not the fields have been initialized, and an offset into DD 228 to the first field structure of the segment.
- Each field structure includes the field name, a pointer to the field data, the number of elements for fields that comprise arrays, the data type of the field, the length in bytes of the field data, the maximum number of array elements allowed for the field, flags indicating restrictions on the data, the number of decimal places, and the names (place-holders) of registered functions that may be applied to the field data.
- the field and segment structures provide the templates used by build/parse module when manipulating and converting data between DDS 250 and message buffer 218.
- DD 228 may be linked into Build/Parse module 220 as an include file.
- the contents of DD 228 may be read into a segment cache 325 (Fig. 3B) associated with Build/Parse module 220, as needed, to facilitate access to segment information.
- This latter alternative is employed in the preferred embodiment of messaging system 304 (Fig. 3A) which is used for message packet building/parsing by service application 310.
- Fig. 5C there is shown a method for determining the field structure for each segment defined in ADF 260. Entries in ADF 260 are read 576 sequentially. When segment information is read 578, the segment name is added 580 to a linked list and fields associated with the segment are inserted 582 in the linked list entry. When field information is read 584, the field name is added 586 to a field linked list and associated field attribute information is inserted 588 in the field linked list entry. This is repeated 590 until all segment and field information has been read from ADF 260 and corresponding field and segment linked lists have been generated. At this point, DDSs 250 may be generated from the segment and field linked lists.
- FIG. 5D there is shown a method for generating DDS 250 from the segment and field Unked lists such as those provided by the method of Fig. 5C.
- a source file is opened 591 for storing DDSs 250 generated and each segment in the linked list is read 592.
- Field information associated with each segment provides access 593 to a corresponding entry in the field linked list.
- Attribute information stored with each field entry is written 594 to an area of the source file assigned to the segment. This is repeated 595 for each field of the segment and for each segment 596 of the linked list.
- the file is closed 597.
- DD 228 is added to build/parse module 130 as an include file.
- DD 328 is stored as a separate file on disc.
- Build/parse module 330 checks and records a time stamp in DD 328 prior to accessing segment information. A time stamp in DD 328 that is more recent than the value recorded by build/parse module 330 indicates that DD 328 has been modified. When build/parse module 330 detects a more recent time stamp in DD 328, it drops the segment information derived from the earlier version of DD 328 and reloads the modified segment information from DD 328.
- FIG. 2C there is shown a representation of an ACDS 256 that is used by RPG 1 10 to request services of messaging system 120.
- ACDS 256 is also used by messaging system 120 to provide information on the status of requested services to RPG application 110.
- a single ACDS 256 is used by RPG application 110 to indicate which of transaction services
- ACDS 256 Details of the requested service are provided in the following data fields of ACDS 256: (1) Request Service Name, (2) Sending Segments, and (3) Hold Context Flag.
- Request Service Name is a data field in which the name of a service application 310 available through transaction management system 150 is specified.
- a conesponding header segment defined in ADF 260 is used by messaging system 120 to indicate to transaction management system 150 the type of service being requested.
- some service applications 310 require that RPG application 1 10 provide data along with the service request.
- the Sending Segments field is used by RPG application to specify which ARDSs 252 contain the required data. Each such ARDS 252 is specified in the Sending Segments field by the Segment Name of the data it contains.
- the name of each data segment to be sent is concatenated and delimited by a pipe ("I").
- NAME name
- BUS business address
- HOME home address
- Data provided in response to a service request is sent from service application 310 to messaging system 120 as data segments.
- Messaging system 120 makes any necessary data conversions and forwards the converted data segments to RPG application 110 using the corresponding ASDSs 254.
- Hold Context Flag is set when RPG application 1 10 will retain an on-going conversation with a service application 310 as, for example, when RPG application 1 10 will submit sequential service calls to service application 310.
- the Results Services fields of ACDS 256 comprises Return Status Code, Initialized Flag, and Control Flag fields. Messaging system 120 uses these to indicate to RPG application 1 10 the status of a service request. Return Status Code is zero, unless an error has occurred in the Service Request.
- Initialized Flag is set when messaging system 120 is properly initialized and is zero otherwise.
- Control Flag indicates the status of messaging system 120. It is zero by default, four when a service application 310 is currently holding context, and some non-zero value other than four when a failure occurs in messaging system 120.
- the interactions between RPG application 1 10 and messaging system 120 will now be described from initialization through termination of RPG application 110.
- messaging system 120 is initialized through a function call from RPG application 1 10 during its initialization.
- the initializing function call includes a parameter list specifying the segment name, segment address, and number of occurrences of each ARDS 252 and ASDS 254 used by RPG application 1 10 to send data to and receive data from MSG module 210.
- the parameter list also specifies the name and address of ACDS 256 used by RPG application 110 to communicate control information to MSG module 210. Addresses for ARDS 252, ASDS 254, and ACDS 256 (collectively, DDSs 250) are in shared memory location 1 14.
- MSG module 210 On initialization, MSG module 210 first checks that DDSs 250 are specified properly (3 parameters for each ARDS 252 and ASDS 254 and 2 parameters for ACDS 256). MSG module 210 then calls initializing functions in Build/Parse module 220. List_b ⁇ ild module 230, and MMS module 240. initializes a conversation with transaction management system 150 via network services 140 and IF 142, and waits for a verification message that the conversation has been established. At this time, transaction management system 150 establishes a dialogue with transaction services 160 on open system server 192. MSG module 210 also calls List_Build module 230 to generate a linked list of pointers to DDSs 250, and List_Build module 230 calls MMS module 240 as needed to allocate memory for the linked list.
- RPG application 1 10 accesses a requested service application 310 of transaction services 160 through transaction management system 150, using messaging system 120 as an application program interface (API).
- RPG application 1 10 initiates a request for services by loading the Request Service Name and Sending Segments List fields of ACDS 256 with the segment name of the service being requested and the segment names of any data that is to be provided with the service request.
- RPG application 1 10 also loads each ARDS 252 named on the Sending Segments List with the data to be sent.
- RPG application 1 10 calls the request function in MSG module 210, including the names of ACDS 256 and ARDS 252 in a parameter list associated with the function call.
- MSG module 210 use the request function to clear the Results Services fields of ACDS 256 and read the Request Service Names and Sending Segments List fields of ACDS 256.
- MSG module 210 writes a control/status header (see below) to message buffer 118, specifying Request Service Name, a user identification (userid), and status data for transaction management system 150.
- MSG module 210 also calls the Build MSG function in Build/Parse module 220 with the parameter list specifying the names of the data segments and the location of message buffer 218.
- Build/Parse module 220 handles the conversion and manipulation of data between the DDSs 250 identified in the parameter list and message buffer 218.
- the Build/Parse MSG functions of module 220 use registered functions 216 to accomplish the actual data manipulation between DDSs 250 and message buffer 218.
- the Build MSG function uses the segment and field structures of DD 228 as a template to identify the DDSs 250 having the field data to be transmitted, attributes of the field data, any conversions necessary for the field data, and the registered functions to use for converting the field data and manipulating it to message buffer 218.
- DD 228 is also used on inbound message packets to convert data to a format appropriate to the operating system of the AS/400 and transfer field data between message buffer 218 and DDSs 250.
- the addresses of DDSs 250 are determined from the link list generated on initialization.
- the message packet generated by messaging system 120 has the following form:
- the header comprising error, control, function code, and userid fields, provides the routing and status information necessary to transfer the service request and associated data of RPG application 110 from messaging system 120 to requested service application 310.
- the error field includes error codes for tracking purposes
- the control field specifies the status of communications with transaction management system 150
- the function code field specifies which service application 310 is being requested, and for security checking purposes
- userid identifies the person(s) using RPG application 110.
- the data field comprises the service name and any application data, suitably formatted, that is being transferred between RPG application 110 and service application 310. As discussed above, this data is loaded by messaging system 120 using Parse/Build module 220.
- MSG module 210 calls a send/receive function to forward message packet to transaction management system 150 in gateway server 152, using the conversation allocated on initialization.
- Interface module 142 maps the conversation to the dialogue established between transaction management system 150 and transaction services 160, determines from the function code in the header of message packet (I) which service application 310 is targeted, and uses transaction management system 150 to call targeted service application 310.
- FIG. 5A there is shown a flow chart summarizing the method described above for transferring data from RPG application 1 10 to transaction management system 150.
- RPG application loads 510 data into appropriate DDSs 250 and calls 514 messaging system to begin the data transfer.
- Messaging system 120 identifies 520 to build/parse module 220 segments indicating the service requested and any data required, and build/parse module 220 accesses 524 the appropriate segment structures through DD 228. Using the segment structures, build/parse module 220 writes 530 the segment and field names to message buffer 218.
- Message buffer also calls 534 registered functions indicated in the field structures to transfer the field data from DDS 250 to message buffer 218 and implement any field data conversions indicated by the field structure.
- the header is added 540 to message buffer 218 and the message packet transmitted 544, using the conversation previously established between messaging system 120 and transaction management system 150.
- Fig. 5B there is shown a flow chart summarizing the method implemented by messaging system 120 for parsing message packets from transaction management system 150.
- build/parse module 220 identifies 554 a segment name in the buffer and uses DD 228 to determine 560 the various properties of the associated fields. Consistency between the field names in message buffer 218 and those specified in the segment structure of DD 228 provides a check on the data in the received message packet.
- Build/parse module 220 calls 564 registered functions indicated in the field structures to convert and load data from message buffer 218 to the appropriate DDSs 250.
- messaging system 120 returns control 570 to RPG application 1 10, which retrieves the requested data from DDS 250.
- build/parse module 320 Processes similar to those described for build/parse module 220 are implemented by build/parse module 320 in service application 310. The main difference is that data is converted and transferred between message buffer 314 and a data structure accessible to application function 314. Application function 314 uses the data for communications with DBMS 380.
- Transaction services 170 comprises an instance of transaction management system 150, including a client-server interface (CSI) 154, a database management system 380, a service application 310, and a message conversion module 304.
- Message conversion module 304 comprises a message build/parse module 320, a list_build module 330, and a memory management system (MMS) module 340, which perform functions for the open system platform of server 192 that build/parse module 220, list_b ⁇ ild module 230, and MMS module 240 perform on the proprietary platform of AS/400 1 12.
- MMS memory management system
- transaction management system 150 operates in conjunction with CSI 154 to handle routing and control information.
- these components ensure that the data portion of message packet (I) is routed to service application 310, and effectively act as the counterpart of MSG module 210 on server 192.
- the data portion of message packet (I) must be converted into a format suitable for the open system platform, and this is the function performed by modules 320, 330, 340.
- resource manager (DBMS 380) is Informix 7.0
- transaction management system 150 is AT&T's TOP END, both of which conform to the X/Open distributed transaction processing (DTP) XA interface.
- Transaction management system 150 also conforms to the DTP TX interface for communications with service application 310.
- Fig. 3B there is shown a detailed block diagram of service application 310 and its interaction with DBMS 380 and message conversion module 304.
- service application 310 has associated registered functions 316 and an inbound/outbound message buffer 314 through which message packets are received/sent.
- Registered functions 316 are used by build/parse module 320 to parse data from inbound message packets, convert the parsed data, and load it into data structures associated with application function 314.
- parse/build module 320 uses registered functions 316 to build messages in buffer 314 from data provided by application function 314.
- Application function 314 handles communications with DBMS 380, much as message module 210 handles communications with RPG application 1 10.
- DMBS 380 is written in C, not RPG, and the defined data structures (DDS 250) described above are not necessary. Rather, application function 314 employs data structures defined by C typedefs for manipulating and converting message data.
- List_build module 330 and MMS 340 provide essentially the same functions as their counterpart modules 230, 240 on AS/400 112.
- Message conversion module 304 also differs from messaging system 120 in that it uses a segment cache 354 and segment cache interface structure (SCIS) 352 to facilitate access to the segment and field structures of data dictionary (DD) 326.
- SCIS segment cache interface structure
- DD data dictionary
- While the configuration of computer system 100 shown in Fig. 1 provides the necessary communication between an RPG application 1 10 and transaction services 160, it does not provide adequate security or accounting functions for many purposes. This arises in the preferred embodiment of system 100, where transaction management system 150 is TOP END (TE) and IF 142 is an inbound agent (LA) spawned by network services module 140 when messaging system 120 is initialized.
- I A 142 is configured to map all conversations/dialogues having the same transaction program name (TE sign-on name) and transaction code (Request Service Name) to a generic userid. This means that all users of a given service application 310 will be assigned the same userid, independent of which user(s) of RPG application 110 actually initiated the transaction. If not addressed, this circumstance effectively eliminates security checking and accountability for transactions to server 192.
- system 100 incorporates a security service, SIGNON SECURITY SERVICE (SSS) 154. in the TE transaction management system 150 on gateway server 152.
- SIGNON SECURITY SERVICE SSS
- Fig. 4 there is shown a block diagram of a preferred configuration for gateway server 152, in which transaction management system 150 is coupled to transaction services 160 through SSS 154.
- SSS 154 comprises a TE client 156 and a TE server 156' coupled back-to-back through a client/server interface (CSI) provided by transaction management system 150.
- CSI client/server interface
- IA 142 incorporates an integral client which accesses SSS 154 through transaction management system 150 on behalf of messaging system 120.
- network services module 140 spawns IA 142, which forwards a SIGNON message. including a non-generic userid, generated by messaging system 120.
- I A 142 establishes a dialogue with SSS 154 by passing a request for SSS services through transaction management system 150, using the generic userid provided in the configuration file of I A 142.
- Transaction management system 150 forwards the request to SSS 154, establishing a dialogue between TE server 156 and RPG application 110 (via messaging system 120).
- TE server 156 then triggers TE client 156' to sign onto transaction management system 150 using the non-generic userid embedded in the signon message.
- SSS 154 confirms to messaging system 120 that the dialogue has been established, and sets a flag holding the dialogue open. Thereafter, transaction services 160 are accessed by TE client 156' in response to message packets (I) from messaging system 120.
- the system includes a data dictionary that provides all segment and field information known to the computer system, a platform-indpendent message build/parse module that builds request message packets to open network services and parses response message packets in accordance with the data dictionary, a set of DDS for coupling data/control information between the RPG application and the messaging system, and a message module that initializes communication links with the open system network, sends service request messages to and receives service response messages from resources on the open system network, and terminates communication links with the open system network when triggered by the RPG application.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Paper (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NZ333320A NZ333320A (en) | 1996-07-11 | 1997-07-10 | Messaging between Report Program Generator applications and Transaction Management Systems on open computer systems |
AU38810/97A AU718928B2 (en) | 1996-07-11 | 1997-07-10 | Method for coupling transaction systems |
EP97936045A EP0912938A1 (en) | 1996-07-11 | 1997-07-10 | Method for coupling transaction systems |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US68020896A | 1996-07-11 | 1996-07-11 | |
US08/680,208 | 1996-07-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1998002811A1 true WO1998002811A1 (en) | 1998-01-22 |
Family
ID=24730183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1997/011884 WO1998002811A1 (en) | 1996-07-11 | 1997-07-10 | Method for coupling transaction systems |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0912938A1 (en) |
AU (1) | AU718928B2 (en) |
NZ (1) | NZ333320A (en) |
WO (1) | WO1998002811A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2339622A (en) * | 1998-07-15 | 2000-02-02 | Ibm | Client/server computing with transactional interface between legacy and non-legacy systems |
US6267671B1 (en) | 1999-02-12 | 2001-07-31 | Mikohn Gaming Corporation | Game table player comp rating system and method therefor |
CN101539772A (en) * | 2008-01-25 | 2009-09-23 | 洛克威尔自动控制技术股份有限公司 | Product lifecycle management method and apparatus |
GB2507621A (en) * | 2013-08-14 | 2014-05-07 | Micro Focus Ip Dev Ltd | Distributed transaction system using TCP/IP communication |
CN115080116A (en) * | 2022-07-25 | 2022-09-20 | 广州智慧城市发展研究院 | Microcontroller, method, chip and display compatible with multiple memory interfaces |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993022734A1 (en) * | 1992-05-01 | 1993-11-11 | Wang Laboratories, Inc. | Computer method and apparatus for a table driven file parser |
WO1993023817A1 (en) * | 1992-05-08 | 1993-11-25 | Release Management Systems (Rms) | Data interchange system |
-
1997
- 1997-07-10 AU AU38810/97A patent/AU718928B2/en not_active Ceased
- 1997-07-10 WO PCT/US1997/011884 patent/WO1998002811A1/en not_active Application Discontinuation
- 1997-07-10 EP EP97936045A patent/EP0912938A1/en not_active Withdrawn
- 1997-07-10 NZ NZ333320A patent/NZ333320A/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993022734A1 (en) * | 1992-05-01 | 1993-11-11 | Wang Laboratories, Inc. | Computer method and apparatus for a table driven file parser |
WO1993023817A1 (en) * | 1992-05-08 | 1993-11-25 | Release Management Systems (Rms) | Data interchange system |
Non-Patent Citations (3)
Title |
---|
"GENERIC DATABASE INTERFACE", RESEARCH DISCLOSURE, no. 318, 1 October 1990 (1990-10-01), pages 794, XP000148635 * |
ANDREULA J J ET AL: "CREATING AN OPEN SYSTEMS COMPATIBLE MESSAGE QUEUEING SYSTEM", PROCEEDINGS OF THE ANNUAL INTERNATIONAL PHOENIX CONFERENCE ON COMPUTERS AND COMMUNICATIONS, PHOENIX, APR. 12 - 15, 1994, no. CONF. 13, 12 April 1994 (1994-04-12), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 19 - 23, XP000462531 * |
DEINHART K: "SAA DISTRIBUTED FILE ACCESS TO THE CICS ENVIRONMENT", IBM SYSTEMS JOURNAL, vol. 31, no. 3, 1 January 1992 (1992-01-01), pages 516 - 534, XP000287574 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2339622A (en) * | 1998-07-15 | 2000-02-02 | Ibm | Client/server computing with transactional interface between legacy and non-legacy systems |
US6237018B1 (en) | 1998-07-15 | 2001-05-22 | International Business Machines Corporation | Apparatus method and computer program product for client/server computing with improved transactional interface |
US6267671B1 (en) | 1999-02-12 | 2001-07-31 | Mikohn Gaming Corporation | Game table player comp rating system and method therefor |
CN101539772A (en) * | 2008-01-25 | 2009-09-23 | 洛克威尔自动控制技术股份有限公司 | Product lifecycle management method and apparatus |
CN101539772B (en) * | 2008-01-25 | 2013-06-05 | 洛克威尔自动控制技术股份有限公司 | Product lifecycle management method and apparatus |
GB2507621A (en) * | 2013-08-14 | 2014-05-07 | Micro Focus Ip Dev Ltd | Distributed transaction system using TCP/IP communication |
GB2507621B (en) * | 2013-08-14 | 2014-09-24 | Micro Focus Ip Dev Ltd | Distributed transaction system |
CN115080116A (en) * | 2022-07-25 | 2022-09-20 | 广州智慧城市发展研究院 | Microcontroller, method, chip and display compatible with multiple memory interfaces |
CN115080116B (en) * | 2022-07-25 | 2022-11-29 | 广州智慧城市发展研究院 | Microcontroller, method, chip and display compatible with multiple memory interfaces |
Also Published As
Publication number | Publication date |
---|---|
NZ333320A (en) | 2000-07-28 |
AU3881097A (en) | 1998-02-09 |
EP0912938A1 (en) | 1999-05-06 |
AU718928B2 (en) | 2000-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0412232B1 (en) | Apparatus and method for providing high performance communication between software processes | |
US7383348B2 (en) | Data transfer scheme using caching technique for reducing network load | |
US7152094B1 (en) | Middleware brokering system adapter | |
US6604104B1 (en) | System and process for managing data within an operational data store | |
US7458079B2 (en) | Application independent messaging system | |
US5265239A (en) | Method for remotely accessing service programs of a local processing system supporting multiple protocol stacks and multiple device drivers | |
US7054903B2 (en) | Using an expert proxy server as an agent for wireless devices | |
US7216181B1 (en) | Middleware brokering system | |
WO1997019411A1 (en) | Registry communications middleware | |
MXPA03006025A (en) | Exchanging electronic messages between a host computer system and a distributed computer system. | |
HU225569B1 (en) | Method, apparatus and computer program product for reducing data transmitted over an external communication link usig the tcp protocol between computer applications | |
CN1987925A (en) | Complex front platform of financial system and transfering method transaction data | |
US6732360B1 (en) | System and method for providing connection between client and heterogeneous database management systems | |
US20070156737A1 (en) | Application integration systems and methods | |
US7343426B2 (en) | Transparent coupling between compatible containers communicating over networks | |
Choi et al. | An efficient embedded Web server for Web-based network element management | |
US20020184526A1 (en) | Dynamic downloading of keyboard keycode data to a networked client | |
AU718928B2 (en) | Method for coupling transaction systems | |
US7574521B2 (en) | Method, computer program product, and system for routing messages in a computer network comprising heterogenous databases | |
Cisco | XRemote Configuration Commands | |
Cisco | XRemote Configuration Commands | |
Cisco | XRemote Configuration Commands | |
Cisco | XRemote Configuration Commands | |
KR100282616B1 (en) | Structure and Processing Method of Multiprotocol Gateway for Web and Applications | |
US7493360B2 (en) | Method of and computer program for client character code conversion, method of and computer program for server character code conversion, CORBA client, and CORBA server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 97196320.7 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW AM AZ BY KG KZ MD RU TJ TM |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH KE LS MW SD SZ UG ZW AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 1997936045 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 333320 Country of ref document: NZ |
|
NENP | Non-entry into the national phase |
Ref country code: CA |
|
WWP | Wipo information: published in national office |
Ref document number: 1997936045 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
NENP | Non-entry into the national phase |
Ref document number: 1998506104 Country of ref document: JP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1997936045 Country of ref document: EP |