Ebauche -- Ebauche -- Ebauche -- Ebauche -- Ebauche - Architecture cible. Louis Martin Chaire de logiciel libre Finance sociale et solidaire UQAM

Dimension: px
Commencer à balayer dès la page:

Download "Ebauche -- Ebauche -- Ebauche -- Ebauche -- Ebauche - Architecture cible. Louis Martin Chaire de logiciel libre Finance sociale et solidaire UQAM"

Transcription

1 Architecture cible Louis Martin Chaire de logiciel libre Finance sociale et solidaire UQAM 28 novembre 2010

2 Table des matières 1 Introduction Un guide pragmatique avant tout Un guide en évolution L architecture vue comme une plateforme de développement Une architecture à géométrie variable Domaines d application visés Spécifications désirées Indépendance face aux systèmes d exploitation Alphabet latin Internationalisation I18N et la localisation L10N Multidevise Sécurité Répondant aux normes du domaine Scénarios d exploitation Utilisation à faible volume Utilisation à fort volume Utilisation par un prestataire de services d infogérance Utilisation mixte interne et services d infogérance Virtualisation Caractéristiques recherchées Homogène Indépendante du système d exploitation SE Adaptable Ouverte Sécurisée Pérenne Répondant aux normes du domaine Avec un couplage faible Simple

3 TABLE DES MATIÈRES 2 4 Le choix d une plateforme de développement de référence Le besoin d une preuve de concept La JVM comme plateforme de développement Architecture multi-niveau L architecture proposée Niveau présentation Effervescence du domaine Facteurs considérés Approches recommandées Défis particuliers Utilisation d un coordonnateur d application Niveau métier Approche service Validation des données Moteur de flux de travaux et moteur de règles Niveau persistance Bases de données Mappage objet-relationnel ORM Production des rapports et l intelligence d affaires Modèles universels de données Services transversaux Authentification et autorisation Journalisation Surveillance et supervision des services Configuration des services Ordonnanceur Messagerie Gestion électronique des documents Conclusion Validation du présent document par des pairs Réalisation d une preuve de concept Rédactions de guides d utilisation Annexe 28

4 Table des figures 5.1 Relations entre les principaux niveaux de l architecture cible Dépendance envers le package «objets métier» Déploiement minimum de l architecture cible

5 Chapitre 1 Introduction «Noussommesdesratsquiconstruisenteux-mêmeslelabyrinthe dont ils se proposent de sortir» 1 Le présent document décrit l architecture système cible d une famille de logiciels libres pour l économie sociale et solidaire. Cette architecture devra être validée par une série de consultations auprès des contributeurs de la Chaire et par une preuve de concept. Néanmoins, il est àremarquerquelescomposantssuggérésont été testés et, dans la majorité des cas, ont été utilisés pour des systèmes en production. Le document s adresse aux concepteurs de logiciels désirant participer à la réalisation des logiciels de l AI2L. 1.1 Un guide pragmatique avant tout L architecture décrite dans ce document est une architecture cible. Elle ne doit pas être interprétée comme un absolu. Des dérogations seront possibles et, dans certains cas, même requises en fonction des impératifs du moment. À titre d exemple, nous pouvons citer l intégration de progiciels existants remplissant de façon adéquate une fonction critique pour l organisation utilisatrice. En fait, l architecture proposée tente de faciliter ce genre d intégration. Il faut cependant garder à l esprit de ne pas mettre en péril l intégrité de l ensemble, en particulier au niveau de la sécurité, par l introduction d un maillon plus faible. 1.2 Un guide en évolution Le domaine de l informatique évolue rapidement. Les manières de faire et les meilleures pratiques se modifient au gré des usages et de l expérience acquise. Bien malin celui qui peut établir une architecture ne nécessitant aucune mise à 1. définition des membres de l OuLiPo Ouvroir de littérature potentielle prêtée à Raymond Queneau 4

6 CHAPITRE 1. INTRODUCTION 5 niveau régulière. La présente architecture ne fait pas exception. En conséquence, elle devra faire l objet d une mise à niveau annuelle formelle pour y intégrer les nouveaux développements dans le domaine et prendre en compte les commentaires des utilisateurs suite à l expérience acquise. Les changements proposés devront être accompagnés, le cas échéant, de recommandations pour faciliter la migration vers la nouvelle cible. 1.3 L architecture vue comme une plateforme de développement L architecture cible est vue comme une plateforme de développement. Elle sert d assise pour les développeurs désirant contribuer au projet par l ajout de fonction sous la forme de services. En fonction de l évolution des besoins et des contributions, certains outils pourront s ajouter pour faciliter le travail des développeurs. 1.4 Une architecture à géométrie variable Le point de vue adopté pour le présent document étant celui des développeurs, l architecture y est décrite d un point de vue logique. Cependant, prenant en considération les différents scénarios d exploitation, nous nous sommes assurés que l architecture physique puisse se décliner sous plusieurs formes sans impacter le modèle logique utilisé pour le développement.

7 Chapitre 2 Domaines d application visés Les applications visés par l architecture cible couvrent, à terme, l ensemble du domaine de l économie sociale. Ce vaste domaine couvrent plusieurs champs, citons à titre d exemple, sans exclure les autres secteurs : l assurancedespersonnesetdesbiens; l épargnecollective; lefinancement,enparticulierlesinstitutionsfinancièressocialementresponsables IFSR ; etplusieursautresinitiativesreliéesaudomainedel économiesociale,par exemple, les structures d insertion par l activité économique SIAE. Les organisations ciblées par la famille de logiciels se caractérisent par un volume d opérations relativement faible : de quelques dizaines à quelques milliers d opérations quotidiennes. 2.1 Spécifications désirées Indépendance face aux systèmes d exploitation L architecture cible doit pouvoir fonctionner sous les systèmes d exploitation courants, en particulier sous les systèmes d exploitation sous licence libre Alphabet latin Pour l instant, seul l alphabet latin sera pris en charge Internationalisation I18N et la localisation L10N Les logiciels devront permettre l internationalisation et la localisation selon les pratiques usuelles. 6

8 CHAPITRE 2. DOMAINES D APPLICATION VISÉS Multidevise Les logiciels devront permettre l utilisation de plusieurs devises. La conversion d une devise à l autre ne sera pas automatique. Nous soulignons ce dernier point car lorsque le multidevise est mentionné, plusieurs personnes croient que cela inclut une conversion automatique Sécurité Le domaine de la sécurité des systèmes informatiques est immense et évolue rapidement au gré des attaques et des parades à ces attaques. L approche privilégiée du point de vue des développeurs est une architecture prenant en considération la sécurité d une façon la moins intrusive possible au niveau du code applicatif. Cet objectif est atteint si la sécurité est orthogonale transversale relativement au code applicatif. De cette façon, la sécurité peut être implémentée : Àplusieursniveaux: auniveauphysique; auniveauéquipement; auniveauréseau; auniveaulogiciel. Aveclapossibilitéd activerdescontrôlesounon,selonlescontextesparticuliers, sans impacter les applications elles-mêmes Répondant aux normes du domaine Les applications développées devront répondre aux normes reconnues du domaines. Plusieurs normes sont indépendantes d un domaine spécifique et d autres ne s appliquent qu à un domaine précis. Au fur et à mesure de l avancement des travaux, les normes auxquelles les applications répondront seront identifiées de façon plus précise. Parmi les cibles souhaitées, nous pouvons citer, à titre indicatif et préliminaire : ContentManagementInteroperabilityServices CMIS del organisation OASIS pour l accès aux systèmes de gestion électronique des documents ; LesguidesdelaGlobalReportingInitiative GRI et la récente norme ISO pour faciliter la triple reddition de compte financière, sociale et environnementale ; Lesdifférentesréglementationsnationales. 2.2 Scénarios d exploitation L architecture présentée cherche à répondre aux scénarios d exploitation suivants :

9 CHAPITRE 2. DOMAINES D APPLICATION VISÉS Utilisation à faible volume Ce cadre d utilisation se caractérise par : unfaiblevolumedetransactions; unnombrelimitéd utilisateurs souventmoinsdedix; uneconnaissancelimitéedel informatique; uneexpertiserudimentairedessainespratiquesd exploitationdessystèmes opérationnels critiques ; unparcd équipementminimal Utilisation à fort volume Ce cadre d utilisation se caractérise par : unvolumedetransactionsdemoyenàélevé; unnombred utilisateursallantdeplusieursdizainesàquelquescentaines; unebonneconnaissancedel informatique souventparuneéquipede développement interne ; une bonne expertise de l exploitation des systèmes opérationnels critiques souventparuneéquiped exploitationinterne; unparcd équipementsrelativementimportant Utilisation par un prestataire de services d infogérance Ce cadre d utilisation se caractérise par : unepriseenchargedessystèmesdeplusieursdizainesdeclientsetplus; uneutilisationintensivedesbandespassantes; uneexigenced untauxderéponserapide; unvolumedetransactionsélevé; unetrèsbonneconnaissancedel informatique; uneexcellenteexpertisedel exploitationdessystèmesopérationnelscritiques ; unparcd équipementsimportant; des normes de qualité rigoureuses ; desauditsexternesfréquents Utilisation mixte interne et services d infogérance Ce cadre d utilisation semble devenir de plus en plus populaire en particulier avec l offre grandissante de services s appuyant sur l informatique dans les nuages cloud computing. Dans ce cadre, une organisation choisit d exploiter àl internequelquesservicesetd enconfierd autreseninfogérance.l ensemble doit fonctionner de façon transparente pour les utilisateurs finaux.

10 CHAPITRE 2. DOMAINES D APPLICATION VISÉS Virtualisation L architecture cible doit pouvoir être exploitée en virtualisation 1.Lavirtualisation permet de diminuer les besoins en serveur physique, de favoriser une plus grande utilisation des équipements Green IT 2 etdefaciliterlamiseen place des mécanismes de sécurité. 1. La virtualisation consiste à faire fonctionner sur un seul ordinateur plusieurs systèmes d exploitation comme s ils fonctionnaient sur des ordinateurs distincts. Tiré de 2. Green computing (en français informatique verte) ou encore green information technology (abréviation green IT) est un concept consistant à tenir compte des contraintes et des coûts en énergie (alimentation électrique et climatisation) des matériels informatiques. Tiré de

11 Chapitre 3 Caractéristiques recherchées L architecture logique cible vise les caractéristiques suivantes : 3.1 Homogène Si possible, une seule architecture logique pour l ensemble des modes d exploitation prévus voir la section 2.2 pour une description plus détaillée de ces modes d exploitation. 3.2 Indépendante du système d exploitation SE Cette indépendance permet d utiliser les équipements déjà en place s ils répondent aux autres exigences : performance, capacité de mémoire vive, etc. Cette indépendance rend possible une migration d un SE vers un autre. Cependant pour faciliter une telle migration, il est important que les ajouts apportés àlaprésentearchitecture,pourrépondre,parexemple,àdesbesoinsspécifiques d un utilisateur donné, respectent les mêmes principes d indépendance face au SE. L indépendance face aux SE nous amène à recommander UTF-8 Universal Character Set transformation format 8 bits pour l encodage de tous les différents types de fichiers : sources, configurations, HTML, CSS, JavaScript, XML, etc. 3.3 Adaptable Plusieurs utilisateurs voudront intégrer à l architecture des modules qui leurs sont propres ou encore donner une signature visuelle distinctive aux logiciels. 10

12 CHAPITRE 3. CARACTÉRISTIQUES RECHERCHÉES Ouverte L architecture logique cible devrait pouvoir accommoder, dans la mesure du possible, des modules externes pouvant répondre adéquatement à des besoins ciblés. Ces modules externes sont susceptibles d avoir été réalisés dans plusieurs langages de programmation. L architecture cible doit donc pouvoir accommoder des modules polyglottes. 3.5 Sécurisée L architecture cible doit permettre la mise en place des mécanismes de sécurité exigés par la nature des applications visées et par les meilleures pratiques du domaine. Voir la section sur les différents volets de la sécurité. Idéalement, nous visons que la sécurité soit orthogonale 1 au modèle logique utilisé pour le développement. 3.6 Pérenne L architecture cible doit offrir une base solide pour les prochaines dix à quinze années. Personne ne peut prédire le futur avec précision, les choix devant être faits seront basés sur l expérience de l équipe et leur vision du futur méthode Delphi informelle Répondant aux normes du domaine L architecture cible doit respecter au maximum les normes du domaine. Ces normes peuvent être des normes de facto normesétabliesparlapratiqueet non par un organisme de réglementation. 3.8 Avec un couplage faible La notion de couplage représente, dans le présent contexte, le degré d indépendance relative entre les services d un système. Nous dirons que le couplage est faible si un changement dans un service demande peu de changement au niveaux des autres services du systèmes. Uncouplageseraqualifiédefortsiun 1. In geometry, orthogonal means "involving right angles" (from Greek ortho, meaning right, and gon meaning angled). The term has been extended to general use, meaning the characteristic of being independent (relative to something else). It also can mean : nonredundant, non-overlapping, or irrelevant. In computer terminology, something such as a programming language or a data object is orthogonal if it can be used without consideration as to how its use will affect something else. Tiré de 2. La méthode Delphi est une méthode de prévision, utilisée en particulier en gestion de projet ou en prévision économique. Le principe de cette méthode est que des prévisions réalisées par un groupe d expert structuré sont généralement plus fiables que celles faites par des groupes non structurés ou des individus. Tiré de

13 CHAPITRE 3. CARACTÉRISTIQUES RECHERCHÉES 12 changement dans un service impacte plusieurs autres services et demande en conséquence des modifications à ces derniers. 3.9 Simple «Entianonsuntmultiplicandapraeternecessitatem» Guillaume d Ockham «Lasimplicitéestlasophisticationsuprême» Léonard de Vinci «Il semble que la perfection soit atteinte non quand il n y a plus rien à ajouter, mais quand il n y a plus rien à retrancher» Antoine de Saint-Exupéry Lorsque l ensemble des caractéristiques décrites plus haut sont prises en compte dans une architecture, il reste un dernier tour de manivelle à donner : celui de simplifier l architecture résultante par un réusinage 3 refactoring.cette simplification rend plus facile la compréhension de l architecture cible par les développeurs et exige moins d effort pour être implémentée.l architecture cible doit pouvoir se moduler de différentes façons tout en offrant un modèle unique pour les développeurs. 3. La refactorisation (anglicisme venant de refactoring) est une opération de maintenance du code informatique. Elle consiste à retravailler le code source non pas pour ajouter une fonctionnalité supplémentaire au logiciel mais pour améliorer sa lisibilité, simplifier sa maintenance, ou changer sa généricité (on parle aussi de remaniement). Une traduction plus appropriée serait réusinage. C est donc une technique qui s approche de l optimisation du code, même si les objectifs sont radicalement différents. Tiré de

14 Chapitre 4 Le choix d une plateforme de développement de référence 4.1 Le besoin d une preuve de concept La description d une architecture cible est importante, principalement pour comprendre les motifs pris en compte dans son élaboration. Cependant l architecture seule ne suffit pas. Pour illustrer son fonctionnement et aider les développeurs à participer au projet, il faut pouvoir disposer d une plateforme de développement de référence permettant d illustrer en pratique le fonctionnement de l architecture cible. Cette plateforme de développement de référence n exclut pas l apport éventuel de services implémentés sous une autre plateforme de développement. Ces services devront toutefois pouvoir cohabiter avec la plateforme de développement de référence. 4.2 La JVM comme plateforme de développement Le choix de la JVM Java Virtual Machine s est imposé rapidement. Les principaux facteurs justifiant ce choix sont : PlusieursimplémentationsdelaJVMexistentsurlemarché. L implémentationlaplusconnue celledesun/oracle estdisponible sous les principaux systèmes d exploitation : Unix/Linux, Windows, Mac OS X, etc. D autres implémentations, certaines disponibles en libre, fonctionnent sous l un ou plusieurs de ces systèmes d exploitation. LaplateformeJavaestbienrépandueetestconnuedenombreuxdéveloppeurs. Plusieursbibliothèques,cadresd application frameworks etlogiciels complets sont disponibles en libre sous cette plateforme. Plusieurslangagesdeprogrammationfonctionnentsouscetteplateforme 1 1. Le site donne une liste de plus de 13

15 CHAPITRE 4. LE CHOIX D UNE PLATEFORME DE DÉVELOPPEMENT DE RÉFÉRENCE14 rendant possible une programmation polyglotte plus optimale dans certains contextes. Parmicesnombreuxlangages,plusieurssontdeslangagesdynamiques,en particulier Groovy. L utilisation des langages dynamiques est populaire. Certains auteurs indiquent que les langages dynamiques permettent des gains de productivité de 2,5 à 3 fois par rapport à un langage comme Java ou C#. D autres auteurs critiquent l utilisation des langages dynamiques soulignant qu avec ces derniers des erreurs, captées à la compilation par les langages traditionnels, causent des erreurs à l exécution. LelangageScala 2 permettant une programmation orientée objet et aussi une programmation fonctionnelle est également disponible sous la plateforme. Enfin,ladisponibilitédelangagestelsqueGroovyetScalaoffrelapossibilité de développer des langages applicatifs domain specific language 3 (DSL).Ceslangagesapplicatifspeuvents avérerunoutilprécieuxpour permettre l adaptation rapide des programmes à un contexte d utilisation particulier. 200 langages fonctionnant sous la JVM. 2. Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application. Tiré de 3. In software development and domain engineering, a domain-specific language (DSL) is a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique. The concept isn t new special-purpose programming languages and all kinds of modeling/specification languages have always existed, but the term has become more popular due to the rise of domain-specific modeling. Tiré de

16 Chapitre 5 Architecture multi-niveau 5.1 L architecture proposée L architecture logique proposée est courante. Elle est composée d une structure à quatre niveaux : Leniveauprésentation Leniveaulogiquemétier Leniveaupersistance Leniveaudesservicestransversaux La figure 5.1 illustre la visibilité directe des niveaux proposés. Les sections suivantes décrivent plus en détail chacun de ces niveaux. 5.2 Niveau présentation Effervescence du domaine Depuis ces dernières années, le niveau présentation connaît plusieurs changements et offre plusieurs cadres d application frameworks. La grande diffusion d appareils mobiles téléphones dits intelligents, tablettes, etc. génère le besoin d accéder aux applications patrimoniales depuis ces dispositifs. L utilisation de ces dispositifs pour des applications multi-niveaux s appuie sur Internet et en particulier sur le protocole HTTP/HTTPS Facteurs considérés Les points pris en compte dans notre réflexion pour le niveau présentation sont : Laproportionimportantedeseffortspour développer ce niveau. Certains vont jusqu à avancer que le niveau présentation demande de 40 à 60 % de l effort total d un projet. 1. Respectivement HyperText Transfer Protocol et HyperText Transfer Protocol Secured 15

17 CHAPITRE 5. ARCHITECTURE MULTI-NIVEAU 16 Figure 5.1 Relations entre les principaux niveaux de l architecture cible La flexibilité requise par les différentes organisations susceptibles d utiliser nos logiciels. Le niveau présentation est une vitrine, on veut pouvoir y mettre un logo, des couleurs propres à sa signature corporative, etc. L adhésionauxnormesouvertesetlargementutilisées. Lasimplicitéetlaflexibilitédeséchangesentreleclientetleserveur. Lapossibilitéd utiliserlamêmemanièredefaireautantpourlesapplications grand public que pour les applications réservées au personnel de l organisation. Lafacilitéd installeretdemettreàjourlesapplicationsduniveauprésentation. L indépendanceduniveauprésentationenregarddestechnologiesutilisées pour le niveau métier. Laréductiondel utilisationdelabandepassante Approches recommandées Le fureteur comme plateforme privilégiée L utilisationdehtml4 etbientôthtml5 L utilisationdecss etbientôtcss3 L utilisationdesbibliothèquesjquery incluantajax L utilisationd uncoordonnateurauniveauserveur Défis particuliers La sécurité Lacompatibilitéentrelesdifférentsfureteurs Firefox3.6+,Chrome, Opera, Safari 5+, IE 9+ Ladisciplinededéveloppement:développementd unmanueldestyleet des meilleures pratiques

18 CHAPITRE 5. ARCHITECTURE MULTI-NIVEAU 17 Ladifficultédestests Ladisponibilitédeplateformesdedéveloppement Utilisation d un coordonnateur d application Le coordonnateur d application 2 agit comme un intermédiaire entre le client fureteur et le niveau métier. Son rôle principale est de recevoir les requêtes Ajax 3 émises par le client fureteur et, le cas échéant, de faire appel aux services métier pour y répondre. Le coordonnateur d application est le premier et le plus important bastion de protection entre un client fureteur considéré comme vulnérable et le niveau métier. Le coordonnateur doit s assurer de prendre en charge les meilleurs pratiques de protection 4.Leséchangesentrelefureteuretlecoordonnateurdoiventêtre établis de telle sorte que quelqu un de l extérieur ne puisse pas, dans la mesure du possible, induire le fonctionnement interne du système. Nous favorisons une API 5 entre le fureteur et le coordonnateur s éloignant du patron de conception REST 6 et s approchant plus d une API classique de style RPC 7.Ilexisteun couplage fort entre le fureteur et le coordonnateur, il est donc conséquent de l utiliser une API propre aux deux partenaires. L approche proposée permet d implémenter le coordonnateur dans n importe quel langage car le coordonnateur communique avec les services métier en utilisant le patron de conception REST. De plus le coordonnateur n est pas dépendant d un cadre d application donné par exemple, Struts, GWT, etc. Le format recommandé des échanges entre le fureteur et le coordonnateur est JSON. Les essais réalisés tendent à démontrer que le format JSON 8 facilite 2. Le patron de conception «coordonnateur d application» est aussi connu sous le nom de «contrôleur» ou «contrôleur façade». Dans le présent contexte, nous nous référons à l approche de Craig Larman décrite en particulier dans UML 2 et les Design Patterns 3e éd. chez Pearson France 2005 ISBN13 : Asynchronous Javascript and XML 4. Voir le site dédié à la sécurité des applications de type WEB et en particulier, leur dernière édition des «Dix risques de sécurité applicatifs WEB les plus critiques». 5. Une interface de programmation (Application Programming Interface ou API) est une interface fournie par un programme informatique. Elle permet l interaction des programmes les uns avec les autres de manière analogue à une interface homme-machine rend possible l interaction entre un homme et une machine. Tiré de 6. REST Representational State Transfer est une manière de construire une application pour les systèmes distribués comme le World Wide Web. Le terme a été inventé par Roy Fielding en REST n est pas un protocole ou un format, c est un style d architecture, c est le style architectural original du Web. Tiré de 7. En informatique et en télécommunication, RPC (Remote Procedure Call) est un protocole réseau permettant de faire des appels de procédures sur un ordinateur distant à l aide d un serveur d applications. Ce protocole est utilisé dans le modèle client-serveur et permet de gérer les différents messages entre ces entités. Tiré de 8. JSON JavaScript Object Notation est un format de données textuel, générique, dérivé de la notation des objets du langage ECMAScript. Il permet de représenter de l infor-

19 CHAPITRE 5. ARCHITECTURE MULTI-NIVEAU 18 la programmation JavaScript au niveau du fureteur. Du côté coordonnateur, des bibliothèques existent pour tous les langages courants permettant de créer des représentations JSON facilement. En Java, nous avons utilisé JSON-LIB 5.3 Niveau métier Concernant les échanges entre les coordonnateurs du niveau présentation et les services du niveau métier, le patron de conception REST est favorisé. La même approche est également favorisée pour les échanges entre les services métier. Cette approche est plus simple d utilisation que les nombreux standards 9 associés à SOAP 10 et ses différentes déclinaisons. Le cadre d application recommandé pour REST est Jersey qui est l implémentation de référence de la norme JAX-RS. Concernant les échanges entre les coordonnateurs et les services REST, plusieurs choix sont possibles, parmi les plus courants mentionnons XML, JSON et la sérialisation des objets. Les tests effectués démontrent que la sérialisation d objet et le format JSON offrent une performance de près de huit fois supérieure relativement à l utilisation d un format XML. Un service REST peut supporter plusieurs formats différents, le client transmet avec sa requête les formats qu il préfère et le service y répond dans la mesure du possible par ordre de préférence indiqué par le client. Dans un environnement homogène de type JAVA incluant le dialecte Groovy la sérialisation des objets offre une simplicité et des performances intéressantes. Bien entendu, les classes échangées doivent être accessibles au niveau du client et au niveau du service. La figure 5.2 illustre cette dépendance. De plus cette approche permet d utiliser Hibernate-Validator pour annoter les objets métier permettant ainsi d avoir à un endroit unique les spécifications de validation et de pouvoir exécuter ces validations autant au niveau du coordonnateur qu au niveau du service et même,à certains égards, au niveau de mation structurée. Créé par Douglas Crockford, il est décrit par la RFC 4627 de l IETF. Tiré de 9. Pour vous convaincre de ce point, consultez le site 10. SOAP ancien acronyme de Simple Object Access Protocol est un protocole de RPC orienté objet bâti sur XML. Il permet la transmission de messages entre objets distants, ce qui veut dire qu il autorise un objet à invoquer des méthodes d objets physiquement situés sur un autre serveur. Le transfert se fait le plus souvent à l aide du protocole HTTP, mais peut également se faire par un autre protocole, comme SMTP. Le protocole SOAP est composé de deux parties : une enveloppe, contenant des informations sur le message lui-même afin de permettre son acheminement et son traitement, un modèle de données, définissant le format du message, c est-à-dire les informations àtransmettre. SOAP a été initialement défini par Microsoft et IBM, mais est devenu une référence depuis une recommandation du W3C, utilisée notamment dans le cadre d architectures de type SOA Service Oriented Architecture pour les Services Web WS-*. Tiré de

20 CHAPITRE 5. ARCHITECTURE MULTI-NIVEAU 19 Figure 5.2 Dépendance envers le package «objets métier» la persistance. Le diagramme suivant illustre la dépendance entre les différents types de package espaces de nommage en Java dans un tel contexte Approche service L approche service utilisant le patron de conception REST est retenue. Cette façon de faire permet d accueillir dans l architecture cible des services réalisés dans des langages de programmation autres que Java, Groovy ou Scala. Les services sont représentés, avec le patron de conception REST, sous la forme de ressources. Les ressources sont identifiées par un URI 11. Un catalogue des ressources sera utilisé pour centraliser les informations sur celles-ci et pour indiquer les méthodes OPTIONS GET HEAD POST PUT DELETE permises pour chacune d elles et les formats supportés pour les représenter Validation des données Pour la validation des données, tel que décrit plus haut, nous favorisons Hibernate Validator l implémentation de référence pour la JSR Moteur de flux de travaux et moteur de règles Au niveau des processus et des règles d affaires, nous considérons que la majorité des applications à réaliser auront une complexité de faible à moyenne. 11. Un URI, de l anglais Uniform Resource Identifier, soit littéralement identifiant uniforme de ressource, est une courte chaîne de caractères identifiant une ressource sur un réseau (par exemple une ressource Web) physique ou abstraite, et dont la syntaxe respecte une norme d Internet mise en place pour le World Wide Web (voir RFC 3986). Tiré de

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

Plus en détail

Spring par la pratique

Spring par la pratique Spring par la pratique 2 e édition Spring 2.5 et 3.0 Arnaud Cogoluègnes Thierry Templier Julien Dubois Jean-Philippe Retaillé avec la contribution de Séverine Templier Roblou et de Olivier Salvatori Groupe

Plus en détail

de survie du chef de projet

de survie du chef de projet KIT de survie du chef de projet 01 1 2 3 4 5 6 04 03 07 07 03 03 LE SERVEUR LE CLIENT TECHNOLOGIE WEB CLIENT LE SERVEUR WEB TECHNIQUES & CADRE DE TRAVAIL APPLICATIONS 101 LE SERVEUR Un serveur informatique

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 ARCHITECTURE REST & WEB SERVICES Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 1 Introduction Présentation de Rest Serveur Java JAX-RS Démonstration 2 Introduction Présentation de Rest

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Le web dans l entreprise Sommaire Introduction... 1 Intranet... 1 Extranet...

Plus en détail

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft

Le Cloud Computing et le SI : Offre et différentiateurs Microsoft Le Cloud Computing désigne ces giga-ressources matérielles et logicielles situées «dans les nuages» dans le sens où elles sont accessibles via Internet. Alors pourquoi recourir à ces centres serveurs en

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Auto-évaluation Aperçu de l architecture Java EE

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

Plus en détail

Présentation du produit. Introduction Fonctionnalités Technologies Open Source Avantages Services Éditions Licence Captures d écran

Présentation du produit. Introduction Fonctionnalités Technologies Open Source Avantages Services Éditions Licence Captures d écran Présentation du produit Introduction Fonctionnalités Technologies Open Source Avantages Services Éditions Licence Captures d écran Page 2 Page 3 Page 5 Page 6 Page 7 Page 8 Page 9 Page 10 Introduction

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005

Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 MDA : Un Tutoriel Introduction pratique au Développement orienté Modèle Pierre Parrend, Mars 2005 1 Sommaire Table des matières 1 Sommaire 1 2 Introduction 2 2.1 A qui s adresse ce tutoriel......................

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Avantage d'une migration vers une solution EDI externalisée

Avantage d'une migration vers une solution EDI externalisée Avantage d'une migration vers une solution EDI externalisée Description Problématique Infrastructure Ressources Logiciel Maintenance Conclusion Avantages d une migration vers une solution EDI externalisée

Plus en détail

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5 Informations juridiques Copyright 2010 Adobe Systems Incorporated and its licensors. All rights reserved. Administration d Adobe LiveCycle Mosaic 9.5 13 octobre

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Chapitre I : Protocoles client serveur et architectures distribuées

Chapitre I : Protocoles client serveur et architectures distribuées Licence Pro Réseaux Télécom Systèmes Internet et Intranet pour l entreprise Chapitre I : Protocoles client serveur et architectures distribuées Département IEM / UB Eric.Leclercq@u-bourgogne.fr Bureau

Plus en détail

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site

Plus en détail

IBM WebSphere MQ File Transfer Edition, Version 7.0

IBM WebSphere MQ File Transfer Edition, Version 7.0 Transfert de fichiers administré pour architecture orientée services (SOA) IBM, Version 7.0 Solution de transport polyvalente pour messages et fichiers Transfert de fichiers haute fiabilité basé sur la

Plus en détail

Spring IDE. Mise en œuvre. Eclipse

Spring IDE. Mise en œuvre. Eclipse A Spring IDE Bien que Spring mette à disposition d intéressants mécanismes afin d améliorer l architecture des applications Java EE en se fondant sur l injection de dépendances et la programmation orientée

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8

Développement J2EE. avec Eclipse. et WSAD. Karim Djaafar. Olivier Salvatori. avec la contribution de. Groupe Eyrolles, 2003, ISBN 2-212-11285-8 Développement J2EE avec Eclipse et WSAD Karim Djaafar avec la contribution de Olivier Salvatori Groupe Eyrolles, 2003, ISBN 2-212-11285-8 Avant-propos Depuis la sortie de la plate-forme J2EE (Java 2 Entreprise

Plus en détail

Les serveurs applicatifs et les architectures Java

Les serveurs applicatifs et les architectures Java 03 Lucas Part 02 Page 179 Lundi, 20. août 2001 2:58 14 Chapitre 15 Les serveurs applicatifs et les architectures Java Nous avons vu jusqu ici, dans les chapitres précédents, que les utilisateurs accèdent

Plus en détail

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur Java EE Cours 1 Présentation Générale Cours de 2 e année ingénieur 1 Présentation du cours Objectifs Développement d applications Web robustes «Ne pas réinventer la roue» utilisation d un framework 1 Apprentissage

Plus en détail

Les serveurs d applications :une introduction

Les serveurs d applications :une introduction Les serveurs d applications : une introduction Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com Octobre 2006 Plan de la présentation

Plus en détail

Architectures et Web

Architectures et Web Architectures et Web Niveaux d'abstraction d'une application En règle générale, une application est découpée en 3 niveaux d'abstraction : La couche présentation ou IHM (Interface Homme/Machine) gère les

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15 J2EE A.-E. Ben Salem LRDE and LIP6 09 Octobre 2011 1 / 15 Plan 1 J2EE 2 Architecture Client/Serveur HTTP 3 Différence entre Web Statique et Web Dynamique 4 Web Dynamique avec un Serveur d applications

Plus en détail

Expert technique J2EE

Expert technique J2EE EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB

MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB MIF13 Programmation Web OUTILS D AIDE À LA CONCEPTION D APPLICATIONS WEB L I O N E L M É D I N I S E P T E M B R E - D É C E M B R E 2 0 0 9 Objectif de ce cours Prendre conscience de l existence de nombreux

Plus en détail

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

Plus en détail

Présentation générale des Web Services

Présentation générale des Web Services Présentation générale des Web Services Vue Globale Type d'architecture reposant sur les standards de l'internet Alternative aux architectures classiques : Client/serveur n/tiers Orientée services permettant

Plus en détail

IBM WebSphere ILOG JRules Business Rule Management System (BRMS) systèmes de gestion de règles métier

IBM WebSphere ILOG JRules Business Rule Management System (BRMS) systèmes de gestion de règles métier Automatisation des décisions métier et réduction du délai de lancement de nouvelles initiatives IBM WebSphere ILOG JRules Business Rule Management System (BRMS) systèmes de gestion de règles métier Gestion

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Gestion des immeubles

Gestion des immeubles RAPPORT DE CONCEPTION Gestion des immeubles BOUSSRHAN YOUSSEF & BENZITI WALID Email : Youssefboussrhan@gmail.com GSM : 0678510690, 0611347597 ISTA NTIC SYBA CRJJ GROUPE B Annexe : Figure 1: Diagramme de

Plus en détail

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise.

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise. Solutions PME VIPDev Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise. Cette offre est basée sur la mise à disposition de l ensemble de nos compétences techniques et créatives au service

Plus en détail

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process

Plus en détail

Chapitre I : Protocoles client serveur et architectures distribuées

Chapitre I : Protocoles client serveur et architectures distribuées Chapitre I : Protocoles client serveur et architectures distribuées Eric Leclercq & Marinette Savonnet Département IEM / UB Eric.Leclercq@u-bourgogne.fr Bureau G212 Aile des Sciences de l Ingénieur Mise-à-jour

Plus en détail

Architectures Java pour applications mobiles

Architectures Java pour applications mobiles Architectures Java pour applications mobiles L application mobile en phase de devenir incontournable. Début 2010, 200 000 applications mobiles. Fin 2011, le cap du million est franchi. Derrière cette croissance

Plus en détail

IBM Global Technology Services Service Management

IBM Global Technology Services Service Management IBM Global Technology Services La voie vers la transformation de l informatique L INFORMATIQUE, UN SOUTIEN AUX MÉTIERS DE L ENTREPRISE Les dirigeants considèrent aujourd hui l informatique comme un levier

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

CONNECTEUR QLIKVIEW POUR INFORMATICA POWERCENTER

CONNECTEUR QLIKVIEW POUR INFORMATICA POWERCENTER CONNECTEUR QLIKVIEW POUR INFORMATICA POWERCENTER Tirer pleinement profit de l ETL d Informatica à l aide d une plate-forme de Business Discovery rapide et flexible De plus en plus d entreprises exploitent

Plus en détail

Urbanisme du Système d Information et EAI

Urbanisme du Système d Information et EAI Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat

Plus en détail

Architecture des systèmes d information

Architecture des systèmes d information Architecture des systèmes d information Table des matières 1 La décennie 70 1 2 Le modèle relationnel (les années 80) 1 3 Enrichissement du relationnel (les années 80/90) 2 4 Système d informations (les

Plus en détail

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

La virtualisation par Stéphane Dutot, Chef de produit de Internet Fr

La virtualisation par Stéphane Dutot, Chef de produit de Internet Fr Communiqué de Presse Massy, le 31 Mars 2009 La virtualisation par Stéphane Dutot, Chef de produit de Internet Fr Depuis quelques années, une nouvelle technologie révolutionne l informatique : la virtualisation.

Plus en détail

Un serveur d'archivage

Un serveur d'archivage Un serveur d'archivage destiné au Service Commun de Documentation de l'université de la Méditerranée Encadrement : Noël Novelli Représentants client (S.C.D.) : Axelle Clarisse Ronan Lagadic Equipe Projet

Plus en détail

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming

Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming Embedded Domain-Specific Languages using Libraries and Dynamic Metaprogramming THÈSE N O 5007 (2011) PRÉSENTÉE le 20 mai 2011 À LA FACULTÉ INFORMATIQUE ET COMMUNICATIONS LABORATOIRE DE MÉTHODES DE PROGRAMMATION

Plus en détail

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques

Plus en détail

Documentation technique

Documentation technique MEEVY Documentation technique Juillet 200 MEEVY a pour but de fournir aux artistes des outils pour promouvoir leur musique sur internet et proposer à l auditeur une plateforme de musique en ligne gratuite

Plus en détail

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire BENEFICES Des projets réussis dans les délais et les budgets La bonne donnée disponible au

Plus en détail

Intégration de systèmes

Intégration de systèmes Intégration de systèmes Préparé par: Marc Barassi, Michel Fraser, Louis Martin, Martin Simoneau Collaboration spéciale: François Boucher et Richard Boutin 3/18/14 Intégration de systèmes «L ensemble des

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement Mme BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Systèmes d Information Avancés (et répartis)

Systèmes d Information Avancés (et répartis) Systèmes d Information Avancés (et répartis) Université Lyon 1 MIAGE L. Médini, mars 2005 Plan des cours Protocole HTTP et programmation serveur Architectures réparties Objets distribués Introduction aux

Plus en détail

18 TCP Les protocoles de domaines d applications

18 TCP Les protocoles de domaines d applications 18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles

Plus en détail

Programmation du Web : Présentation du Web dynamique

Programmation du Web : Présentation du Web dynamique Programmation du Web : Présentation du Web dynamique Jean-Baptiste Vioix (Jean-Baptiste.Vioix@u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-8 Présentation Nécessité du web dynamique

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

Logiciel d analyse du monde des objets connectés intelligents

Logiciel d analyse du monde des objets connectés intelligents Logiciel d analyse du monde des objets connectés intelligents Le défi : Transformer les données en intelligence décisionnelle Le logiciel SkySpark analyse automatiquement les données issues des équipements

Plus en détail

Sécurité des entrepôts de données dans le Cloud Un SaaS pour le cryptage des données issues d un ETL

Sécurité des entrepôts de données dans le Cloud Un SaaS pour le cryptage des données issues d un ETL Sécurité des entrepôts de données dans le Cloud Un SaaS pour le cryptage des données issues d un ETL Présenté par Hana Gara Kort Sous la direction de Dr Jalel Akaichi Maître de conférences 1 1.Introduction

Plus en détail

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS) FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE Database as a Service (DBaaS) 1 The following is intended to outline our general product direction. It is intended for information purposes only, and may

Plus en détail

Calendrier prévisionnel 07 Septembre 2015 Tarif HT 350 000FCFA

Calendrier prévisionnel 07 Septembre 2015 Tarif HT 350 000FCFA FORMATIONS 2015 2016 GOUVERNANCE SI Nos formations Types de formation Nos sessions de formations s adresse à tous les professionnels. Deux types de formations vous sont proposés: - séminaires de formations

Plus en détail

*4D, quand c est la solution qui compte. 4D démocratise les services Web

*4D, quand c est la solution qui compte. 4D démocratise les services Web *4D, quand c est la solution qui compte. 4D démocratise les services Web Table des matières I. INTRODUCTION page 3 II. VERS UNE DEFINITION DES SERVICES WEB 1. Qu est ce que c est? page 3 2. A quoi ça sert?

Plus en détail

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

Aligner Stratégie d Entreprise et Infrastructure Informatique

Aligner Stratégie d Entreprise et Infrastructure Informatique Logiciels IBM Rational Janvier 2005 Aligner Stratégie d Entreprise et Infrastructure Informatique IBM Rational Software Development Platform & Business-Driven Development Page 2 Table des matières 1 L

Plus en détail

[ Hornet ] Guide de migration d'un projet Acube vers Hornet

[ Hornet ] Guide de migration d'un projet Acube vers Hornet [ Hornet ] Guide de migration d'un projet Acube vers Hornet 3.6B Cette création est mise à disposition selon le Contrat Paternité - Pas d'utilisation Commerciale - Partage des Conditions Initiales à l'identique

Plus en détail

Intégration d'applications d'entreprise (INTA)

Intégration d'applications d'entreprise (INTA) Master 2 SITW - Recherche Intégration d'applications d'entreprise (INTA) Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A Département TLSI Faculté des NTIC Université

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

2008-2009 BAC informatique Spécialité : Science de l informatique. Établissement : Lycée L'Independence, Manouba.

2008-2009 BAC informatique Spécialité : Science de l informatique. Établissement : Lycée L'Independence, Manouba. Nedra SLIMANI Ingénieur en Informatique et Multiémdia Diplômée de l Institut supérieur des Arts Multimédia (ISAMM) (Juin, 2015) Oued Ellil 2021, Manouba. Tunis (+216) 52 51 97 39 nedra.slimani@gmail.com

Plus en détail

Business Intelligence (BI) Stratégie de création d un outil BI

Business Intelligence (BI) Stratégie de création d un outil BI Business Intelligence (BI) La Business intelligence est un outil décisionnel incontournable à la gestion stratégique et quotidienne des entités. Il fournit de l information indispensable, sous plusieurs

Plus en détail

IBM Cognos TM1. Fiche Produit. Aperçu

IBM Cognos TM1. Fiche Produit. Aperçu Fiche Produit IBM Cognos TM1 Aperçu Cycles de planification raccourcis de 75 % et reporting ramené à quelques minutes au lieu de plusieurs jours Solution entièrement prise en charge et gérée par le département

Plus en détail

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture.

PLAN PROJET. Binôme ou monôme (B/M): M. : abdlhaqmilan@gmail.com GSM : 00212640108250. : Gestion d'une agence de location de voiture. Développement d une application JAVA EE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AZRAGUE Abdelhaq Email : abdlhaqmilan@gmail.com GSM : 00212640108250 Organisme Scolaire : Gestion d'une agence

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures Le stockage 1. Architecture de stockage disponible a. Stockage local ou centralisé L architecture de stockage à mettre en place est déterminante pour l évolutivité et la performance de la solution. Cet

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

Petite histoire d Internet

Petite histoire d Internet À la base, Internet est défini par des ordinateurs qui sont reliés entre eux grâce à des câbles, du WiFi ou encore des satellites, créant ainsi un réseau à échelle mondiale. Les ordinateurs communiquent

Plus en détail

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia Pour l architecte de solutions web Table des matières Présentation générale... 3 Des outils disparates.... 4 Une gestion

Plus en détail

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Web (Persistance) Andrea G. B. Tettamanzi Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Andrea G. B. Tettamanzi, 2014 1 CM - Séance 8 Organisation logicielle d'une

Plus en détail

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SITE WEB E-COMMERCE ET VENTE A DISTANCE Développement d une application JAVA EE SITE WEB E-COMMERCE ET VENTE A DISTANCE PLAN PROJET Binôme ou monôme (B/M): M Nom & Prénom : AIT NASSER Btissam Email : aitnasser.btissam123@gmail.com GSM : Organisme

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

FICHE CONCEPT 01 ETL (EXTRACT TRANSFORM & LOAD)

FICHE CONCEPT 01 ETL (EXTRACT TRANSFORM & LOAD) FICHE CONCEPT 01 ETL (EXTRACT TRANSFORM & LOAD) BIEN GERER SES REFERENTIELS DE DONNEES : UN ENJEU POUR MIEUX PILOTER LA PERFORMANCE DE SON ETABLISSEMENT octobre 2008 GMSIH 44, Rue de Cambronne 75015 Paris.

Plus en détail