WO2004056071A1 - Communication method between servers with data format conversion and device therefor - Google Patents

Communication method between servers with data format conversion and device therefor Download PDF

Info

Publication number
WO2004056071A1
WO2004056071A1 PCT/EP2003/051007 EP0351007W WO2004056071A1 WO 2004056071 A1 WO2004056071 A1 WO 2004056071A1 EP 0351007 W EP0351007 W EP 0351007W WO 2004056071 A1 WO2004056071 A1 WO 2004056071A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
mcma
client
application
servers
Prior art date
Application number
PCT/EP2003/051007
Other languages
French (fr)
Inventor
Jean-Paul Carmona
Original Assignee
Sema
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 Sema filed Critical Sema
Priority to AU2003298359A priority Critical patent/AU2003298359A1/en
Publication of WO2004056071A1 publication Critical patent/WO2004056071A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/328Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the presentation layer [OSI layer 6]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention concerns a method and a device for communication among a plurality of client servers (4) and a plurality of application servers (5), the client servers (4) being connected to a single MCMA server (7) which in turn is connected to the set of application servers (5), such that any service call from a client server addressed to a given application server, is first addressed by said client server to the MCMA server (7) for the latter to retransmit same to the application server (5) concerned and to transmit back possible data from the application server (5) to the client server (4). The invention is characterized in that it comprises at least one incoming and/or outgoing conversion chain capable of converting the calls written in the MCMA server language and format into language and format expected by the client server (4) and/or the application server (5) and of converting the replies from the client server (4) and/or the application server (5) written in the client server and/or application server language and format into replies written in the MCMA server language and format.

Description

PROCEDE DE COMMUNICATION ENTRE SERVEURS AVEC CONVERSION DE FORMAT DES DONNEES ET DISPOSITIF POUR SA MISE EN OEUVRECOMMUNICATION METHOD BETWEEN SERVERS WITH DATA FORMAT CONVERSION AND DEVICE FOR IMPLEMENTING SAME
La présente invention se rapporte à la communication entre serveurs à l'intérieur d'un système informatique dit distribué, tel que notamment un système informatique financier utilisé par les banques ou encore par les compagnies d'assurance.The present invention relates to communication between servers within a so-called distributed computer system, such as in particular a financial computer system used by banks or by insurance companies.
II existe différents serveurs de natures distinctes destinés à communiquer les uns avec les autres pour gérer et traiter des flux de transactions et d'informations. Un serveur s'entend ici comme la combinaison de matériels informatiques (hardware) et de logiciels appropriés (software).There are different servers of distinct natures intended to communicate with each other to manage and process flows of transactions and information. A server is understood here as the combination of computer hardware (hardware) and appropriate software (software).
Ainsi, un système informatique financier comporte différents serveurs dits clients (ou encore de front office selon la terminologie anglo-saxonne) interconnectés à différents serveurs dits d'application (ou de back office).Thus, a financial computer system includes different so-called client servers (or even front office servers according to English terminology) interconnected with different so-called application servers (or back office servers).
Les serveurs d'application sont plus particulièrement destinés à gérer des bases de données et à réaliser des traitements spécifiques encore appelés services. Le terme service est ici défini de façon générale comme tout traitement informatique, ce terme recouvre aussi bien la mise à disposition d'une information particulière comme un numéro de compte, que le calcul d'un solde ou encore un virement.Application servers are more particularly intended to manage databases and to perform specific processing also called services. The term service is here defined generally as any computer processing, this term covers both the provision of specific information such as an account number, the calculation of a balance or a transfer.
Le système informatique d'une banque comporte généralement un serveur d'application bancaire (exemple : moteur financier commercialisé par la société SAB) qui traite toutes les opérations liées à la gestion de comptes de dépôts, un serveur de crédit qui gère les prêts accordés par la banque à sa clientèle, un serveur boursier de gestion des valeurs mobilières (moteur boursier Investiciel commercialisé par la société SEMA), un serveur d'assurance, etc.The computer system of a bank generally includes a banking application server (example: financial engine marketed by SAB) which processes all transactions linked to the management of deposit accounts, a credit server which manages the loans granted by the bank to its customers, a stock market management server (stock market engine Investiciel marketed by the company SEMA), an insurance server, etc.
Les serveurs clients sont eux destinés à permettre aux employés et aux usagers de la banque d'accéder aux différents serveurs d'application depuis des interfaces et des réseaux de communication spécifiques, encore appelés canaux, pour fournir (opérations de mise à jour, etc.) ou récupérer (opérations d'interrogation, etc.) des données à travers des requêtes appelées appels de services. En effet, chaque requête reçue par un serveur d'application génère l'exécution d'un service correspondant par ce dernier.Client servers are intended to allow employees and users of the bank to access the various application servers from specific communication interfaces and networks, also called channels, to provide (update operations, etc. ) or recover (interrogation operations, etc.) of data through requests called service calls. Indeed, each request received by an application server generates the execution of a corresponding service by the latter.
Comme serveurs clients utilisés par le système informatique d'une banque, on peut citer un serveur gérant les ordinateurs équipant les guichets des banques, un serveur GAB/DAB associés aux guichets/distributeurs automatisés, un serveur vocal qui permet aux usagers d'accéder aux serveurs d'application au moyen d'un téléphone, un serveur Web pour accéder à ces serveurs via l'Internet, un serveur Minitel, un serveur WAP, les serveurs des partenaires de l'organisme financier, etc.As client servers used by a bank's computer system, we can cite a server managing the computers equipping the bank counters, an ATM / ATM server associated with the ATMs / ATMs, a voice server which allows users to access the application servers by means of a telephone, a Web server to access these servers via the Internet, a Minitel server, a WAP server, the servers of partners of the financial organization, etc.
Une telle architecture est indispensable pour permettre d'obtenir par simple appel d'un téléphone numérique interrogeant une institution financière telle qu'une banque, le solde d'un compte courant ou bien encore pour imputer d'un compte courant la somme prélevée lors d'un retrait à un distributeur de billets de banque et fournir à son titulaire l'information quant au nouveau solde après cette opération. Depuis quelques années, la connexion entre les serveurs clients et les serveurs d'applications se trouve être réalisée par l'intermédiaire d'un serveur particulier dit serveur MCMA pour serveur multi-canal et multi-application (appelé encore middleware dans la terminologie anglo-saxonne) auxquels sont connectés tous les serveurs client et tous les serveurs d'applications.Such an architecture is essential to make it possible to obtain, by a simple call from a digital telephone questioning a financial institution such as a bank, the balance of a current account or even to charge a sum drawn during a '' a withdrawal from a bank machine and provide its holder with information on the new balance after this operation. For a few years, the connection between the client servers and the application servers has been carried out by means of a particular server called MCMA server for multi-channel and multi-application server (also called middleware in English terminology). Saxon) to which all client servers and all application servers are connected.
Un tel serveur MCMA assure le routage des données entre les serveurs mais également est à même de réaliser un certain nombre de fonctionnalités supplémentaires. Le serveur MCMA fait donc office d'unique serveur d'application pour les serveurs clients et d'unique serveur client pour les serveurs d'applications.Such an MCMA server ensures the routing of data between the servers but also is capable of achieving a certain number of additional functionalities. The MCMA server therefore acts as the sole application server for the client servers and as the sole client server for the application servers.
Grâce à cette architecture, le développement d'un nouveau serveur client ne nécessite qu'un seul travail de connexion au serveur MCMA. Le serveur MCMA est alors apte à fournir à ce nouveau serveur client l'ensemble des services disponibles sur les serveurs d'applications, selon un procédé de communication choisi. Il en est bien évidemment de même, lorsqu'il s'agit d'ajouter un nouveau serveur d'application.Thanks to this architecture, the development of a new client server requires only a single connection job to the MCMA server. The MCMA server is then able to provide this new client server with all of the services available on the application servers, according to a chosen communication method. It is obviously the same when it comes to adding a new application server.
Le document WO-A-98/ 24040 décrit un tel serveur.Document WO-A-98/24040 describes such a server.
Une telle solution permet d'accéder à chaque serveur d'application de manière indépendante des connexions reliant le serveur MCMA aux serveurs client.Such a solution makes it possible to access each application server independently of the connections connecting the MCMA server to the client servers.
Toutefois, le procédé de communication proposé dans l'art antérieur entre les serveurs clients et les serveurs d'applications via le serveur MCMA n'est pas totalement satisfaisant dans la mesure où il est de mise en oeuvre relativement complexe ou inadaptée, notamment en ce qui concerne:However, the communication method proposed in the prior art between the client servers and the application servers via the MCMA server is not entirely satisfactory insofar as it is necessary to relatively complex or unsuitable implementation, in particular as regards:
- la mise en commun de fonctionnalités mises en oeuvre par le serveur MCMA pour le compte des serveurs clients ;- pooling of functionalities implemented by the MCMA server on behalf of client servers;
- l'import/ export de données vers ou provenant des serveurs d'applications, dans le cadre d'un projet de migration de données issues d'autres systèmes informatiques par exemple ;- import / export of data to or from application servers, as part of a project to migrate data from other IT systems, for example;
- les modifications régulières dans les serveurs d'application (évolutions, remplacement, dédoublement, etc.).- regular changes in the application servers (upgrades, replacement, duplication, etc.).
Par ailleurs, le système proposé dans l'art antérieur ne traite pas de l'intégration d'un serveur client et/ou d'un serveur d'application ayant une technologie différente de celle du serveur MCMA, notamment en ce qui concerne le langage, le format ou encore le protocole de communication qui sont généralement différents du format du serveur MCMA.Furthermore, the system proposed in the prior art does not deal with the integration of a client server and / or an application server having a technology different from that of the MCMA server, in particular with regard to the language. , the format or even the communication protocol which are generally different from the format of the MCMA server.
Traditionnellement, lorsque qu'une adaptation d'une l'interface cliente doit être réalisée au format, au langage et au protocole attendus par le serveur MCMA, l'équipe informatique chargée de cette adaptation développe des programmes dits intermédiaires ou « middleware » dédiés à cette adaptation.Traditionally, when an adaptation of the client interface must be made to the format, language and protocol expected by the MCMA server, the IT team responsible for this adaptation develops so-called intermediate or "middleware" programs dedicated to this adaptation.
Or, l'équipe informatique chargée de l'interface cliente peut être différente de celle en charge du serveur MCMA. Il en est de même du serveur d'application dont le développement peut être spécifique.However, the IT team in charge of the client interface may be different from that in charge of the MCMA server. The same applies to the application server, the development of which may be specific.
Il en résulte des temps de développement des programmes intermédiaires relativement longs et coûteux. De plus, la maintenance du système résultant est relativement plus complexe, tout comme l'identification des composants responsables de disfonctionnement ou de réduction des performances du système.This results in relatively long and costly development times for intermediate programs. In addition, the maintenance of the resulting system is relatively more complex, as well as the identification of the components responsible for malfunction or reduction in system performance.
La présente invention remédie à ces inconvénients.The present invention overcomes these drawbacks.
Elle porte sur un procédé, et un dispositif pour sa mise en oeuvre, de communication entre une pluralité de serveurs clients et une pluralité de serveurs d'applications comprenant chacun au moins une application choisie, les serveurs clients étant connectés à un unique serveur MCMA lequel est à son tour connecté à l'ensemble des serveurs d'applications, de sorte que tout appel de service d'un serveur client à destination d'un serveur d'application donné, est d'abord adressé par ledit serveur client au serveur MCMA à charge de ce dernier de le router au serveur d'application concerné et de faire remonter en retour d'éventuelles informations du serveur d'application vers le serveur client.It relates to a method, and a device for its implementation, of communication between a plurality of client servers and a plurality of application servers each comprising at least one chosen application, the client servers being connected to a single MCMA server which is in turn connected to all of the application servers, so that any service call from a client server to a given application server is first addressed by said client server to the MCMA server it is up to the latter to route it to the application server concerned and to send back any information from the application server to the client server.
Selon une définition générale de l'invention, le procédé utilise une chaîne de conversion entrante et/ ou sortante apte à convertir les appels écrits en langage et format du serveur MCMA en langage et format attendus par le serveur client et/ou d'application et à convertir les réponses du serveur client et/ ou du serveur d'application écrites en langage et format serveur client et/ou serveur d'application en réponse écrites en langage et format du serveur MCMA.According to a general definition of the invention, the method uses an incoming and / or outgoing conversion chain capable of converting the written calls in language and format of the MCMA server into the language and format expected by the client and / or application server and converting the responses from the client server and / or the application server written in the language and format of the client server and / or the application server into responses written in the language and format of the MCMA server.
Un tel procédé permet ainsi d'encadrer, faciliter, et simplifier le travail d'intégration d'un système externe client (interface cliente) et/ou d'un système externe d'application (serveur d'application) en dépit des différences de format, langage et protocole entre les serveurs clients et/ ou d'application et le serveur MCMA.Such a method thus makes it possible to frame, facilitate and simplify the work of integrating an external client system (client interface) and / or an external application system (application server) by despite differences in format, language and protocol between client and / or application servers and the MCMA server.
Selon un autre aspect de l'invention, chaque chaîne de conversion entrante ou sortante (le serveur MCMA pouvant avoir des chaines de conversions entrante et/ou des chaînes de conversion sortantes) comprend :According to another aspect of the invention, each incoming or outgoing conversion chain (the MCMA server can have incoming conversion chains and / or outgoing conversion chains) comprises:
- un connecteur entrant ou sortant, intégré au serveur MCMA,- an incoming or outgoing connector, integrated into the MCMA server,
- un branchement client ou d'application, intercalé entre le connecteur entrant ou sortant et le serveur client ou d'application, et apte à communiquer dans le langage, le format et le protocole du serveur MCMA, eta client or application connection, inserted between the incoming or outgoing connector and the client or application server, and capable of communicating in the language, format and protocol of the MCMA server, and
- un élément d'intégration formant adapteur/ convertisseur relié au branchement client ou d'application d'une part et au serveur client ou d'application d'autre part, ledit convertisseur étant apte à convertir les appels ou réponses écrits en langage et format MCMA en langage et format attendus par le serveur client ou d'application et inversement.an integration element forming an adapter / converter connected to the client or application connection on the one hand and to the client or application server on the other hand, said converter being able to convert written calls or responses into language and format MCMA in language and format expected by the client or application server and vice versa.
De préférence, le langage et le format du serveur MCMA sont du type fichier texte écrit en langage de balisage extensible du type XML ou analogue.Preferably, the language and format of the MCMA server are of the text file type written in extensible markup language of the XML type or the like.
En pratique, les langage, format et protocole du serveur client et/ou du serveur d'application appartiennent au groupe formé par les fichiers texte ou binaire « à plat », sérialisation d'objet du type java, C++, Visual Basic, ou analogues et les protocoles IP, HTTP, CORBA/IIOP, JRMP, DCOM, COM, COM+ ou analogues. Selon un autre aspect de l'invention, chaque chaîne de conversion entrante ou sortante est apte à communiquer selon un protocole de communication selon lequel chaque appel de service est présenté sous la forme d'une action qui est une classe en langage de programmation orientée objet, possédant des attributs/ champs d'entrée représentant les paramètres de l'appel du service destiné à être retourné audit serveur client et une méthode apte à encapsuler l'appel à destination d'un ou plusieurs serveurs d'applications cibles et/ou à prévoir d'éventuels traitements assurés par le serveur MCMA.In practice, the language, format and protocol of the client server and / or the application server belong to the group formed by “flat” text or binary files, object serialization of the java, C ++, Visual Basic, or similar type. and IP, HTTP, CORBA / IIOP, JRMP, DCOM, COM, COM + or similar protocols. According to another aspect of the invention, each incoming or outgoing conversion chain is able to communicate according to a communication protocol according to which each service call is presented in the form of an action which is a class in object-oriented programming language , having attributes / input fields representing the parameters of the service call intended to be returned to said client server and a method capable of encapsulating the call to one or more target application servers and / or to provide for any processing provided by the MCMA server.
En pratique, le serveur MCMA dès réception de l'action exécute cette dernière en mode synchrone ou asynchrone en déroulant la méthode associée à cette action pour opérer d'éventuels traitements sur les attributs/champs d'entrée et/ou envoyer au(x) serveur(s) d'application cible(s) concerné(s) l'appel de service dans le format et protocole spécifique attendu par ledit ou lesdits serveurs d'application via la chaîne de conversion sortante correspondante.In practice, the MCMA server upon receipt of the action executes the latter in synchronous or asynchronous mode by rolling out the method associated with this action to carry out any processing on the attributes / input fields and / or send to (x) target application server (s) concerned the service call in the specific format and protocol expected by said application server (s) via the corresponding outgoing conversion chain.
Chaque serveur d'application appelé opère son traitement et fournit le service attendu, dans son format spécifique, au serveur MCMA, via la chaîne de conversion sortante correspondante, le serveur MCMA opérant alors d'éventuels traitements sur les données ainsi retournées par le ou les serveurs d'application et valorise les attributs de sortie de l'action qui est ensuite remontée au serveur client émetteur, le cas échéant via la chaîne de conversion entrante correspondante.Each application server called operates its processing and provides the expected service, in its specific format, to the MCMA server, via the corresponding outgoing conversion chain, the MCMA server then operating any processing on the data thus returned by the one or more application servers and values the output attributes of the action which is then sent back to the sending client server, if necessary via the corresponding incoming conversion chain.
Plusieurs serveurs d'application peuvent être sollicités lors de l'exécution d'une même action. Dans ce cas, les différents serveurs d'application peuvent être appelés successivement ou simultanément en fonction du service fournis.Several application servers can be called upon during the execution of the same action. In this case, the different servers application can be called successively or simultaneously depending on the service provided.
L'utilisation d'action pour communiquer entre les serveurs clients et le serveur MCMA, a l'avantage, dans un contexte de programmation orientée objet, d'être de mise en oeuvre relativement simple et facile où l'on souhaite :The use of action to communicate between client servers and the MCMA server, has the advantage, in an object-oriented programming context, of being relatively simple and easy to implement where one wishes:
- bénéficier, grâce à l'héritage entre les classes, d'une mise en commun de fonctionnalités présentes de façon récurrente dans les appels de services et qui peuvent ainsi être mises en oeuvre de façon simple directement par le serveur MCMA, comme par exemple l'identification de l'usager, le contrôle d'habilitation, l'audit des appels de service (par exemple pour des contrôles de fonctionnement, de performances, ou encore pour leur tarification);- benefit, thanks to the inheritance between the classes, of a pooling of functionalities present in a recurring way in the calls of services and which can thus be implemented in a simple way directly by the MCMA server, such as for example the '' user identification, authorization control, audit of service calls (for example for operation and performance checks, or for their pricing);
- uniformiser le procédé de communication avec les serveurs clients ;- standardize the communication process with client servers;
D'autres caractéristiques et avantages de l'invention (comme par exemple la simplification/fiabilisation des modifications régulières dans les serveurs d'applications : remplacement, dédoublement, évolutions) apparaîtront à la lumière de la description détaillée ci- après et des dessins dans lesquels :Other characteristics and advantages of the invention (such as, for example, the simplification / reliability of regular modifications in application servers: replacement, duplication, upgrades) will appear in the light of the detailed description below and of the drawings in which :
- la figure 1 est une représentation schématique d'un système informatique mettant en oeuvre le procédé de communication entre serveurs clients et serveurs d'applications selon l'invention ;- Figure 1 is a schematic representation of a computer system implementing the communication method between client servers and application servers according to the invention;
- la figure 2 illustre le procédé de communication selon l'invention ; - la figure 3 est un schéma précisant la structure du serveur MCMA mis en œuvre dans le système informatique de la figure 1;- Figure 2 illustrates the communication method according to the invention; - Figure 3 is a diagram detailing the structure of the MCMA server implemented in the computer system of Figure 1;
- la figure 4 représente schématiquement une chaîne de conversion entrante et une chaîne de conversion sortante selon l'invention ; et- Figure 4 schematically shows an incoming conversion chain and an outgoing conversion chain according to the invention; and
- la figure 5 est une liste de connecteurs et de branchements selon l'invention.- Figure 5 is a list of connectors and connections according to the invention.
En référence à la figure 1, le système informatique décrit à titre d'exemple est le système informatique d'une institution financière et plus précisément d'une banque. Ce système informatique référencé 1 fournit une pluralité de services financiers gérés par des serveurs d'application spécialisés et accessibles par les employés ou les usagers à travers une pluralité d'interfaces clients 2.With reference to FIG. 1, the computer system described by way of example is the computer system of a financial institution and more precisely of a bank. This computer system referenced 1 provides a plurality of financial services managed by specialized application servers and accessible by employees or users through a plurality of client interfaces 2.
Par exemple, les interfaces clients 2 peuvent être des téléphones numériques fixes 2a ou mobiles 2b, des guichets automatiques GAB (non représentés), des succursales recevant du courrier 2c ou des télécopies 2d, des bureaux de vente de succursale (non représentés), des distributeurs de billets en libre-service DAB (non représentés), des ordinateurs personnels pour banque à domicile utilisant une connexion de type Internet 2f ou minitel 2g, des télévisions interactives 2e, etc.For example, the customer interfaces 2 can be fixed digital telephones 2a or mobile 2b, ATMs (not shown), branches receiving mail 2c or faxes 2d, branch sales offices (not shown), ATM machines (not shown), personal computers for home banking using a 2f or minitel 2g Internet connection, 2nd interactive televisions, etc.
Ces interfaces clients 2 sont connectées par des réseaux appropriés 3, individualisé en 3-1 à 3-6, à des serveurs client 4, individualisés en 4-1 à 4-6. Les serveurs 4 sont développés de façon spécifique en fonction des possibilités techniques de chaque interface 2 et de chaque réseau 3. Chaque interface et son réseau associé sont encore appelés canal.These client interfaces 2 are connected by appropriate networks 3, individualized in 3-1 to 3-6, to client servers 4, individualized in 4-1 to 4-6. The servers 4 are developed specifically according to the technical possibilities of each interface 2 and each network 3. Each interface and its associated network are also called a channel.
Le système informatique 1 comprend en outre une pluralité de serveurs d'application 5, tels que par exemple, un serveur bancaire 5a, un serveur boursier 5b, un serveur d'assurance 5c, un serveur de crédit 5d, ou autre 5e. Chacun de ces serveurs 5 met en œuvre comprenant chacun au moins une application spécifique 6, respectivement référencée 6a à 6e.The computer system 1 further comprises a plurality of application servers 5, such as for example, a bank server 5a, a stock exchange server 5b, an insurance server 5c, a credit server 5d, or other 5e. Each of these servers 5 implements each comprising at least one specific application 6, respectively referenced 6a to 6e.
Par ailleurs, un serveur 7 est intercalé entre les serveurs clients 4 et les serveurs d'applications 5. Ce serveur 7, appelé MCMA (acronyme pour Multi Canal et Multi Application) est commun à l'ensemble des serveurs clients 4 et apte à leur fournir l'ensemble des applications disponibles 6 sur les serveurs d'applications 5 auxquels il est également connecté, selon un procédé de communication choisi.Furthermore, a server 7 is interposed between the client servers 4 and the application servers 5. This server 7, called MCMA (acronym for Multi Channel and Multi Application) is common to all of the client servers 4 and suitable for their provide all of the applications available 6 on the application servers 5 to which it is also connected, according to a chosen communication method.
Il est à noter que de préférence, le serveur MCMA 7 ne sert pas uniquement à router des données des serveurs clients vers les serveurs d'applications et vice-versa mais également sert à opérer différents traitements, comme par exemple l'identification /authentification de l'utilisateur final et/ou du serveur client, la gestion de mode dégradé (par exemple gestion de bases répliquées permettant de fournir des informations malgré l'indisponibilité des serveurs d'application concernés), le contrôle d'habilitation, l'audit des appels de service ou encore leur tarification,...It should be noted that preferably, the MCMA 7 server is not only used to route data from client servers to application servers and vice versa, but also serves to operate various processing operations, such as for example the identification / authentication of the end user and / or the client server, degraded mode management (for example management of replicated databases making it possible to provide information despite the unavailability of the application servers concerned), authorization control, audit of service calls or their pricing, ...
Chaque serveur client 4 adapte l'appel émis par son canal correspondant, comme par exemple le serveur client WAP à partir d'un message émis par un téléphone mobile, sous une forme prédéterminée et l'envoi au serveur MCMA 7 selon un format et protocole attendu par le serveur MCMA 7.Each client server 4 adapts the call made by its corresponding channel, such as for example the WAP client server from of a message sent by a mobile telephone, in a predetermined form and the sending to the MCMA 7 server according to a format and protocol expected by the MCMA 7 server.
Le serveur MCMA 7 propose plusieurs formats et protocoles afin de s'adapter aux contraintes technologiques d'un serveur client 4 et d'un réseau 3 quelconque. Les formats proposés par le serveur MCMA 7 peuvent être fichier binaire (sérialisation d'objet java, ou C++, Visual Basic, etc.) ou texte « à plat », fichier XML.The MCMA 7 server offers several formats and protocols in order to adapt to the technological constraints of a client server 4 and any network 3. The formats offered by the MCMA 7 server can be binary file (serialization of java object, or C ++, Visual Basic, etc.) or "flat" text, XML file.
Les protocoles proposés par le serveur MCMA 7 peuvent être IP, HTTP, CORBA/IIOP, JRMP, DCOM, COM, COM+, etc.The protocols offered by the MCMA 7 server can be IP, HTTP, CORBA / IIOP, JRMP, DCOM, COM, COM +, etc.
Les moyens mis en œuvre pour permettre la communication entre les serveurs clients et le serveur MCMA 7 comprennent des modules logiciels constituant une chaîne de conversion dite "entrante" qui sera détaillée ultérieurement.The means used to allow communication between the client servers and the MCMA server 7 include software modules constituting a so-called "incoming" conversion chain which will be detailed later.
Le procédé de communication entre les serveurs client 4 et les serveurs d'applications 5 du système informatique distribué 1 est articulé autour de la notion d'action. Ce procédé consiste plus particulièrement à présenter chaque appel de service sous la forme d'une action.The communication method between the client servers 4 and the application servers 5 of the distributed computer system 1 is structured around the concept of action. This process more particularly consists in presenting each service call in the form of an action.
Pour rappel, une action est une classe en langage de programmation orientée objet (Java, C++, etc.), possédant des attributs/ champs d'entrée représentant les paramètres de l'appel de service et d'éventuels attributs/ champs de sortie représentant le résultat du service destiné à être retourné audit serveur client et une méthode apte à encapsuler l'appel à destination d'un ou plusieurs serveurs d'application cibles et/ou à prévoir d'éventuels traitements assurés par le serveur MCMA 7.As a reminder, an action is a class in object-oriented programming language (Java, C ++, etc.), having attributes / input fields representing the parameters of the service call and possible attributes / output fields representing the result of the service intended to be returned to said client server and a method capable of encapsulating the call to one or more servers of target applications and / or to provide for possible processing provided by the MCMA 7 server.
Ainsi, à chaque service correspond une action qui encapsule l'appel à destination du ou des serveurs d'application cibles via le serveur MCMA 7 ou encore des traitements mis en œuvre directement par le serveur MCMA 7.Thus, each service corresponds to an action which encapsulates the call intended for the target application server or servers via the MCMA 7 server or else processing implemented directly by the MCMA 7 server.
Le serveur d'application 5 logeant le service cible 6 reçoit l'appel du service cible, émis par le serveur MCMA 7, selon les formats et protocoles spécifiques du serveur d'application 5 et renvoie la réponse (résultat de service ou erreur) au serveur MCMA 7 toujours selon ses formats et protocoles spécifiques du serveur d'applicationThe application server 5 housing the target service 6 receives the call from the target service, sent by the MCMA server 7, according to the specific formats and protocols of the application server 5 and returns the response (service result or error) to MCMA 7 server always according to its specific formats and protocols of the application server
5.5.
En référence à la figure 2, le procédé de communication comprend les étapes suivantes:With reference to FIG. 2, the communication method comprises the following steps:
- étape (i), instanciation II s'agit de créer, par exemple par le serveur minitel 4-6, une instance de classe (selon la terminologie de la programmation orientée objet) de type action qui correspond au service « solde du compte courant N » suite à une demande d'appel (request) émanant d'une interface cliente 2g, en l'occurrence d'un minitel utilisé par un usager lequel souhaite connaître le solde de son compte courant ;- step (i), instantiation This involves creating, for example by the minitel 4-6 server, a class instance (according to the terminology of object-oriented programming) of the action type which corresponds to the “current account balance” service N »following a request from a 2g client interface, in this case a minitel used by a user who wishes to know the balance of his current account;
- étape (ii), le serveur minitel 4-6 valorise les attributs d'entrée de l'action en fonction des données fournies par l'usager et envoi l'action au serveur MCMA 7 selon le protocole et le format de son choix parmi ceux proposés par ce dernier (« uneAction » est une instance (un objet, une variable) de la classe (du type) « FxAction » (une FxAction est le nom technique qui désigne action générique) ;- step (ii), the minitel 4-6 server values the input attributes of the action according to the data supplied by the user and sends the action to the MCMA 7 server according to the protocol and format of its choice from those proposed by the latter ("anAction" is an instance (an object, a variable) of the class (of type) "FxAction" (an FxAction is the technical name which designates generic action);
- étape (iiï), le serveur MCMA 7 reçoit l'action et l'exécute en déroulant la méthode associée. Cette méthode associée a un comportement qui varie en fonction des valeurs de tout ou partie des attributs d'entrées. C'est entre autre ici que peuvent être fournies des fonctionnalités supplémentaires tels que l'identification de l'usager, le contrôle d'habilitation, l'audit des appels de service, etc.;- step (ii), the MCMA 7 server receives the action and executes it by rolling out the associated method. This associated method has a behavior which varies according to the values of all or part of the input attributes. It is among other things here that additional functionalities can be provided such as user identification, authorization control, audit of service calls, etc .;
- étape (iv), la couche d'intégration que l'on décrira plus en détail ci après du serveur MCMA 7 est sollicitée par l'action "solde compte courant" pour qu'elle effectue l'appel de service cible correspondant sur le serveur d'application concerné (ici le serveur bancaire 5a) selon les formats et protocoles de communication spécifiques de ce dernier. (entryPoint.invoke(uneAction) est une instruction en langage objet, en l'occurrence c'est l'instruction qui provoque le déroulement de la méthode associée à l'action quelconque « uneAction » dans le serveur MCMA 7) ;step (iv), the integration layer which will be described in more detail below of the MCMA server 7 is requested by the action "current account balance" so that it makes the corresponding target service call on the application server concerned (here the bank server 5a) according to the specific communication formats and protocols of the latter. (entryPoint.invoke (uneAction) is an instruction in object language, in this case it is the instruction which causes the method associated with any action "uneAction" to run in the MCMA 7 server);
- étape (v), le serveur d'application exécute le service demandé décrit par l'appel à savoir la lecture ou le calcul du solde du compte et retourne le résultat correspondant au serveur MCMA 7 selon le format et le protocole de communication spécifiques du serveur d'application ;step (v), the application server executes the requested service described by the call, namely the reading or the calculation of the account balance and returns the result corresponding to the MCMA 7 server according to the format and the specific communication protocol of the application server;
- étape (vi), la couche d'intégration du serveur MCMA 7 restitue les données résultats fournis par le serveur d'application à la méthode associée à l'action. Celle-ci valorise donc les attributs résultats de l'action, en fonction des données reçues par le serveur d'application 5a. C'est entre autre ici que peuvent être fournies des fonctionnalités supplémentaires tels que l'audit des réponses de service, la tarification, le mode dégradé (ex : en cas d'erreur, lire le solde en base de données répliquées quotidiennement), etc.;- Step (vi), the integration layer of the MCMA server 7 restores the results data supplied by the application server to the method associated with the action. It therefore values the action result attributes, based on the data received by the application server. 5a. It is among other things here that additional functionalities can be provided such as the audit of service responses, pricing, degraded mode (ex: in case of error, read the balance in the database replicated daily), etc. .
- étape (vii), Lorsque la méthode associée à l'action est terminée, le serveur MCMA 7 retourne l'action vers le minitel 2g via le serveur minitel 4-6 ;- step (vii), When the method associated with the action is finished, the MCMA 7 server returns the action to the minitel 2g via the minitel 4-6 server;
- étape (viii), le minitel reçoit et affiche le résultat.- step (viii), the minitel receives and displays the result.
En se reportant à la figure 3, la structure du serveur MCMA 7 va être plus particulièrement détaillée.Referring to FIG. 3, the structure of the MCMA server 7 will be more particularly detailed.
De façon préférentielle, l'architecture logicielle du serveur MCMA 7 est notamment constituée de deux couches logicielles distinctes : une couche usage 10 et une couche intégration 12. Il est à noter que la couche d'intégration peut être entièrement résidente dans le serveur MCMA 7 comme décrit à la figure 3 ou bien encore résider en partie dans le serveur MCMA 7 et en partie dans un ou plusieurs serveurs d'intégration comme illustré à la figure 4.Preferably, the software architecture of the MCMA 7 server is in particular made up of two distinct software layers: a usage layer 10 and an integration layer 12. It should be noted that the integration layer can be entirely resident in the MCMA 7 server as described in FIG. 3 or else reside partly in the MCMA 7 server and partly in one or more integration servers as illustrated in FIG. 4.
La couche d'usage 10 est une couche intermédiaire qui complète, simplifie et facilite l'utilisation des services fournis par les serveurs d'applications 5. C'est la couche d sage 10 qui est utilisée comme interface pour accéder à la couche d'intégration 12 depuis les serveurs client 4. La couche d'usage 10 est constituée notamment de l'ensemble des actions disponibles depuis le serveur MCMA 7 (voir description ci- avant) et de classes de type « objet d'usage ».The usage layer 10 is an intermediate layer which completes, simplifies and facilitates the use of the services provided by the application servers 5. It is the wise layer 10 which is used as an interface to access the integration 12 from client servers 4. The usage layer 10 is made up in particular of all the actions available from the MCMA server 7 (see description above) and of “object of use” type classes.
Un objet d'usage peut être considéré comme une vue d'une ou plusieurs structures de données utilisées par les serveurs d'application 5. Cette vue est une représentation commune à toutes les structures de données équivalentes dans les serveurs d'applications concernées. Par exemple, l'objet d'usage « UsageCompte » pourra être utilisé pour représenter un compte de dépôt d'un serveur bancaire 5a, ou encore un compte titres du serveur bourse 5b.A usage object can be considered as a view of one or more data structures used by the application servers 5. This view is a representation common to all the equivalent data structures in the application servers concerned. For example, the usage object "UsageAccount" could be used to represent a deposit account of a bank server 5a, or even a securities account of the stock exchange server 5b.
Le mécanisme d'héritage apporté par le concept de classe (programmation orientée objet) permet encore de renforcer la mise en commun des informations. Par exemple, les comptes de dépôt pourront être représentés par des objets d'usage « UsageCompteDepôt » qui héritent des attributs (données membres) de l'objet d'usage « UsageCompte » et qui ne possèdent que les attributs supplémentaires spécifiques à un compte de dépôts par rapport à un compte abstrait et générique « UsageCompte ». Ce dernier pourra également être hérité par plusieurs autre type d'objet d'usage (dit « fils ») tels que « UsageCompteEpargne », « UsageCompteTitres », etc. Ainsi une action représentant le service « liste des comptes d'un client » pourra fournir la liste de tous les types de comptes hébergés par tous les serveurs d'applications gérant des comptes. Une telle action possède un attribut de sortie de type « tableau de UsageCompte » qui contiendra, par exemple en résultat pour un client, par polymorphisme (concept de la programmation orienté objet) : un compte de dépôt, un compte d'épargne et un compte titres, chacun géré par des serveurs d'applications différents.The inheritance mechanism provided by the class concept (object-oriented programming) further strengthens the pooling of information. For example, deposit accounts could be represented by "UsageCompteDépôt" usage objects that inherit attributes (member data) from the usage usage "UsageCompte" and that only have the additional attributes specific to an deposits compared to an abstract and generic "UsageCompte" account. The latter can also be inherited by several other type of usage object (called "son") such as "UsageCompteEpargne", "UsageCompteTitres", etc. Thus an action representing the service "list of accounts of a client" can provide the list of all types of accounts hosted by all application servers managing accounts. Such an action has an output attribute of the “UsageCount table” type which will contain, for example as a result for a client, by polymorphism (concept of object-oriented programming): a deposit account, an account savings account and a securities account, each managed by different application servers.
Ainsi l'ensemble des objets d'usage facilite et simplifie la représentation des structures de données qui sont par définition variables selon le serveur d'application. Les objets - d'usage permettent la mutualisation des formats d'échanges entre les serveurs clients et le serveur MCMA 7 quel que soit le serveur d'application concerné.Thus the set of usage objects facilitates and simplifies the representation of data structures which are by definition variable depending on the application server. The objects of use allow the mutualisation of the formats of exchanges between the client servers and the MCMA 7 server whatever the application server concerned.
La couche d'usage 10 permet également de stabiliser les formats fournis aux serveurs client en cas de modification dans un serveur d'application 5, ou le remplacement de l'un d'eux par un nouveau serveur d'application. Par exemple, si l'on considère que le serveur bancaire 5a possède une structure de donnée « solde de compte » qui agrège les soldes comptables, valeur et espèce d'un compte, et ces différents soldes sont donc représentés dans la classe « UsageSolde » afin d'être disponibles aux serveurs clients. Le remplacement du serveur bancaire 5a par un nouveau serveur d'application qui ne possède pas de solde espèce, n'entraînera pas de modification de l'objet d'usage « UsageSolde » et donc ne nécessitera pas la modification des serveurs clients. L'information manquante sera soit renseignée à une valeur par défaut, soit calculée par le serveur MCMA 7.The usage layer 10 also makes it possible to stabilize the formats supplied to the client servers in the event of modification in an application server 5, or the replacement of one of them by a new application server. For example, if we consider that the bank server 5a has a data structure "account balance" which aggregates the accounting balances, value and species of an account, and these different balances are therefore represented in the class "UsageSolde" in order to be available to client servers. The replacement of the bank server 5a by a new application server which does not have a cash balance, will not entail any modification of the usage object "UsageSolde" and therefore will not require modification of the client servers. The missing information will either be filled in at a default value, or calculated by the MCMA 7 server.
Il est à noter que si le nouveau serveur d'application bancaire possède de nouvelles informations concernant le solde (ex : solde fin de mois précédent), on pourra enrichir l'objet d'usage « UsageSolde » d'un nouvel attribut. La couche d'usage 10, par ces apports en simplification et stabilisation des formats d'échanges avec les serveurs client, facilite ainsi la prise en charge de modifications régulières dans les serveurs d'applications (remplacement, dédoublement, évolutions).It should be noted that if the new banking application server has new information concerning the balance (ex: balance at the end of the previous month), we can enrich the usage object "UsageSolde" with a new attribute. The usage layer 10, by these contributions in simplification and stabilization of the formats of exchanges with the client servers, thus facilitates the management of regular modifications in the application servers (replacement, duplication, evolutions).
Les informations contenues par les classes de données d'usage proviennent des serveurs d'application 5. Par exemple, la donnée solde comptable de l'objet d'usage compte provient du serveur bancaire 5a. Pour valoriser leurs attributs de sortie, les actions de la couche d'usage appellent la couche d'intégration 12 (et la couche de services supplémentaires 11 pour les fonctionnalités du serveur MCMA 7 qui ne sont pas disponibles dans les serveurs d'applications).The information contained in the usage data classes comes from the application servers 5. For example, the accounting balance data of the account usage object comes from the bank server 5a. To enhance their output attributes, the actions of the usage layer call the integration layer 12 (and the additional services layer 11 for the functionalities of the MCMA server 7 which are not available in the application servers).
Ainsi, ce n'est pas la couche d'usage 10 qui est en charge de la communication avec les serveurs d'applications 5 mais la couche d'intégration 12.Thus, it is not the usage layer 10 which is in charge of communication with the application servers 5 but the integration layer 12.
La couche d'intégration 12 est compartimentée en deux sous- systèmes: un sous-système de routage 13 et un sous-système d'intégration 14 comprenant des modules logiciels formant des chaînes de conversion, dites "sortantes", avec chacun des serveurs d'application 5. Seuls ont été représentés les modules 14a et 14b correspondant respectivement aux serveurs bancaire 5a et boursier 5bThe integration layer 12 is subdivided into two subsystems: a routing subsystem 13 and an integration subsystem 14 comprising software modules forming conversion chains, called "outgoing", with each of the servers of 'application 5. Only the modules 14a and 14b have been represented corresponding respectively to the banking servers 5a and the stock exchange 5b
Le sous-système de routage 13 est le point d'entrée des actions de la couche d'usage 10. Il est chargé de déterminer en fonction des données représentées par un objet d'usage (ex : type de compte, n° du compte, n° du client) le ou les serveurs d'applications concernés et donc le ou les modules d'intégrations 14 à qui déléguer la communication. Pour les modules d'intégration 14 concernés, le sous-système de routage 13 fourni l'objet d'usage et le service à appeler dans le serveur d'application.The routing subsystem 13 is the entry point for the actions of the usage layer 10. It is responsible for determining as a function of the data represented by a usage object (eg type of account, account number , customer number) the application server (s) concerned and therefore the integration module or modules 14 to which to delegate the communication. For the integration modules 14 concerned, the routing subsystem 13 provides the usage object and the service to be called in the application server.
Les modules d'intégration 14 constituant une chaîne de conversion sortante sont donc chargés de la communication avec un serveur d'application spécifique 5 selon les formats et protocoles attendus par ce serveur d'application. Ils sont également capables de convertir des structures de données spécifiques provenant du serveur d'application en objet d'usage et inversement. Une telle chaîne de conversion sortante sera plus détaillée ultérieurement.The integration modules 14 constituting an outgoing conversion chain are therefore responsible for communication with a specific application server 5 according to the formats and protocols expected by this application server. They are also capable of converting specific data structures from the application server into an object of use and vice versa. Such an outgoing conversion chain will be explained in more detail later.
Le travail effectué par chaque composant du serveur MCMA 7 va être illustré dans l'exemple suivant : consultation du compte X d'un client Y sur le serveur d'application 5a.The work performed by each component of the MCMA server 7 will be illustrated in the following example: consultation of the account X of a client Y on the application server 5a.
L'action « liste des soldes de tous les comptes d'un client » va d'abord rechercher, via un service dit de « CRM » ( acronyme de Customer Relation Management, c'est-à-dire Gestion de la Relation Client) de la couche de service supplémentaire 11, la liste des numéros de comptes détenus dans la base de données 15. Puis pour chaque numéro de compte, va demander à la couche d'intégration 12 le solde correspondant en lui fournissant un objet d'usage « UsageSolde » avec des soldes non renseignés. Le sous-système de routage 13 va, en fonction du numéro de compte et du type de compte, déterminer la chaîne de conversion sortante du sous- système d'intégration 14 concernée et lui demander de faire l'appel du service cible adéquat en lui fournissant l'objet d'usage vide. Le sous-système d'intégration 14 va appeler le service cible via les formats et protocoles attendus par le serveur d'application concerné, remplir l'objet d'usage avec les résultats fournis par le serveur d'application et retourner l'objet d'usage ainsi renseigné au sous- système de routage 13 qui le lui retournera à l'action demanderesse.The action "list of balances of all accounts of a client" will first search, via a service called "CRM" (acronym for Customer Relation Management, that is to say Customer Relationship Management) of the additional service layer 11, the list of account numbers held in the database 15. Then for each account number, will ask the integration layer 12 the corresponding balance by providing it with a usage object " UsageSolde ”with unspecified balances. The routing subsystem 13 will, depending on the account number and the type of account, determine the outgoing conversion chain of the integration subsystem 14 concerned and ask it to make the call to the appropriate target service in it. providing the empty object of use. The integration subsystem 14 will call the target service via the formats and protocols expected by the application server concerned, fill the usage object with the results provided by the application server and return the usage object thus informed to the routing subsystem 13 which will return it to it to the plaintiff action.
Pour transmettre les actions formant appel de service entre les différents serveurs du système informatique 1, on utilise des fichiers écrits de préférence avec un langage de structuration encore appelé langage de balisage extensible, tel que le XML (acronyme anglo-saxon pour extensible Markup Language).To transmit the actions forming a service call between the various servers of the computer system 1, files written preferably with a structuring language also called extensible markup language, such as XML (English acronym for extensible Markup Language) are used. .
Un document structuré est une collection d'ensembles d'informations associés chacun à un type et des attributs, et composés entre eux selon des relations principalement hiérarchiques. Un tel document permet notamment de distinguer les différents sous-ensembles d'informations composant le document. Par opposition, dans un document dit linéaire, les informations de contenu du document sont mélangées aux informations de présentation et de typage.A structured document is a collection of sets of information, each associated with a type and attributes, and composed together according to mainly hierarchical relationships. Such a document makes it possible in particular to distinguish the different subsets of information making up the document. In contrast, in a so-called linear document, the content information of the document is mixed with the presentation and typing information.
Un document structuré inclut des repères de séparation des différents ensembles d'informations du document. Dans le cas du format XML, ces repères appelées « balises » sont de la forme « <b> » (balise ouvrante) et « </b> » (balise fermante), le premier repère indiquant le début d'un ensemble d'informations nommé « b » et le second la fin de cet ensemble.A structured document includes separation marks for the different sets of information in the document. In the case of XML format, these marks called “tags” are of the form “<b>” (opening tag) and “</b>” (closing tag), the first marker indicating the start of a set of information named "b" and the second the end of this set.
Contrairement au langage HTML (HyperText Markup Language), le langage XML n'est pas sémantiquement figé. Il permet de définir ses propres balises, ce qui le rend adaptable et donc à même de stocker tout types d'informations. Un document structuré est associé à ce que l'on appelle un schéma de structure ou DTD (Document Type Définition), définissant sous la forme de règles la structure et le type d'information de chaque ensemble d'informations du document. Un schéma est constitué de groupes imbriqués de structures d'ensembles d'informations, ces groupes pouvant être des séquences ordonnées, des groupes d'éléments alternatifs ou des groupes d'éléments nécessaires, ordonnés ou non ordonnés.Unlike HTML (HyperText Markup Language), XML is not semantically frozen. It allows you to define your own tags, which makes it adaptable and therefore able to store all types of information. A structured document is associated with what is called a structure diagram or DTD (Document Type Definition), defining in the form of rules the structure and the type of information of each set of information in the document. A schema is made up of nested groups of information set structures, these groups can be ordered sequences, groups of alternative elements or groups of necessary elements, ordered or unordered.
Les documents XML reçus par les serveurs du système informatique 1 sont traités par une interface de programmation d'application correspondante (API , Application Programming Interface) écrite en langage orienté objet et servant d'analyseur XML (ou XML parser) pour analyser et décoder les balises de ces documents.The XML documents received by the servers of the computer system 1 are processed by a corresponding application programming interface (API, Application Programming Interface) written in object oriented language and serving as an XML parser (or XML parser) to analyze and decode the tags of these documents.
Ainsi, à chaque action (représentant un service d'usage et les données d'usage utilisées le cas échéant) est associée une description écrite en langage XML.Thus, each action (representing a usage service and the usage data used if applicable) is associated with a description written in XML language.
Un tel langage de balisage permet de fournir des formats de données sans se restreindre à une plate-forme technique quelle soit matérielle ou logicielle.Such a markup language makes it possible to provide data formats without being restricted to a technical platform, be it hardware or software.
De plus, la représentation sous forme de texte écrit en langage XML de chaque action permet de créer simplement, via un simple éditeur de texte, un fichier XML décrivant une ou plusieurs actions d'appel de services. Le résultat de ses actions, également écrit en XML sera également facile à interpréter depuis un simple éditeur de texte.In addition, the representation in the form of text written in XML language of each action makes it possible to simply create, via a simple text editor, an XML file describing one or more service call actions. The result of its actions, also written in XML, will also be easy to interpret from a simple text editor.
Il est intéressant de s'appuyer sur un langage de balisage extensible du type XML dans le cadre de fonctions d'import/export de données en association avec les demandes d'appel (respectivement attributs d'entrée et attributs de sortie).It is interesting to rely on an extensible markup language of the XML type in the context of data import / export functions in association with call requests (input attributes and output attributes respectively).
La mise en oeuvre d'un tel langage de type XML se fait donc en associant une balise XML à chaque action, ces balises contenant elles même une balise pour chaque attribut d'entrée et pour chaque attribut de sortie des actions.The implementation of such an XML type language is therefore done by associating an XML tag with each action, these tags themselves containing a tag for each input attribute and for each output attribute of the actions.
Très avantageusement, les attributs d'entrée des actions qui correspondent à des traitements d'écriture, création ou modification de données, sont transférés (injectées/importées) dans les serveurs d'application via le serveur MCMA 7 sous la forme d'un fichier texte écrit en langage de balisage extensible du type XML ou analogue.Very advantageously, the input attributes of the actions which correspond to processing of writing, creation or modification of data, are transferred (injected / imported) into the application servers via the MCMA 7 server in the form of a file. text written in extensible markup language such as XML or similar.
Ainsi les migrations de données vers un système informatique utilisant un procédé de communication par action et par XML nécessiteront seulement la réécriture de programme d'extraction des données du système source sous forme de fichier d'extraction XML correspondant à des actions du serveur MCMA 7.Thus data migrations to a computer system using an action-based communication method and via XML will only require rewriting a program for extracting data from the source system in the form of an XML extraction file corresponding to actions of the MCMA 7 server.
De plus, toute création de nouvelle action qui correspond à un traitement d'écriture sera une solution d'importation de données supplémentaire dans le cadre d'une prochaine migration. Par exemple la création d'une nouvelle action, suite à un nouveau besoin d'un serveur client WEB, destiné à la création d'adresse, facilitera les futures importations des adresses email d'un système informatique source ou permettra de compléter le flux de données provenant d'une société partenaire fournissant des données de personnes à prospecter.In addition, any creation of new actions that correspond to write processing will be an additional data import solution for the next migration. For example, the creation of a new action, following a new need for a WEB client server, intended for address creation, will facilitate future imports of email addresses from a source computer system or will complete the data flow from a partner company providing data from people to prospect.
De même, les attributs de sortie des actions qui correspondent à des traitements de lecture, recherche ou consultation de données sont transférés (extraites/exportées) des serveurs d'application correspondants via le serveur MCMA 7 sous la forme d'un fichier texte écrit en langage de balisage extensible du type XML ou analogue.Likewise, the output attributes of actions which correspond to processing of reading, searching or consulting data are transferred (extracted / exported) from the corresponding application servers via the MCMA 7 server in the form of a text file written in Extensible markup language such as XML or the like.
Les avantages fournis par les actions descriptibles en XML sont donc également valables dans le cadre d'export de données, lors du rachat de la banque ou de la mise en place de flux de données périodiques avec le système informatique d'une société partenaire (B2B).The advantages provided by the actions that can be described in XML are therefore also valid in the context of data export, when the bank is purchased or when periodic data flows are set up with the IT system of a partner company (B2B ).
Lorsque que l'action courante (demande d'appel contenant des nouvelles données à écrire dans le service cible demandé) correspond à un service d'écriture dans le système (création, modification, etc.), l'opération est alors dite « import multi-moteur », car les données dans le fichier XML fournies en entrée sont injectées dans le système via le serveur intermédiaire MCMA 7.When the current action (call request containing new data to be written in the requested target service) corresponds to a write service in the system (creation, modification, etc.), the operation is then called "import multi-engine ”, because the data in the XML file supplied as input is injected into the system via the MCMA 7 intermediate server.
Inversement, lorsque que l'action utilisée correspond à un service de lecture dans le système (recherche, consultation, etc.), l'opération est alors dite « export multi-moteur », car le fichier XML résultat contient une extraction des données du système via le serveur intermédiaireConversely, when the action used corresponds to a read service in the system (search, consultation, etc.), the operation is then called "multi-engine export", because the resulting XML file contains an extraction of the data from the system via the intermediate server
MCMA 7. Un tel import/export de données en XML a l'avantage de simplifier le traitement des actions dans un environnement informatique à plusieurs serveurs client et plusieurs serveurs de services, via un serveur MCMA 7.MCMA 7. Such import / export of data in XML has the advantage of simplifying the processing of actions in an IT environment with several client servers and several service servers, via an MCMA 7 server.
Selon l'invention, les communications entre les serveurs clients 4 et le serveur MCMA 7 d'une part, et entre le serveur MCMA 7 et les serveurs d'application 5 d'autre part, utilisent des chaînes de conversion logicielle, appelées respectivement entrantes et sortantes par référence au serveur MCMA 7. Le seul invariant de ces chaînes de conversion est l'utilisation de messages XML représentant des actions pour communiquer avec le serveur MCMA 7.According to the invention, the communications between the client servers 4 and the MCMA server 7 on the one hand, and between the MCMA server 7 and the application servers 5 on the other hand, use software conversion chains, called respectively incoming and outgoing with reference to the MCMA 7 server. The only invariant of these conversion strings is the use of XML messages representing actions to communicate with the MCMA 7 server.
Chaque chaîne de conversion entrante est apte à assurer la communication entre un serveur client donné 4 et le serveur MCMA 7 selon un protocole de communication choisi.Each incoming conversion chain is capable of ensuring communication between a given client server 4 and the MCMA server 7 according to a chosen communication protocol.
Une chaîne de conversion entrante se compose de différents modules implémentés sur le serveur client 4 et sur le serveur MCMA 7.An incoming conversion chain is made up of different modules implemented on the client server 4 and on the MCMA server 7.
Côté serveur client 4 on a un module adapteur client et un module de branchement clientClient server side 4 we have a client adapter module and a client connection module
Le module adapteur client adapte les messages du format spécifique au serveur client au format XML du serveur MCMA 7. Le module adapteur client est chargé, suite a une demande (message au format spécifique du serveur client) initiée par le module fonctionnel du serveur client (par « module fonctionnel », on entend le module fournissant le cœur des fonctionnalités propres à ce serveur client, par exemple si le serveur client est un serveur WEB, ce module fournis les fonctionnalités propres à un serveur WEB et gère des données propres à un serveur WEB), de la création de messages XML correspondants pour envoi au serveur MCMA 7 d'une action formant appel de service, et inversement, de l'analyse des messages XML résultat retourné par le serveur MCMA 7 pour les reconvertir en message dans un format reconnu par le serveur client ou en erreur le cas échéant. Ce module n'est pas chargé de l'échange des messages XML.The client adapter module adapts messages of the format specific to the client server to the XML format of the MCMA 7 server. The client adapter module is loaded, following a request (message to the specific format of the client server) initiated by the functional module of the client server ( “functional module” means the module providing the core of the functionality specific to this client server, for example if the client server is a WEB server, this module provides the functionality specific to a WEB server and manages data specific to a WEB server), the creation of corresponding XML messages for sending to the MCMA 7 server an action forming a service call, and conversely, the analysis of the messages XML result returned by the MCMA 7 server to reconvert them into a message in a format recognized by the client server or in error if necessary. This module is not responsible for exchanging XML messages.
Le module de branchement client (ou PLUG IN) 22 est chargé de la communication 1 avec un connecteur entrant (ou connecteur IN) 20 du serveur MCMA 7. Ce module est écris dans la technologie du serveur client. Il est chargé de l'échange de messages XML avec un seul type de connecteur entrant du serveur MCMA 7 via un seul type de protocole. Il n'est chargé que de l'échange des messages XML, pas de leur création à l'envoi ou de leur analyse à la réception.The client connection module (or PLUG IN) 22 is responsible for communication 1 with an incoming connector (or IN connector) 20 of the MCMA server 7. This module is written in the technology of the client server. It is responsible for exchanging XML messages with a single type of incoming connector from the MCMA 7 server via a single type of protocol. It is only responsible for exchanging XML messages, not for their creation on sending or their analysis on reception.
Côté serveur MCMA 7 on a donc un connecteur entrant 20, encapsulé dans le serveur MCMA 7 et écris dans la technologie du serveur MCMA 7. Ce connecteur comprend un module de communication et un module de conversion.On the MCMA 7 server side, there is therefore an incoming connector 20, encapsulated in the MCMA server 7 and written in the technology of the MCMA server 7. This connector comprises a communication module and a conversion module.
Le module de communication est adapté pour communiquer avec des « branchements clients » (PLUG IN) utilisant le même protocole (en effet, plusieurs branchements clients, écris chacun dans une technologie différente comme VisualBasic ou Java par exemple, peuvent être compatibles avec un même connecteur entrant s'ils s'appuient sur le même protocole de communication). Le module de conversion convertit un message XML en objet (au sens de la programmation orienté objet) de type action, dans la technologie du serveur MCMA 7 et inversement, ce module est communément appelé le « parseur XML ».The communication module is suitable for communicating with "customer connections" (PLUG IN) using the same protocol (indeed, several customer connections, each written in a different technology such as VisualBasic or Java for example, can be compatible with the same connector incoming if they are based on the same communication protocol). The conversion module converts an XML message into an action type (in the sense of object-oriented programming) in MCMA 7 server technology and vice versa, this module is commonly called the "XML parser".
Chaque chaîne de conversion sortante est apte à assurer la communication entre un serveur d'application 5 et le serveur MCMA 7 selon un protocole de communication choisi.Each outgoing conversion chain is capable of ensuring communication between an application server 5 and the MCMA server 7 according to a chosen communication protocol.
Une chaîne de conversion sortante se compose de différents modules implémentés sur le serveur MCMA 7 et sur un serveur distinct dit appelé serveur d'intégration 28.An outgoing conversion chain is made up of different modules implemented on the MCMA server 7 and on a separate server called the integration server 28.
Côté serveur MCMA 7, on a un connecteur sortant d'intégration (ou connecteur OUT) 24, encapsulé dans le serveur MCMA 7 et écris dans la technologie du serveur MCMA 7. Ce connecteur comprend un module de communication et un module de conversion.On the MCMA 7 server side, there is an outgoing integration connector (or OUT connector) 24, encapsulated in the MCMA 7 server and written in the technology of the MCMA 7 server. This connector comprises a communication module and a conversion module.
Le module de communication est adapté pour communiquer avec des branchements serveur d'intégration (ou PLUG OUT) 26 ,utilisant le même protocole (en effet, plusieurs branchements serveur d'intégration, écris chacun dans une technologie différente comme C ou COBOL par exemple, peuvent être compatibles avec un même connecteur entrant s'ils s'appuient sur le même protocole de communication) ;The communication module is suitable for communicating with integration server connections (or PLUG OUT) 26, using the same protocol (in fact, several integration server connections, each written in a different technology such as C or COBOL for example, can be compatible with the same incoming connector if they are based on the same communication protocol);
Le module de conversion d'un objet (au sens de la programmation orienté objet) de type action, dans la technologie du serveur MCMA 7, en message XML et inversement. C'est le même module « parseur XML » que celui utilisé dans le « connecteur entrant » si le même format XML est utilisé (note : un serveur MCMA 7 peut disposer de plusieurs formats XML différents : canonique, compacte, etc.)The module for converting an object (in the sense of object-oriented programming) of the action type, in MCMA 7 server technology, into an XML message and vice versa. It is the same "XML parser" module as that used in the "incoming connector" if the same XML format is used (note: an MCMA 7 server can have several different XML formats: canonical, compact, etc.)
Côté serveur d'intégration 28 on a donc un module de branchement, serveur d'intégration (ou PLUG OUT) 26, un module convertisseur et un module de branchement serveur d'application.On the integration server side 28 there is therefore a connection module, integration server (or PLUG OUT) 26, a converter module and an application server connection module.
Le module de branchement serveur d'intégration 26 est chargé de la communication 23 avec un connecteur sortant d'intégration 24 du serveur MCMA 7, ce module de branchement serveur est encapsulé dans le serveur d'intégration, est écris dans la technologie du serveur d'intégration, il est chargé de l'échange de messages XML avec un seul type de connecteur sortant du serveur MCMA 7 via un seul type de protocole, il n'est chargé que de l'échange des messages XML, pas de leur analyse à la réception de l'appel ou de leur création à l'envoi de la réponse.The integration server connection module 26 is responsible for communication 23 with an outgoing integration connector 24 of the MCMA server 7, this server connection module is encapsulated in the integration server, is written in the server technology d integration, it is responsible for exchanging XML messages with a single type of connector coming out of the MCMA 7 server via a single type of protocol, it is only responsible for exchanging XML messages, not for their analysis the reception of the call or their creation to the sending of the response.
Le module convertisseur convertit les messages au format XML du serveur MCMA 7 en messages dans le format spécifique au serveur d'application dont le serveur d'intégration à la charge, le module convertisseur est chargé de l'analyse des messages XML représentant des actions formant appels de service émis par le serveur MCMA 7 pour les convertir en message formant appel de services dans le format spécifique du serveur d'application dont le serveur d'intégration à la charge, et inversement, de la création de messages XML à retourner au serveur MCMA 7 comme résultat d'appel de service (ce résultat, ou cette erreur le cas échéant, a été fourni initialement par le serveur d'application dont le serveur d'intégration à la charge), ce module n'est pas chargé de l'échange des messages. Le module de branchement serveur d'application est chargé de la communication des messages avec le serveur d'application dont le serveur d'intégration à la charge via un protocole de communication spécifique à ce serveur d'application, il n'est chargé que de l'échange des messages, pas de leur création à l'envoi ou de leur analyse à la réception.The converter module converts messages in XML format from the MCMA 7 server into messages in the format specific to the application server, including the integration server, the converter module is responsible for analyzing XML messages representing actions forming service calls sent by the MCMA 7 server to convert them into a message forming a service call in the specific format of the application server, the integration server responsible for, and vice versa, the creation of XML messages to be returned to the server MCMA 7 as a service call result (this result, or this error if applicable, was initially supplied by the application server including the integration server to the load), this module is not responsible for the exchange of messages. The application server connection module is responsible for communicating messages with the application server, including the load integration server via a communication protocol specific to this application server, it is only responsible for the exchange of messages, not from their creation to sending or from their analysis to reception.
Selon le protocole de communication choisi pour la chaîne entrante ou sortante, chaque appel de service est présenté sous la forme d'une action qui est une classe en langage de programmation orientée objet, possédant des attributs/ champs d'entrée représentant les paramètres de l'appel du service destiné à être retourné audit serveur client et une méthode apte à encapsuler l'appel à destination d'un serveur cible et/ ou à prévoir d'éventuels traitements assurés par le serveur MCMA 7.According to the communication protocol chosen for the incoming or outgoing chain, each service call is presented in the form of an action which is a class in object-oriented programming language, having attributes / input fields representing the parameters of the call of the service intended to be returned to said client server and a method able to encapsulate the call to a target server and / or to provide possible processing provided by the MCMA server 7.
Le serveur cible (serveur MCMA 7, en cas de chaîne entrante, serveur d'application en cas de chaîne sortante) en réponse à une action, est apte à exécuter cette dernière en mode synchrone ou asynchrone en déroulant la méthode associée à cette action. Pour un même message XML l'action correspondante n'est pas la même si elle se trouve dans le serveur MCMA 7 ou dans le serveur d'intégration. La méthode associée ne fera donc pas le même travail selon que l'on se trouve dans la chaîne de conversion entrante (action du serveur MCMA 7) ou la chaîne de conversion sortante (action du serveur d'intégration).The target server (MCMA 7 server, in the event of an incoming chain, application server in the event of an outgoing chain) in response to an action, is able to execute the latter in synchronous or asynchronous mode by rolling out the method associated with this action. For the same XML message the corresponding action is not the same if it is in the MCMA 7 server or in the integration server. The associated method will therefore not do the same work depending on whether one is in the incoming conversion chain (action of the MCMA 7 server) or the outgoing conversion chain (action of the integration server).
Ainsi pour la chaîne de conversion entrante, le message XML correspond à une action du serveur MCMA 7, la méthode correspondante est exécutée dans le serveur MCMA 7. Elle permet généralement d'opérer d'éventuels traitements sur les attributs/ champs d'entrée et/ou d'envoyer au(x) serveur(s) d'application cible(s) concerné(s) l'appel de service via la chaîne de conversion sortante correspondante pour qu'elle retransmette le service au serveur d'application correspondant. Lorsqu'il reçoit le résultat de l'appel service, le serveur MCMA 7, via la méthode de l'action en cours d'exécution, opère alors d'éventuels traitements sur les données ainsi retournées par le ou les serveurs d'application et valorise les attributs de sortie de l'action qui est ensuite remontée au serveur client émetteur, via la chaîne de conversion entrante correspondante et au format choisi par ce dernier.Thus for the incoming conversion chain, the XML message corresponds to an action by the MCMA 7 server, the corresponding method is executed in the MCMA 7 server. It generally allows any processing to be carried out on the attributes / input fields and / or send to the target application server (s) concerned the service call via the corresponding outgoing conversion chain so that it retransmits the service to the corresponding application server. When it receives the result of the service call, the MCMA 7 server, via the action method being executed, then performs any processing on the data thus returned by the application server (s) and values the output attributes of the action which is then sent back to the sending client server, via the corresponding incoming conversion chain and in the format chosen by the latter.
Dans le cas d'une chaîne de conversion sortante, le message XML correspond à une action du serveur d'intégration, la méthode correspondante est exécutée dans le serveur d'intégration. Elle permet généralement de convertir le message XML en en message formant appel de services dans le format spécifique du serveur d'application dont le serveur d'intégration à la charge, puis de l'envoyer à ce serveur d'application via le protocole spécifique du serveur d'application pour qu'il fournisse le service. Lorsqu'il reçoit le résultat de l'appel service, le serveur d'intégration, via la méthode de l'action en cours d'exécution, reconverti le message résultat au format spécifique du serveur d'application dont il a la charge, en message résultat au format XML du serveur MCMA 7 et le lui retourne. Pour réaliser son travail, le serveur d'intégration s'appuie sur les modules présentés ci-dessus lors de la description des composants de la chaîne de conversion sortante.In the case of an outgoing conversion chain, the XML message corresponds to an action of the integration server, the corresponding method is executed in the integration server. It generally makes it possible to convert the XML message into a message forming a call for services in the specific format of the application server including the integration server, then to send it to this application server via the specific protocol of the application server to provide the service. When it receives the result of the service call, the integration server, via the action method being executed, converts the result message to the specific format of the application server for which it is responsible, result message in XML format from the MCMA 7 server and returns it. To carry out its work, the integration server relies on the modules presented above during the description of the components of the outgoing conversion chain.
En pratique, la chaîne de conversion entrante permet à un serveur client 4 ayant des formats et langage spécifiques de communiquer avec le serveur MCMA 7 dont le langage et le format sont différents de ces langage et format spécifiques.In practice, the incoming conversion chain allows a client server 4 with specific formats and languages to communicate with the MCMA 7 server whose language and format are different from these specific language and format.
Par exemple, considérons que le serveur client 4 est un serveur Web dynamique écris en ASP.Net, pour accéder aux serveurs d'application via l'Internet. Le serveur client 4 utilise pour format des messages XML qui sont différent du format XML du serveur MCMA 7, et considérons que côté serveur MCMA 7, écrit par exemple en Java, le connecteur entrant 20 utilise le protocole SOAP.For example, consider that the client server 4 is a dynamic Web server written in ASP.Net, to access application servers via the Internet. The client server 4 uses for format XML messages which are different from the XML format of the MCMA server 7, and let us consider that on the MCMA server side 7, written for example in Java, the incoming connector 20 uses the SOAP protocol.
La chaîne de conversion entrante correspondante nécessite donc le développement coté serveur client d'un module d'adaptation client pour transformer les messages XML du serveur client en messages au format XML du serveur MCMA 7 et inversement. Le serveur client 4 hébergera également un module de branchement client 22 écris en ASP.Net et utilisant le protocole SOAP afin de communiquer avec connecteur entrant 20 pour envoyer le message XML créé par le module d'adaptation client et récupérer la réponse du serveur MCMA 7.The corresponding incoming conversion chain therefore requires the client server side development of a client adaptation module to transform the XML messages from the client server into messages in XML format from the MCMA 7 server and vice versa. The client server 4 will also host a client branching module 22 written in ASP.Net and using the SOAP protocol in order to communicate with incoming connector 20 to send the XML message created by the client adaptation module and recover the response from the MCMA server 7 .
Le serveur MCMA 7 peut également comprendre des chaînes de conversion logicielle sortantes.The MCMA 7 server can also include outgoing software conversion chains.
Par exemple, considérons que le serveur d'application 5 est un serveur d'application bancaire écris en COBOL, il utilise pour format des messages textes à plat avec des données délimitées par des caractères spéciaux comme le « ; » (format CSV). Le serveur d'application bancaire utilise également pour ses communications avec des systèmes clients, le protocole IP de la façon suivante : chaque message texte envoyé ou reçus par le serveur d'application bancaire est précédé d'une entête composée de 6 chiffres alignés à droite et complétés par des chiffres zéros à gauche si nécessaire puis d'un espace (blanc, caractère ASCII 32). Cette entête donne la taille du message texte qui suit (nombre d'octets à lire, après le blanc), par exemple : « 003585 datal;data2; ... ». Considérons par ailleurs que côté serveur MCMA 7 (écris par exemple en C++), le connecteur sortant 24 utilise le protocole IIOP.For example, consider that the application server 5 is a banking application server written in COBOL, it uses flat text messages for format with data delimited by special characters such as "; »(CSV format). The banking application server also uses the IP protocol for its communications with client systems as follows: each text message sent or received by the application server banking is preceded by a header made up of 6 figures aligned on the right and supplemented by zeros figures on the left if necessary then of a space (white, character ASCII 32). This header gives the size of the following text message (number of bytes to read, after the blank), for example: “003585 datal; data2; ... ". Consider furthermore that on the MCMA 7 server side (written for example in C ++), the outgoing connector 24 uses the IIOP protocol.
La chaîne de conversion sortante correspondante nécessite donc le développement d'un serveur d'intégration indépendant écrit par exemple en Java pour adapter les appels émis par le serveur MCMA 7 en XML via le protocole IIOP en appels de messages textes au format CSV via le protocole IP de la façon décrite précédemment et inversement. Le serveur d'application 5, tout comme le serveur MCMA 7, ne subira aucune modification. Pour effectuer son travail, le serveur d'intégration 28 héberge le « module de branchement serveur d'intégration » 26 écris en Java et utilisant le protocole IIOP afin de communiquer avec connecteur sortant 24 pour recevoir les messages XML formant appel de service émis par le serveur MCMA 7. Le cœur du serveur d'intégration est le module convertisseur, écris en Java, chargé de convertir les messages XML du serveur MCMA 7 en message texte au format CSV attendu par le serveur d'application bancaire 5. Enfin, le serveur d'intégration doit être complété par le développement d'un module de branchement serveur d'application, écris en Java et utilisant le protocole IP (de la façon décrite précédemment) afin de communiquer avec le serveur d'application bancaire pour envoyer le message texte CSV créé par le module convertisseur et récupérer la réponse du serveur d'application bancaire. Le module « convertisseur » du serveur d'intégration ou le module « d'adaptation client » du serveur client peuvent en fonction du langage utilisé et des formats à convertir s'appuyer sur des produits du marché des outils de développement de progiciel informatique pour faciliter leur travail.The corresponding outgoing conversion chain therefore requires the development of an independent integration server written for example in Java to adapt the calls sent by the MCMA 7 server in XML via the IIOP protocol to calls of text messages in CSV format via the protocol IP as described above and vice versa. The application server 5, like the MCMA server 7, will not undergo any modification. To perform its work, the integration server 28 hosts the "integration server connection module" 26 written in Java and using the IIOP protocol in order to communicate with outgoing connector 24 to receive the XML messages forming a service call sent by the MCMA 7 server. The heart of the integration server is the converter module, written in Java, responsible for converting XML messages from the MCMA 7 server to a text message in CSV format expected by the banking application server 5. Finally, the server integration must be completed by the development of an application server connection module, written in Java and using the IP protocol (as described above) in order to communicate with the banking application server to send the text message CSV created by the converter module and retrieve the response from the banking application server. The “converter” module of the integration server or the “client adaptation” module of the client server can, depending on the language used and the formats to be converted, be based on products from the market for software package development tools to facilitate their work.
Par exemple, la conversion XML vers fichiers à plat et vice versa peut être mise en place en s'appuyant sur un parseur XSLT « Xalan » de l'organisme Open Source « Apache ». Autre cas de figure : la conversion d'un format XML vers un autre format XML, ou vers des tables de base de données, peut être mise en place par un convertisseur qui s'appuie sur le produit « Liquid Data », vendu par société « BEA ».For example, converting XML to flat files and vice versa can be implemented using an XSLT "Xalan" parser from the Open Source organization "Apache". Another case in point: converting an XML format to another XML format, or to database tables, can be implemented by a converter based on the “Liquid Data” product, sold by company "BEA".
D'une manière générale, l'exécution des appels de service est du type synchrone ou asynchrone. Les connecteurs entrants 20 et/ou sortants 24 sont synchrones ou asynchrones.Generally, the execution of service calls is of the synchronous or asynchronous type. The incoming connectors 20 and / or outgoing 24 are synchronous or asynchronous.
En référence à la figure 5, une liste répertorie les différents format et langage susceptibles d'être convertis par les chaînes de conversion selon l'invention.With reference to FIG. 5, a list lists the different formats and languages capable of being converted by the conversion chains according to the invention.
Chaque connecteur du serveur MCMA 7, qu'il soit entrant ou sortant, est associé à un protocole qui peut appartenir au groupe formé par les protocoles IP, HTTP, CORBA/IIOP, JRMP, DCOM, COM, COM+, SOAP ou analogues.Each connector of the MCMA 7 server, whether incoming or outgoing, is associated with a protocol which may belong to the group formed by the protocols IP, HTTP, CORBA / IIOP, JRMP, DCOM, COM, COM +, SOAP or the like.
A chaque connecteur peuvent être associé des branchements client ou serveur d'intégration, dédié au protocole du connecteur et écris dans l'un des langages appartenant au groupe formé par Java, C++, Visual Basic, COBOL, PHP, PERL ou analogues.Each connector can be associated with client or integration server connections, dedicated to the connector protocol and write in one of the languages belonging to the group formed by Java, C ++, Visual Basic, COBOL, PHP, PERL or the like.
De façon préférentielle, le choix du connecteur associé à un serveur d'application ce fait par paramétrage du serveur MCMA 7. Ce paramétrage indique les informations tels que le connecteur sortant utilisé et les données nécessaires pour que celui-ci établisse une connexion au serveur d'intégration. Par exemple, un connecteur sortant IP disposera de paramètres de connexions IP tels que l'adresse IP et le port du serveur d'intégration et le délai à partir duquel il considère que le serveur d'intégration ne répondra plus (time out).Preferably, the choice of connector associated with an application server is done by setting up the MCMA 7 server. This setting indicates information such as the outgoing connector used and the data necessary for it to establish a connection to the server. 'integration. For example, an outgoing IP connector will have IP connection parameters such as the IP address and port of the integration server and the time after which it considers that the integration server will no longer respond (time out).
Exemple de définition de ces paramètres dans un fichier au format INI de Microsoft Windows (cas ou le serveur MCMA 7 serais écris par exemple en Visual Basic) :Example of definition of these parameters in a file in INI format of Microsoft Windows (case where the MCMA 7 server would be written for example in Visual Basic):
[TCPIPJDUT] Host26=192.5.60.183 Port26=6868 TimeOut26=5[TCPIPJDUT] Host26 = 192.5.60.183 Port26 = 6868 TimeOut26 = 5
Les chaines de conversion logicielles selon l'invention permettent de réduire les coûts d'intégration et d'exploitation du serveur MCMA 7 avec les serveurs clients et les serveurs d'applications en :The software conversion chains according to the invention make it possible to reduce the costs of integration and operation of the MCMA 7 server with the client servers and the application servers by:
- structurant les modalités d'intégration d'un serveur client quelconque avec le serveur MCMA 7 (XML représentant une action formant appel de service fournis par le serveur MCMA 7, branchement client, connecteur entrant) ;- structuring the terms of integration of any client server with the MCMA 7 server (XML representing an action forming a service call provided by the MCMA 7 server, client connection, incoming connector);
- structurant les modalités d'intégration du serveur MCMA 7 avec un serveur d'application quelconque (XML représentant une action formant appel de service attendu par le serveur MCMA 7, connecteur sortant, branchement serveur d'intégration, serveur d'intégration) ;- structuring the methods of integration of the MCMA 7 server with any application server (XML representing an action forming a service call awaited by the MCMA 7 server, outgoing connector, connection to the integration server, integration server);
- mutualisant les couches de communications coté serveur MCMA 7 (réutilisation des connecteurs entrant pour tous les serveurs clients, réutilisation des connecteurs sortant pour tous les serveurs d'applications) ;- pooling the communications layers on the MCMA 7 server side (reuse of incoming connectors for all client servers, reuse of outbound connectors for all application servers);
- préparant les travaux d'adaptation des serveurs clients (les branchements clients sont déjà fournis par l'équipe de développement du serveur MCMA 7, ils sont testés pour le langage utilisé par le serveur client le protocole et le connecteur entrant choisi) ;- preparing adaptation work for client servers (client connections are already provided by the MCMA 7 server development team, they are tested for the language used by the client server, the protocol and the incoming connector chosen);
- préparant le développement du serveur d'intégration (le branchement serveur d'intégration fournis la souche de départ du serveur d'intégration.- preparing the development of the integration server (the integration server connection provides the starting strain for the integration server.
En pratique, il est préférable que les branchements client 22 et les branchements serveur d'intégration d'application 26 soit développés par la même équipe informatique que celle chargée du développement des connecteurs du serveur MCMA 7. Si en fonction du langage avec lequel est écris le serveur client ou le serveur d'intégration, le branchement client n'existe pas, c'est cette équipe qui est la mieux placée pour réalisée ce nouveau moduleIn practice, it is preferable that the client connections 22 and the application integration server connections 26 be developed by the same IT team as that responsible for developing the connectors of the MCMA server 7. If according to the language with which it is written the client server or the integration server, the client connection does not exist, it is this team that is best placed to carry out this new module
(enrichissement du « kit d'intégration » du connecteur correspondant et donc enrichissement du serveur MCMA 7). Pour les mêmes raisons, si en fonction du protocole choisi le connecteur entrant ou sortant n'existe pas, c'est l'équipe chargée du développement du serveur MCMA 7 qui doit développer le connecteur manquant ainsi que le premier branchement correspondant pour le tester (enrichissement du kit d'intégration du serveur MCMA 7).(enrichment of the "integration kit" of the corresponding connector and therefore enrichment of the MCMA 7 server). For the same reasons, if the incoming or outgoing connector does not exist depending on the protocol chosen, the team responsible for developing the MCMA 7 server must develop the missing connector as well than the first corresponding connection to test it (enrichment of the MCMA 7 server integration kit).
L' équipe informatique chargée du développement des connecteurs entrants, des connecteurs sortant, des branchements clients et des branchements serveur, mettra avantageusement en place des fonctionnalités de trace (création de fichier de log) lors des émissions/réception de messages pour faciliter l'identification du composant responsable de dysfonctionnement en cas de panne ou l'identification du composant « goulet d'étranglement » en cas de problèmes de performances.The IT team in charge of developing inbound connectors, outbound connectors, client connections and server connections, will advantageously set up trace functionalities (creation of log files) when sending / receiving messages to facilitate identification of the component responsible for malfunction in the event of a breakdown or the identification of the "bottleneck" component in the event of performance problems.
Ainsi les développements spécifiques (réalisés par une équipe de projet d'intégration) nécessaires à l'intégration d'un serveur client ou d'un serveur d'application avec le serveur MCMA 7 sont réduits au minimum :Thus the specific developments (carried out by an integration project team) necessary for the integration of a client server or an application server with the MCMA 7 server are reduced to a minimum:
- pour l'intégration d'un nouveau serveur client : développement du module d'adaptation client et développement du code « glue » entre ces deux modules et le troisième module fonctionnel ;- for the integration of a new client server: development of the client adaptation module and development of the "glue" code between these two modules and the third functional module;
pour l'intégration d'un nouveau serveur d'application : développement du module convertisseur, développement du module de branchement serveur d'application et développement du code « glue » entre ces trois modules.for the integration of a new application server: development of the converter module, development of the application server connection module and development of the "glue" code between these three modules.
Ces développements spécifiques sont également fiabilisés par la réutilisation de connecteurs et de branchements existant déjà éprouvés. Bien évidemment, les modes de réalisation illustrés n'ont été donnés qu'à titre d'exemples et ne sont absolument pas limitatifs de l'ensemble des solutions pouvant être mises en œuvre grâce à la présente invention. These specific developments are also made more reliable by the reuse of existing connectors and connections that have already been tested. Obviously, the illustrated embodiments have been given only by way of examples and are in no way limitative of all the solutions that can be implemented thanks to the present invention.

Claims

REVENDICATIONS
[1] Procédé permettant de faire communiquer à l'intérieur d'un système informatique (1) de type distribué, une pluralité de serveurs client (4) possédant chacun des moyens logiciels et matériels spécifiques avec une pluralité de serveurs d'application (5) possédant chacun des moyens logiciels et matériels spécifiques et comprenant chacun au moins une application choisie (6), les serveurs client (4) étant directement connectés à un unique serveur MCMA lequel est à son tour directement connecté à l'ensemble des serveurs d'application (5), de sorte que tout appel de service d'un serveur client à destination d'un serveur d'application donné, est d'abord adressé par ledit serveur client au serveur MCMA à charge pour ce dernier de le router au serveur d'application concerné et de faire remonter en retour d'éventuelles informations du serveur d'application vers le serveur client, caractérisé en ce que chaque appel de service entre un serveur client (4) et le serveur MCMA (7) coopère avec une première chaîne de conversion des langages et des formats et/ ou en ce que chaque appel de service entre le serveur MCMA (7) et un serveur d'application (5) coopère avec une seconde chaîne de conversion des langages et des formats, ladite seconde chaîne de conversion étant distincte de ladite première chaîne de conversion.[1] Method for communicating within a distributed type computer system (1), a plurality of client servers (4) each having specific software and hardware means with a plurality of application servers (5 ) each having specific software and hardware means and each comprising at least one chosen application (6), the client servers (4) being directly connected to a single MCMA server which is in turn directly connected to all of the servers application (5), so that any service call from a client server to a given application server is first addressed by said client server to the MCMA server, the latter being responsible for routing it to the server application concerned and to pass back any information from the application server to the client server, characterized in that each service call between a client server (4) and the MCMA server (7) cooperates with a first language and format conversion chain and/or in that each service call between the MCMA server (7) and an application server (5) cooperates with a second language and format conversion chain, said second chain conversion being distinct from said first conversion chain.
[2] Procédé selon la revendication 1, caractérisé en ce que lesdits serveurs client (4) présentent les appels de service sous la forme d'action, ces actions étant des classes en langage de programmation orientée objet qui possèdent une structure de données et une méthode apte à encapsuler l'appel à destination d'un ou plusieurs serveurs d'application cibles (5) et/ou à prévoir d'éventuels traitements assurés par le serveur MCMA (7).[2] Method according to claim 1, characterized in that said client servers (4) present the service calls in the form of actions, these actions being classes in object-oriented programming language which have a data structure and a method capable of encapsulating the call to one or more target application servers (5) and/or to provide for possible processing carried out by the MCMA server (7).
[3] Procédé selon la revendication 1, caractérisé en ce que chaque action formant appel de service est transférée entre serveurs sous la forme d'un document textuel structuré écrit en langage de balisage extensible du type XML ou analogue.[3] Method according to claim 1, characterized in that each action forming a service call is transferred between servers in the form of a structured textual document written in extensible markup language of the XML type or the like.
[4] Procédé selon la revendication 1, caractérisé en ce que l'action formant appel comprend un identifiant correspondant à l'identifiant du service cible, des attributs d'entrée représentant les paramètres de l'appel de service et d'éventuels attributs de sortie représentant le résultat du service destiné à être retourné audit serveur client[4] Method according to claim 1, characterized in that the action forming a call comprises an identifier corresponding to the identifier of the target service, input attributes representing the parameters of the service call and possible attributes of output representing the result of the service intended to be returned to said client server
[5] Procédé selon la revendication 4, caractérisé en ce que les attributs d'entrée correspondant à un service écriture du type création ou modification sont importés dans les serveurs d'application correspondants (5) au format d'un fichier XML et ce, via le serveur MCMA (7).[5] Method according to claim 4, characterized in that the input attributes corresponding to a writing service of the creation or modification type are imported into the corresponding application servers (5) in the format of an XML file, via the MCMA server (7).
[6] Procédé selon la revendication 4, caractérisée en ce que les attributs de sortie correspondant à un service lecture du type recherche ou consultation sont exportés des serveurs d'application correspondants (5) au format d'un fichier XML et ce, via le serveur MCMA (7).[6] Method according to claim 4, characterized in that the output attributes corresponding to a reading service of the search or consultation type are exported from the corresponding application servers (5) in the format of an XML file, via the MCMA server (7).
[7] Procédé selon la revendication 1, caractérisé en ce que lesdits serveurs d'application utilisent une couche logicielle d'intégration et que les serveurs client utilisent une couche logicielle d'usage déduite de ladite couche d'intégration et en ce que la structure de données de dune action formant appel de service coopère avec ladite couche d'usage.[7] Method according to claim 1, characterized in that said application servers use an integration software layer and that the client servers use a usage software layer deduced from said integration layer and in that the structure data from an action forming a service call cooperates with said usage layer.
[8] Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le système informatique (1) est du type à offrir des services financiers.[8] Method according to any one of the preceding claims, characterized in that the computer system (1) is of the type to offer financial services.
[9] Procédé selon la revendication 8, caractérisé en ce que les serveurs client (4) coopèrent avec des interfaces clientes (2) constituées notamment par des téléphones numériques, des guichets automatiques, des succursales, des bureaux de vente de succursale, des terminaux de vente en libre-service, des ordinateurs personnels pour banque à domicile, des télévisions interactives.[9] Method according to claim 8, characterized in that the client servers (4) cooperate with client interfaces (2) constituted in particular by digital telephones, automatic teller machines, branches, branch sales offices, terminals self-service sales, personal computers for home banking, interactive televisions.
[10] Procédé selon la revendication 8, caractérisé en ce que les serveurs d'application (5) appartiennent au groupe formé par des gestionnaires de bases de données clients, des centres téléphoniques financiers, des bases de données financières externes, des applications de type crédit, dépôt-épargne, titre, assurance, et finance.[10] Method according to claim 8, characterized in that the application servers (5) belong to the group formed by customer database managers, financial telephone centers, external financial databases, type applications credit, deposit-savings, title, insurance, and finance.
[11] Procédé selon la revendication 1, caractérisé en ce que les langage, format et/ ou protocole du serveur client (4) et/ ou du serveur d'application (5) appartiennent au groupe formé par les fichiers texte ou binaire « à plat », XML, sérialisation d'objet du type java, C++, Visual Basic, Perl, COBOL, PHP ou analogues et les protocoles IP, HTTP, CORBA/IIOP, JRMP, DCOM, SOAP ou analogues. [11] Method according to claim 1, characterized in that the language, format and/or protocol of the client server (4) and/or the application server (5) belong to the group formed by the text or binary files “to flat”, XML, object serialization of the Java, C++, Visual Basic, Perl, COBOL, PHP or similar types and the IP, HTTP, CORBA/IIOP, JRMP, DCOM, SOAP or similar protocols.
[12] Procédé selon la revendication 1, caractérisé en ce que chaque chaîne de conversion entrante comprend un module d'adaptation et un module de branchement client (22) intégré au serveur client (4) et un connecteur entrant (20) associé intégré au serveur MCMA (7).[12] Method according to claim 1, characterized in that each incoming conversion chain comprises an adaptation module and a client connection module (22) integrated into the client server (4) and an associated incoming connector (20) integrated into the MCMA server (7).
[13] Procédé selon les revendications 3 et 12, caractérisé en ce que ledit module d'adaptation client adapte les messages du format spécifique au serveur client (4) au format XML du serveur MCMA (7) et inversement, en ce que ledit module de branchement client (22) échange les messages XML avec le serveur MCMA (7) selon un seul type de protocole et en ce que ledit connecteur entrant (20) intégré au serveur MCMA (7) est apte à échanger des messages selon le protocole dudit branchement client (22) et opère la conversion des messages XML en objet de type action dans la technologie du serveur MCMA (7) et inversement.[13] Method according to claims 3 and 12, characterized in that said client adaptation module adapts the messages from the format specific to the client server (4) to the XML format of the MCMA server (7) and vice versa, in that said module client connection (22) exchanges XML messages with the MCMA server (7) according to a single type of protocol and in that said incoming connector (20) integrated into the MCMA server (7) is capable of exchanging messages according to the protocol of said client connection (22) and converts XML messages into action type objects in MCMA server technology (7) and vice versa.
[14] Procédé selon la revendication 1, caractérisé en ce que chaque chaîne de conversion sortante utilise un serveur d'intégration (28) interposé entre le serveur MCMA (7) et le serveur d'application (5) correspondant.[14] Method according to claim 1, characterized in that each outgoing conversion chain uses an integration server (28) interposed between the MCMA server (7) and the corresponding application server (5).
[15] Procédé selon la revendication 1, caractérisé en ce que chaque chaîne de conversion sortante comprend un connecteur sortant (24) intégré au serveur MCMA (7) et un branchement serveur d'intégration (26) et un module convertisseur intégrés au serveur d'intégration (28).[15] Method according to claim 1, characterized in that each outgoing conversion chain comprises an outgoing connector (24) integrated into the MCMA server (7) and an integration server connection (26) and a converter module integrated into the MCMA server. integration (28).
[16] Procédé selon les revendications 3 et 15, caractérisé en ce que ledit module convertisseur adapte les messages du format spécifique au serveur d'application (5) au format XML du serveur MCMA (7) et inversement, en ce que ledit branchement serveur d'intégration (26) échange les messages XML avec le serveur MCMA (7) selon un seul type de protocole et en ce que ledit connecteur sortant entrant (24) intégré au serveur MCMA (7) est apte à échanger des messages selon le protocole dudit branchement serveur d'intégration (26) et opère la conversion des messages XML en objet de type action dans la technologie du serveur MCMA (7) et inversement.[16] Method according to claims 3 and 15, characterized in that said converter module adapts the messages from the format specific to the application server (5) to the XML format of the MCMA server (7) and conversely, in that said integration server connection (26) exchanges XML messages with the MCMA server (7) according to a single type of protocol and in that said outgoing incoming connector (24) integrated into the MCMA server (7) is capable of exchanging messages according to the protocol of said integration server connection (26) and operates the conversion of XML messages into action type objects in the MCMA server technology (7) and vice versa.
[17] Dispositif de communication entre une pluralité de serveurs client (4) et une pluralité de serveurs d'applications (5) comprenant chacun au moins une application choisie (6), les serveurs clients (4) étant connectés à un unique serveur MCMA (7) lequel est à son tour connecté à l'ensemble des serveurs d'applications (5), de sorte que tout appel de service d'un serveur client à destination d'un serveur d'application donné, est d'abord adressé par ledit serveur client au serveur MCMA (7) à charge de ce dernier de le router au serveur d'application (5) concerné et de faire remonter en retour d'éventuelles informations du serveur d'application (5) vers le serveur client (4), caractérisé en ce qu'il comprend au moins une chaîne de conversion entrante et/ou sortante apte chacune à convertir les appels écrits en langage et format du serveur MCMA en langage et format attendus par le serveur client (4) et/ ou le serveur d'application (5) et à convertir les réponses du serveur client (4) et/ou du serveur d'application (5) écrites en langage et format du serveur client et/ou serveur d'application en réponse écrites en langage et format du serveur MCMA.[17] Communication device between a plurality of client servers (4) and a plurality of application servers (5) each comprising at least one selected application (6), the client servers (4) being connected to a single MCMA server (7) which is in turn connected to all the application servers (5), so that any service call from a client server to a given application server is first addressed by said client server to the MCMA server (7) responsible for the latter of routing it to the application server (5) concerned and of sending back possible information from the application server (5) to the client server ( 4), characterized in that it comprises at least one incoming and/or outgoing conversion chain each capable of converting calls written in the language and format of the MCMA server into the language and format expected by the client server (4) and/or the application server (5) and converting the responses from the client server (4) and/or the application server (5) written in the language and format of the client server and/or application server into responses written in the language and MCMA server format.
[18] Dispositif selon la revendication 19, caractérisé en ce que chaque chaîne de conversion entrante et/ou sortante est apte à communiquer avec un serveur client (4) et/ou un serveur d'application (5) selon un protocole de communication selon lequel chaque appel de service est présenté sous la forme d'une action qui est une classe en langage de programmation orientée objet, possédant des attributs/champs d'entrée représentant les paramètres de l'appel du service destiné à être retourné audit serveur client et une méthode apte à encapsuler l'appel à destination d'un ou plusieurs serveurs d'applications cibles et/ou à prévoir d'éventuels traitements assurés par le serveur MCMA.[18] Device according to claim 19, characterized in that each incoming and/or outgoing conversion chain is capable of communicating with a client server (4) and/or a server application (5) according to a communication protocol according to which each service call is presented in the form of an action which is a class in object-oriented programming language, having attributes/input fields representing the parameters of the call of the service intended to be returned to said client server and a method capable of encapsulating the call intended for one or more target application servers and/or of providing for possible processing carried out by the MCMA server.
[19] Dispositif selon la revendication 18, caractérisé en ce que le serveur MCMA, en réponse à une action, est apte à exécuter cette dernière en mode synchrone ou asynchrone en déroulant la méthode associée à cette action pour opérer d'éventuels traitements sur les attributs/champs d'entrée et/ou envoyer au(x) serveur(s) d'application cible(s) concerné(s) l'appel de service dans le format et protocole spécifiques attendus par ledit ou lesdits serveurs d'application via la chaîne de conversion entrante et/ ou sortante correspondante, chaque serveur d'application appelé opérant le traitement et fournissant le service attendu, dans son format spécifique, au serveur MCMA, via la chaîne de conversion sortante correspondante tandis que le serveur MCMA opérant alors d'éventuels traitements sur les données ainsi retournées par le ou les serveurs d'application et valorise les attributs de sortie de l'action qui est ensuite remontée au serveur client émetteur, via la chaîne de conversion entrante correspondante. [19] Device according to claim 18, characterized in that the MCMA server, in response to an action, is able to execute the latter in synchronous or asynchronous mode by unrolling the method associated with this action to carry out possible processing on the input attributes/fields and/or send to the relevant target application server(s) the service call in the specific format and protocol expected by said application server(s) via the corresponding incoming and/or outgoing conversion chain, each called application server carrying out the processing and providing the expected service, in its specific format, to the MCMA server, via the corresponding outgoing conversion chain while the MCMA server then operating possible processing on the data thus returned by the application server(s) and values the output attributes of the action which is then sent back to the sending client server, via the corresponding incoming conversion chain.
PCT/EP2003/051007 2002-12-17 2003-12-15 Communication method between servers with data format conversion and device therefor WO2004056071A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003298359A AU2003298359A1 (en) 2002-12-17 2003-12-15 Communication method between servers with data format conversion and device therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0216249 2002-12-17
FR0216249A FR2848759A1 (en) 2002-12-17 2002-12-17 Client and application server communicating method for e.g. financier computer system, involves converting call responses written in client or application format into format written in multi-channel multi-application server format by string

Publications (1)

Publication Number Publication Date
WO2004056071A1 true WO2004056071A1 (en) 2004-07-01

Family

ID=32338968

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/051007 WO2004056071A1 (en) 2002-12-17 2003-12-15 Communication method between servers with data format conversion and device therefor

Country Status (3)

Country Link
AU (1) AU2003298359A1 (en)
FR (1) FR2848759A1 (en)
WO (1) WO2004056071A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111628956A (en) * 2019-02-28 2020-09-04 阿里巴巴集团控股有限公司 Format conversion method, device and system for network request transmission data
CN113055636A (en) * 2021-03-29 2021-06-29 联想(北京)有限公司 Data processing method and conference system
CN114157714A (en) * 2021-12-01 2022-03-08 福建博思数字科技有限公司 Method, system and storage device for realizing financial system protocol communication based on Netty
CN115208950A (en) * 2022-07-18 2022-10-18 广东电网有限责任公司 Cross-network heterogeneous data resource configuration method, device and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020038340A1 (en) * 2000-08-14 2002-03-28 I2 Technologies Us, Inc. Network application program interface facilitating communication in a distributed network environment
US20020138582A1 (en) * 2000-09-05 2002-09-26 Mala Chandra Methods and apparatus providing electronic messages that are linked and aggregated

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020038340A1 (en) * 2000-08-14 2002-03-28 I2 Technologies Us, Inc. Network application program interface facilitating communication in a distributed network environment
US20020138582A1 (en) * 2000-09-05 2002-09-26 Mala Chandra Methods and apparatus providing electronic messages that are linked and aggregated

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111628956A (en) * 2019-02-28 2020-09-04 阿里巴巴集团控股有限公司 Format conversion method, device and system for network request transmission data
CN113055636A (en) * 2021-03-29 2021-06-29 联想(北京)有限公司 Data processing method and conference system
CN113055636B (en) * 2021-03-29 2023-03-21 联想(北京)有限公司 Data processing method and conference system
CN114157714A (en) * 2021-12-01 2022-03-08 福建博思数字科技有限公司 Method, system and storage device for realizing financial system protocol communication based on Netty
CN114157714B (en) * 2021-12-01 2024-02-13 福建博思数字科技有限公司 Method, system and storage device for realizing financial system protocol communication based on Netty
CN115208950A (en) * 2022-07-18 2022-10-18 广东电网有限责任公司 Cross-network heterogeneous data resource configuration method, device and system

Also Published As

Publication number Publication date
AU2003298359A1 (en) 2004-07-09
FR2848759A1 (en) 2004-06-18

Similar Documents

Publication Publication Date Title
EP1076972A1 (en) System for accessing an object using a &#34;web&#34; browser co-operating with a smart card
WO2007085589A2 (en) Service creation method, computer program product and computer system for implementing said method
FR2648932A1 (en) TRANSMISSION PROCESSING, INFORMATION AND DATA PROCESSING SYSTEM
EP1169839A1 (en) Method for registering a user on an internet-type network directory server and/or for locating a user on said network, and smart card therefor
KR20000075844A (en) Kiosk and server connected to computer network
FR2711026A1 (en) System for managing the consumption of data consultations over a telecommunications network.
FR2844370A1 (en) Electronic document for describing a communication network server service, comprises transformation to first part describing messages and second part containing information on formats and protocols
EP1074007A1 (en) On-board system comprising network interface means and method for activating applications located in said on-board system
EP1376410A1 (en) Method of managing context information by an intermediary server
WO2006037865A1 (en) Method and system for distributed dns resolution
WO2001024475A2 (en) Method and architecture for remote monitoring of a user station via an internet-type network
WO1999003243A1 (en) System and method for managing transactions between service suppliers and customers on a communication network
WO2004056071A1 (en) Communication method between servers with data format conversion and device therefor
EP1187393A2 (en) Payment process and system for transmission and/or service operations within a packet transmission network
WO2004057825A2 (en) Method for communication between servers with data format conversion and device therefor
WO2004039039A1 (en) Method for communication between servers and device therefor
EP1402487A1 (en) Method and device for processing data for customizing an application of a portable communication device, for example a smart card
WO2020254761A1 (en) Service application system for payment terminals
WO2007085757A2 (en) Service creation method, computer program product and computer system for implementing said method
EP1370045B1 (en) Data access system to data on an active network
FR2779593A1 (en) Multimedia system for multiple users sharing access to common resources
EP1381203A1 (en) Method and system for managing provision of data managed by an external network to a terminal and associated intermediate equipment
FR2844414A1 (en) Method for proposing server service and allowing customer to analyze service description document, comprises emission by server of service description document which includes protocol information
WO2010149896A1 (en) Method and device for integrating heterogeneous applications
FR2927711A1 (en) DEVICE FOR EXCHANGING DOCUMENTS BETWEEN TWO PARTS THROUGH A NETWORK

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established
32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 69(1) EPC DATED 230905, FORM 1205A

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP