WO2017077049A1 - Method for accessing a service - Google Patents

Method for accessing a service Download PDF

Info

Publication number
WO2017077049A1
WO2017077049A1 PCT/EP2016/076693 EP2016076693W WO2017077049A1 WO 2017077049 A1 WO2017077049 A1 WO 2017077049A1 EP 2016076693 W EP2016076693 W EP 2016076693W WO 2017077049 A1 WO2017077049 A1 WO 2017077049A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
configuration information
configuration
terminal
service
Prior art date
Application number
PCT/EP2016/076693
Other languages
French (fr)
Inventor
Christophe Guionneau
Original Assignee
Evidian
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 filed Critical Evidian
Publication of WO2017077049A1 publication Critical patent/WO2017077049A1/en

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

The invention relates to a method for a client to access a service using a terminal via a multi-client programming interface (API), said API being implemented by an application server, said method being characterised in that it comprises the following steps: the terminal sends an identification request (1001), comprising a client identifier, to a configuration server; configuration information (1006) is received in response to the identification request, said configuration information being determined from the client identifier; and the terminal sends a request to connect (1007) to the service according to the configuration information received by the terminal.

Description

PROCEDE D'ACCES A UN SERVICE  METHOD OF ACCESSING A SERVICE
DOMAINE TECHNIQUE DE L'INVENTION TECHNICAL 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". 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 ANTERIEURE 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é. STATE OF THE PRIOR ART "Software as a service" (SaaS) is a branch of the "cloud computing" (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. 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 costs. operation and maintenance. SaaS services increase their hardware capabilities based on customer demand and consumption.
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. Dans les API de type Representational State Transfer (REST), les entêtesAccess 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. In Representational State Transfer (REST) type APIs, the headers
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. HTTP is 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 service holder. 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. With reference to FIG. 1, a client (not shown) uses a terminal, for example a computer 1, a mobile phone 2, a tablet or an object connected 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, by means of the client application executed on its terminal (1, 2), by an API 4 exposed by the service provider by 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. 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. 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. 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 may have multiple 8 server hosting centers applications 6: several data centers 8 physically isolated to ensure mechanisms of "Disaster Recovery", that is to say activity recovery. 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 switching from a shared mode of the application server to a non-shared mode requires a manual reconfiguration of the 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'INVENTION GENERAL 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 : 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:
- une émission, par le terminal, d'une requête d'identification comportant un identifiant du client vers un serveur de configuration,  a transmission, by the terminal, of an identification request comprising an identifier of the client to a configuration server,
- 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,  a reception of configuration information in response to the identification request, said configuration information being determined from the identifier of the client,
- une émission d'une requête de connexion au service selon les informations de configuration reçues par le terminal. On entend par « client », un utilisateur d'un service Saas ayant souscrit un abonnement (payant ou gratuit) audit service.  a transmission of a connection request to the service according to the configuration information received by the terminal. 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. 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. 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. 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.
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é. 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 : In addition to the main features which 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:
- 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 ; the access method comprises a step of sending, by the terminal, an authentication request to the application server for access to the service;
- les informations de configuration comportent un identifiant du serveur d'application ; the configuration information includes an identifier of the application server;
- les informations de configuration comportent une description de la mise en œuvre du service par une liste d'URL absolue ou relative ;  the configuration information includes a description of the implementation of the service by an absolute or relative URL list;
- les informations de configuration comportent un certificat de sécurité ;  - the configuration information includes a security certificate;
- 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 ; - 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;
- 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 ;  the method includes a step of configuring a configuration zone, said configuration being according to the configuration information contained in the configuration database;
- le terminal interagit avec l'API via une application web ou une application cliente native.  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 œuvre par un terminal, un serveur de configuration mettant en œuvre les étapes suivantes : 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:
- une réception d'une requête d'identification du terminal, ladite requête d'identification comportant une information d'identification du client, a reception of an identification request from the terminal, said identification request comprising a customer identification information,
- 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, a transmission of a request for extracting configuration information according to the identification of the client, said configuration information comprising an identifier of an application server,
- 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,  a reception of the configuration information associated with the client, said configuration information having been extracted from a configuration database associated with the identification of the client,
- une émission des informations de configuration au client.  - issuing 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. 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. 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. . 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, BRIEF DESCRIPTION OF THE FIGURES Other characteristics 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 of a method of access to a service according to the prior art,
- à la figure 2, une seconde infrastructure selon un mode de réalisation permettant la mise en œuvre de l'invention,  in FIG. 2, a second infrastructure according to an embodiment allowing the implementation of the invention,
- à la figure 3, un dispositif serveur,  in FIG. 3, a server device,
- à 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.  in FIG. 4, 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.
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. The invention and its various applications will be better understood by reading the following description and examining the figures that accompany it.
DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE REALISATION DE L'INVENTION DETAILED 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. Unless otherwise specified, the same element appearing in different figures has a unique reference.
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. 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" means 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 : With reference to FIG. 2, the second IFR2 infrastructure implementing steps of the method according to the invention comprises:
- un terminal (1 , 2),  a terminal (1, 2),
- un serveur de configuration 9,  a configuration server 9,
- un serveur d'application 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. an application server 6. 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 : As shown in FIG. 3, the server device 100 comprises:
- un microprocesseur 1 10,  a microprocessor 1 10,
- 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) ;  storage means 120, for example a hard disk, whether local or remote, whether simple or in a grid (for example 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.  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 1 10 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 1 10 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 area120.1 in Figure 3. When the server device 100 is the configuration server 9, the database area 120.1 corresponds to a configuration base 7. The configuration base 7 includes 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 : 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:
- un microprocesseur 210,  a microprocessor 210,
- des moyens de stockage 220,  storage means 220,
- une interface 230 de communication, par exemple une carte de communication sans fil,  a communication interface 230, for example a wireless communication card,
- un écran 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.  a screen 240. 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. 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. 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. 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. 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. 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 . 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 a second step 1002, the configuration server 9 receives the identification request sent by the client according to the first step 1001. 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 carried out by means of a combination of the client-specific data and the IP address associated with the terminal (1, 2) of said client, 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. Selon une quatrième étape 1004, le serveur de configuration 9 reçoit les informations de configuration associées à l'identifiant du client. Selon une cinquième étape 1005, le serveur de configuration 9 émet les informations de configuration au 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. In a fourth step 1004, the configuration server 9 receives the configuration information associated with the client identifier. 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 URLs du 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 l'API 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 the API are distributed over 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é. 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. According to a ninth step 1009, a configuration of a configuration zone 220.1 of the terminal (1, 2) is performed. 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 information configuration associated with the client. 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 no longer passes 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. 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

REVENDICATIONS
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 : 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:
- 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), - a transmission, by the terminal (1, 2), of an identification request (1001) comprising a client identifier to a configuration server (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, - a reception of configuration information (1006) in response to the identification request, said configuration information being determined from the client identifier,
- 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). - a transmission by the terminal (1, 2), of a connection request (1007) to the service according to the configuration information received by the terminal (1, 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. Access method according to claim 1 characterized in that it comprises a step of transmitting, by the terminal (1, 2), an authentication request (1008) to the application server (6) for access to the service.
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 Access method according to one of claims 1 to 2 characterized in that the configuration information includes an identifier of the application server
(6). (6).
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. 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 a list of absolute or relative URLs.
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é. Access method according to one of claims 1 to 4 characterized in that the configuration information includes a security certificate.
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 etc. Access method according to any one of claims 1 to 5 characterized in that the configuration information is in JSON or XML etc. format.
7. Procédé d'accès selon l'une quelconque des revendications 1 à 6 caractérisé en ce qu'il comporte une étape de configuration (1000) d'une base de configuration (7) contenant les informations de configuration associées au client. 7. Access method according to any one of claims 1 to 6 characterized in that it comprises a step of configuring (1000) a configuration base (7) containing the configuration information associated with the client.
8. Procédé d'accès selon la revendication 7 caractérisé en ce qu'il comporte une étape de configuration (1009) d'une zone de configuration (220.1 ), ladite configuration étant selon les informations de configuration contenues dans la base de configuration (7). 8. Access method according to claim 7 characterized in that it comprises a step of configuring (1009) a configuration zone (220.1), said configuration being according to the configuration information contained in the configuration base (7). ).
9. Procédé d'accès selon l'une quelconque des revendications 1 à 8 caractérisé en ce que le terminal (1 , 2) interagit avec l'API (4) via une application web ou une application cliente native. 9. Access method according to any one of claims 1 to 8 characterized in that the terminal (1, 2) interacts with the API (4) via a web application or a native client application.
10. Procédé de configuration d'une application cliente mise en œuvre par un terminal (1 , 2), ledit procédé étant caractérisé en ce qu'un serveur de configuration (9) met en œuvre les étapes suivantes : 10. Method for configuring a client application implemented by a terminal (1, 2), said method being characterized in that a configuration server (9) implements the following steps:
- une réception d'une requête d'identification (1002) du terminal (1 , 2), ladite requête d'identification comportant une information d'identification du client, - une émission d'une requête d'extraction (1003) d'informations de configuration selon l'identification du client, lesdites informations de configuration comportant un identifiant d'un serveur d'application(6), - a reception of an identification request (1002) from the terminal (1, 2), said identification request comprising client identification information, - a transmission of an extraction request (1003) of configuration information according to the identification of the client, said configuration information comprising an identifier of an application server (6),
- une réception des informations de configuration (1004) associées au client, lesdites informations de configuration ayant étant extraites d'une base de configuration (7) associée à l'identification du client, - a reception of the configuration information (1004) associated with the client, said configuration information having been extracted from a configuration base (7) associated with the identification of the client,
- une émission des informations de configuration (1 005) au client. - sending configuration information (1005) to the client.
1 1 . 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 l'une des revendications 1 à 9. 1 1 . Computer-readable recording medium on which a computer program comprising program code instructions for carrying out the steps of the method according to one of Claims 1 to 9 is recorded.
12. 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 du procédé selon la revendication 10. 12. Computer-readable recording medium on which is recorded a computer program comprising program code instructions for carrying out the method according to claim 10.
PCT/EP2016/076693 2015-11-04 2016-11-04 Method for accessing a service WO2017077049A1 (en)

Applications Claiming Priority (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
FR1560567 2015-11-04

Publications (1)

Publication Number Publication Date
WO2017077049A1 true WO2017077049A1 (en) 2017-05-11

Family

ID=55542775

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/076693 WO2017077049A1 (en) 2015-11-04 2016-11-04 Method for accessing a service

Country Status (2)

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

Citations (6)

* 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
US20130254266A1 (en) 2008-03-12 2013-09-26 Microsoft Corporation Global api deployment and routing
US20130325986A1 (en) 2012-05-29 2013-12-05 Openet Telecom Ltd. System and Methods for Communicating in a Telecommunication Network via Independent Key Routing and Proxies
US20140282968A1 (en) 2013-03-15 2014-09-18 Vonage Network Llc Method for apparatus for routing application programming interface (api) calls
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130254266A1 (en) 2008-03-12 2013-09-26 Microsoft Corporation Global api deployment and routing
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
US20130325986A1 (en) 2012-05-29 2013-12-05 Openet Telecom Ltd. System and Methods for Communicating in a Telecommunication Network via Independent Key Routing and Proxies
US20140282968A1 (en) 2013-03-15 2014-09-18 Vonage Network Llc Method for apparatus for routing application programming interface (api) calls
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
FR3043294A1 (en) 2017-05-05

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
US9521053B1 (en) Providing diagnostic metrics for virtual connections over physical connections into a provider network
CA2847749A1 (en) Marketplace for timely event data distribution
CN104506510A (en) Method and device for equipment authentication and authentication service system
CN104145261A (en) Identity provider discovery service using a publish-subscribe model
EP3503508B1 (en) Method for processing requests and proxy server
EP2936782A1 (en) Method for processing access requests and web browser
WO2013087894A1 (en) Software bus
EP2695363B1 (en) Technique for communication between networks for distributing digital contents
WO2016090202A1 (en) Stack fusion software communication service
Bernstein et al. The IEEE Intercloud Testbed--Creating the Global Cloud of Clouds
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
US10805376B2 (en) Communication server and method for selective use of real-time communication features
CN112202744A (en) Multi-system data communication method and device
EP3182671B1 (en) Method and apparatus for a messaging service
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
WO2012004513A1 (en) Access to a network of nodes distributed over a communication architecture, using a topology server with multi-criteria selection

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16809292

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16809292

Country of ref document: EP

Kind code of ref document: A1