• Aucun résultat trouvé

7.3 VisuCom, un langage dédié de modélisation

7.3.2 Une nouvelle approche

L'interconnexion d'un système de téléphonie avec un système d'informations n'est pas une chose aussi simple qu'il pourrait y paraître. Ce processus pose, en eet, un certain nombre de questions relatives aux types d'informations du SI, à leur disponibilité et à leur cohérence du point de vue du service. Le domaine de la téléphonie impose certaines contraintes, notamment de temps d'exécution et d'aboutissement d'appels, qui nécessitent d'être prises en compte dans ce processus d'interconnexion. Par exemple, une information non disponible au niveau du SI ne doit pas empêcher l'exécution du service. Cette section présente les grandes lignes de l'approche que nous proposons pour coupler les deux systèmes, tout en assurant les propriétés de la téléphonie. Ce procédé a fait l'objet d'un dépôt de brevet8, spéciant notamment le méta-modèle abstrayant le système d'informations de l'organisation, la méthode de construction et de mise à jour des données de ce modèle à partir de diverses sources du système, ainsi que certaines fonctionnalités du langage VisuCom.

Approche. L'approche consiste à décomposer un service de téléphonie en deux com-posants : un arbre décisionnel et un composant issu du SI d'une organisation appelé la base de contacts. La gure 7.6 illustre notre approche et montre le processus d'intercon-nexion du SI au système de téléphonie et les relations entre les diérents composants. Le premier composant, l'arbre décisionnel, constitue le processus décisionnel de traitement d'appels. Il est représenté sous la forme d'un arbre de décisions qui dénit explicitement des règles de traitement, et dont le but ultime est de traduire chaque appel en une déci-sion de routage. Ces décidéci-sions de routage sont en réalité des opérations de signalisation qui permettent de transférer un appel, de le rediriger ou encore de le rejeter. L'arbre de décisions est mis en ÷uvre grâce à un ensemble de tests qui permettent non seulement de router l'appel en fonction des caractéristiques de l'appel (e.g., l'appelant, l'appelé, ou la date), mais également selon son contexte, et plus précisément en fonction d'une donnée de l'organisation issue du système d'informations (e.g., importance de l'appe-lant ou date de son dernier appel). Ainsi, il devient possible d'adapter le processus de traitement d'appels aux besoins de l'organisation. Une caractéristique essentielle du

8Un brevet européen a été déposé le 7 août 2006, s'intitulant "Dispositif d'interconnexion d'un système d'informations d'organisation(s) à un serveur".

processus consiste donc à extraire ces données issues du système d'informations an de les rendre disponibles et les intégrer aisément au sein du processus de traitement d'appels. Pour cela, l'approche utilise un deuxième composant, la base de contacts, qui représente la vue du système d'informations par rapport au processus de traitement des appels téléphoniques. Le couplage de ces deux composants permet d'interconnecter le système de téléphonie au système d'informations d'une organisation. Cette association rend la programmation de services plus able puisque les données sur lesquelles reposent le service (les "paramètres" du service) sont nécessairement correctes. Notre approche dière en ce point de l'approche CPL où le service contient des paramètres saisis en dur par le développeur (e.g., l'adresse de redirection d'appel sip:secretary@company.com).

En abstrayant un modèle de données, cela nous permet de prémunir le système de télé-phonie des erreurs de programmation liées, par exemple, à la saisie de ces paramètres. Il nous est également possible de prendre en compte l'évolutivité de l'information. Consi-dérons par exemple que l'adresse de la secrétaire soit modiée ; dans l'approche CPL, il est nécessaire de répercuter la modication sur tous les services contenant l'adresse de la secrétaire. Dans notre approche, la modication est faite au niveau du SI une fois pour toute et donc au niveau de la base de contacts. Ce faisant, comme les services redirigent l'appel sur l'adresse de la secrétaire en interrogeant la base de contacts, le changement est automatiquement pris en compte. De plus, notre approche permet de raisonner sur le modèle de données de la base de contacts et ainsi assurer la cohérence des informations issues de la base de contacts avec la logique de l'arbre décisionnel.

Système d’Informations

Pilotes

Base de contacts

P1 P2 P3

Service

Arbre décisionnel

Fig. 7.6 Processus d'interconnexion du SI au système de téléphonie

La base de contacts : une abstraction du SI. An de pouvoir être générique et réutilisable quelle que soit l'organisation, l'approche doit être indépendante de la ou des sources d'informations du SI et des technologies associées. En eet, selon l'organisation considérée, l'information peut apparaître sous diérents formats (propriétaires ou non), avec des représentations hétérogènes (e.g., code binaire, texte ou diagramme), et les sources peuvent être multiples (e.g., tableur, base de données ou service Web). Tout ceci complexie l'intégration des données émanant du système d'informations dans le processus de traitement d'appels. De plus, la téléphonie représentant une ressource in-dispensable pour la plupart des organisations, la solution doit être pérenne. Ainsi, si une décision porte sur une donnée du système d'informations, celle-ci doit être accessible à tout moment par le processus de traitements d'appels. Il est alors indispensable d'ex-traire ces données sans reposer directement sur le SI. En eet, le crash possible d'une source d'informations du SI n'a de ce fait aucun eet sur le processus de traitements d'appels puisque l'information est désormais retenue dans la base de contacts. De plus, il peut arriver que l'information compréhensible par le processus de traitement d'appels ne soit pas présente en tant que telle dans le système d'informations. En eet, les don-nées brutes extraites du système d'informations peuvent nécessiter des transformations spéciques (e.g., agrégation, ltrage ou transformation) an d'être adaptées aux besoins du processus de traitement d'appels téléphoniques. Pour répondre à ces problèmes, une caractéristique essentielle de la démarche consiste à abstraire les données extraites du SI an de les adapter au domaine de la téléphonie. Ces données sont alors rassemblées au sein de la base de contacts. An de faciliter son utilisation, elle manipule des abstractions spéciques en introduisant entre autres la notion de contact ou de groupe de contacts.

Un contact peut être une entité physique (personne) ou virtuelle (e.g., organisation, ad-ministration, groupe de personnes). Les éléments constitutifs d'un contact peuvent être répertoriés selon trois grandes catégories comme illustrés à la gure 7.7. La première regroupe les informations concernant le contact, qui ne constituent qu'une facilité d'uti-lisation ou de rendu, par exemple au niveau d'une interface graphique. Cela concerne des informations comme le nom du contact, son prénom ou une photo. Le deuxième élément est son identication. Ce type d'information est primordial pour le modèle de calcul de VisuCom puisqu'il permet d'identier le contact de manière unique dans la base de contacts. Cela peut correspondre à un numéro de téléphone mobile, un identi-ant SIP ou encore un numéro de sécurité sociale. Enn, le dernier élément concerne les paramètres du contact. Ce type d'information est également primordial pour le mo-dèle de calcul de VisuCom puisqu'il correspond à des caractéristiques spéciques liées à l'organisation et à la profession de l'utilisateur. Ces paramètres sont découpés en deux sous-catégories que sont les groupes et les attributs. La première sous-catégorie permet de mettre en place une catégorisation des contacts (appartenance à un groupe), alors que les attributs permettent une catégorisation des appels (e.g., notication d'un appel prioritaire, interrogation d'un crédit hotline ou association à un numéro de contrat).

Pilotes. De la même manière qu'un pilote de périphérique est une couche intermé-diaire permettant à un programme d'interagir avec un périphérique, la base de contacts est alimentée par l'intermédiaire de pilotes (gure 7.6). Ces derniers représentent une

Nom : Doe Prénom : John Photo

Identifiant SIP : sip:doe@society.org

Groupes Client VIP Attributs

Crédit Hotline : 10

Numéro de contrat: N2010_404 Responsable: sip:bob@company.com

Informations sur le contact

Identifiant

Paramètres du contact Contact

Fig. 7.7 Exemple d'informations concernant un contact

interface avec un ou plusieurs composants du système d'informations. Un pilote est une application permettant d'extraire des informations d'une source de données et de les adapter au modèle de la base de contacts (contact, groupe et attribut). Il peut s'agir, par exemple, de pilotes pour des feuilles de calcul Excel, des bases de données Oracle ou encore des annuaires LDAP (Lightweight Directory Access Protocol). Le rôle d'un pilote est d'extraire un ensemble d'informations sélectionnées, à une fréquence déterminée, et de mettre à jour la base de contacts en conséquence. Le pilote doit donc non seulement gérer l'hétérogénéité des sources et des formats de données du SI, mais aussi introduire de la logique an d'adapter l'information à notre modèle. Pour cela, un pilote possède une architecture en couches et se décompose selon deux niveaux ; le premier fait gure d'accesseur technique, permettant d'accèder à l'information en fonction de la technolo-gie employée au niveau du SI. La seconde couche représente, quant à elle, une couche d'abstraction fonctionnelle, mettant en ÷uvre une logique qui adapte l'information issue du SI au formalisme de la base de contacts.

Contrairement aux solutions existantes, l'approche proposée ici met en ÷uvre un nouveau modèle de traitement d'appels téléphoniques permettant de prendre une déci-sion en fonction des données issues du système d'informations d'une organisation, via la base de contacts. Ainsi, il devient possible d'automatiser des décisions de routage en fonction du métier de l'organisation et de la situation actuelle, sans intervention humaine. De plus, les services de traitements d'appels mis en ÷uvre permettent non seulement de tenir compte des données du SI, mais également des modications de la valeur de ces informations en fonction de l'évolution de l'organisation. De ce fait, l'approche présente de nombreux avantages en termes d'intégration automatique des données au processus de traitement d'appels, d'évolutivité du système de traitement d'appels en fonction de la dynamique de l'organisation, et donc de richesse des services créés.