Description des composants

In document L UNIVERSITÉ BORDEAUX I (Page 118-123)

CHAPITRE

8.2 Description des composants

106

Chapitre 8. Impl´ementation dans un environnement IP de nouvelle g´en´eration

8.2. Description des composants 107

source SIP Express Router (SER). Il a ´et´e d´evelopp´e par l’institut Fraunhofer FO-KUS en Allemagne et les premi`eres versions sont apparues `a partir de 2006 et sont destin´ees `a des plateformes du monde Linux.

Cette solution fournit toutes les fonctions ´el´ementaires d’un cœur de r´eseau IMS, `a savoir : P-CSCF, I-CSCF et S-CSCF. Il fournit ´egalement la fonction HSS permettant de provisionner un certain nombre d’utilisateurs et de leur associer un profil de service n´ecessaire `a la mise en œuvre de l’invocation de services.

OpenIMS nous apporte les fonctions de contrˆole ´el´ementaires d’un r´eseau IMS permettant d’enregistrer des utilisateurs et d’´etablir des appels. Celui-ci fonctionne cependant de mani`ere ouverte et l’ensemble des messages ´echang´es sont tout autant visibles que si les fonctions avaient ´et´e r´eparties sur des serveurs diff´erents. Il a fallut cependant, afin de permettre d’´etablir des appels avec des clients distants, configurer chacune des fonctions de fa¸con sp´ecifique pour que les messages puissent ˆetre rout´es correctement. Ainsi l’ensemble des fonctions sont en ´ecoute sur l’interface syst`eme externe et non pas uniquement sur le «localhost»comme cela aurait pu ˆetre le cas si les clients avaient ´et´e locaux eux-aussi.

De la mˆeme fa¸con, le HSS doit ˆetre configur´e afin de permettre un acc`es externe par un AS via l’interfaceSh (voir la figure8.1).

8.2.2 Les terminaux

Les terminaux actuellement les plus int´eressants pour ˆetre utilis´es dans l’envi-ronnement Open IMS sont les suivants :

UCT IMS Client [UCTIMSClient 2006] Ce client IMS a ´et´e con¸cu pour ˆetre uti-lis´e en conjonction avec Open IMS. C’est donc une solution int´eressante pour compl´eter notre r´eseau cœur car elle a ´et´e, de ce fait, test´ee et valid´ee avec ce dernier. Le client UCT a ´et´e d´evelopp´e par un groupe de recherche de l’Universit´e du Cap en Afrique du Sud. La derni`ere version pr´esente encore quelques dysfonctionnements, notamment dans la gestion des informations de pr´esence, mais permet une ´emulation tr`es correcte des caract´eristiques principales d’un terminal IMS. Seule une version Linux existe.

Mercuro [Mercuro 2008] n’est pas un produit open source mais une des toutes premi`eres solutions commerciales d’un client IMS. Ses caract´eristiques sont

108

Chapitre 8. Impl´ementation dans un environnement IP de nouvelle g´en´eration

plutˆot riches incluant notament une gestion de serveurs XDMS (XCAP Do-cument Management Server) d`es sa version gratuite d’´evaluation (version Bronze).

Monster [Monster 2009] n’est pas, `a proprement parl´e, un simple client mais plu-tˆot un r´eel framework permettant de d´evelopper des applications clients des-tin´ees au monde mobile (IMS en autre). Il a ´egalement ´et´e d´evelopp´e par l’institut Fraunhofer FOKUS. J’ai fait un usage tr`es restreint de cette solution qui adresse un grand nombre d’environnements (Windows, Linux, Android, ect.).

Par la suite, nous avons retenu le terminalUCT IMS Client, puisqu’il peut ˆetre compil´e avec Linux, et est plus simple `a configurer.

8.2.3 La plate-forme de d´ eveloppement

8.2.3.1 L’IDE Eclipse

Le but de cette plateforme ´etant de pouvoir d´evelopper et tester de nouveaux services, il est, de ce fait, n´ecessaire de pouvoir b´en´eficier d’un environnement cou-vrant ces deux fonctionnalit´es et s’int´egrant parfaitement `a notre environnement.

La plate-forme Eclipse remplit ce rˆole et grˆace `a ses nombreux plug-ins apporte une r´eelle valeur ajout´ee dans la simplification du processus de d´eveloppement.

8.2.3.2 L’environnement Java EE

J2EE (Java 2 Enterprise Edition) est une norme propos´ee par la soci´et´e Sun, port´ee par un consortium de soci´et´es internationales, visant `a d´efinir un standard de d´eveloppement d’applications d’entreprises multi-niveaux, bas´ees sur des com-posants.

Une plateforme J2EE est compos´ee de deux parties essentielles :

– Un ensemble de sp´ecifications pour une infrastructure dans laquelle s’ex´ e-cutent les composants ´ecrits en Java : un tel environnement se nomme serveur d’application.

– Un ensemble d’API qui peut ˆetre obtenu et utilis´e s´epar´ement. Pour ˆetre utilis´ees, certaines n´ecessitent une impl´ementation de la part d’un fournisseur

8.2. Description des composants 109

tiers.

Application Multi-niveaux

L’architecture d’une application entreprise se d´ecoupe id´ealement en au moins trois tiers :

– La partie cliente : c’est la partie qui permet le dialogue avec l’utilisateur. Le client communique avec l’application par le biais d’un Navigateur ou d’une Applet ou d’une autre application Java locale.

– La partie m´etier : C’est la partie qui repr´esente le savoir-faire, l’aspect fonc-tionnel de l’application. Elle met en œuvre des m´ecanismes pour garantir l’int´egrit´e du syst`eme d’information qu’elle expose au travers d’interfaces.

Elle joue le rˆole d’interface entre des clients potentiels (en g´en´eral des IHM) et la partie donn´ees.

– La partie donn´ees : c’est la partie qui stocke les donn´ees. Elle repr´esente le cœur de m´etier de l’application. Les m´ecanismes mis en œuvre garantissent que les donn´ees sont toujours pr´eserv´ees, disponibles et exactes.

L’environnement d’ex´ecution des applications J2EE

J2EE propose des sp´ecifications pour une infrastructure dans laquelle s’ex´ e-cutent les composants (Servlet, JSP, EJB). Ces sp´ecifications d´ecrivent les rˆoles de chaque ´el´ement et pr´ecisent un ensemble d’interfaces pour permettre `a chacun de ces ´el´ements de communiquer.

Pour ex´ecuter ces composants de natures diff´erentes, J2EE d´efini des conteneurs pour chacun de ces composants. Il d´efinit pour chaque composant des interfaces qui leur permettront de dialoguer avec les composants lors de leur ex´ecution.

Les conteneurs permettent aux applications d’acc´eder aux ressources et aux services en utilisant les API. Les appels aux composants se font par des clients via les conteneurs. Les clients n’acc`edent pas directement aux composants mais sollicitent le conteneur pour les utiliser. Pour d´eployer une application dans un conteneur, il faut lui fournir deux ´el´ements :

– l’application avec tous les composants (classes compil´ees, ressources ...) re-group´ee dans une archive ou module. Chaque conteneur poss`ede son propre format d’archive (War, Sar, Jar).

110

Chapitre 8. Impl´ementation dans un environnement IP de nouvelle g´en´eration

– un fichier descripteur de d´eploiement contenu dans le module qui pr´ecise au conteneur des options pour ex´ecuter l’application.

8.2.3.3 Les SIP servlets Mobicents

Sip Servlets : Les servlets sont des applications Java fonctionnant du cˆot´e ser-veur. Les servlets permettent de g´erer des requˆetes HTTP et de fournir au client une r´eponse HTTP dynamique (donc de cr´eer des pages web dyna-miques). Les servlets s’ex´ecutent dans un moteur de servlet utilis´e pour ´ eta-blir le lien entre la servlet et le serveur web. Ainsi le programmeur n’a pas

`

a se soucier de d´etails techniques tels que la connexion au r´eseau, la mise en forme de la r´eponse http, etc.

Les Servlets SIP sont une transposition des Servlets HTTP, bas´ees sur le langage Java. Elles sont fonctionnellement tr`es riches et permettent le d´ eve-loppement de services ´evolu´es.

Mobicents : Mobicents est un serveur hautement ´evolutif d’applications ´ev´ ene-mentielles, ainsi que la premi`ere et la seule plate-forme open source certifi´ee JSLEE ; cette technologie vient en compl´ement de J2EE pour permettre la convergence voix, vid´eo, messagerie instantan´ee et donn´ees dans des applica-tions de nouvelle g´en´eration.

Sip Servlets Mobicents : La solution SIP servlets de Mobicents est une plate-forme ouverte permettant de d´evelopper et d´eployer des applications SIP portables et des services Web Java EE convergents. Il s’agit de la premi`ere impl´ementation open source certifi´ee conforme de la Servlet SIP 1.1 (JSR 289 Spec). La plate-forme Mobicents peut utiliser `a la fois les conteneurs JBoss et Tomcat.

Mobicents Diameter : Mobicents propose une stack Diameter permettant de compl´eter notre environnement afin de permettre `a notre AS de pouvoir s’in-terfacer avec le HSS (InterfaceSh). Celle-ci est fournie pr´e-int´egr´ee avec l’en-vironnement JBoss et SIP Servlets. Cette interface nous permettra de d´ eve-lopper des services n´ecessitant un acc`es `a la base de donn´ees HSS.

Le serveur JBoss : JBoss est un serveur d’application Java du monde open source permettant d’ex´ecuter des applications d´evelopp´ees avec des

In document L UNIVERSITÉ BORDEAUX I (Page 118-123)