Overblog Suivre ce blog
Administration Créer mon blog

Architecture du SI : présentation

24 Juin 2011 , Rédigé par benkirane Publié dans #Architecture du Système d Information

L'architecture du Système d'Information (SI) d'une entreprise est la manière dont est structuré son système informatique. Elle fait donc partie intégrante de sa stratégie. Pour la mettre en place ou la faire évoluer, il est nécessaire de discuter avec l'ensemble de ses décideurs. L'organisation même de l'entreprise découle de la manière dont le système d'information est structuré. Ses charges sont aussi fortement liées au choix d'architecture.

Les équipes opérationnelles n'auront pas les mêmes compétences, ni la même façon de travailler si le SI est basé sur un ERP totalement intégré tel que SAP ou s'il est basé sur plusieurs applications personnalisées (développées en Java par exemple). Les coûts en formation et la stratégie d'accompagnement du changement, par exemple, ne sont pas les mêmes s'il faut former plusieurs équipes à SAP. D'autre part, les applications spécifiques ont l'avantage aussi d'apporter un service plus personnalisé à l'entreprise. Ce qui réduit les coûts cités précédemment. Cependant, pour les très gros industriels, il est évident qu'avec un ERP robuste et largement répandu, les risques d'un point de vue informatique sont mieux maîtrisés mais à quel prix. Dans le cas des applications spécifiques, c'est le choix du prestataire de services (des équipes MOA et MOE de manière générale) qui fait la différence.

Les dirigeants de l'entreprise sont alors forcés de bien maîtriser les enjeux d'un point de vue stratégique qui découle des choix effectués quant au SI de leur entreprise. C'est l'un des rôles majeurs de l'architecte SI en plus de concevoir le système en lui-même.

Lire la suite

Débuter avec le framework Play!

22 Juin 2011 , Rédigé par benkirane Publié dans #Technlogies Java pour la couche présentation

Pour commencer à développer avec Play!, rien de plus simple. Il suffit d'aller sur le site officiel du framework et de télécharger sa dernière version stable à l'adresse suivante: http://www.playframework.org/download.

Décompresser ensuite l'archive récupérée sur votre disque dur. Pour faciliter l'exécution de Play!, je vous conseille de modifier la variable d'environnement PATH en ajoutant un lien vers le répertoire où est décompressé Play!. Pour vérifier la bonne installation du framework, il suffit d'ouvrir une fenêtre de commande DOS et d'exécuter la commande play. Vous devriez voir les lignes suivantes: Commande play

Ces lignes vous indiquent:

  • - pour créer un nouveau projet, il suffit d'exécuter la commande play new <nom du projet à créer> dans un répertoire de travail.
  • - pour démarrer l'environnement play, il faut exécuter la commande play run <nom du projet à démarrer>.
  • - pour avoir de l'aide sur play!, i lfaut exécuter la commande play help.

Suite à la création d'un nouveau projet et au démarrage de l'environnement play! sur ce projet, vous avez rapidement accès à la page par défaut du framework à l'adresse http://localhost:9000/:

Page d'accueil application Play!

En tant que développeur Java, la première chose que j'ai voulu faire c'est d'avoir accès à toute l'arborescence du code source généré dans Eclipse. Pour se faire, il faut exécuter la commande suivante dans votre répertoire de travail: play eclipsify <nom du projet à configurer pour Eclipse>. Vous pourrez ensuite importer votre projet dans Eclipse et voir apparaître l'arborescence de l'application:

Arborescence application Play!

Pour les autres IDE, je vous invite à consulter la page suivante (play doit être lancé sur votre machine locale): http://localhost:9000/@documentation/ide

Pour mieux comprendre comment la page d'accueil par défaut de Play! apparaît, toutes les informations sont sur la page elle-même. En faisant un tour du côté du code généré par le framework, vous pouvez comprendre ses principes de développement. C'est là l'une des forces du framework, une documentation intégrée qui en facilite la prise en main.

Pour terminer la préparation de l'environnement de développement, il reste simplement à installer un outil de partage/sauvegarde du code source afin de faciliter le travail en équipe. Pour changer un peu des habituels SVN ou CVS, il est intéressant d'installer l'outil Bazaar en le téléchargeant sur le site officiel: http://wiki.bazaar.canonical.com/Download.

Une fois l'outil installé, il suffit d'aller en ligne de commandes sur le répertoire du projet et d'exécuter les commandes suivantes:

  • - pour initier le versionning, la commande est bzr init
  • - pour exclure les répertoires à ne pas versionner (tmp et logs), les commandes sont: bzr ignore tmp puis bzr ignore logs
  • - pour commiter les sources, les commandes sont bzr add puis bzr commit -m "<commentaires du commit>"

Votre environnement est alors prêt pour commencer le développement de l'application seul ou en équipe.

Lire la suite

Le framework Play! : présentation

22 Juin 2011 , Rédigé par benkirane Publié dans #Technlogies Java pour la couche présentation

Play! est un framework Java destiné au développement d'applications Web de la manière la plus productive possible. Il est basé sur le modèle d’architecture sans état appelé REST (cf. mon billet sur cette architecture ).

Play!, basé sur REST, est un framework idéal pour le développement agile puisqu'il permet une évolutivité forte de toute application Web en mode itératif. Un développeur Java peut rapidement monter en compétence sur le framework puisqu'il peut continuer à utiliser Eclipse ou Netbeans comme IDE (ou même un simple éditeur de texte) et continue de développer en Java.

L'un des grands intérêt de ce framework est qu'il s'occupe de compiler les classes Java à l'exécution. Il suffit alors au développeur de modifier une page et de recharger la page pour que la modification soit, instantanément prise en compte. Cela aide à la productivité mais, attention, cette facilité implique de ne pas oublier de modifier aussi le test unitaire correspondant à la partie modifiée s'il existe.

Pour plus de détails sur le framework (car il y a beaucoup à en dire), je vous invite à consulter le site officiel du framework play à l'adresse suivante: http://www.playframework.org/documentation/1.2.1/overview.

Dans un prochain billet, je parlerais des débuts de la mise en œuvre de ce framework pour le développement d'une application.

Lire la suite

REST (Representational State Transfer): l'architecture logicielle basée sur les fondamentaux d'internet

22 Juin 2011 , Rédigé par benkirane Publié dans #Architecture logicielle

L'architecture logicielle la plus utilisée aujourd'hui dans le développement d'applications Web est, sans aucun doute, l'architecture MVC 2 (Model View Controller). On entend donc, un peu moins, parler de l'architecture REST. Le terme a, pourtant, été créé par Roy Fielding en 2000.

Roy Fielding étant l'un des principaux acteurs de la spécification HTTP, l'architecture qu'il propose est, logiquement, basée sur les concepts fondamentaux du W3C:

  • - l'URI: elle permet de nommer et identifier une ressource
  • - le protocole HTTP fournies toutes les méthodes (GET, POST, PUT et DELETE) nécessaires à l'interaction avec cette URI
  • - chaque opération est auto-suffisante, il n'y a donc pas de conservation d'état
  • - les standards XML et HTML sont utilisés pour faire les liens entre les différentes URI et, ainsi, naviguer dans une application REST.

Cette architecture, très évolutive, tends à concurrencer les architectures orientées services de type SOA. Elle se pose en alternative des protocoles RPC et SOAP et est sensée être plus simple à mettre en œuvre. Comme j'ai découvert cette architecture il y a peu et que je ne l'ai jamais encore mise en œuvre, je confirmerais ou infirmerais cette simplicité lorsque je l'aurais réellement mise en œuvre. Ceci sera le sujet d'un futur billet, j'espère dans quelques mois :))).

Pour plus de détails sur les avantages et inconvénients de cette architecture cités par Roy Fielding lui-même, vous pouvez consulter wikipédia à l'adresse suivante: http://fr.wikipedia.org/wiki/Representational_State_Transfer.

Même si cette architecture repose sur des standards du Web, il faut bien noter que REST n'est pas en soi un standard. Il n'existe pas de spécification du W3C pour la décrire.

Lire la suite