Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

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

Download "Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework"

Transcription

1 Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009

2 Présentation de gsoap Plan Architecture de WebContentC++Framework Tutoriel

3 Présentation de gsoap Open source sous licences GPL et gsoap Public Licence (type BSD). De plus, une licence commerciale est disponible. Pour Windows et Linux. Fournit des outils pour créer des Web services utilisant SOAP/XML avec des clients/serveurs C ou C++. L'utilisation des outils gsoap est assez complexe WebContentC++Framework simplifie le développement de Web services en C++ Architecture pour créer des serveurs multithread performants Bibliothèques pour traiter des documents WebContent Bibliothèques facilitant l'interfaçage avec des applications existantes

4 Architecture de WebContentC++Framework ifférents paramètres influent sur le.h généré Un processus principal n threads qui écoutent chacun sur un port (1 par.h annoté. service) p threads de traitement en fonction des requêtes reçues - Types complexes définis dans les XSD déclarés dans le.wsdl sous forme de classe. - Structures de données des paramètres des opérations. - Prototypes de fonctions définissant les opérations des différents services. Non compilable directement par gcc/g++!!

5 Architecture Application dépendante de gsoap au minimum : couplage faible. Serveur multi-thread (gsoap est thread-safe) Utilisation d'une Factory (singleton) pour gérer les instantiations d'objet : Objets instantiables identifiés par un ID unique sous forme de string Objets instantiables enregistrés auprès de la Factory au lancement de l'application. Création d'une nouvelle instance en passant l'id de l'objet à la Factory. Utilisation du Design Pattern Bridge pour découpler interfaces et implémentations Les classes d'interface délèguent les appels de fonctions à leur objet membre, pointeur vers une implémentation abstraite. Les méthodes publiques de l'implémentation abstraite délèguent l'appel aux fonctions virtuelles pures, implémentées par les classes concrètes dérivées.

6 Architecture Un service WebContent se décompose en plusieurs niveaux: Niveau gsoap : Implémentation des fonctions prototypées par soapcpp2. Instantiation du module soap associé au service à l'aide de son ID. Instantiation de la structure du paramètre de sortie si nécessaire. Niveau soap : Conversion des paramètres typées gsoap en types indépendants de gsoap. Instantiation du module core associé au service à l'aide de son ID. Niveau core : Interface entre le serveur SOAP et la couche Métier (e.g. LIMA). Peut faire appel à une couche intermédiaire dans certains cas (e.g. Si le paramètre en entrée est un document XML formatté selon le modèle d'échange WebContent). Appel des fonctions métier. Niveaux intermédiaires selon les services (parseur XML...). Niveau métier : Exécute la requête et retourne si besoin est les résultats. Cas particulier de la gestion des documents XML au format WebContent : L'API générée par gsoap à partir des WSDL est assez complexe à manipuler Pour un document de type WebContent, le parcours du document sous forme d'objet est moins aisé que sous forme XML native (string). Conversion de l'objet de type Document en XML Utilisation d'un parser XML SAX / DOM par événements pour le parcours du document XML.

7 Contenu de la Distribution (LGPL) https://gna.org/projects/thewebcontent/ Bibliothèque common Bibliothèques génériques pour Factories: instanciation à la demande d'objets nommés Traitement du XML Gestion des threads Gestion du RDF Gestion des fichiers de configuration Implémentations par défaut XML (tinyxml) Threads (pthread) RDF (redland) Config

8 Contenu de la Distribution (LGPL) https://gna.org/projects/thewebcontent/ Gsoap-copy (Copie( de gsoap ) Accès au nom du service Accès au WSDL du service Autres modifications pour l'implémentation du serveur multithread soapserver et webcontentserver Implémentation du serveur multithread Support du SSL (authentification par certificat) Services stateless ET statefull FASTCGI possible

9 Contenu de la Distribution (LGPL) https://gna.org/projects/thewebcontent/ webcontentlimaservices Partie LGPL de l'implémentation des services du CEA LIST Exemples de traitement du format WebContent qwebserviceclient Un client de Web services pratique pour tester les services Interface graphique en Qt (C++)

10 Tutoriel Hypothèse: on dispose d'une application d'annotation d'entités nommées capable d'annoter les noms des membres de l'équipe de France de rugby de l'automne 2009 Cette bibliothèque possède une fonction analyse qui Prend un texte (std::string) en entrée Renvoie en sortie la liste des positions/longueurs des noms reconnus Nous allons développer un service WebContent qui Instancie l'interface Analyser Prend en entrée un document WebContent Rend en sortie le même document enrichi d'annotations Les codes de la bibliothèque et du service sont disponibles dans la distribution

11 Initialisation (1) Installer les prérequis (redland, redland-devel,...) Télécharger WebContentC++Framework svn co Télécharger le modèle Déployer l'archive schemas.zip dans WebContentC++Framework/ Sources/webcontentlimaservices/src/wclimaservices/soap/wsdl Modifier setenv.sh pour affecter le chemin du dossier de téléchargement à la variable WCCPP_HOME Définir les variables d'environnement: source setenv.sh Construire common: cd Sources/common./cbuild.sh À ne faire qu'une fois

12 Initialisation (2) Installer gsoap-copy cd Sources/gsoap-copy./cbuild.sh Construire soapserver cd Sources/soapserver./cbuild.sh Construire webcontentserver cd Sources/webcontentserver./cbuild.sh Construire webcontentconfiglimalibs: cd Sources/webcontentconfiglimalibs./cbuild.sh À ne faire qu'une fois

13 L'Application à Publier en tant que WS Construire wccppneetutorial cd wccppneetutorial./cbuild.sh std::map< int, int > WCCPPNEETutorial::analyse(const std::string& text) { std::map< int, int > result; std::vector<std::string> entities; // here the other player names entities.push_back("maxime Médard"); entities.push_back("damien Traille"); } std::vector<std::string>::const_iterator eit, eit_end; eit = entities.begin(); eit_end = entities.end(); for (; eit!= eit_end; eit++) { const std::string& player = *eit; int position = text.find(player); while (position!= std::string::npos) { result.insert(std::make_pair<int,int>(position, position+player.size())); position = text.find(player, position+1); } } return result;

14 Fonctionnement du Web service

15 Construction du Web Service Éditer Makefile.gsoap dans WebContentC+ +Framework/Sources/webcontentlimaservices/src/wclimaservices/s oap pour ne conserver que NamedEntitiesExtractionTutorial dans la variable WSDL_LIST Construire webcontentlimaservices: cd Sources/webcontentlimaservices./cbuild.sh

16 Dernières Étapes Création des liens cd dist mkdir implementations cd implementations ln -s../lib/libwccpppthreadimpl.so ln -s../lib/libwccpptinyxmlimpl.so cd.. mkdir services cd services À ne faire qu'une fois ln -s../lib/libnamedentitiesextractiontutorialservice.so

17 Configuration du Service Edit services.conf configuration file set service-libs-path create or edit the NamedEntitiesExtractiontutorialAnalyserSOAPBindingService map <group name="services-global-config"> <param key="service-libs-path" value="...webcontentc++framework/dist/lib" /> <list name="active-services"> <item value="namedentitiesextractiontutorialanalysersoapbindingservice" /> </list> </group> <group name="services-config"> <!-- name : servicename --> <map name="namedentitiesextractiontutorialanalysersoapbindingservice"> <entry key="config-group" value="errorcodes-config" /> <entry key="lib-name" value="libnamedentitiesextractiontutorialservice.so" /> <entry key="implid" value="default" /> <entry key="port" value="10001" /> <entry key="use-session" value="true" /> <entry key="session-timeout" value=" " /> </map> </group>

18 Start webcontentserver [ :15:03] [ :15:03] ******************************* [ :15:03] Reading server configuration : [ :15:03] ******************************* [ :15:03] Nb. processing threads : 30 [ :15:03] Server read timeout : 60 [ :15:03] Server send timeout : 60 [ :15:03] Max. pending requests : 100 [ :15:03] Bind hostname : localhost [ :15:03] Use SSL : no [ :15:03] [ :15:03] ******************************* Lancement du Serveur [ :15:03] [ :15:03] ********************************* [ :15:03] Reading services configuration : [ :15:03] ********************************* [ :15:03] Services Library path : '/home/gael/projets/webcontent/workshopexterne/webcontentc++frameworktutorial/webcontentc++framework/dist/lib' [ :15:03] - NamedEntitiesExtractionTutorialAnalyserSOAPBindingService : Port -> '10001' - ImplID -> 'Default' - lib. name -> 'libnamedentitiesextractiontutorialservice.so' [ :15:03] [ :15:03] ********************************* [ :15:03] [ :15:03] *************************** [ :15:03] Starting active services : [ :15:03] *************************** [ :15:03] Service 'NamedEntitiesExtractionTutorialAnalyserSOAPBindingService' =>[ :15:03] Use session cookie : true - Session timeout : [ :15:03] --> Load [ :15:03] [OK] [ :15:03] --> Instantiate [ :15:03] [OK] [ :15:03] --> Bind to port [ :15:03] [OK] [ :15:03] [ :15:03] *************************** [ :15:03].: Server up and running... :.

19 Appel du Service

Création d'un convertisseur SQL SiTools

Création d'un convertisseur SQL SiTools Création d'un convertisseur SQL SiTools 1 - Introduction Un convertisseur permet de transformer la requête SQL, envoyé par la webapp SiTools à la webapp catalog ou l'inverse. C'est à dire que cette conversion

Plus en détail

1. QCM (40 points) (1h)

1. QCM (40 points) (1h) Examen 1ère session 2012-2013 page 1 NSY 102 - AISL IPST-CNAM Intranet et Designs patterns NSY 102 Vendredi 26 Avril 2013 Durée : 3 heures Enseignants : LAFORGUE Jacques 1. QCM (40 points) (1h) Mode d'emploi

Plus en détail

Guide d'installation et d'utilisation de l'application «client de test SIRI-Validator»

Guide d'installation et d'utilisation de l'application «client de test SIRI-Validator» CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales Guide d'installation et d'utilisation de l'application «client de test SIRI-Validator» Auteurs : Relecteurs

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

Formation ESUP Portail Cours 4

Formation ESUP Portail Cours 4 Formation ESUP Portail Cours 4 http://www.esup-portail.org 1 Plan Prérequis Outils Normes Esup portail Canal uportal Publication d'un canal Web services 2 Prérequis Java Ant XML XSL/XSLT 3 Outils http://www.esup-portail.org/consortium/espace/normes_1c/tech/build/index.

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

Maîtrisez Qt 5 Guide de développement d'applications professionnelles

Maîtrisez Qt 5 Guide de développement d'applications professionnelles Introduction 1. Objectifs et méthode 15 2. Glossaire 16 3. Qt, qu'est-ce? 18 3.1 Histoire 19 3.2 Compatibilité 20 3.3 Notoriété 21 3.4 Bibliothèque ou framework? 21 3.5 Documentation 21 3.6 Que peut-on

Plus en détail

Zend Framework 2 Industrialisez vos développements PHP

Zend Framework 2 Industrialisez vos développements PHP Avant-propos 1. Lectorat 15 2. Contenu du livre 15 3. Pré-requis 17 Introduction 1. Un peu d histoire 19 1.1 Petite histoire de l informatique 19 1.2 Petite histoire des langages informatiques 20 1.3 Petite

Plus en détail

Tutoriel QT. Projet Alarme Domestique. ~ TD n 4 ~ SN IR 1 2014-2015 Développement logiciel Programmation Objet. 1. Objectif

Tutoriel QT. Projet Alarme Domestique. ~ TD n 4 ~ SN IR 1 2014-2015 Développement logiciel Programmation Objet. 1. Objectif SN IR 1 2014-2015 Développement logiciel Programmation Objet Tutoriel QT Date : février 2015 Version : 3.2 Référence : Projet Alarme Domestique ~ TD n 4 ~ 1. Objectif Découverte de la programmation sous

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique

Table des matières. TP JEE (2) Logic metier et Entreprise Java Beans. IUT Bordeaux 1 - Département Informatique IUT Bordeaux 1 - Département Informatique Semestre 4 JEE 20112012 TP JEE (2) Logic metier et Entreprise Java Beans Les EJB (Enterprise JavaBeans) 3.0 permettent de découpler la logique de présentation

Plus en détail

Open Source Job Scheduler. Installation(s)

Open Source Job Scheduler. Installation(s) Open Source Job Scheduler Installation(s) Installations Standard Configuration Superviseur Agent SOS-Paris 2 Pré-requis o Base de données o MySQL, MSACCESS, Oracle o JDBC ou ODBC o Connecteurs o Mysql

Plus en détail

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par Sun pour permettre un accès aux bases de données avec Java Accès

Plus en détail

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel.

NOTE: Pour une meilleure sécurisation, nous vous recommandons de faire l installation des outils web à l intérieur d un serveur virtuel. Environnement des outils de gestion Comme nous allons utiliser principalement des outils orientés Web pour la gestion de notre domaine, pour que ceux-ci fonctionnent autant sous Windows que sous Linux,

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

Création d un WebService. Tp WinDev Numéro 13

Création d un WebService. Tp WinDev Numéro 13 Tp WinDev Numéro 13 Objectifs : Création d un WebService Paramétrage d un serveur Web, Création du Service Web, Création du client consommateur, Approche XML, SOAP Outils : Un serveur d application Ce

Plus en détail

Mémento Design Patterns

Mémento Design Patterns Quelques Design Patterns Mémento Design Patterns Frédéric MOAL Université d Orléans Scope Purpose Creational Structural Behavioral Factory Method Abstract Factory Builder Prototype Singleton Adapter Proxy

Plus en détail

Architectures Web Services RESTful

Architectures Web Services RESTful Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007

Plus en détail

Installation de SAMBA :

Installation de SAMBA : Description : Installation d un serveur SAMBA pour station 98 et 2000 Auteur : Nicolas AGIUS Date : 03/2003 Notes : Exemples pris sur RedHat 7.3 Contexte : Serveur de fichiers et d authentification pour

Plus en détail

Réseaux : SAMBA Sommaire. 1. Introduction. 2. Fonctionnement des réseaux Microsoft. 3. NetBIOS. 4. Le protocole SMB 5. SAMBA

Réseaux : SAMBA Sommaire. 1. Introduction. 2. Fonctionnement des réseaux Microsoft. 3. NetBIOS. 4. Le protocole SMB 5. SAMBA Réseau SAMBA Sommaire 1. Introduction 2. Fonctionnement des réseaux Microsoft 3. NetBIOS 4. Le protocole SMB 5. SAMBA 2 Introduction Le projet SAMBA est une application réseau permettant des échanges entre

Plus en détail

Partie 2.2: Servlet et Tomcat

Partie 2.2: Servlet et Tomcat Partie 2.2: Servlet et Tomcat 1 Plan du cours Servlets Présentation Exemple 2 Plan du cours Tomcat Des servlets à Tomcat: pourquoi Tomcat? Architecture Tomcat Installation et configuration de Tomcat Configuration

Plus en détail

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013

TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013 TUTORIEL: INSTALLATION D'UN SERVEUR LOCAL SOUS WINDOWS 7 POUR APPINVENTOR version du 06/04/2013 1. Téléchargement des sources AppInventor http://appinventor.mit.edu/appinventor-sources/ Télécharger ces

Plus en détail

Interactions audio sur le site web du LIA Documentation Technique

Interactions audio sur le site web du LIA Documentation Technique 2007 Interactions audio sur le site web du LIA Documentation Technique Projet 13 - IUP Avignon Master1 TAIM 28/05/2007 2 Projet 13 : Interactions audio sur le site web du LIA Sommaire Composants de l'application...

Plus en détail

Les procédures stockées et les fonctions utilisateur

Les procédures stockées et les fonctions utilisateur Les procédures stockées et les fonctions utilisateur Z Grégory CASANOVA 2 Les procédures stockées et les fonctions utilisateur [08/07/09] Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les procédures

Plus en détail

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI

TP WEBSERVICES. 1 Pré-requis. 1.1 L environnement de développement. 1.2 Les librairies nécessaires 1.3 SOAPUI Institut Galilée Année 2014-2015 TP WEBSERVICES Programmation et Logiciels sûrs Master 2 PLS Résumé Ce TP s appuie sur le cours de C. Fouqueré traitant des Environnements et Langage Évolués, ainsi que

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

W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT DE CONNECTEURS. Référence: W4XT_TUTORIAL_020_FR

W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT DE CONNECTEURS. Référence: W4XT_TUTORIAL_020_FR W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT DE CONNECTEURS Référence: W4XT_TUTORIAL_020_FR Les prochaines mises à jour de ce document seront disponibles sur www.myw4.com W4 EXTENSION BUS TUTORIEL - DEVELOPPEMENT

Plus en détail

CONTROLEUR DE DOMAINE SAMBA

CONTROLEUR DE DOMAINE SAMBA CONTROLEUR DE DOMAINE SAMBA Nous allons voir à travers ce tutoriel, la mise en place d un contrôleur de domaine sous linux, SAMBA. Ce tutoriel a été testé sur une distribution Debian version 7.2 1. Introduction

Plus en détail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur d'archivage 2007 Installation et utilisation de la BD exist Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier

Plus en détail

Open Source Job Scheduler

Open Source Job Scheduler Open Source Job Scheduler Interface web Pré-requis : o Installation Interface Web Configuration Utilisation Administration SOS-Paris 2 Rôle o Interface de publication o Gestion de la base de données o

Plus en détail

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

Plus en détail

CAHIER DES SPECIFICATIONS FONCTIONNELLES

CAHIER DES SPECIFICATIONS FONCTIONNELLES 2010/2011 INSTITUT SUP GALILEE CAHIER DES SPECIFICATIONS FONCTIONNELLES IHM XML O.N.E.R.A. Institut Sup Galilée O.N.E.R.A. Page 2 Sommaire I. Description du sujet... 4 II. Outils utilisés... 4 III. Description

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

Architecture des applications

Architecture des applications Architecture des applications Table des matières 1 Introduction 1 2 Les classes valeurs 2 2.1 Les Javaeans............................................. 2 2.2 Les différents types de Javaeans...................................

Plus en détail

Traitement et navigation

Traitement et navigation 12 Traitement et navigation Au chapitre précédent, nous avons vu comment créer des pages web avec différentes technologies (HTML, JSP, JSTL, etc.) en insistant sur le fait que JSF est la spécification

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

DU PLM. TP : produire et consommer des services web en PHP

DU PLM. TP : produire et consommer des services web en PHP DU PLM TP : produire et consommer des services web en PHP NuSOAP est une librairie PHP proposée par NuSphere et Dietrich Ayala. Elle fournit un ensemble de classes (aucune extension PHP n est requise au

Plus en détail

Introduction. Licence MASS L3 Inf f3

Introduction. Licence MASS L3 Inf f3 Le modèle client serveur Introduction Licence MASS L3 Inf f3 Encapsulation : rappel Données Données Application En-tête En-tête Transport UDP Données TCP Données Paquet UDP Segment TCP En-tête IP Données

Plus en détail

TP1 - Entreprise Java Beans

TP1 - Entreprise Java Beans TP1 - Entreprise Java Beans Réseaux Middlewares - Jules Chevalier 1 Configuration Minimale Pour ce TP, vous aurez besoin de outils suivants : Un JDK installé (le JRE est insuffisant) Un IDE édition Java

Plus en détail

iphone et ipad Développement d'applications en Objective-C - Version numérique

iphone et ipad Développement d'applications en Objective-C - Version numérique Le langage C (bases) 1. Langages utilisables sous Xcode (Mac OS X) 21 2. Les bases du langage de programmation C 22 2.1 Un premier projet C sous Xcode en mode Console 23 2.1.1 Création du projet 23 2.1.2

Plus en détail

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier Etude de cas PLM Patrice TORGUET IRIT Université Paul Sabatier Plan Exemple PLM Répartition avec Sockets Répartition avec RMI Répartition avec CORBA Répartition avec JMS Répartition avec Java EE Améliorations

Plus en détail

Guide de l utilisateur WebSeekurity

Guide de l utilisateur WebSeekurity SCRT Information Security Julia Benz Guide de l utilisateur WebSeekurity Version 1.0 Mars 2012 Table des matières Table des matières i 1 Introduction 1 1.1 Contributions.............................. 1

Plus en détail

MANGUE Impression de données

MANGUE Impression de données MANGUE Impression de données 0. Préambule 1. Principe de Fonctionnement 2. Description des fichiers XML générés 2.1 DescriptionImpression.XML 2.2 Fichier XML généré 2.3 Exemples complets de balise et résultat

Plus en détail

Chapitre 3. XWindow : l'environnement Graphique d'unix. Olivier Dalle. Utilisation du Système Unix

Chapitre 3. XWindow : l'environnement Graphique d'unix. Olivier Dalle. Utilisation du Système Unix 1 Chapitre 3 XWindow : l'environnement Graphique d'unix 2 Window résumé Système de fenêtrage (windowing( windowing) Pour périphérique d'affichage bitmap Utilisé sur Unix, Unix-like et OpenVMS Disponible

Plus en détail

Construire des applications «Extensibles»

Construire des applications «Extensibles» Construire des applications «Extensibles» Extensibilité / Patterns : Builder Factory Provider Module Pipeline Etc. IoC Containers MEF / System.ComponentModel.Composition + interfaces, abstraction Chaque

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Manipulation 4 : Application de «Change».

Manipulation 4 : Application de «Change». Manipulation 4 : Application de «Change». Première partie : Cette manipulation a pour but d utiliser un service Web afin d obtenir les taux de change appliqués entre les différentes monnaies référencées

Plus en détail

GUIDE UTILISATEUR NQI ORCHESTRA V.2.9.5 BIRT V.2.2.2

GUIDE UTILISATEUR NQI ORCHESTRA V.2.9.5 BIRT V.2.2.2 GUIDE UTILISATEUR NQI ORCHESTRA V.2.9.5 BIRT V.2.2.2 Table des Matières 1. INTRODUCTION...3 1.1 SUJET...3 1.2 OBJECTIFS...3 1.3 DÉFINITION DE TERMES, ACRONYMES...3 1.4 RÉFÉRENCE...3 2. CONFIGURATION...4

Plus en détail

Introduction au développement en couches

Introduction au développement en couches Introduction au développement en couches Lorsque l on est débutant en programmation, on entend souvent dire qu il est important de développer ses applications en utilisant des couches, en séparant le code

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

Procédure d'installation du système ERASMUS sous Linux

Procédure d'installation du système ERASMUS sous Linux Procédure d'installation du système ERASMUS sous Linux 07/06/2011 Support TWS support@twssa.com +33 (0) 4 42 399 199 1/22 I - INSTALLATION COMPLETE DU SERVEUR Important : Ne pas intervertir les étapes

Plus en détail

Java. et jquery. Intégrer un framework JavaScript. dans l écosystème JEE. Kévin VALETTE

Java. et jquery. Intégrer un framework JavaScript. dans l écosystème JEE. Kévin VALETTE Java et jquery Intégrer un framework JavaScript dans l écosystème JEE Kévin VALETTE Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez

Plus en détail

Créer le modèle multidimensionnel

Créer le modèle multidimensionnel 231 Chapitre 6 Créer le modèle multidimensionnel 1. Présentation de SSAS multidimensionnel Créer le modèle multidimensionnel SSAS (SQL Server Analysis Services) multidimensionnel est un serveur de bases

Plus en détail

GeNCA : un modèle général de négociation de contrats entre agents

GeNCA : un modèle général de négociation de contrats entre agents GeNCA : un modèle général de négociation de contrats entre agents Marie Hélène Verrons Equipe SMAC LIFL Université de Lille 1 Soutenance de thèse 2 novembre 2004 Marie-Hélène Verrons 1 Plan de la présentation

Plus en détail

Pasquier Barthelémy Ticula Omont

Pasquier Barthelémy Ticula Omont Pet Store Un magasin de vente en ligne générique basé sur: Le Kit de Développement Logiciel de Java 2, Edition Entreprise (J2EE) Pasquier Barthelémy Ticula Omont lundi 9 mars 2009 1/16 1) Objectif de l

Plus en détail

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011 SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT V 1.0 27 janvier 2011 Ce document présente l'utilisation des plugins dans Tourism System Client. Dans le Client, un plugin

Plus en détail

L exemple qui est mis à votre disposition a pour but de rechercher les données contenues dans un fichier services.xml fourni :

L exemple qui est mis à votre disposition a pour but de rechercher les données contenues dans un fichier services.xml fourni : TP n 9 Xml/Json 1) Exemple d application analysant un fichier XML L exemple qui est mis à votre disposition a pour but de rechercher les données contenues dans un fichier services.xml fourni : Ce fichier

Plus en détail

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

Afin d'éviter un message d'erreur au démarrage du service Apache du type : I. INTRODUCTION GLPI (Gestionnaire libre de parc informatique) est une solution open-source de gestion de parc informatique et de gestion des services d assistance aux utilisateurs distribué sous licence

Plus en détail

EISTI. Oracle Toplink. Manuel d installation et d utilisation

EISTI. Oracle Toplink. Manuel d installation et d utilisation EISTI Oracle Toplink Manuel d installation et d utilisation VILLETTE Charles, BEQUET Pierre, DE SAINT MARTIN Cédric, CALAY-ROCHE Vincent, NAUTRE Francois 20/05/2010 Ce manuel d installation et d utilisation

Plus en détail

Installation d'un serveur FTP géré par une base de données MySQL

Installation d'un serveur FTP géré par une base de données MySQL BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation

Plus en détail

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 TP Java RMI Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Paradigme RMI RMI (Remote Method Invocation) RPC orientés objet (encapsulation, héritage,...) objet :

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

TP6 EJB : Création d'un EJB3 Entité

TP6 EJB : Création d'un EJB3 Entité TP6 EJB : Création d'un EJB3 Entité Objis : nous allons vous faire aimer JAVA - www.objis.com 1 Table des matières Formation EJB - TP 'Développement EJB3 entity avec Eclipse' Propriété du document...3

Plus en détail

Chapitre 4. Le modèle de composants : les services

Chapitre 4. Le modèle de composants : les services Chapitre 4 Le modèle de composants : les services 1 Les services "A Service is an application component that can perform long-running operations in the background and does not provide a user interface."

Plus en détail

M2PLS - M2EID TP SPRING

M2PLS - M2EID TP SPRING M2PLS - M2EID TP SPRING Référence du document : Http://www-lipn.univ-paris13.fr/M2PLS/tp_spring.pdf Dernière modification : 25/11/11 Type de document : Travaux pratiques Rédacteur : Fortier Michael fortier@univ-paris13,fr

Plus en détail

INTERFACE. Supervision / Bases de Données

INTERFACE. Supervision / Bases de Données MASTER ASE SYSTEMES D INFORMATION POUR L INDUSTRIE INTERFACE Supervision / Bases de Données ODBC/ADO Pierre BONNET 2008-2009 Pierre BONNET - Supervision - Liaison ODBC 1 L INTERFACE ODBC Open DataBase

Plus en détail

Jeremy Serror. Financial library Interfaces XML Exportation Remote Execution

Jeremy Serror. Financial library Interfaces XML Exportation Remote Execution Interfacing Excel with The Grid Jeremy Serror Financial library Interfaces XML Exportation Remote Execution Interfacing Excel with the grid Introduction Les interfaces de la librairie - Deux interfaces

Plus en détail

Contrôleur de domaine Samba

Contrôleur de domaine Samba Par Contrôleur de domaine Samba Nous allons voir ici, comment mettre en place un contrôleur de domaine principal sous linux, avec samba. 1. Introduction Le but de ce tutoriel est de : créer un contrôleur

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

La persistance des données Le modèle Core Data

La persistance des données Le modèle Core Data Présentation de Core Data 1 Le modèle Core Data Dans la plupart des applications il est nécessaire d'archiver des objets dans un fichier, et si vous voulez prendre en charge l'annulation de modifications

Plus en détail

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5 Machine virtuelle Machine virtuelle Machine virtuelle VMware ESX Network Shutdown Module

Plus en détail

JAXB pour le XML-Binding

JAXB pour le XML-Binding JAXB pour le XML-Binding Eric BELLARD JAXB pour le XML-Binding... 1 Introduction...1 But du document...1 Lexique... 1 Articles liés... 2 JAXB (Java Architecture for XML Binding)...2 Utilisation de JAXB...3

Plus en détail

Note pour l installation du serveur Z39.50 pour MDweb

Note pour l installation du serveur Z39.50 pour MDweb Note pour l installation du serveur Z39.50 pour MDweb Version Commentaires 1 Auteurs : Jean Christophe Desconnets (jcd@teledetection.fr) Date de création : 20/02/2008 16:27:00 Sommaire Introduction...

Plus en détail

Documentation UpdatEngine Installation et migration version 2.1.0 stable

Documentation UpdatEngine Installation et migration version 2.1.0 stable Documentation UpdatEngine Installation et migration version 2.1.0 stable Version de la documentation : doc-2.1.0-stable-4 Auteur: Yves Guimard Référence internet : http://www.updatengine.com Licence Creative

Plus en détail

Architectures en couches pour applications web Rappel : Architecture en couches

Architectures en couches pour applications web Rappel : Architecture en couches Rappel : Architecture en couches Une architecture en couches aide à gérer la complexité : 7 Application 6 Presentation 5 Session Application Les couches hautes dépendent des couches basses 4 Transport

Plus en détail

Facebook Création d'applications avec PHP et JavaScript - Version numérique

Facebook Création d'applications avec PHP et JavaScript - Version numérique Introduction. Avant-propos 1. Objectif 1 1. Pré-requis 2 1.3 Structure 2 1.4 Conventions 3 1.4.1 Règles 3 1.4.2 Code source 3 2. Historique 4 2.1 2003-200 : les origines 4 2.2 2005-2008 : l'envol 7 2.3

Plus en détail

Plan. Présentation du logiciel Sympa Architecture La gestion des hôtes virtuels Listes avec inclusion des abonnés Les modules d authentification

Plan. Présentation du logiciel Sympa Architecture La gestion des hôtes virtuels Listes avec inclusion des abonnés Les modules d authentification Plan Présentation du logiciel Sympa Architecture La gestion des hôtes virtuels Listes avec inclusion des abonnés Les modules d authentification Les Scénarios d autorisation Le format TT2 Les familles de

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail

Installation FollowMe Q server

Installation FollowMe Q server Installation FollowMe Q server FollowMe Rev 1.00 30 nov 2007 Pré requis FollowMe v5 est un service de Windows et s'installe sur tout poste fonctionnant sous XP Pro, 2000 server, 2003 server. Il utilise

Plus en détail

Plugin Payment-OnLine

Plugin Payment-OnLine Plugin Payment-OnLine Le plugin "Payment-Online" est un plugin technique dont l'objectif est de faciliter l'utilisation du paiement en ligne dans des applications Lutèce. Il se compose d'une librairie

Plus en détail

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé

Plus en détail

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

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

DatamedWL Manuel d'utilisation

DatamedWL Manuel d'utilisation DatamedWL Manuel d'utilisation Datamed LLC DatamedWL v2 Doc ID DMD-10500-00400-FR Rev B 10/2014 DROIT D'AUTEUR Droit d'auteur Datamed LLC. Tous droits réservés. Toute reproduction, totale ou partielle,

Plus en détail

La base de données XML exist. A. Belaïd

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

Plus en détail

MongoDB. Objectif Découvrir l'aggrégation des requêtes, l'indexation, la réplication et l'autosharding sur MongoDB

MongoDB. Objectif Découvrir l'aggrégation des requêtes, l'indexation, la réplication et l'autosharding sur MongoDB ESIPE IR3 - IG3 Cloud Computing #3 MongoDB Objectif Découvrir l'aggrégation des requêtes, l'indexation, la réplication et l'autosharding sur MongoDB Révisions Téléchargez depuis le site le fichier ex.tgz.

Plus en détail

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE 1 Introduction aux tests de performance et de charge Sommaire Avertissement...2 Aperçu...3 1. Création du scénario de navigation web (Test web)...4 2.

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

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

OCS Inventory NG Maîtrisez l'inventaire de votre parc informatique et le déploiement de vos logiciels

OCS Inventory NG Maîtrisez l'inventaire de votre parc informatique et le déploiement de vos logiciels Introduction 1. Avant-propos 15 1.1 Cibles et objectifs de l'ouvrage 16 1.2 Organisation du livre 16 1.3 Pré-requis techniques et ressources documentaires 17 1.3.1 Pré-requis techniques 17 1.3.2 Ressources

Plus en détail

Utilisation des ressources informatiques de l N7 à distance

Utilisation des ressources informatiques de l N7 à distance Utilisation des ressources informatiques de l N7 à distance Romain Pignard - Net7/INP-Net 27 mars 2010 Résumé Ce document non officiel explique comment utiliser les ressources informatiques de l école

Plus en détail

Tutorial sur les MFC

Tutorial sur les MFC 1 Avant de commencer Tutorial sur les MFC Il peut naturellement rester des fautes d inattention. Si tel est le cas, veuillez m en excuser. Important : ce tutorial a pour but de programmer une interface

Plus en détail

Le paquet rvle. Utilisation d un simulateur VLE, sous R. Patrick Chabrier, Hélène Raynal, Ronan Trepos 1, Gauthier Quesnel 2

Le paquet rvle. Utilisation d un simulateur VLE, sous R. Patrick Chabrier, Hélène Raynal, Ronan Trepos 1, Gauthier Quesnel 2 Le paquet rvle Utilisation d un simulateur VLE, sous R. Patrick Chabrier, Hélène Raynal, Ronan Trepos 1, Gauthier Quesnel 2 1. Equipe RECORD, U-MIA-T, INRA Toulouse 2. Equipe MAD, U-MIA-T, INRA Toulouse

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

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

Proxy Gemma. 1) Introduction. 2) Solution proposée

Proxy Gemma. 1) Introduction. 2) Solution proposée 1) Introduction Proxy Gemma Le LIMS Gemma repose sur une base de données 4D serveur 7.0.5 fonctionnant sur un serveur Windows 2000 server. Cette version de 4D est depuis longtemps dépassée, donc plus maintenue,

Plus en détail

Enregistrement de données, partie 1 (Storage)

Enregistrement de données, partie 1 (Storage) Enregistrement de données, partie 1 (Storage) CodenameOne propose 4 manières différentes pour sauvegarder des données. La plus simple, la plus portable et la plus conseillée pour la majorité des cas est

Plus en détail