FR3043294A1 - METHOD OF ACCESSING A CUSTOMER SERVICE USING A TERMINAL VIA A MULTI-CLIENT PROGRAMMING INTERFACE, METHOD OF CONFIGURING A CLIENT APPLICATION FOR ACCESS TO SERVICE - Google Patents

METHOD OF ACCESSING A CUSTOMER SERVICE USING A TERMINAL VIA A MULTI-CLIENT PROGRAMMING INTERFACE, METHOD OF CONFIGURING A CLIENT APPLICATION FOR ACCESS TO SERVICE Download PDF

Info

Publication number
FR3043294A1
FR3043294A1 FR1560567A FR1560567A FR3043294A1 FR 3043294 A1 FR3043294 A1 FR 3043294A1 FR 1560567 A FR1560567 A FR 1560567A FR 1560567 A FR1560567 A FR 1560567A FR 3043294 A1 FR3043294 A1 FR 3043294A1
Authority
FR
France
Prior art keywords
client
service
terminal
configuration
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR1560567A
Other languages
French (fr)
Inventor
Christophe Guionneau
Thierry Winter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Evidian SA
Original Assignee
Evidian SA
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 Evidian SA filed Critical Evidian SA
Priority to FR1560567A priority Critical patent/FR3043294A1/en
Priority to PCT/EP2016/076693 priority patent/WO2017077049A1/en
Publication of FR3043294A1 publication Critical patent/FR3043294A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/22Parsing or analysis of headers
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne un procédé d'accès à un service par un client utilisant un terminal via une interface de programmation (API) multi-clients, ladite API étant mise en œuvre par un serveur d'application, ledit procédé étant caractérisé en ce qu'il comporte les étapes suivantes : - une émission, par le terminal, d'une requête d'identification (1001) comportant un identifiant du client vers un serveur de configuration, - une réception d'informations de configuration (1006) en réponse à la requête d'identification, lesdites informations de configuration étant déterminées à partir de l'identifiant du client, - une émission par le terminal, d'une requête de connexion (1007) au service selon les informations de configuration reçues par le terminal.The invention relates to a method for accessing a service by a client using a terminal via a multi-client programming interface (API), said API being implemented by an application server, said method being characterized in that it comprises the following steps: a transmission by the terminal of an identification request (1001) comprising a client identifier to a configuration server; a reception of configuration information (1006) in response to the identification request, said configuration information being determined from the identifier of the client, - a transmission by the terminal, a connection request (1007) to the service according to the configuration information received by the terminal.

Description

PROCEDE D’ACCES A UN SERVICE PAR UN CLIENT UTILISANT UN TERMINAL VIA UNE INTERFACE DE PROGRAMMATION MULTI-CLIENTS, PROCEDE DE CONFIGURATION D’UNE APPLICATION CLIENTE POUR L’ACCES AUDITMETHOD FOR ACCESSING A CUSTOMER SERVICE USING A TERMINAL VIA A MULTI-CLIENT PROGRAMMING INTERFACE, METHOD OF CONFIGURING A CLIENT APPLICATION FOR ACCESS

SERVICESERVICE

DOMAINE TECHNIQUE DE L’INVENTIONTECHNICAL FIELD OF THE INVENTION

Le domaine de l’invention est celui des services de type « SaaS » (logiciel en tant que service), une branche du « Cloud Computing >> (nuage informatique). Plus particulièrement, l’invention se rapporte à un procédé d’accès à un service SaaS par un client utilisant un terminal via une interface de programmation (API) multi-clients, en particulier dans un environnement mutualisé. En outre, l’invention concerne un procédé de configuration d’une application cliente utilisée pour l’accès audit service SaaS.The field of the invention is that of "SaaS" services (software as a service), a branch of "Cloud Computing" (cloud computing). More particularly, the invention relates to a method of accessing a SaaS service by a client using a terminal via a multi-client programming interface (API), in particular in a shared environment. In addition, the invention relates to a method for configuring a client application used for accessing said SaaS service.

ETAT DE LA TECHNIQUE ANTERIEURESTATE OF THE PRIOR ART

Un « logiciel en tant que service » (SaaS) est une branche du « nuage informatique >> (Cloud Computing). Le Cloud Computing correspond à des ressources informatiques distribuées sur internet et proposées sous la forme de services à une pluralité d’utilisateurs. Un service SaaS est la partie applicative du Cloud Computing. Pour un utilisateur, il s’agit d’accéder à distance (via un navigateur web) à des applications (logiciels) hébergées et exploitées par un fournisseur de services qui facture un droit d'usage (souscription à un abonnement). Avec un service SaaS, le logiciel (traitement de texte, messagerie etc.) est fourni sous la forme d’un service et non plus sous la forme d’un programme informatique installé."Software as a Service" (SaaS) is a branch of the "Cloud Computing". Cloud computing is computing resources distributed over the internet and offered as services to a plurality of users. A SaaS service is the application part of Cloud Computing. For a user, it is to access remotely (via a web browser) to applications (software) hosted and operated by a service provider that charges a right of use (subscription to a subscription). With a SaaS service, the software (word processing, messaging, etc.) is provided in the form of a service and no longer in the form of an installed computer program.

Les services SaaS mutualisent les applications proposées à une pluralité de clients. La séparation entre les clients se fait au travers du concept de « tenant » soit l’identification du client qui souscrit un abonnement pour accéder au service qu’il soit payant ou non. On parle alors de services « multi-tenants » pour désigner des services qui fournissent simultanément une pluralité de clients en utilisant les mêmes interfaces pour accéder à ces services. De tels services permettent à un fournisseur de services, par le partage de ressources telles que les machines, le processeur, la mémoire ou encore l’espace de stockage, de réaliser des économies d’échelle en termes de coûts d’exploitation et de maintenance. Les services SaaS augmentent leurs capacités matérielles en fonction de la demande et de la consommation des clients. L’accès à un service Cloud SaaS est réalisé via une interface de programmation (API) qui définit un langage commun entre l’application cliente accédée via un terminal et le service souhaité par le client. L’API repose généralement sur le protocole HTTP et utilise des Uniform Ressource Locators (URL) pour définir un identifiant du serveur d’applications à atteindre et les différentes fonctions exposées par ΓΑΡΙ. Par « serveur d’applications », on entend le serveur qui héberge une ou plusieurs application(s) auquel/auxquelles souhaite accéder un client.SaaS services pool the applications offered to a plurality of customers. The separation between the customers is done through the concept of "tenant" is the identification of the customer who subscribes to a subscription to access the service whether paid or not. This is referred to as "multi-tenant" services to designate services that simultaneously provide a plurality of clients using the same interfaces to access these services. Such services allow a service provider, by sharing resources such as machines, processor, memory or storage space, to achieve economies of scale in terms of operating and maintenance costs. . SaaS services increase their hardware capabilities based on customer demand and consumption. Access to a SaaS cloud service is provided via a programming interface (API) that defines a common language between the client application accessed via a terminal and the service desired by the client. The API is usually based on the HTTP protocol and uses Uniform Resource Locators (URLs) to define an identifier of the application server to reach and the various functions exposed by ΓΑΡΙ. By "application server" is meant the server that hosts one or more application (s) to / to which a customer wishes to access.

Dans les API de type Representational State Transfer (REST), les entêtes HTTP sont utilisées pour transmettre au service SaaS le tenant sous la forme d’une clé d’API (clé d’authentification) ou toutes autres données chiffrées ou secrètes associées au tenant du service. En effet, on rappelle que le tenant permet de séparer les clients du service entre eux. Par ailleurs, chaque URL peut être accédée en utilisant les verbes existants du protocole HHTP. Ainsi, les opérations telles que créer, afficher, mettre à jour et supprimer seront réalisées en utilisant respectivement les verbes POST, GET, PUT, DELETE du protocole HHTP.In Representational State Transfer (REST) type APIs, HTTP headers are used to transmit to the SaaS service holding it in the form of an API key (authentication key) or any other encrypted or secret data associated with the holding. of the service. Indeed, it is recalled that the tenant allows to separate the customers of the service between them. In addition, each URL can be accessed using existing HHTP protocol verbs. Thus, operations such as create, display, update and delete will be performed using respectively the POST, GET, PUT, DELETE verbs of the HHTP protocol.

Une fois que le client a émis une requête/un appel vers une API, le fournisseur de service SaaS utilise le tenant (obtenu dans les appels aux APIs ou déduit des informations contenues dans les requêtes aux API) pour router l’appel à ΓΑΡΙ dans son infrastructure vers des serveurs d’applications dédiés ou vers des serveurs d’applications mutualisés en fonction de la requête du client qui comporte les identifiants du tenant.Once the client has issued a request / call to an API, the SaaS service provider uses the hold (obtained in the API calls or infers information from the API requests) to route the call to its infrastructure to dedicated application servers or to shared application servers according to the client's request which includes the identifiers of the tenant.

La figure 1 représente une première infrastructure IFR1 selon l’art antérieur d’une relation entre un client (non représenté) utilisant un terminal (1,2) et un serveur d’applications 6.FIG. 1 represents a first IFR1 infrastructure according to the prior art of a relationship between a client (not shown) using a terminal (1,2) and an application server 6.

On note que dans la suite de la demande, le terme « client » désigne un « tenant » c’est-à-dire un client qui souscrit un abonnement pour l’accès à un service.It is noted that in the rest of the application, the term "customer" refers to a "tenant" that is to say a customer who subscribes for access to a service.

En référence à la figure 1, un client (non représenté) utilise un terminal, par exemple un ordinateur 1, un téléphone mobile 2, une tablette ou encore un objet connecté pour mettre en oeuvre une application cliente. L’application cliente est une application web ou une application cliente native.Referring to Figure 1, a client (not shown) uses a terminal, for example a computer 1, a mobile phone 2, a tablet or a connected object to implement a client application. The client application is a web application or a native client application.

Pour accéder à un service, un client passe, au moyen de l’application cliente exécutée sur son terminal (1,2), par une API 4 exposée par le fournisseur de services en utilisant le protocole HTTP/HTTPs et des URLs.To access a service, a client passes, through the client application running on its terminal (1,2), a API 4 exposed by the service provider using the HTTP / HTTPs protocol and URLs.

La connexion au service via ΓΑΡΙ est réalisée après une étape d’authentification du client auprès de ladite API. Une fois le client authentifié, un routeur 5 oriente les flux réseaux vers les différents serveurs d’application 6 de sorte à fournir correctement le service souhaité au client.The connection to the service via ΓΑΡΙ is performed after a step of authenticating the client with said API. Once the client is authenticated, a router 5 directs the network flows to the different application servers 6 so as to correctly provide the desired service to the client.

De nombreux documents décrivent des systèmes permettant l’accès, en fonction du client (abonné), à des services mutualisés au moyen d’une API. En particulier, les demandes de brevet US2014282968 (A1) et US2013325986 (A1) décrivent des systèmes de routage de messages à des API dans le réseau d’un fournisseur de services. Dans ces demandes, le routage des messages aux API est réalisé au moyen d’un proxy inverse après identification du client sur la base d’une authentification ou de mécanismes de clés par client. De plus, la demande de brevet US2013254266 (A1) décrit un système de routage des appels à une API vers des services demandés. Dans cette demande, le routage des requêtes émises à ΓΑΡΙ vers un serveur d’applications est réalisé au moyen d’un proxy inverse après l’identification du client par mappage de l’adresse IP dudit client. Le client est alors routé vers le serveur d’applications le plus proche de ladite adresse IP.Many documents describe systems allowing access, depending on the client (subscriber), shared services using an API. In particular, patent applications US2014282968 (A1) and US2013325986 (A1) describe systems for routing messages to APIs in the network of a service provider. In these requests, the routing of messages to the APIs is performed by means of a reverse proxy after identification of the client based on authentication or key mechanisms per client. In addition, the patent application US2013254266 (A1) describes a system for routing calls to an API to requested services. In this request, the routing of the requests sent to ΓΑΡΙ to an application server is performed by means of a reverse proxy after the identification of the client by mapping the IP address of said client. The client is then routed to the application server closest to said IP address.

Dans ces systèmes, l’URL de ΓΑΡΙ 4 est unique pour tous les clients, elle contient un identifiant du serveur d’applications 6, par exemple le nom DNS ou l’adresse IP du serveur d’application 6 fournissant le service ainsi que le chemin vers les différentes fonctions proposées par ΓΑΡΙ 4. L’adresse URL de ΓΑΡΙ est donc un point de passage obligé pour l’intégralité des flux de communication pour l’ensemble du service. L’ensemble des requêtes émises par les clients à ΓΑΡΙ sont ré-aguillées par les fournisseurs de services à l’intérieur de leurs infrastructures réseaux et techniques. Des mécanismes de routage, de haute disponibilité et de partage de charge sont utilisés sur l’adresse IP unique de ΓΑΡΙ. Les requêtes à ΓΑΡΙ aboutissent ensuite vers des serveurs d’application 6 capables de traiter lesdites requêtes. Le fournisseur du service peut posséder plusieurs centres d’hébergement 8 de serveurs d’applications 6 : plusieurs centres de données 8 physiquement isolés pour assurer des mécanismes de « Disaster Recovery », c’est-à-dire des reprises d’activité. Ces centres de données 8 sont répartis géographiquement, sur potentiellement plusieurs continents et sont reliés entre eux par des liaisons spécialisées, sécurisées et à haut débit.In these systems, the URL of ΓΑΡΙ 4 is unique for all the clients, it contains an identifier of the application server 6, for example the DNS name or the IP address of the application server 6 providing the service as well as the path to the various functions proposed by ΓΑΡΙ 4. The URL address of ΓΑΡΙ is therefore a mandatory point of passage for all communication flows for the entire service. All queries issued by customers to ΓΑΡΙ are re-wired by service providers within their network and technical infrastructures. Routing, high availability, and load sharing mechanisms are used on the unique IP address of ΓΑΡΙ. The requests to ΓΑΡΙ then lead to application servers 6 capable of processing said requests. The service provider can have several hosting centers 8 of application servers 6: several data centers 8 physically isolated to ensure mechanisms of "disaster recovery", that is to say, activity revisions. These data centers 8 are geographically distributed over potentially several continents and are interconnected by specialized, secure and high-speed links.

Cependant, le problème de tels services utilisant des centres de données distants géographiquement est qu’ils ne permettent pas d’assurer qu’un client est toujours routé vers le même serveur d’application. Plus particulièrement, de tels services ne permettent pas d’assurer au client que ses requêtes sont routées vers un serveur d’applications hébergé dans une zone géographique dont les lois sur l’hébergement des données et leurs protections sont compatibles avec les législations auxquelles est soumis le client. Par exemple, un client d’un service SaaS mondialisé ne peut pas être assuré que ses données seront hébergées sur le sol européen. Une société mondialisée peut avoir des exigences et des contraintes d’hébergement différentes selon les pays où ladite société est implantée. Ainsi, les services selon l’art antérieur ne permettent pas à une société mondialisée de choisir, pour chacun des pays dans lesquelles elle est implantée, la zone géographique (et donc la législation appliquée) dans laquelle ses données sont hébergées. En outre, lorsque le service est mutualisé sur une pluralité de serveurs d’application, il est techniquement difficile de dédier un serveur d’applications à un client spécifique, lorsque ledit client en fait la demande, ou lorsque l’usage qu’il fait du service nécessite des ressources plus importantes que les clients mutualisés sur le même serveur.However, the problem with such services using geographically remote data centers is that they do not ensure that a client is always routed to the same application server. More specifically, such services do not make it possible to assure the client that his requests are routed to an application server hosted in a geographical area whose data hosting laws and their protections are compatible with the legislations to which they are subject. the customer. For example, a customer of a global SaaS service can not be assured that his data will be hosted on European soil. A globalized society may have different hosting requirements and constraints depending on the country in which the company operates. Thus, the services according to the prior art do not allow a global society to choose, for each of the countries in which it is established, the geographical area (and therefore the legislation applied) in which its data are hosted. In addition, when the service is shared on a plurality of application servers, it is technically difficult to dedicate an application server to a specific client, when said client requests it, or when the use he makes The service requires more resources than shared clients on the same server.

Pour remédier aux problèmes précités dus au nommage unique de ΓΑΡΙ, des mécanismes peuvent être mis en œuvre, localement, en résolvant par exemple les noms DNS en adresses IP différentes en manipulant les configurations des serveurs DNS (Système de nom de domaine). Toutefois, cette solution peut être risquée sur le plan sécuritaire et sur le plan du routage des adresses IP. Par exemple, cette solution ne serait pas applicable pour un client qui utiliserait une API depuis plusieurs régions géographiques en utilisant plusieurs fournisseurs de connexion internet. Les résolutions DNS pourraient être incohérentes. En outre, les fournisseurs de services pourraient fournir des points d’accès différenciés à leurs API en fonction de leurs clients. Cependant, l’utilisation de cette technique rend difficile le paramétrage d’une application cliente en fonction des caractéristiques du compte client. En effet, le passage d’un mode mutualisé du serveur d’applications à un mode non mutualisé nécessite une reconfiguration manuelle des applications du client, synchronisé avec le changement de configuration de l’hébergeur du service. En outre, dans un mode sécurisé (HTTPS), la fourniture de points d’accès différenciés aux API en fonction des clients nécessite la génération d’une pluralité de certificats de sécurité validés par des autorités de certification connues.To overcome the aforementioned problems due to the unique naming of ΓΑΡΙ, mechanisms can be implemented locally, for example by resolving the DNS names into different IP addresses by manipulating the configurations of the DNS servers (Domain Name System). However, this solution can be risky in terms of security and routing of IP addresses. For example, this solution would not be applicable for a customer who would use an API from multiple geographic regions using multiple internet connection providers. DNS resolutions may be inconsistent. In addition, service providers could provide differentiated access points to their APIs based on their customers. However, using this technique makes it difficult to set up a client application based on the characteristics of the client account. Indeed, the transition from a shared mode of the application server to a non-shared mode requires a manual reconfiguration of client applications, synchronized with the configuration change of the service provider. In addition, in a secure mode (HTTPS), the provision of differentiated access points to the APIs according to the clients requires the generation of a plurality of security certificates validated by known certification authorities.

DESCRIPTION GENERALE DE L’INVENTIONGENERAL DESCRIPTION OF THE INVENTION

Dans ce contexte, l’invention vise à remédier à tout ou partie des inconvénients de l’état de la technique identifiés ci-dessus, notamment en proposant une solution permettant de s’assurer que les requêtes d’un même client d’un service seront routées vers le ou les serveur(s) d’applications adapté(s) au client. De plus, la solution selon l’invention ne nécessite pas de reconfiguration manuelle du client pour l’accès au(x)dit(s) serveur(s) d’applications adapté(s).In this context, the invention aims to remedy all or part of the disadvantages of the state of the art identified above, in particular by proposing a solution to ensure that requests from the same customer of a service will be routed to the application server (s) adapted to the client. In addition, the solution according to the invention does not require manual reconfiguration of the client for access to (x) said (s) application server (s) adapted (s).

Ainsi, selon un premier aspect, l’invention concerne un procédé d’accès à un service par un client utilisant un terminal via une interface de programmation (API) multi-clients, ladite API étant mise en œuvre par un serveur d’application, ledit procédé comportant les étapes suivantes : - une émission, par le terminal, d’une requête d’identification comportant un identifiant du client vers un serveur de configuration, - une réception d’informations de configuration en réponse à la requête d’identification, lesdites informations de configuration étant déterminées à partir de l’identifiant du client, - une émission d’une requête de connexion au service selon les informations de configuration reçues par le terminal.Thus, according to a first aspect, the invention relates to a method for accessing a service by a client using a terminal via a multi-client programming interface (API), said API being implemented by an application server, said method comprising the following steps: a transmission, by the terminal, of an identification request comprising an identifier of the client to a configuration server, a reception of configuration information in response to the identification request, said configuration information being determined from the client identifier, - a transmission of a connection request to the service according to the configuration information received by the terminal.

On entend par « client », un utilisateur d’un service Saas ayant souscrit un abonnement (payant ou gratuit) audit service.By "client" is meant a user of a SaaS service who has subscribed a subscription (paid or free) to said service.

En outre, on entend par « serveur d’applications », un serveur comportant la ou les application(s) (logiciels) utilisée(s) pour exécuter les requêtes émises par les clients via ΓΑΡΙ afin d’accéder à un service. Les applications du serveur d’application sont stockées dans des moyens de stockage dudit serveur d’application.In addition, the term "application server" means a server comprising the application (s) (software) used to execute queries issued by the clients via ΓΑΡΙ in order to access a service. The applications of the application server are stored in storage means of said application server.

Par ailleurs, on entend par « serveur de configuration », un serveur comportant la ou les application(s) (logiciels) utilisée(s) pour exécuter les requêtes émises par les clients pour recevoir les informations de configuration. Les applications du serveur de configuration sont stockées dans des moyens de stockage dudit serveur de configuration. L’étape consistant en l’émission d’une requête au serveur de configuration pour la réception d’informations de configuration selon l’identification du client permet de répartir les clients vers des applications adaptées audit client. Par application adaptée, on entend une application d’un serveur d’applications hébergé, si nécessaire, dans une zone géographique dont les lois sur l’hébergement des données et leurs protections sont compatibles avec les législations auxquelles est soumis le client. En effet, selon les données associées au client contenues dans le serveur de configuration, le client est automatiquement aiguillé vers la ou les application(s) d’un serveur d’application mutualisé ou pas qui respecte ses exigences et/ou ses contraintes d’hébergement. En outre, une configuration automatique du serveur de configuration permet de mettre à jour automatiquement les données associées au client qui sont stockées dans ledit serveur de configuration et ainsi d’assurer que la répartition des clients vers les serveurs d’application est toujours réalisée selon des informations de configuration correctes pour accéder au service souhaité.Furthermore, "configuration server" means a server comprising the application (s) (software) used to execute the requests issued by the clients to receive the configuration information. Configuration server applications are stored in storage means of said configuration server. The step of issuing a request to the configuration server for receiving configuration information according to the client identification makes it possible to distribute the clients to applications adapted to said client. By adapted application is meant an application of a hosted application server, if necessary, in a geographical area whose data hosting laws and their protections are compatible with the legislation to which the customer is subject. Indeed, according to the data associated with the client contained in the configuration server, the client is automatically redirected to the application (s) of a shared application server or not that meets its requirements and / or constraints of accommodation. In addition, an automatic configuration of the configuration server makes it possible to automatically update the data associated with the client that is stored in said configuration server and thus ensure that the distribution of the clients to the application servers is always performed according to correct configuration information to access the desired service.

Outre les caractéristiques principales qui viennent d’être mentionnées dans le paragraphe précédent, le procédé selon le premier aspect de l’invention peut présenter une ou plusieurs caractéristiques parmi les suivantes, considérées individuellement ou selon les combinaisons techniquement possibles : - le procédé d’accès comporte une étape d’émission, par le terminal, d’une requête d’authentification au serveur d’application pour l’accès au service ; - les informations de configuration comportent un identifiant du serveur d’application ; - les informations de configuration comportent une description de la mise en oeuvre du service par une liste d’URL absolue ou relative ; - les informations de configuration comportent un certificat de sécurité ; - les informations de configuration sont au format JSON ou XML etc. ; - le procédé comporte une étape de configuration d’une base de configuration contenant les informations de configuration associées au client ; - le procédé comporte une étape de configuration d’une zone de configuration, ladite configuration étant selon les informations de configuration contenues dans la base de configuration ; - le terminal interagit avec l’API via une application web ou une application cliente native.In addition to the main features that have just been mentioned in the preceding paragraph, the method according to the first aspect of the invention may have one or more of the following features, considered individually or according to the technically possible combinations: the access method comprises a step of sending, by the terminal, an authentication request to the application server for access to the service; the configuration information includes an identifier of the application server; the configuration information includes a description of the implementation of the service by an absolute or relative URL list; - the configuration information includes a security certificate; - the configuration information is in JSON or XML format etc. ; the method comprises a step of configuring a configuration database containing the configuration information associated with the client; the method includes a step of configuring a configuration zone, said configuration being according to the configuration information contained in the configuration database; the terminal interacts with the API via a web application or a native client application.

En outre, selon un second aspect, l’invention concerne un procédé de configuration d’une application cliente mise en oeuvre par un terminal, un serveur de configuration mettant en oeuvre les étapes suivantes : - une réception d’une requête d’identification du terminal, ladite requête d’identification comportant une information d’identification du client, - une émission d’une requête d’extraction d’informations de configuration selon l’identification du client, lesdites informations de configuration comportant un identifiant d’un serveur d’application, - une réception des informations de configuration associées au client, lesdites informations de configuration ayant étant extraites d’une base de configuration associée à l’identification du client, - une émission des informations de configuration au client.In addition, according to a second aspect, the invention relates to a method for configuring a client application implemented by a terminal, a configuration server implementing the following steps: a reception of a request for identification of the terminal, said identification request comprising a customer identification information, - a transmission of a configuration information retrieval request according to the identification of the client, said configuration information comprising an identifier of a server d application, - a reception of the configuration information associated with the client, said configuration information being extracted from a configuration database associated with the identification of the client, - a transmission of the configuration information to the client.

Par ailleurs, selon un troisième aspect, l’invention se rapporte à un support d’enregistrement lisible par ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé selon le premier aspect.Furthermore, according to a third aspect, the invention relates to a computer readable recording medium on which is recorded a computer program comprising program code instructions for executing the steps of the method according to the first aspect. .

De plus, selon un quatrième aspect, l’invention se rapporte à un support d’enregistrement lisible par ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé selon le second aspect.In addition, according to a fourth aspect, the invention relates to a computer readable recording medium on which is recorded a computer program comprising program code instructions for executing the steps of the method according to the second aspect. .

BREVE DESCRIPTION DES FIGURES D’autres caractéristiques et avantages de l’invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent : - à la figure 1, déjà décrite, une première infrastructure permettant la mise en œuvre d’un procédé d’accès à un service selon l’art antérieur, - à la figure 2, une seconde infrastructure selon un mode de réalisation permettant la mise en œuvre de l’invention, - à la figure 3, un dispositif serveur, - à la figure 4, des étapes du procédé d’accès à un service selon un mode de réalisation de l’invention, ledit procédé d’accès étant mis en œuvre par la seconde infrastructure présentée à la figure 2. L'invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent.BRIEF DESCRIPTION OF THE FIGURES Other features and advantages of the invention will emerge on reading the description which follows, with reference to the appended figures, which illustrate: in FIG. 1, already described, a first infrastructure enabling the implementation a method of access to a service according to the prior art, - in Figure 2, a second infrastructure according to an embodiment for implementing the invention, - in Figure 3, a server device, FIG. 4 shows the steps of the method of access to a service according to one embodiment of the invention, said access method being implemented by the second infrastructure presented in FIG. 2. The invention and its different applications will be better understood by reading the description which follows and examining the figures that accompany it.

DESCRIPTION DETAILLEE D’AU MOINS UN MODE DE REALISATION DE L’INVENTIONDETAILED DESCRIPTION OF AT LEAST ONE EMBODIMENT OF THE INVENTION

Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique. L’invention concerne un procédé d’accès à un service par un client utilisant un terminal (1,2) via une interface de programmation (API) 4 multi-clients. Dans la description qui suit, le service souhaité est un service logiciel proposé par un service Cloud SaaS. Par « service logiciel >>, on entend un logiciel de traitement de texte, une messagerie, des applications métier, des applications d’archivage etc. consultables et utilisables en ligne. Un service Cloud Saas mutualise les fonctions proposées pour plusieurs clients qui peuvent utiliser simultanément ledit service.Unless otherwise specified, the same element appearing in different figures has a unique reference. The invention relates to a method for accessing a service by a client using a terminal (1,2) via a multi-client programming interface (API) 4. In the following description, the desired service is a software service offered by a SaaS Cloud service. "Software service" refers to word processing software, messaging, business applications, archiving applications, etc. searchable and usable online. A Saas Cloud service pools the functions proposed for several customers who can simultaneously use the service.

La figure 2 représente une seconde infrastructure IFR2 selon un premier mode de réalisation. La seconde infrastructure IFR2 permet la mise en œuvre d’un procédé d’accès à un service via une API multi-clients.Figure 2 shows a second IFR2 infrastructure according to a first embodiment. The second IFR2 infrastructure makes it possible to implement a method of accessing a service via a multi-client API.

En référence à la figure 2, la seconde infrastructure IFR2 mettant en œuvre des étapes du procédé selon l’invention comporte : - un terminal (1,2), - un serveur de configuration 9, - un serveur d’application 6.With reference to FIG. 2, the second IFR2 infrastructure implementing steps of the method according to the invention comprises: - a terminal (1,2), - a configuration server 9, - an application server 6.

Le terminal (1,2) est un ordinateur 1, un téléphone mobile 2, une tablette ou encore un objet connecté (non représentés). Le terminal (1,2) permet à un client d’accéder à une application cliente via une application web (légère) ou une application cliente native (lourde). L’application cliente exécutée par un client via son terminal (1,2) communique avec le serveur de configuration 9 et avec le serveur d’application 6 pour accéder à un service. Selon mode de réalisation, le serveur de configuration 9 et le serveur d’applications 6 forment un seul et même serveur.The terminal (1, 2) is a computer 1, a mobile phone 2, a tablet or a connected object (not shown). The terminal (1,2) allows a client to access a client application via a web application (lightweight) or a native client application (heavy). The client application executed by a client via its terminal (1,2) communicates with the configuration server 9 and with the application server 6 to access a service. According to an embodiment, the configuration server 9 and the application server 6 form one and the same server.

Le serveur d’application 6 et le serveur de configuration 9 présentent une structure identique à celle du dispositif de serveur 100 présenté à la figure 3.The application server 6 and the configuration server 9 have a structure identical to that of the server device 100 shown in FIG.

Comme représenté sur la figure 3, le dispositif de serveur 100 comporte : - un microprocesseur 110, - des moyens de stockage 120, par exemple un disque dur qu’il soit local ou distant, qu’il soit simple ou en grille (par exemple RAID) ; - une interface 130 de communication, par exemple une carte de communication selon le protocole Ethernet. D’autres protocoles sont envisageables comme IP, « Fibre Channel » ou InfiniBand.As represented in FIG. 3, the server device 100 comprises: a microprocessor 110, storage means 120, for example a hard disk, whether local or remote, whether it is simple or in a grid (for example RAID); a communication interface 130, for example a communication card according to the Ethernet protocol. Other protocols are possible as IP, Fiber Channel or InfiniBand.

Le microprocesseur 110 du dispositif de serveur 100, les moyens 120 de stockage du dispositif de serveur 100 et l’interface 130 de communication du dispositif de serveur 100 sont interconnectés par un bus 150.The microprocessor 110 of the server device 100, the storage means 120 of the server device 100 and the communication interface 130 of the server device 100 are interconnected by a bus 150.

On rappelle que lorsque l’on prête une action à un dispositif celle-ci est en fait effectuée par un microprocesseur du dispositif commandé par des codes instructions enregistrés dans une mémoire du dispositif. Si l’on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel les codes instructions correspondant à l’application sont enregistrés. Lorsqu’un dispositif, ou une application émet un message, ce message est émis via une interface de communication dudit dispositif ou de la dite application. En outre, on note qu’un dispositif est réel ou virtuel.Remember that when an action is taken to a device it is actually performed by a microprocessor of the device controlled by instruction codes stored in a device memory. If an action is taken to an application, it is actually performed by a microprocessor of the device in a memory of which the instruction codes corresponding to the application are recorded. When a device, or an application sends a message, this message is sent via a communication interface of said device or of said application. In addition, it is noted that a device is real or virtual.

Par ailleurs, en référence à la figure 3, les moyens de stockage 120 du dispositif serveur 100 comportent des zones, notamment une zone de base de données120.1 sur la figure 3. Lorsque le dispositif serveur 100 est le serveur de configuration 9, la zone de base de données 120.1 correspond à une base de configuration 7. La base de configuration 7 comporte des données structurées qui associent des informations à un identifiant.Furthermore, with reference to FIG. 3, the storage means 120 of the server device 100 comprise zones, in particular a database area 120.1 in FIG. 3. When the server device 100 is the configuration server 9, the database area 120.1 corresponds to a configuration database 7. The configuration database 7 comprises structured data that associates information with an identifier.

En outre, en référence à la figure 2, le terminal (1, 2), qu’il s’agisse d’un ordinateur 1, d’un téléphone mobile 2, d’une tablette ou d’un objet connecté, comporte : - un microprocesseur 210, - des moyens de stockage 220, - une interface 230 de communication, par exemple une carte de communication sans fil, - un écran 240.In addition, with reference to FIG. 2, the terminal (1, 2), whether it is a computer 1, a mobile telephone 2, a tablet or a connected object, comprises: a microprocessor 210, storage means 220, a communication interface 230, for example a wireless communication card, a screen 240.

Le microprocesseur 210 du terminal (1, 2), les moyens de stockage 220 du terminal (1, 2), l’interface de communication 230 du terminal (1, 2) et l’écran 240 du terminal (1,2) sont interconnectés par un bus 250.The microprocessor 210 of the terminal (1, 2), the storage means 220 of the terminal (1, 2), the communication interface 230 of the terminal (1, 2) and the screen 240 of the terminal (1, 2) are interconnected by a bus 250.

De plus, la figure 3 montre que les moyens de stockage 220 du terminal (1, 2) comportent une zone de configuration notée 220.1 sur la figure 2. La zone de configuration 220.1 comporte des données extraites de la zone de base de données 120.1 ou base de configuration 7 du serveur de configuration 9, lesdites données correspondant à des informations associées au client utilisant le terminal (1, 2). En outre, on note que les moyens de stockage 220 du terminal (1, 2) comportent également une zone de stockage 220.2 pour le stockage de codes d’instructions pour la mise en œuvre de l’invention.In addition, FIG. 3 shows that the storage means 220 of the terminal (1, 2) comprise a configuration zone denoted 220.1 in FIG. 2. The configuration zone 220.1 includes data extracted from the database zone 120.1 or configuration database 7 of the configuration server 9, said data corresponding to information associated with the client using the terminal (1, 2). In addition, it is noted that the storage means 220 of the terminal (1, 2) also include a storage area 220.2 for storing instruction codes for the implementation of the invention.

La figure 4 représente des étapes du procédé d’accès à un service par un client utilisant un terminal (1,2) via une interface de programmation (API) 4 multi-clients. Les étapes du procédé sont mises en œuvre par la seconde infrastructure IFR2 présentée précédemment. On note que le nommage des étapes exposées dans la suite de la description n’est nullement limitatif, les étapes pouvant être réalisées dans un ordre différent que celui présenté ci-après.FIG. 4 represents steps of the method of access to a service by a client using a terminal (1,2) via a multi-client programming interface (API) 4. The steps of the method are implemented by the second IFR2 infrastructure presented above. Note that the naming of the steps set out in the following description is not limiting, the steps can be performed in a different order than that presented below.

Selon une étape préliminaire 1000, la base de configuration 7 du serveur de configuration 9 est configurée par le fournisseur de services. La configuration de la base de configuration 7 permet de stocker des données associées au client appelées informations de configuration ou pour mettre à jour lesdites données.According to a preliminary step 1000, the configuration base 7 of the configuration server 9 is configured by the service provider. The configuration of the configuration base 7 makes it possible to store data associated with the client called configuration information or to update said data.

Selon une première étape 1001, le client émet, par l’intermédiaire du terminal (1,2), une requête d’identification comportant un identifiant du client vers le serveur de configuration 9.According to a first step 1001, the client sends, via the terminal (1, 2), an identification request comprising an identifier of the client to the configuration server 9.

Selon une deuxième étape 1002, le serveur de configuration 9 reçoit la requête d’identification émise par le client selon la première étape 1001.According to a second step 1002, the configuration server 9 receives the identification request sent by the client according to the first step 1001.

Selon un mode de réalisation, l’identification du client auprès du serveur de configuration 9 est réalisée au moyen d’au moins une donnée extraite de la requête d’identification émise par le client. Selon un mode de réalisation, ladite au moins une donnée extraite de la requête d’identification est une donnée propre au client dépendante de l’abonnement dudit client. La donnée propre au client est, par exemple, une clé d’API représentant son abonnement ou encore un identifiant numérique, alphanumérique ou autre, client obtenu lors de la souscription du client à un abonnement. Selon un autre mode de réalisation, la au moins une donnée extraite de la requête d’identification est l’adresse IP (Internet Protocol) associée au terminal (1, 2) dudit client. Selon un autre mode de réalisation, l’identification du client est réalisée au moyen d’une combinaison de la donnée propre au client et de l’adresse IP associée au terminal (1,2) dudit client, et plus généralement au moyen d’une combinaison de données extraites de la requête.According to one embodiment, the identification of the client with the configuration server 9 is performed by means of at least one data extracted from the identification request sent by the client. According to one embodiment, said at least one data item extracted from the identification request is data specific to the client dependent on the subscription of said client. The customer-specific data is, for example, an API key representing his subscription or a numerical identifier, alphanumeric or other, customer obtained when subscribing the customer to a subscription. According to another embodiment, the at least one data item extracted from the identification request is the Internet Protocol (IP) address associated with the terminal (1, 2) of said client. According to another embodiment, the identification of the client is performed by means of a combination of the client-specific data and the IP address associated with the client's terminal (1,2), and more generally by means of a combination of data extracted from the query.

Dans une troisième étape 1003, à l’intérieur du serveur de configuration 9, une requête d’extraction d’informations de configuration est émise vers la base de configuration 7 dudit serveur de configuration 9. On rappelle que la configuration de la base de configuration 7 est réalisée selon l’étape préliminaire 1000. La détermination des informations de configuration à extraire est réalisée en utilisant l’identifiant du client émit lors de la première étape 1001 par le client.In a third step 1003, inside the configuration server 9, a request for extracting configuration information is sent to the configuration base 7 of said configuration server 9. It is recalled that the configuration of the configuration database 7 is performed according to the preliminary step 1000. The determination of the configuration information to be extracted is performed using the client identifier issued during the first step 1001 by the client.

Selon une quatrième étape 1004, le serveur de configuration 9 reçoit les informations de configuration associées à l’identifiant du client.In a fourth step 1004, the configuration server 9 receives the configuration information associated with the client identifier.

Selon une cinquième étape 1005, le serveur de configuration 9 émet les informations de configuration au client.According to a fifth step 1005, the configuration server 9 transmits the configuration information to the client.

Selon une sixième étape 1006, le client, reçoit, au niveau de son terminal (1,2), les informations de configuration émises par le serveur de configuration 9 en réponse à la requête d’identification émise par le client lors de la première étape 1001.According to a sixth step 1006, the client receives, at its terminal (1, 2), the configuration information sent by the configuration server 9 in response to the identification request sent by the client during the first step 1001.

Les informations de configuration transmises au client permettent, si nécessaire, d’orienter le client vers un ou plusieurs services logiciel contenu(s) dans un ou plusieurs serveurs d’application 6 hébergé(s) dans une zone géographique dont la législation sur l’hébergement est compatible avec les législations auxquelles est soumis le client.The configuration information transmitted to the client makes it possible, if necessary, to direct the client to one or more software services contained in one or more application servers 6 hosted in a geographical area whose legislation on the accommodation is compatible with the legislation to which the customer is subject.

Les informations de configuration reçues par le client se présentent sous la forme de données au format JSON, XML, ou tout format texte facilement interprétable par l’application cliente.The configuration information received by the client is in the form of data in JSON, XML format, or any text format easily interpretable by the client application.

Les informations de configuration reçues par le client contiennent un identifiant du serveur d’applications 6. Selon un premier mode de réalisation, l’identifiant du serveur d’applications 6 est le nom DNS du serveur d’applications 6 à atteindre obtenu par un système DNS (système de résolution de noms). Les URLsdu serveur d’applications 6 à atteindre sont alors déduites par l’application cliente en se basant sur le nom DNS dudit serveur d’applications 6. En outre, selon un mode de réalisation, les informations de configuration comportent un certificat de sécurité du serveur d’applications 6. De plus, selon un mode de réalisation, le certificat de sécurité est accompagné de l’autorité de certification si ladite autorité n’est pas connue ou est privée au fournisseur de service SaaS. Selon un second mode de réalisation, les informations de configuration comportent une description de la mise en œuvre du service souhaité par une liste d’URL absolue ou relative. Par « URL absolue », on entend une URL qui commence par le protocole « http:// ». Par « URL relative », on entend une URL qui ne commence pas par le protocole « http:// ». L’URL relative peut être combinée avec l'URL absolue d'une page de « base » pour obtenir l'URL absolue de la ressource à désigner. Les URLs de la liste d’URLs exposent les fonctions de ΓΑΡΙ. Selon un mode de réalisation, les fonctions de ΓΑΡΙ sont distribuées sur plusieurs serveurs d’applications 6 et donc plusieurs adresses IP. Selon un troisième mode de réalisation, les informations de configuration comportent une combinaison du premier mode de réalisation (nom DNS de la machine) et du second mode de réalisation (liste d’URLs).The configuration information received by the client contains an identifier of the application server 6. According to a first embodiment, the identifier of the application server 6 is the DNS name of the application server 6 to be obtained obtained by a system DNS (name resolution system). The URLs of the application server 6 to be reached are then deduced by the client application based on the DNS name of said application server 6. In addition, according to one embodiment, the configuration information includes a security certificate of the Application server 6. In addition, according to one embodiment, the security certificate is accompanied by the certification authority if the said authority is not known or is private to the SaaS service provider. According to a second embodiment, the configuration information includes a description of the implementation of the desired service by an absolute or relative URL list. "Absolute URL" is a URL that starts with the "http: //" protocol. "Relative URL" means a URL that does not start with the "http: //" protocol. The relative URL can be combined with the absolute URL of a "base" page to get the absolute URL of the resource to be named. The URLs in the URL list expose the functions of ΓΑΡΙ. According to one embodiment, the functions of ΓΑΡΙ are distributed on several application servers 6 and therefore several IP addresses. According to a third embodiment, the configuration information comprises a combination of the first embodiment (DNS name of the machine) and the second embodiment (list of URLs).

Selon une septième étape 1007, le client émet, par l’intermédiaire de son terminal (1.2) , une requête de connexion au service selon les informations de configuration reçues par le terminal (1,2).According to a seventh step 1007, the client sends, via its terminal (1.2), a connection request to the service according to the configuration information received by the terminal (1,2).

Selon une huitième étape 1008, le client émet, par l’intermédiaire de son terminal (1,2), une requête d’authentification à une interface de programmation (API) afin que le fournisseur de service SaaS s’assure que le client a bien souscris un abonnement pour accéder au service souhaité. La connexion au service se fait par l’intermédiaire de ladite API qui permet à l’application cliente d’établir des connexions réseau directement vers le service logiciel du serveur d’application 6 associé au client. Pour la requête d’authentification, les données d’identification sont les mêmes que celles utilisées pour la requête d’identification de la deuxième étape 1002. Selon un autre mode de réalisation, l’authentification est également réalisée lors de la deuxième étape 1002, le client obtenant alors un identifiant de session qu’il utilise lors de ses communications avec le serveur d’applications 6.According to an eighth step 1008, the client sends, via its terminal (1,2), an authentication request to a programming interface (API) so that the SaaS service provider ensures that the client has subscribed to a subscription to access the desired service. The connection to the service is via said API which allows the client application to establish network connections directly to the application server software service 6 associated with the client. For the authentication request, the identification data are the same as those used for the identification request of the second step 1002. According to another embodiment, the authentication is also performed during the second step 1002, the client then obtaining a session identifier that he uses during his communications with the application server 6.

Selon une neuvième étape 1009, une configuration d’une zone de configuration 220.1 du terminal (1,2) est réalisée. En effet, l’application cliente exécutée sur le terminal (1.2) réalise périodiquement la première étape 1001 d’émission d’une requête d’identification vers le serveur de configuration 9 de sorte ensuite à recevoir selon la sixième étape 1006 des informations de configuration associées au client. Lorsque l’application cliente du terminal (1,2) reçoit des informations de configuration à partir du serveur de configuration 9, lesdites informations de configurations sont stockées dans la zone de configuration 220.1 du terminal (1,2). La configuration de la zone de configuration 220.1 est réalisée périodiquement de sorte à détecter des changements (mises à jour) dans les informations de configuration. Ainsi, lorsqu’une zone de configuration 220.1 stocke les informations de configuration qui sont mises à jours périodiquement à partir des informations contenues dans la base de configuration 7, lorsqu’un client souhaite accéder à un service, l’application cliente utilise directement les informations de configuration stockées dans la zone de configuration 220.1 du terminal (1,2). Ainsi, l’application cliente ne passe plus par le serveur de configuration 9 mais par émet une requête à la zone de configuration 220.1 du terminal (1,2) qui l’aiguille directement vers les noms de domaine du serveur d’applications 6 à atteindre et/ou des URLs accompagnés ou non des certificats de sécurité.According to a ninth step 1009, a configuration of a configuration zone 220.1 of the terminal (1,2) is carried out. In fact, the client application executed on the terminal (1.2) periodically carries out the first step 1001 of sending an identification request to the configuration server 9, so that, according to the sixth step 1006, it receives configuration information. associated with the customer. When the client application of the terminal (1,2) receives configuration information from the configuration server 9, said configuration information is stored in the configuration area 220.1 of the terminal (1,2). The configuration area configuration 220.1 is periodically configured to detect changes (updates) in the configuration information. Thus, when a configuration area 220.1 stores the configuration information that is updated periodically from the information in the configuration database 7, when a customer wants to access a service, the client application directly uses the information configuration stored in the configuration area 220.1 of the terminal (1,2). Thus, the client application does not pass through the configuration server 9 but sends a request to the configuration area 220.1 of the terminal (1,2) which directs it directly to the domain names of the application server 6 to reach and / or URLs with or without security certificates.

Ainsi, grâce à la solution selon l’invention, un client souhaitant accéder à un service SaaS est correctement routé vers la ou les serveurs d’application 6 qui respecte(nt), si elles existent, les exigences dudit client. Même en cas de démutualisation ou de répartition de charge par le fournisseur du service Saas selon la disponibilité/l’utilisation des serveurs d’applications 6, le client est toujours routé vers le service respectant ses exigences.Thus, thanks to the solution according to the invention, a client wishing to access a SaaS service is correctly routed to the application server or servers 6 which respect (s), if they exist, the requirements of said client. Even in case of demutualization or load balancing by the SaaS service provider depending on the availability / use of the application servers 6, the client is always routed to the service meeting its requirements.

Ainsi, grâce à la solution de l’invention, les serveurs d’applications 6 hébergeant un ou plusieurs service(s) souhaité(s) par le client sont attribuées en fonction des charges et des contraintes d’hébergement mutualisés ou non et en fonction de la zone géographique préférentielle dans laquelle le serveur d’applications 6 est hébergé.Thus, thanks to the solution of the invention, the application servers 6 hosting one or more service (s) desired (s) by the customer are allocated according to the charges and shared hosting constraints or not and depending of the preferential geographical area in which the application server 6 is hosted.

Claims (6)

REVENDICATIONS 1. Procédé d’accès à un service par un client utilisant un terminal (1, 2) via une interface de programmation (API) (4) multi-clients, ladite API (4) étant mise en œuvre par un serveur d’application (6), ledit procédé étant caractérisé en ce qu’il comporte les étapes suivantes : - une émission, par le terminal (1, 2), d’une requête d’identification (1001) comportant un identifiant du client vers un serveur de configuration (9), - une réception d’informations de configuration (1006) en réponse à la requête d’identification, lesdites informations de configuration étant déterminées à partir de l’identifiant du client, - une émission par le terminal (1, 2), d’une requête de connexion (1007) au service selon les informations de configuration reçues par le terminal (1,2).1. Method of accessing a service by a client using a terminal (1, 2) via a multi-client programming interface (API) (4), said API (4) being implemented by an application server (6), said method being characterized in that it comprises the following steps: a transmission, by the terminal (1, 2), of an identification request (1001) comprising an identifier of the client to a server of configuration (9), - reception of configuration information (1006) in response to the identification request, said configuration information being determined from the client identifier, - transmission by the terminal (1, 2 ), a connection request (1007) to the service according to the configuration information received by the terminal (1,2). 2. Procédé d’accès selon la revendication 1 caractérise en ce qu’il comporte une étape d’émission, par le terminal (1,2), d’une requête d’authentification (1008) au serveur d’application (6) pour l’accès au service.2. Access method according to claim 1 characterized in that it comprises a step of transmission, by the terminal (1,2), an authentication request (1008) to the application server (6) for access to the service. 3. Procédé d’accès selon l’une des revendications 1 à 2 caractérisé en ce que les informations de configuration comportent un identifiant du serveur d’application (6).3. Access method according to one of claims 1 to 2 characterized in that the configuration information comprises an identifier of the application server (6). 4. Procédé d’accès selon l’une des revendications 1 à 3 caractérisé en ce que les informations de configuration comportent une description de la mise en œuvre du service par une liste d’URL absolue ou relative.4. Access method according to one of claims 1 to 3 characterized in that the configuration information includes a description of the implementation of the service by an absolute or relative URL list. 5. Procédé d’accès selon l’une des revendications 1 à 4 caractérisé en que les informations de configuration comportent un certificat de sécurité.5. Access method according to one of claims 1 to 4 characterized in that the configuration information comprises a security certificate. 6. Procédé d’accès selon l’une quelconque des revendications 1 à 5 caractérisé en ce que les informations de configuration sont au format JSON ou XML.6. Access method according to any one of claims 1 to 5 characterized in that the configuration information is in JSON or XML format.
FR1560567A 2015-11-04 2015-11-04 METHOD OF ACCESSING A CUSTOMER SERVICE USING A TERMINAL VIA A MULTI-CLIENT PROGRAMMING INTERFACE, METHOD OF CONFIGURING A CLIENT APPLICATION FOR ACCESS TO SERVICE Withdrawn FR3043294A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1560567A FR3043294A1 (en) 2015-11-04 2015-11-04 METHOD OF ACCESSING A CUSTOMER SERVICE USING A TERMINAL VIA A MULTI-CLIENT PROGRAMMING INTERFACE, METHOD OF CONFIGURING A CLIENT APPLICATION FOR ACCESS TO SERVICE
PCT/EP2016/076693 WO2017077049A1 (en) 2015-11-04 2016-11-04 Method for accessing a service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1560567A FR3043294A1 (en) 2015-11-04 2015-11-04 METHOD OF ACCESSING A CUSTOMER SERVICE USING A TERMINAL VIA A MULTI-CLIENT PROGRAMMING INTERFACE, METHOD OF CONFIGURING A CLIENT APPLICATION FOR ACCESS TO SERVICE

Publications (1)

Publication Number Publication Date
FR3043294A1 true FR3043294A1 (en) 2017-05-05

Family

ID=55542775

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1560567A Withdrawn FR3043294A1 (en) 2015-11-04 2015-11-04 METHOD OF ACCESSING A CUSTOMER SERVICE USING A TERMINAL VIA A MULTI-CLIENT PROGRAMMING INTERFACE, METHOD OF CONFIGURING A CLIENT APPLICATION FOR ACCESS TO SERVICE

Country Status (2)

Country Link
FR (1) FR3043294A1 (en)
WO (1) WO2017077049A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054625A1 (en) * 2010-08-30 2012-03-01 Vmware, Inc. Unified workspace for thin, remote, and saas applications
US20120110156A1 (en) * 2010-11-03 2012-05-03 International Business Machines Corporation Configured Management-as-a-Service Connect Process Based on Tenant Requirements
US20150120818A1 (en) * 2013-10-24 2015-04-30 Samsung Sds Co., Ltd. Multi-tenant saas platform and method for automated deployment of connector application, and tenant and service provider using virtual machine

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458733B2 (en) 2008-03-12 2013-06-04 Microsoft Corporation Global API deployment and routing
US9363177B2 (en) 2012-05-29 2016-06-07 Openet Telecom Ltd. System and methods for communicating in a telecommunication network via independent key routing and proxies
US9003498B2 (en) 2013-03-15 2015-04-07 Vonage Network Llc Method and apparatus for routing application programming interface (API) calls

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054625A1 (en) * 2010-08-30 2012-03-01 Vmware, Inc. Unified workspace for thin, remote, and saas applications
US20120110156A1 (en) * 2010-11-03 2012-05-03 International Business Machines Corporation Configured Management-as-a-Service Connect Process Based on Tenant Requirements
US20150120818A1 (en) * 2013-10-24 2015-04-30 Samsung Sds Co., Ltd. Multi-tenant saas platform and method for automated deployment of connector application, and tenant and service provider using virtual machine

Also Published As

Publication number Publication date
WO2017077049A1 (en) 2017-05-11

Similar Documents

Publication Publication Date Title
EP3537689B1 (en) Using credentials stored in different directories to access a common endpoint
EP3228069B1 (en) Stack fusion architecture including distributed software clusters to enable software communication services
CN102255934B (en) Cloud service dissemination method and cloud service intermediary
EP1590931B1 (en) Method of presenting the status of a user using several communication devices
US20140133481A1 (en) Web Telephone with Integrated Voice and Data
EP2936782B1 (en) Method for treatment of access requests, and web browser
AU2012308935A1 (en) Marketplace for timely event data distribution
CN104506510A (en) Method and device for equipment authentication and authentication service system
EP3503508B1 (en) Method for processing requests and proxy server
US9654518B2 (en) Stack fusion software communication service
FR3011413A1 (en) METHOD FOR ACCESSING A USER TO AT LEAST ONE COMMUNICATION SERVICE PROVIDED THROUGH A COMPUTER CENTER OF A CLOUD COMPUTING SYSTEM
EP3568966B1 (en) Methods and devices for delegation of distribution of encrypted content
Bernstein et al. The IEEE Intercloud Testbed--Creating the Global Cloud of Clouds
EP2695363B1 (en) Technique for communication between networks for distributing digital contents
US10805376B2 (en) Communication server and method for selective use of real-time communication features
CN112202744A (en) Multi-system data communication method and device
US20080016113A1 (en) Network access tool bar systems and methods
EP2879328A1 (en) Method and server for reserving conference hardware resources
US10805403B2 (en) Communication server and method for selective use of real time communication features
WO2017077049A1 (en) Method for accessing a service
EP2446360B1 (en) Technique for determining a chain of basic functions associated with a service
FR2962620A1 (en) ACCESS TO A NODE NETWORK DISTRIBUTED OVER A COMMUNICATION ARCHITECTURE USING A TOPOLOGY SERVER WITH MULTICRITERIAL SELECTION
EP3149902B1 (en) Technique for obtaining a policy for routing requests emitted by a software module running on a client device
EP2446608B1 (en) Technique of access control by a client entity to a service
AU2017206220B2 (en) Interfaces to manage direct network peerings

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170505

ST Notification of lapse

Effective date: 20180731