Webisation. Webisation. Jean-Michel BRUEL Jean-Bernard CRAMPES Daniel VIELLE



Documents pareils
Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Devenez un véritable développeur web en 3 mois!

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

4. SERVICES WEB REST 46

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

Architecture Orientée Service, JSON et API REST

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

L3 informatique TP n o 2 : Les applications réseau

BES WEBDEVELOPER ACTIVITÉ RÔLE

Développement d'un logiciel VoIP BlackBerry

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Présentation du Framework BootstrapTwitter

Bien architecturer une application REST

Point sur les solutions de développement d apps pour les périphériques mobiles

Formation : WEbMaster

Webmaster / Webdesigner / Wordpress

Programmation Web. Madalina Croitoru IUT Montpellier

Mise en œuvre des serveurs d application

Comment utiliser mon compte alumni?

Google Drive, le cloud de Google

Configuration du nouveau Bureau Virtuel (BV) collaboratif de Lyon I

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Les Architectures Orientées Services (SOA)

Optimiser pour les appareils mobiles

Formation Webmaster : Création de site Web Initiation + Approfondissement

CAHIER DES CHARGES D IMPLANTATION

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Guide de configuration. Logiciel de courriel

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

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

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Assistance à distance sous Windows

Applications et Services WEB: Architecture REST

Petite définition : Présentation :

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

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

CQP Développeur Nouvelles Technologies (DNT)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Architectures web/bases de données

Formations qualifiantes pour demandeurs d emploi

Armand PY-PATINEC 2010

Formation en Logiciels Libres. Fiche d inscription

Compte Rendu d intégration d application

La gestion des serveurs de mail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Mercredi 15 Janvier 2014

1.2 - Définition Web 2.0 ( wikipedia )

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Introduction aux «Services Web»

Outlook Présentation.

Programmation Web. Introduction

Refonte front-office / back-office - Architecture & Conception -

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Silfid : Agence de création de site internet, formations et Conseils Retour sommaire

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Zimbra. S I A T. T é l : ( ) F a x : ( )

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

La plate-forme d'outils collaboratifs de l'i.e.m.n.

RESUME DE CARRIERE. Alice JULIENNE. 23 ans Nationalité Française Développeur Web Front-End. Compétences

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.

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

MailStore Server 7 Caractéristiques techniques

Web Application Models

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

LA MOBILITE : ACTEURS, OUTILS,

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Les nouveautés d AppliDis Fusion 4 Service Pack 3

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

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

Urbanisme du Système d Information et EAI

ABB personnalise son service client avec la plate-forme en ligne One ABB on the Web Jan Anders Solvik, Håkan Wärdell, Nathan Becker

Guide de connexion Wi-Fi sur un hotspot ADP Télécom

WORDPRESS : réaliser un site web

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Application Web et J2EE

Guide d'installation Application PVe sur poste fixe

OFFICE OUTLOOK QUICK START GUIDE

Configuration des logiciels de messagerie

ACCEDER A SA MESSAGERIE A DISTANCE

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

ACCÉDER A SA MESSAGERIE A DISTANCE

ContactOffice. La Messagerie collaborative pour l'éducation. Assises 2015 du CSIESR Avignon

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Module BD et sites WEB

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

Transcription:

Webisation Jean-Michel BRUEL Jean-Bernard CRAMPES Daniel VIELLE 18 avril 2013 1

Objectif Application autonome ou client lourd Transformer une application autonome ou client lourd écrite dans un ou plusieurs langages de programmation quelconques (C, C++, Java, COBOL ) en une application WEB (WebApp) exploitable à partir d'un navigateur internet de dernière génération (client léger). Application client léger 2

Pourquoi Webiser? La même application est accessible via Internet depuis tout type de poste de travail (PC, Mac, Linux, Tablette ) Aucune installation particulière n'est nécessaire WebApp Etape nécessaire pour pouvoir cloudiser Facilite la smartphonisation Cloudisation Smartphonisation (client léger sur smartphone ou tablette) 3

Inconvénients de la webisation Toutes les communications utilisent le même protocole HTTP /S Exemples typiques : webmail client de messagerie POP/S, IMAP/S, SMTP (googlemail Outlook, Thunderbird...) Office Web Apps (suite Office de Microsoft) Google drive Danger La traversée des FireWalls et des Proxies sans configuration particulière ouvre des failles de sécurité. Par exemple : Retard de normalisation des WebSockets en HTML5 à cause d'une faille découverte dans les Proxies. 4

5

Principe Modifier le moins possible l'existant pour limiter les coûts et conserver les fonctionnalités de l'application. Données à conserver telles quelles Traitements métier à conserver tels quels Structure générale de l'ihm à conserver sauf si exigence particulière Ergonomie et dynamique des pages à adapter aux exigences des langages du WEB : HTML, CSS, Javascript 6

Les techniques mises en œuvre Le modèle MVC (Model, View, Controler) Les modèles d'ihm de MACAO : SNI, SEP Les Web Services HTML5, CSS3 Librairies et frameworks (jquery ) 7

Controler MVC Selon MVC, toute application peut se décomposer en trois niveaux View Traitements métier Logiciel interactif Model 8

Démarche de Webisation (4 étapes) 4 - Dynamique interne et ergonomie des pages 3-1 - Rétro-conception de l'ihm SNI Langage pivot 3-2 Construction du SEP SEP Modèle dédié WEB 3-3 Reprogrammation Langage source X 1-1 Rétro-conception des données Modèles de données 1-2 Interfaces d'accès aux données Langage cible WEB 2-1 Recensement des procédures métier Nomenclature 2-2 Encapsulation des procédures métier 9

Première opération Tamiser le code source pour séparer : Les accès aux données Les traitements (procédures métier) L'IHM 10

1 - Les données Langage source X 1-1 Rétro-conception des données Modèles de données 1-2 Interfaces d'accès aux données Langage cible WEB 11

1 - Les données Fonction des structures de données existantes : fichier texte, XML, BD Description de fichier XML : DTD : Document Type Definition XSD : XML Schema Definition BD : Modèles MERISE (MCD, MLD) UML : Diagramme de classes Conception des procédures d'accès aux données (interfaces) 12

1 - Les données Exemple de structure de données Gestion des stages Utilisation d'un diagramme des classes persistantes Entreprise Stage Etudiant nomentr adresseentr responsable 1 nomencadrant emailencadrant 1 nometu adresseetu emailetu 1 Tuteur nomtut emailtut 13

2 Les procédures métier Langage source X Modèles de données Langage cible WEB 2-1 Recensement des procédures métier Nomenclature 2-2 Encapsulation des procédures métier 14

Procédures métier nomenclature - encapsulation Etablir une nomenclature des procédures mises en œuvre dans l'application prototype de chaque méthode / procédure / fonction langage nombre, nom et type des paramètres en entrée / sortie type de la valeur retournée Encapsuler les procédures côté serveur 1. dans des classes (conseillé pour clarté, fiabilité, documentation...) 2. dans des Web Services (interopérabilité) Alternatives mono-environnement tout Java : JavaScript Java J2EE Servlets... tout Microsoft : dotnet ASP.NET WCF serveurs MS 15

Web Services WS spécifiques, non publiés dans un annuaire (UDDI...) Résoud les problèmes d'interopérabilité entre différentes applications et différentes plateformes frameworks disponibles dans tous les langages Choisir un protocole d'appel / d'échanges SOA Services Oriented Architecture : architecture orientée services REST REpresentational State Transfer : architecture orientée ressources XML-RPC Remote Procedure Call : appel de procédure distante SOAP Simple Object Access Protocol : messages entre objets distants websockets en HTML5 : tunneling propriétaire sur HTTP Principes paramètres / résultats en XML, transport par HTTP / HTTPS contrôle et sécurité assurés par le protocole du Web Service utilisé sans état (context-free) 16

Web services orientés ressources REST REST est une architecture d'échanges échange de documents entre client et serveur dans un format normalisé ou propriétaire XML, JSON Javascript Object Notation, CSV... le webisateur prévoit une URL différente pour chaque action d'un processus de traitement développe l'interface avec la procédure métier existante doit maintenir le contexte dans les documents échangés un outil performant : RAILS Ruby on RAILS (langage Ruby) 17

Web services orientés ressources REST transport par HTTP traverse les Firewall, les Proxy Requête HTTP Action Post Create Get Retrieve Put Update Delete Delete Format JSON un objet : { "attribut" : "valeur",... } une collection d'objets : [ objet1, objet2,... ] exemple : { "nometu" : "Dupont", "adresseetu" : "9 rue...", "emailetu" : "dupont@xx.fr" } 18

Web services orientés Appel Distant JSON-RPC / XML-RPC / SOAP Convertit un appel local de fonction en appel distant Client Objet serveur Autres serveurs Navigateur Procédure métier JSON, XML, SOAP (XML) Encodage paramètres Décodage résultat / erreur Transport HTTP/S Types natifs Résultat / Erreur Décodage paramètres Encodage résultat / erreur 19

Web services SOAP Echange d'un document XML décrit la méthode appelée, ses paramètres, son retour, les exceptions Protocole décliné en SOAP-RPC et SOAP-Document Normalisé par un schéma XSD : namespace schemas.xmlsoap.org Normalisé WSDL Web Service Description Language Richesse de déclaration des types de données échangées structures de données complexes WSS WS-Security : intégrité (signature) des messages confidentialité (chiffrement) des messages jeton de sécurité (attaché dans l'en-tête des messages) <SOAP-ENV : Enveloppe> <SOAP-ENV : Header> <SOAP-ENV : Body > 20

Le protocole WebSockets WebSockets est une norme IETF, en cours de standardisation w3c comme les sockets canal de communication bi-directionnnel sur un socket TCP entre un navigateur et un serveur Web WebSockets prévu dans HTML 5 permet d'encapsuler un protocole propriétaire ou métier lié à HTTP (mais pas "transporté par HTTP") permet les notifications serveur web client navigateur changement d'état du serveur mode "push" de données 21

En résumé Dans un contexte C/S existant architecture SOA existante dotnet Java J2EE commentaire maintien de la cohérence du SI tout microsoft, interopérable avec J2EE tout Java, interopérable avec dotnet Dans un contexte hétérogène avantages à surveiller REST association données / traitements sécurité XML-RPC JSON-RPC simple sécurité SOAP sécurité lourd websockets full duplex attendre v2 22

3 - L'IHM Utilisation des modèles d'ihm de la méthode MACAO : SNI, SEP 3-1 - Rétro-conception de l'ihm SNI Langage pivot 3-2 Construction du SEP SEP Modèle dédié WEB 3-3 Reprogrammation Langage source X Modèles de données Langage cible WEB 23

Le Schéma Navigationnel d Interactions SNI 24

SNI - Objet Le SNI permet de concevoir et de modéliser la logique d'enchaînement des interactions entre l'utilisateur et le logiciel (IHM). Il concerne essentiellement les niveaux "Vue" et "Controller" Le SNI est purement conceptuel : il est indépendant de la technologie utilisée (Windows, WEB, Multimédia...) il fait abstraction de tout aspect matériel (clavier, type d écran, souris...) il ne représente pas la manière de faire de l'utilisateur (menu déroulant, bouton, glisser-déposer, toucher...) il ne représente pas les traitements réalisés dans l'application 25

Les Unités de Dialogue On appelle "Unité de Dialogue" (UD) l'ensemble des fonctions offertes à l'utilisateur de façon simultanée (sur un même écran, dans une même fenêtre, dans une même page) Chaque UD est représentée par un ou plusieurs symboles dans le SNI Une UD élémentaire = un seul symbole Une UD composée = plusieurs symboles 26

6 UD élémentaires (UDE) Saisie de données Affichage simple (un objet, un résultat, divers attributs) Affichage d une collection d objets Message (erreur, avertissement, information) View Impression d un objet ou d un résultat simple Opt1 Opt2 Opt3 Opt4 Opt5 Menu (5 options) Controler 27

Les UD composées par juxtaposition (UDC) Modification de données Suites à donner à un affichage simple Opt1 Opt2 Opt3 Opt4 Opt5 1 N Suites à donner à l affichage d une collection Opt1 : indépendamment des objets Opt2 : pour un seul objet sélectionné Opt3 : pour N objets sélectionnés Opt1 Opt2 Opt3 28

Les UD composées par boîte de groupage (UDC) Objet1 Objet2 Affichage simultané de deux objets Objet Collection Affichage simultané d un objet et d une collection d objets Seuls les affichages et les saisies peuvent être placés dans une boîte de groupage Les menus sont toujours placés à l extérieur Objet1 Objet2 Menu associé à une boîte de groupage Objet1 1 : Objet2 Option 1 Option 2 29

Exemple de SNI Gestion des stages - Planche 01 Entreprise Stage Etudiant 1 1 1 Tuteur 30

Gestion des stages Planche 02 31

Visual-SNI Outil d aide à la réalisation du SNI Plugin Eclipse open source (licence GPL) téléchargeable sur le site SourceForge à l adresse suivante : http://sourceforge.net/projects/visual-sni/ Dernière version : 3.1.1 32

Le Schéma d'enchaînement des Pages SEP 33

Représentation des pages Caractéristiques générales Objet visuel 1 Objet visuel 2 Objet visuel 3 Evt. interne [ Evénement utilisateur ] [ (Paramètres) ] [ Ev. util ] [ (Paramètres) ] [ Ev. util. ] [ (Paramètres) ] [ Evénement ] [ (Paramètres) ] Caractéristiques générales : Nom de la page précédé de son type (STA, DYN, FORM ) "DESSIN" pour les pages complexes NAV" si la page doit s'ouvrir dans un autre navigateur "POPUP" si la page doit s'ouvrir dans une fenêtre popup 34

Le SEP correspondant 35

Visual-SEF (SEP) Outil d aide à la réalisation du SEP Plugin Eclipse open source (licence GPL) téléchargeable sur le site SourceForge à l adresse suivante : http://sourceforge.net/projects/visual-sni/ Dernière version : 3.3.1 36

4 Dynamique et ergonomie des pages 4 - Dynamique interne et ergonomie des pages Langage source X Langage cible WEB 37

Objectif : Rapprocher l'ergonomie des pages de l'ergonomie d'origine en apportant éventuellement quelques améliorations Gestion des menus et sous-menus Formats d'affichage des données Gestion des images et graphiques (numériques, vectoriels) Formulaires (ex boîtes de dialogue) Fenêtres popup Contrôles de premier niveau Aide contextuelle... Compromis entre les différentes versions des navigateurs 38

Dessin de page WEB 39

Quelques technologies WEB Les langages côté client (navigateur) HTML5 CSS3 Javascript TypeScript (Microsoft) Les bibliothèques d'utilitaires jquery jquery-ui Plugins jquery... Dessin vectoriel Balise <canvas> de HTML5 Balise <svg> de HTML5 Plugin jquery SVG 40

Exemple1 : Diagramme réalisé avec jquery (plugin jqplot) 41

Exemple2 : Diagramme de Gantt réalisé avec jquery (plugin fn.gantt) 42

La démarche proposée en 4 étapes Conclusion qui s'appuie sur les technologies actuelles - web services, - modélisation de l'ihm, - HTML5, CSS3, bibliothèques javascript (jquery) favorise une webisation dans les meilleures conditions - d'économie, - de performances, - d'ergonomie, - de fiabilité, pour aller vers la cloudisation et la smartphonisation 43

Site WEB : www.jbcc.fr Des questions? 44