WO2004039039A1 - Method for communication between servers and device therefor - Google Patents

Method for communication between servers and device therefor Download PDF

Info

Publication number
WO2004039039A1
WO2004039039A1 PCT/EP2003/050726 EP0350726W WO2004039039A1 WO 2004039039 A1 WO2004039039 A1 WO 2004039039A1 EP 0350726 W EP0350726 W EP 0350726W WO 2004039039 A1 WO2004039039 A1 WO 2004039039A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
servers
client
application
mcma
Prior art date
Application number
PCT/EP2003/050726
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 AU2003288272A priority Critical patent/AU2003288272A1/en
Publication of WO2004039039A1 publication Critical patent/WO2004039039A1/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/465Distributed object oriented systems
    • 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
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/563Data redirection of data network streams
    • 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/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 And Data Communications (AREA)

Abstract

The invention concerns a method and a device for communicating within a distributed computer system (1) a plurality of front office servers (4) including each specific software and hardware means with a plurality of back office servers (5) including each specific software and hardware means and comprising each at least one selected application (6), the front office servers (4) being directly connected to a single multi-channel multi-application (MCMA) server (7) which itself is directly connected to the plurality of back office servers (5). The invention is characterized in that said front office servers (4) present the service calls in the form of an action, said actions being object-oriented programming language classes having a data structure and a method adapted to encapsulate the call addressed to one or more target back office servers (5) and/or to ensure possible processing provided by the MCMA server (7).

Description

PROCEDE DE COMMUNICATION ENTRE SERNEURS ET DISPOSITIF POUR SA MISE EN OEUNRECOMMUNICATION METHOD BETWEEN SERNORS AND DEVICE FOR IMPLEMENTING SAME
La présente invention se rapporte à un procédé de communication entre serveurs ainsi qu'à un dispositif pour sa mise en oeuvre.The present invention relates to a method of communication between servers and to a device for its implementation.
Dans les systèmes informatiques dits distribués, tels que notamment les 5 systèmes informatiques financiers utilisés par les banques ou encore par les compagnies d'assurance, il 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 10 appropriés (software).In the so-called distributed computer systems, such as in particular the 5 financial computer systems used by the banks or even by the insurance companies, 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).
1515
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 à dispositionApplication 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
20 d'une information particulière comme un numéro de compte, que le calcul d'un solde ou encore un virement.20 of particular information such as an account number, such as the calculation of a balance or even a transfer.
Le système informatique d'une banque comporte généralement un serveur d'application bancaire (exemple : moteur financier commercialisé par laThe computer system of a bank generally includes a banking application server (example: financial engine marketed by the
25 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.25 SAB company) which processes all operations linked to the management of deposit accounts, a credit server which manages the loans granted by the bank to its customers, a stock market server for securities management (stock market engine Investiciel marketed by the company SEMA), an insurance server, etc.
30 Les serveurs client 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.30 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 client 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 fitted to bank counters, an ATM / ATM server associated with automated teller machines / distributors, a voice server which allows users to access 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.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.
Historiquement, chacun des serveurs client était directement connecté, au fur et à mesure de sa création, à chacun des serveurs d'application qui le concerne par des liaisons dédiées de type point-à-point.Historically, each of the client servers was directly connected, as it was created, to each of the application servers which concerned it by dedicated point-to-point links.
La multiplication des serveurs d'application et des serveurs client liés à l'apparition de nouveau canaux comme l'Internet, la téléphonie mobile, mais également au développement de nouvelles prestations financières comme l'assurance, rend une telle architecture point à point extrêmement difficile à développer, à gérer, maintenir et sécuriser.The proliferation of application servers and client servers linked to the appearance of new channels such as the Internet and mobile telephony, but also to the development of new financial services such as insurance, makes such a point-to-point architecture extremely difficult to develop, manage, maintain and secure.
Ainsi, la mise en place d'un serveur Web suppose l'écriture complète par les équipes informatiques ayant la charge de développer le système informatique, de l'interface et des travaux d'intégration avec chacun des serveurs d'application auxquels il est connecté et ce, sans pouvoir réutiliser les développements déjà réalisés par exemple pour le serveur Minitel.Thus, setting up a Web server requires complete writing by the IT teams responsible for developing the computer system, the interface and integration work with each of the application servers to which it is connected. and this, without being able to reuse the developments already carried out, for example for the Minitel server.
Depuis quelques années, l'architecture point à point tend à être remplacé par une architecture de type « hub ». La connexion entre les serveurs client et les serveurs d'application se trouve être alors 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'application.In recent years, point-to-point architecture has tended to be replaced by a “hub” type architecture. The connection between the client servers and the application servers is then performed by means of a particular server called MCMA server for multi-channel and multi-application server (also called middleware in English terminology) 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 client et d'unique serveur client pour les serveurs d'application.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'application, 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. Le document WO-A-98/24040 décrit un tel serveur.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. 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é entre les serveurs client et les serveurs d'application via le serveur MCMA n'est pas totalement satisfaisant dans la mesure où il est de mise en oeuvre relativement complexe, notamment en ce qui concerne:However, the communication method proposed between the client servers and the application servers via the MCMA server is not entirely satisfactory insofar as it is relatively complex to implement, in particular as regards:
- la mise en commun de fonctionnalités mises en œuvre par le serveur MCMA pour le compte des serveurs client.- the pooling of functionalities implemented by the MCMA server on behalf of the client servers.
- l'intégration d'un serveur client ayant des contraintes technologiques spécifiques ; - les modifications régulières dans les serveurs d'application- integration of a client server with specific technological constraints; - regular changes in application servers
(évolutions, remplacement, dédoublement, etc.) ;(upgrades, replacement, duplication, etc.);
Par ailleurs le système proposé dans l'art antérieur ne traite pas de l'import export de données vers ou provenant des serveurs d'application, dans le cadre d'un projet de migration de données issues d'autres systèmes informatiques par exemple.Furthermore, the system proposed in the prior art does not deal with the import and export of data to or from application servers, within the framework of a project for migrating data from other computer systems for example.
Traditionnellement, lorsque qu'une migration de données entre deux systèmes informatiques doit se faire (par exemple la migration des clients d'une banque rachetée dans le système informatique de la banque acheteuse). Le procédé de migration consiste à extraire du système informatique source les données sous forme de fichier puis à insérer ses données directement dans les bases de données des différents serveurs d'applications hébergeant des données clients (portefeuille boursier des clients, soldes de comptes etc.). Les programmes d'extraction sont faits de façon spécifique en fonction des possibilités offertes par le système source, ils produisent généralement des fichiers d'extraction textes « à plat » image des tables des bases de données du système de la banque achetée.Traditionally, when a data migration between two computer systems must be done (for example the migration of customers of a bank bought in the computer system of the buying bank). The migration process consists in extracting the data in the form of a file from the source computer system and then inserting its data directly into the databases of the various application servers hosting client data (clients' stock portfolios, account balances, etc.) . The extraction programs are made in a specific way according to the possibilities offered by the source system, they generally produce "flat" text extraction files image of the tables of the databases of the system of the purchased bank.
Les programmes d'extraction sont également faits de façon spécifique pour répartir les données des fichiers d'extraction dans les tables correspondantes des différents serveurs d'applications hébergeant des données clients (portefeuille boursier des clients, soldes de comptes etc.).The extraction programs are also made specifically to distribute the data in the extraction files in the corresponding tables of the various application servers hosting client data (clients' stock portfolios, account balances, etc.).
Ces travaux de migration se font souvent également dans le cadre de la centralisation au niveau national, des systèmes informatiques (souvent différents) de chaque filiale régionale ou lors de la mise en place de flux de données périodiques avec le système informatique d'une société partenaire (B2B, ex: rachat du fichier client d'une société de vente par correspondance). A chaque migration, les programmes de création des fichiers d'extraction sont à faire, mais la diversité des données à migrer oblige le plus souvent à réécrire les programmes d'insertion des données.This migration work is often also done within the framework of centralization at national level, of the IT systems (often different) of each regional subsidiary or during the implementation of periodic data flows with the IT system of a partner company. (B2B, ex: redemption of the customer file of a mail order company). At each migration, the programs for creating the extraction files must be done, but the diversity of the data to be migrated most often requires rewriting the programs for inserting the data.
La présente invention vise donc à remédier à tous ces inconvénients.The present invention therefore aims to remedy all these drawbacks.
Elle porte sur un procédé de communication entre serveurs et sur le système de mise en œuvre correspondant.It concerns a communication process between servers and the corresponding implementation system.
La présente invention concerne un procédé permettant de faire communiquer une pluralité de serveurs client possédant chacun des moyens logiciels et matériels spécifiques avec une pluralité de serveurs d'application possédant chacun des moyens logiciels et matériels spécifiques et comprenant chacun au moins une application choisie. Selon ce procédé, les serveurs client sont directement connectés à un unique serveur MCMA lequel est à son tour directement connecté à l'ensemble des serveurs d'application, 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.The present invention relates to a method for communicating a plurality of client servers each having specific software and hardware means with a plurality of application servers each having specific software and hardware means and each comprising at least one chosen application. According to this method, the client servers are directly connected to a single MCMA server which in turn is directly connected to all of the application servers, so that any service call from a client server to a server application application, is first sent by said client server to the MCMA server, responsible for routing the latter to the application server concerned and for sending back any information from the application server to the client server .
Selon une définition générale de l'invention, le procédé de communication consiste à présenter chaque appel de service 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 de service et d'éventuels attributs/champs de sortie représentant le résultat du service destiné à être retourné au dit 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.According to a general definition of the invention, the communication method consists in presenting each service call 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 and any 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 target application servers and / or to provide for any processing provided by the MCMA server.
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) concemé(s) l'appel de service dans le format et protocole spécifique attendu par ledit ou lesdits serveurs d'application.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 the server (s) ) of target application (s) concerned with the service call in the specific format and protocol expected by said application server (s).
Chaque serveur d'application appelé opère son traitement et fournit le service attendu, dans son format spécifique, au serveur MCMA, lequel 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. 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.Each application server called performs its processing and provides the expected service, in its specific format, to the MCMA server, which 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. Several application servers can be called upon during the execution of the same action. In this case, the different application servers 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 simple et facile où l'on souhaite :The use of action to communicate between the client servers and the MCMA server has the advantage, in an object-oriented programming context, of being 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 œuvre 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 ou encore leur tarification; - uniformiser le procédé de communication avec les serveurs clients ;- 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: user identification, authorization control, audit of service calls or their pricing; - standardize the communication process with client servers;
- les modifications régulières dans les serveurs d'applications (remplacement, dédoublement, évolutions).- regular modifications in the application servers (replacement, duplication, upgrades).
Selon un mode de réalisation particulier de l'invention, chaque action est transférable du serveur client vers le serveur MCMA ou du serveur MCMA vers le serveur client sous la forme de fichiers texte écrits en langage de balisage extensible du type XML ou analogue.According to a particular embodiment of the invention, each action is transferable from the client server to the MCMA server or from the MCMA server to the client server in the form of text files written in extensible markup language of the XML type or the like.
D'autres caractéristiques et avantages de l'invention 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 will become apparent 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 œuvre le procédé de communication entre serveurs client et serveurs d'application 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 ; et - 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; and FIG. 3 is a diagram specifying the structure of the MCMA server implemented in the computer system of FIG. 1.
En référence à la figure 1 , le système informatique décrit est un système informatique d'une institution financière telle qu'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.Referring to Figure 1, the computer system described is a computer system of a financial institution such as 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 appartiennent au groupe formé par 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, customer interfaces 2 belong to the group formed by fixed digital phones 2a or mobile 2b, ATMs (not shown), branches receiving mail 2c or faxes 2d, branch sales offices (not shown) ), DAB self-service ATMs (not shown), personal computers for home banking using an Internet type 2f or minitel 2g 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 in a specific manner according to the possibilities techniques of each interface 2 and of each network 3. Each interface and its associated network are also called channel.
Le système informatique 1 comprend en outre une pluralité de serveurs d'application 5 comprenant chacun au moins une application choisie 6, individualisée en 6a à 6e. Par exemple, les serveurs sont du type serveur bancaire 5a, serveur boursier 5b, assurance 5c, crédit 5d, ou autre 5e.The computer system 1 further comprises a plurality of application servers 5 each comprising at least one chosen application 6, individualized in 6a to 6e. For example, the servers are of the banking server 5a, stock exchange server 5b, insurance 5c, credit 5d, or other 5th type.
Par ailleurs, un serveur 7 est intercalé entre les serveurs client 4 et les serveurs d'application 5. Ce serveur de type MCMA (multi-canal et multi- application) est directement commun à l'ensemble des serveurs client 4 et est apte à leur fournir l'ensemble des services disponibles 6 sur les serveurs d'application 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 MCMA type server (multi-channel and multi-channel application) is directly common to all of the client servers 4 and is able to provide them with all of the services 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 client vers les serveurs d'application 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 d'application, 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 is used to operate various processing operations, such as for example the identification / authentication of the end user and / or the application 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 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 adapts the call sent by its corresponding channel, such as for example the WAP client server from a message sent by a mobile phone, in a predetermined form and the sending to the MCMA server 7 according to an expected format and protocol. by the MCMA 7 server.
Le serveur MCMA propose plusieurs formats et protocoles afin de s'adapter aux contraintes technologiques d'un serveur client 4 et d'un canal 3 quelconque. Les formats proposés par le serveur MCMA 7 peuvent être fichier texte ou binaire « à plat », fichier XML, sérialisation d'objet (java, C++, Visual Basic, etc.). Les protocoles proposés par le serveur MCMA 7 peuvent être IP, HTTP, CORBA/IIOP, JRMP, DCOM, COM, COM+, etc.The MCMA server offers several formats and protocols in order to adapt to the technological constraints of a client server 4 and any channel 3. The formats offered by the MCMA 7 server can be “flat” text or binary file, XML file, object serialization (java, C ++, Visual Basic, etc.). The protocols offered by the MCMA 7 server can be IP, HTTP, CORBA / IIOP, JRMP, DCOM, COM, COM +, etc.
Selon l'invention, 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. 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.According to the invention, the method of communication 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. 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 able to encapsulate the call to one or more target application servers and / or to provide possible processing provided by the MCMA server.
Ainsi, selon l'invention, à 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.Thus, according to the invention, to each service corresponds an action which encapsulates the call intended for the target application server or servers via the MCMA server 7 or even processing operations implemented directly by the MCMA server.
Le serveur d'application 5 logeant le service cible 6 reçoit l'appel du service cible, émis par le serveur MCMA, 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 toujours selon ses formats et protocoles spécifiques du serveur d'application 5.The application server 5 housing the target service 6 receives the call from the target service, sent by the MCMA server, according to the specific formats and protocols of the application server 5 and returns the response (service result or error) to the server MCMA always according to its specific formats and protocols of the application server 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- step (i), instantiation
Il 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 ; - é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 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) ;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 service "current account balance N" following a request from 'call (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; - 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 server according to the protocol and format of its choice among 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 (iii), 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 (iii), 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) ;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 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 les format et 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 server's specific communication format and protocol of application;
- é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 7 server restores the results data supplied by the application server to the method associated with the action. It therefore values the action result attributes, as a function of 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 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 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 : la couche usage 10 et la couche intégration 12.Preferably, the software architecture of the MCMA server 7 is in particular made up of two distinct software layers: the usage layer 10 and the integration layer 12.
Selon une définition de l'invention, 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'usage 10 qui est utilisée comme interface pour accéder à la couche d'intégration 12 depuis les serveurs client 4.According to a definition of the invention, the usage layer 10 is an intermediate layer which supplements, simplifies and facilitates the use of the services provided by the application servers 5. It is the usage layer 10 which is used as an interface to access the integration layer 12 from the client servers 4.
La couche d'usage 10 est constituée notamment de l'ensemble des actions disponibles depuis le serveur MCMA (voir description ci-avant) et de classes de type « objet d'usage ».The usage layer 10 consists in particular of all of the actions available from the MCMA server (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 application servers 5. This view is a representation common to all equivalent data structures in the relevant application servers. 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 in profit for a client, by polymorphism (concept of object-oriented programming): a deposit account, a savings account and an account titles, 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 quel que soit le serveur d'application concerné. 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.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 server whatever the application server concerned. 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 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.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.
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).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 qui ne sont pas disponibles dans les serveurs d'applications). 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.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 which are not available in the application servers). 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 modules, un module de routage 13 et un module d'intégration 14 pour chaque serveur d'application 5.The integration layer 12 is subdivided into modules, a routing module 13 and an integration module 14 for each application server 5.
Le module 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 module d'intégrations 14 à qui déléguer la communication. Pour chaque module d'intégration 14 concerné, le module de routage 13 fourni l'objet d'usage et le service à appeler dans le serveur d'application.The routing module 13 is the entry point for the actions of the usage layer 10. It is responsible for determining according to the data represented by a usage object (eg type of account, account number, n ° of the client) the application server (s) concerned and therefore the integration module (s) 14 to which to delegate the communication. For each integration module 14 concerned, the routing module 13 provides the usage object and the service to be called in the application server.
Chaque module d'intégration 14 est chargé de la communication avec un moteur d'application spécifique selon les formats et protocoles attendus par ce serveur d'application. Il est également capable de convertir des structures de données spécifiques provenant du serveur d'application en objet d'usage et inversement.Each integration module 14 is responsible for communication with a specific application engine according to the formats and protocols expected by this application server. It is also capable of converting specific data structures from the application server into an object of use and vice versa.
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 RelationThe action "list of balances of all accounts of a customer" will first search, via a service called "CRM" (acronym of 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 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 module de routage 13 va, en fonction du numéro de compte et du type de compte, déterminer le module d'intégration 14 concerné et lui demander de faire l'appel du service cible adéquat en lui fournissant l'objet d'usage vide. Le module 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 module du routage 13 qui le lui retournera à l'action demanderesse.Management, i.e. Customer Relationship Management) of the additional service layer 11, the list of account numbers held in the in the database 15. Then for each account number, will ask the integration layer 12 for the corresponding balance by providing it with a usage object "UsageSolde" with unspecified balances. The routing module 13 will, depending on the account number and the type of account, determine the integration module 14 concerned and ask it to make the call to the appropriate target service by providing it with the empty usage object. The integration module 14 will call the target service via the formats and protocols expected by the application server concerned, fill the object of use with the results provided by the application server and return the object of use thus informed to the routing module 13 which will return it to the requesting 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 beginning 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.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.
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.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. 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.Such a markup language makes it possible to provide data formats without being restricted to a technical platform, be it hardware or software. 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.
Le résultat de ses actions, également écrit en XML sera également facile à interpréter depuis un simple éditeur de texte.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 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 server in the form of a text file. 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écessiterons 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. 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.Thus, data migrations to a computer system using an action communication and XML method 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 server. 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 make it possible to complete the flow of data 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 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 server in the form of a text file written in language. extensible markup of XML or similar type.
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édiaire 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.Conversely, 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 MCMA 7 intermediate server. 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.
Pour illustrer cet aspect de l'invention, considérons l'exemple suivant d'action écrite en langage XML.To illustrate this aspect of the invention, consider the following example of an action written in XML.
Message décrivant l'appel de l'action : <MessageXML version="V5R2" sens="appel"> <ListeActions type- 'array">Message describing the call to the action: <MessageXML version = "V5R2" sense = "call"> <ListActions type- 'array ">
<Actioπ_ListeSoldesTousComptes array="ListeActions"> <numeroClient>5010328</numeroClient> <codeConfidentielCrypte>sY03u</codeConfidentielCrypte> <lireDetailContrat>FALSE</lireDetailContrat> </Action_ListeSoldesTousComptes> </ListeActiαns> </MessageXML><Actioπ_ListeSoldesTousComptes array = "ListeActions"> <numeroClient> 5010328 </numeroClient> <codeConfidentielCrypte> sY03u </codeConfidentielCrypte> <lireDetailContrat> FALSE </lireDetailContrat> </Action_List>Atist>
Ce message XML d'appel contient une seule action, il pourrait cependant en contenir plusieurs en une seule fois (utile dans le cas de migration par exemple). L'action appelée est « Action JsteSoldesTousComptes » pour le client numéro « 5010328 » qui s'est identifié (présence du code confidentiel crypté). La fonction d'identification n'est pas fournie par l'action « ActionJJsteSoldesTousComptes », mais par l'action « ActionJdentificationClient » dont elle hérite.This XML call message contains a single action, it could however contain several at the same time (useful in the case of migration for example). The action called is "Action JsteSoldesTousComptes" for the client number "5010328" who has identified himself (presence of the encrypted confidential code). The identification function is not provided by the action "ActionJJsteSoldesTousComptes", but by the action "ActionJdentificationClient" from which it inherits.
L'action possède également une option « lire détail du contrat correspondant aux compte demandés » qui n'est pas ici demandée.The action also has an option "read details of the contract corresponding to the requested accounts" which is not requested here.
Message décrivant le résultat de l'action : <MessageXML version="V5R2" sens="resultat"> <UsteActions type="array"> <Action_ListeSoldesTousComptes array="ListeActions"> <numeroCIient>5010328</numeroClient> <C0deConfidentielCrypte>sYO3u</codeConfidentielCrypte> <designationClient>M Jean-Paul Carmona</designationClient> <lireDetailContrat>FALSE</lireDetailContrat>Message describing the result of the action: <MessageXML version = "V5R2" sense = "result"><UsteActions type = "array"> <Action_ListeSoldesTousComptes array = "ListeActions"><numeroCIient> 5010328 </numeroClient><C0deConfidentielCrypte> sYO3u </codeConfidentielCrypte><designationClient> M Jean-Paul Carmona </designationClient><lireDetailContrat>
<baπqueKO></banqueKO> <titresKO></titresKO><baπqueKO> </banqueKO> <titresKO> </titresKO>
<cumulValorisatioπ>0.00</cumulValorisation> <deviseCumulValorisation>2</deviseCumulValorisation> <listeSoldes type="array"><cumulValorisatioπ> 0.00 </cumulValorisation> <deviseCumulValorisation> 2 </deviseCumulValorisation> <listSales type = "array">
<UsageSolde array="listeSoldes"> <cleRIBCompte/> <codeAnπonce>0<tcodeAπnoπce> <codeGuichet/> <codeTypeCompte>2</codeTypeCompte><UsageSolde array = "listeSoldes"> <keyRIBCount /> <codeAnπonce> 0 <tcodeAπnoπce> <codeGuichet /> <codeTypeCompte> 2 </codeTypeCompte>
<numeroCompte>01501032801</numeroCompte> <numeroContratCompte>01501032801 </numeroContratCompte> <messageAnomalie/> <cessioπs>0.00</cessions> <curπulValue>0.00</cumulValue><numeroCompte> 01501032801 </numeroCompte> <numeroContratCompte> 01501032801 </numeroContratCompte> <messageAnomalie /> <cessioπs> 0.00 </cessions> <curπulValue> 0.00 </cumulValue>
<soldeComptable>0.00</soldeComptable> <soldeComptableOrigine>0.00</soldeComptableOrigine> <soldeEspece>0.00</soldeEspece> <soldeValeur>0.00</soldeValeur> <dateSoldeDepot>19-Aug-2002 13:00:00</dateSoldeDepot><soldeComptable> 0.00 </soldeComptable> <soldeComptableOrigine> 0.00 </soldeComptableOrigine> <soldeEspece> 0.00 </soldeEspece> <soldeValeur> 0.00 </soldeValeur> <dateSoldeDepot> 19-Aug-2002 13:00:00 </dateSale
<deviseSoldeDepot>2</deviseSoldeDepot> <deviseSoldeDepotOrigine>0</deviseSoldeDepotOrigine> <devisβSoldeTitres>0</deviseSoldeTitres> <portefeuillelnvesti>0,00</portefeuillelnvesti> <reveπus>0.00</reveπus><deviseSoldeDepot> 2 </deviseSoldeDepot> <deviseSoldeDepotOrigine> 0 </deviseSoldeDepotOrigine> <quoteβSoldeTitres> 0 </deviseSoldeTitres> <portefeuillelnvesti> 0.00 </portefeuillelnvesti> <reπ
<soldeFinMois_moins1>0.00</soldeFinMois_moins1> <soldeFin ois_moins2>0.00</soldeFinMois_moins2> <soldeFinMois_moins3>0.00</soldeFinMois_moins3> <soldeValeurFinMois_moiπs1 >0.00</soldeValeurFiπMois_moins1 > <soldeValeurFinlv1ois_moins2>0.00</soldeValeurFin ois_moiπs2><soldeEndMonth_less1> 0.00 </soldeEndMonth_less1> <balanceEnd_Is_Less2> 0.00 </soldeEndMonth_Less2> <soldeEndMonth_Less3> 0.00 </soldeEndMonth_Less3> <balanceValeurFinMois_moiπs1> 0.00 <Mount_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Main_Mount_Main_Mount_Main_Main_Mount_Main_Mount_Main_window
<soldeValeurFinrv1ois moins3>0.00</soldeValeurFinMois moins3> <valorisatioπGIobale>0.00</valorisatioπGlobale> <valorisationTitres>0.00</valorisatioπTitres> <valorisatioπTitresBloques>0.00</valorisatioπTitresBloques> <valueLatβnte>0.00</valueLatente> <valuβRealise>0.00</valueRealise><balanceValueValue1months3> 0.00 </ balanceValueValueMonths3> <valorisatioπGIobale> 0.00 </ valorisatioπGlobale><valorisationTitres> 0.00 </ valorisatioπTitres><valorisatioπTitresBloques> 0.00 </ valorisatioπTitresBloques><valueLatβnte> 0.00 </valueLatente><valuβRealise> 0.00 </valueRealise
<valueRealiseRM>0.00</valueRealiseRlv1> <liquidite type="array"/> </UsageSolde> </listeSoldes> </Action_ListeSoldesTousComptes> </ListeActions> </MessageX L><valueRealiseRM> 0.00 </valueRealiseRlv1> <liquidite type = "array" /> </UsageSolde> </listeSoldes> </Action_ListeSoldesTousComptes> </ListeActions> </ MessageX L>
Ci-dessus le message XML de réponse contient l'action demandée précédemment avec les attributs résultats renseigné. Ici l'attribut de sortie ne donne pour résultat qu'un seul objet d'usage « UsageSolde » (car le client concerné ne possède qu'un seul compte).Above the response XML message contains the previously requested action with the results attributes entered. Here the output attribute results in only one usage object "UsageSolde" (because the client concerned has only one account).
Les attributs dans l'objet « UsageSolde » représentent des soldes concernant des comptes de dépôt (solde comptable, valeur, etc.) ou titres (portefeuille Investi, plus value latente, etc.) sont tous vides car le compte ne possède pas d'argent. Des informations concernant le compte concerné sont fournies (type, numéro).The attributes in the "UsageSolde" object represent balances concerning deposit accounts (accounting balance, value, etc.) or securities (Invested portfolio, unrealized gain, etc.) are all empty because the account does not have any money. Information about the relevant account is provided (type, number).
Les attributs résultat utilisés dans le cadre du mode dégradé (balises « banqueKO », « titresKO ») sont vides, indiquant que les serveurs d'applications concernés (potentiellement de type banque ou titres) sont opérationnels (sinon, un message d'erreur aurais été renseigné ici, l'action pouvant dans ce cas, en fonction du type de compte, effectuer la recherche de solde dans une base de données de secours via la couche de service supplémentaires 11 du serveur MCMA). Une balise « messageAnomalie » est également présente au niveau de l'objet « UsageSolde » pour décrire le cas échant le problème spécifique à un compte.The result attributes used in the context of the degraded mode (“bankKO”, “titlesKO” tags) are empty, indicating that the application servers concerned (potentially of bank or title type) are operational (otherwise, an error message would have has been entered here, the action being able in this case, depending on the type of account, to carry out the balance search in a backup database via the additional service layer 11 of the MCMA server). A “messageAnomaly” tag is also present at the “UsageSolde” object to describe the case of the specific problem with an account.
L'attribut de sortie « cumulValorisation » représente le cumul des soldes (comptables pour les comptes de dépôt ou d'épargne et valorisation titres pour les comptes titres) de tous les comptes du client. C'est une fonctionnalité supplémentaires fournie par l'action car chaque serveur d'application ne connaît pas les positions des comptes gérés par les autres serveurs.The output attribute "cumulValorisation" represents the cumulative balances (accounting for deposit or savings accounts and securities valuation for securities accounts) of all the client's accounts. This is an additional functionality provided by the action because each application server does not know the positions of the accounts managed by the other servers.
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. 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'applications (5) possédant chacun des moyens logiciels et matériels spécifiques et comprenant chacun au moins une application choisie (6), les serveurs clients (4) étant directement connectés à un unique serveur MCMA (7) lequel est à son tour directement 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 que lesdits serveurs clients (4) présentent les appels de service sous la forme d'actions, 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'applications cibles (5) et/ou à prévoir d'éventuels traitements assurés par le serveur MCMA (7).1. Method for communicating inside a computer system (1) of the distributed type, 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 selected application (6), the client servers (4) being directly connected to a single MCMA server (7) which in turn is directly connected to all of the servers applications (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) at the latter's expense to route it to the application server (5) concerned and to send back any information from the application server (5) to the client server (4), 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 any processing provided by the MCMA server (7).
2. Procédé selon la revendication 1, caractérisé en ce que lesdits serveurs d'applications (5) utilisent une couche logicielle d'intégration et que les serveurs clients (4) utilisent une couche logicielle d'usage (10) déduite de ladite couche d'intégration (12) et en ce que la structure de données d'une action formant appel de service coopère avec ladite couche d'usage (10). 2. Method according to claim 1, characterized in that said application servers (5) use an integration software layer and that the client servers (4) use a usage software layer (10) deduced from said layer integration (12) and in that the data structure of an action forming a service call cooperates with said usage layer (10).
3. Procédé selon la revendication 1 ou la revendication 2, caractérisé en ce que l'action formant appel comprend un identifiant correspondant à l'identifiant du service d'application cible (5), 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).3. Method according to claim 1 or claim 2, characterized in that the action forming call comprises an identifier corresponding to the identifier of the target application service (5), input attributes representing the parameters of the service call and possible output attributes representing the result of the service intended to be returned to said client server (4).
4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque action formant appel de service est transférée entre serveurs (4 et 5) sous la forme d'un document textuel structuré écrit en langage de balisage extensible du type XML ou analogue.4. Method according to any one of the preceding claims, characterized in that each action forming a service call is transferred between servers (4 and 5) in the form of a structured text document written in extensible markup language of the XML type or similar.
5. Procédé selon la revendication 3 et 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'applications correspondants (5) au format d'un fichier XML et ce, via le serveur MCMA (7).5. Method according to claim 3 and 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 and this, via the MCMA server (7).
6. Procédé selon la revendication 3 et la revendication 4, caractérisé en ce que les attributs de sortie correspondant à un service lecture du type recherche ou consultation sont exportés des serveurs d'applications correspondants (5) au format d'un fichier XML et ce, via le serveur MCMA (7).6. Method according to claim 3 and claim 4, characterized in that the output attributes corresponding to a read service of the search or consultation type are exported from the corresponding application servers (5) in the format of an XML file and this , via the MCMA server (7).
7. 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. 7. Method according to any one of the preceding claims, characterized in that the computer system (1) is of the type to offer financial services.
8. Procédé selon la revendication 7, caractérisé en ce que les serveurs clients (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.8. Method according to claim 7, characterized in that the client servers (4) cooperate with client interfaces (2) constituted in particular by digital telephones, ATMs, branches, branch sales offices, terminals of self-service sales, personal computers for home banking, interactive televisions.
9. Procédé selon la revendication 7, caractérisé en ce que les serveurs d'applications (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, titres, assurance, et finance.9. Method according to claim 7, characterized in that the application servers (5) belong to the group formed by customer database managers, financial telephone centers, external financial databases, credit type applications , savings deposit, securities, insurance, and finance.
10.Dispositif de communication pour la mise en œuvre du procédé selon l'une quelconque des revendications 1 à 9, et apte à 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 (7) 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 (7) à 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 (5) vers le serveur client (4), caractérisé en ce que lesdits serveurs client (4) sont aptes à présenter 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). 10. Communication device for implementing the method according to any one of claims 1 to 9, and able to communicate within a computer system (1) of the distributed type, 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 (7) which in turn is directly connected to all the application servers (5), so that any service call from a client server to a given application server , is first sent by said client server to the MCMA server (7), the latter responsible for routing it to the application server concerned and for sending back any information from the application server (5) ve rs the client server (4), characterized in that said client servers (4) are able to present the service calls in the form of action, 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 provided by the MCMA server (7).
PCT/EP2003/050726 2002-10-25 2003-10-16 Method for communication between servers and device therefor WO2004039039A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003288272A AU2003288272A1 (en) 2002-10-25 2003-10-16 Method for communication between servers and device therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0213393A FR2846498A1 (en) 2002-10-25 2002-10-25 METHOD FOR COMMUNICATION BETWEEN SERVERS AND DEVICE FOR IMPLEMENTING SAID METHOD
FR0213393 2002-10-25

Publications (1)

Publication Number Publication Date
WO2004039039A1 true WO2004039039A1 (en) 2004-05-06

Family

ID=32088288

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/050726 WO2004039039A1 (en) 2002-10-25 2003-10-16 Method for communication between servers and device therefor

Country Status (3)

Country Link
AU (1) AU2003288272A1 (en)
FR (1) FR2846498A1 (en)
WO (1) WO2004039039A1 (en)

Citations (1)

* 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

Patent Citations (1)

* 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

Also Published As

Publication number Publication date
FR2846498A1 (en) 2004-04-30
AU2003288272A1 (en) 2004-05-13

Similar Documents

Publication Publication Date Title
US7130807B1 (en) Technology sharing during demand and supply planning in a network-based supply chain environment
US6606744B1 (en) Providing collaborative installation management in a network-based supply chain environment
US7716077B1 (en) Scheduling and planning maintenance and service in a network-based supply chain environment
US8271336B2 (en) Increased visibility during order management in a network-based supply chain environment
Hilley Cloud computing: A taxonomy of platform and infrastructure-level offerings
Apshankar et al. Web services business strategies and architectures
US6697824B1 (en) Relationship management in an E-commerce application framework
Hansen et al. Data integration using web services
US20120089410A1 (en) System, method and article of manufacture for enhanced visibility during installation management in a network- based supply chain environment
US20140012683A1 (en) Personalized Interactive Network for Debt Management
NO973623L (en) Provision and management of information services
CN1555535A (en) Multifunctional mobile banking system
CN111880890A (en) City portal system
EP1287458A2 (en) Collaborative capacity planning and reverse inventory management during demand and supply planning in a network-based supply chain environment and method thereof
Cetin et al. Legacy migration to service-oriented computing with mashups
WO2001016848A2 (en) System, method, and article of manufacture for electronic merchandising in an e-commerce application framework
EP1257945A2 (en) Technology sharing during asset management and asset tracking in a network-based supply chain environment and method thereof
WO2001039082A2 (en) Scheduling and planning before and proactive management during maintenance and service in a network-based supply chain environment
EP1248999A2 (en) Technique for facilitating customer transactions over a computer network using customized information from a backend computing system
WO2001039028A2 (en) Method for affording a market space interface between a plurality of manufacturers and service providers and installation management via a market space interface
Apte et al. UDDI: building registry-based web services solutions
WO1999003243A1 (en) System and method for managing transactions between service suppliers and customers on a communication network
Eriksson et al. MarketSpace’96-An Open Agent-Based Market Infrastructure
WO2004056071A1 (en) Communication method between servers with data format conversion and device therefor
WO2004039039A1 (en) Method for communication between servers and device therefor

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 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): 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
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