WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception d'un service vidéo pour terminaux portables de type smartphone

( Télécharger le fichier original )
par Rodrigue Monjouo Mounjouopou
Ecole Supérieure Multinationale de Télécommunication - Licence Professionnelle / Ingénieur des Travaux de Télécomunication 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

PARTIE 3 : Mise en Place du Système / Implémentation de la

Solution

Chapitre 5 : Choix des Outils et des Technologies d'Implémentation

V.1 Les plateformes applicatives

Une plate-forme applicative se présente sous la forme d'une suite logicielle comprenant l'ensemble des briques nécessaires au déploiement d'une application client/serveur de haut niveau à savoir : une application ou plusieurs applications serveur accessibles - généralement en mode Web - depuis des postes de travail ou des terminaux Internet. A chaque élément de la suite son rôle :

· Le serveur d'applications

Gère le noyau de l'application avec pour objectif central de répondre aux requêtes des utilisateurs s'y connectant.

· Le serveur de données

Stocke l'ensemble des données métier et techniques nécessaires au bon fonctionnement de l'application.

· L'infrastructure de portail

A pour but d'orchestrer les droits d'utilisation de l'application et de gérer la personnalisation des données et des accès fonctionnels.

· Le serveur d'intégration

Prend en charge les éventuels flux de données ou composants à prendre en compte, en provenance d'autres serveurs d'applications ou systèmes.

Dans ce domaine, deux architectures sophistiquées mènent une rude bataille. Il s'agit de J2EE (pour Java 2 Enterprise Edition) et .Net. Cependant la combinaison Apache/Mysql/PHP, adossée à un système d'exploitation, brille aussi de mille feux.

1. L'architecture J2EE

Lancé par Sun en 1998, autour du langage Java, il s'articule autour d'une infrastructure standardisée, couvrant les principales couches d'une plate-forme applicative (serveur d'applications, infrastructure de portail et serveur d'intégration), ainsi que les liens avec la base de données (ou persistance). J2EE est aujourd'hui implémenté par les principaux éditeurs de serveurs d'applications du marché, parmi lesquels on compte IBM, Oracle et BEA.

J2EE est portable d'un système d'exploitation à l'autre. Un point fort qui, dès l'origine, a été
mis en avant par Sun comme l'une des principales valeurs ajoutées de son infrastructure.

Initialement, Java a d'ailleurs été élaboré pour répondre précisément à cet enjeu. Dans la même logique, J2EE facilite également le portage d'une application Java entre serveurs d'applications, pour peu que ces derniers répondent aux spécifications définies par Sun dans ce cadre.

2. La plateforme .Net

Le modèle .Net (lire DotNet) a été lancé par Microsoft en 2001 en réponse à J2EE. Cette plate-forme, rebaptisée en 2003 Windows Server System, s'adosse à la manière de J2EE à une logique de développement et de déploiement de nouvelle génération (orientée objets). Son principal point fort : aussi structurante et riche fonctionnellement que son équivalent Java, elle n'en offrirait pas moins une approche de travail beaucoup plus simple. Basé sur C#, .Net offre un autre avantage de taille sur J2EE : son noyau permet d'exécuter des applications développées dans n'importe quel langage, à partir du moment où Microsoft a décidé de le supporter. C'est notamment le cas avec le Python ou encore le Cobol.

Cependant c'est une plateforme trop propriétaire et ne tourne que sous Windows.

3. Les environnements basés sur AMP

PHP est un langage de scripts. Il est interprété, par conséquent il ne nécessite pas d'être compilé pour obtenir un objet, un exécutable avant d'être utilisable (comme en C par exemple).

PHP est un module supporté par le serveur web frontal Apache, le plus répandu dans le monde (plus de 70% des serveurs web), il est donc développé pour être facilement utilisable via ce serveur et s'interface très facilement à MySQL.

Suivant le système d'exploitation utilisé qui assure l'attribution des ressources aux autres composants de la plateforme, on parle de LAMP, WAMP, MAMP, SAMP respectivement pour Linux, Windows, Macintosh, Solaris.

4. Interopérabilité J2EE, .NET, PHP

Offrir davantage d'ouverture et de compatibilité entre systèmes informatiques est depuis longtemps un secteur en constante évolution.

L'avènement des technologies Internet n'a fait qu'étendre ce vieux concept à des applications distribuées au delà d'un réseau d'entreprise. Le secteur économique des TIC (Technologies de l'Information et de la Communication) est bien évidemment à l'écoute de ce genre de problématique car fournir des services informatiques intégrables directement, et de manière transparente, au sein de SI existants intéresse nécessairement des acteurs, existants ou futurs, de ce marché.

Dans l'absolu, l'interopérabilité consiste à utiliser conjointement des fonctionnalités d'applications basées sur des technologies différentes (J2EE, .NET, PHP, C++, etc.). Une des motivations peut provenir de la volonté de consommer depuis ses applications des services métier gérés par des partenaires externes (opérateurs, établissements bancaires, etc.). C'est un dialogue bilatéral entre deux systèmes.

Le véritable objectif est alors de permettre cette interopérabilité le plus simplement possible, en abstrayant à la fois aux utilisateurs finaux et aux développeurs la complexité et la diversité des environnements.

L'administration technique du SI ne doit cependant pas s'en trouver complexifiée outre mesure. Il est important que les équipes responsables de cette administration puissent facilement prendre le contrôle et gérer ces solutions.

Prenons l'exemple de notre application de MTicketing qui a besoin de communiquer avec le SI de l'opérateur et, par moment, avec les établissements bancaires.

Au delà de simples appels de fonctions sur des applications de ces différents SI, des besoins de sécurité (paiement en ligne), de gestion transactionnelle (réservation) ainsi que de transmission de données « brutes » (le code barre en image) doivent être gérés. Et tout cela de la manière la plus transparente possible et avec la plus grande facilité d'administration !

V.2 Les plateformes de développement pour clients mobiles

La bataille que se livre actuellement Sun et Microsoft au sujet des environnements de développement a un impact direct sur les plateformes embarquées proposées de part et d'autre. D'un coté, Sun propose Java 2 Micro Edition (J2ME) à travers son architecture J2SE, et de l'autre, Microsoft propose Smart Device Extensions (SDE) basé sur sa plate-forme .NET. Si jusqu'au début du millénaire, ce marché était essentiellement représenté par des acteurs très spécifiques de l'embarqué autour de multiples technologies propriétaires, il semble acquis aujourd'hui, à la lueur des évènements, que ces deux leaders mondiaux du logiciel que sont Microsoft et Sun seront à l'origine des prochaines générations de plateformes embarquées. Ce recentrage autour de Java et .NET ne sera pas sans effets. D'une part, l'utilisation de technologies standards et largement adoptées par l'industrie va tendre à réduire les risques d'enfermement technologiques et pérenniser les investissements. D'autre part, cela aura un impact indéniable en termes de réduction des coûts car les outils, les compétences et les architectures matérielles se résumeront à ces deux plateformes maîtrisées. Il va de soi que le mieux placé sur le terrain des outils de développement aura un avantage indéniable sur celui de la production.

A partir de ce constat, nous avons choisi de nous attarder les deux solutions prédominantes du moment. Dans un premier temps, nous nous attacherons à présenter les deux architectures concurrentes, puis nous porterons notre choix sur l'une d'elles que nous présenterons plus en détail.

La mise en place d'une plate-forme technique commune à tous les périphériques est une opération très délicate. Chaque appareil possède des spécificités qui obligent les applications à s'adapter à différentes caractéristiques d'affichage ou de pointage. Microsoft et Sun n'ont pas du tout la même approche concernant ce problème. Si J2ME s'attache à unifier par le biais d'APIs les différents types d'appareils, Microsoft préfère proposer un ensemble de briques logicielles dans le cadre de son système d'exploitation embarqué : Windows CE.

La liste suivante démontre la variété des terminaux ciblés par les deux plate-formes :

· Téléphone cellulaire, Smartphone (Nokia, Ericsson, Alcatel, Siemens, ...)

· Assistant personnel, PDA (Palm Pilot, PocketPC, ...)

· Appareil d'imagerie numérique (Caméscope numérique, Appareils photo numérique, ...)

· Appareil automatique industriel (Robot dans une chaîne d'usinage, Affichage embarqué dans les automobiles,...)

· Appareil de paiement, Web Pad, Windows Thin Client, ...

Toute la difficulté de concevoir des technologies pour l'embarqué réside dans cette complexité inhérente à la diversité de l'offre. Nous verrons que cela aura un impact important sur la conception interne des environnements proposés de part et d'autre.

V.2.1 L'architecture Java 2 Micro Edition (J2ME)

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Le don sans la technique n'est qu'une maladie"