WCF et intéropabilité avec JAVA



Documents pareils
Introduction à Eclipse

BIRT (Business Intelligence and Reporting Tools)

Introduction aux. services web 2 / 2

Hébergement et configuration de services WCF. Version 1.0

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

TD/TP 1 Introduction au SDK d Android

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Installation d'un Active Directory et DNS sous Windows Server 2008

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

Compte Rendu d intégration d application

Approche Contract First

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

Procédure d'installation complète de Click&Decide sur un serveur

Créer et partager des fichiers

TP1 : Initiation à Java et Eclipse

Introduction à Microsoft InfoPath 2010

TP1 : Initiation à Java et Eclipse

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs

Projet De Stijl Plate-forme pour robots mobiles

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

BIND : installer un serveur DNS

RAPPORT TP ACTIVE DIRECTORY

Notice d installation et d utilisation du blog nomade avec un nouveau blog

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

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Construire des plug-ins pour SAS Management Console SAS 9.1

TAGREROUT Seyf Allah TMRIM

Installation de Joomla avec Filezilla

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

Reporting Services - Administration

Accès distant Freebox v6 Configuration

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Plateforme de support en ligne. Guide d utilisation

Création d un service web avec NetBeans 5.5 et SJAS 9

Cours LG : Administration de réseaux et sécurité informatique. Dans les Paramètres Système onglet Processeur, le bouton "Activer PAE/NX"

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

Tutorial NL220. Objectifs : Fournir un guide utilisateur pour NL220. Présenter une méthodologie efficace pour la création de projet

Guide d installation du logiciel Proteus V.8 Sous Windows Vista, 7, 8

Se connecter en WiFi à une Freebox

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e

< Atelier 1 /> Démarrer une application web

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

Installation et compilation de gnurbs sous Windows

Windows Internet Name Service (WINS)

SIEMENS LX / Cloud OpenIP

Comment paramétrer correctement son compte Facebook pour pouvoir protéger un maximum ses données et sa vie privée.

Le langage C. Séance n 4

Manuel d utilisation du Guichet électronique V2

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

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

2 - VMWARE SERVER.doc

Connexion entre une BD FileMaker Pro 10 et ArcGis 10.x sous Windows 7

Introduction aux «Services Web»

Le serveur web Windows Home Server 2011

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

Présentation, mise en place, et administration d'ocs Inventory et de GLPI

VAMT 2.0. Activation de Windows 7 en collège

Live box et Nas Synology

Comment mettre en ligne un site WordPress local

Installation et paramétrage de Fedora dans VirtualBox.

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

Les possibilités de paramétrage réseau des logiciels de virtualisation sont les suivantes quant à la connexion réseau :

TP3-2 CONSTRUISEZ VOTRE PREMIER SERVICE AZURE

SOMMAIRE. Accéder à votre espace client. Les Fichiers communs. Visualiser les documents. Accéder à votre espace client. Changer de Workspace

Messagerie asynchrone et Services Web

Préparation d un serveur Apache pour Zend Framework

Windows Server 2008 R2

Préconisations Techniques & Installation de Gestimum ERP

Etude de cas : PGE JEE V2

Procédure d installation détaillée

JOnAS Day 5.1. Outils de développements

Environnements de développement (intégrés)

Tutoriel d installation de Hibernate avec Eclipse

Cloud public d Ikoula Documentation de prise en main 2.0

PPE 6 ACTIVE DIRECTORY & SERVEUR DE REPLICATION

CREER UN ENREGISTREMENT DANS LA ZONE DNS DU DOMAINE

PROCEDURE ESX & DHCP LINUX

Xubuntu Une alternative à Windows et à Ubuntu, (pour ceux qui ne veulent pas d'unity) : installer Xubuntu.

Configuration de base de Jana server2. Sommaire

Mise en place de la G4100 pack avec Livebox

Augmenter la portée de votre WiFi avec un répéteur

Interagir avec le SharePoint. Version 1.0

Protéger une machine réelle derrière une machine virtuelle avec pfsense

MANUEL D INSTALLATION

Migration a Outlook Guide

Host Integration Server 2000

FICHE CONFIGURATION SERVICE DHCP

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Ces Lettres d informations sont envoyées aux extranautes inscrits et abonnés sur le site assistance (voir point N 3).

Installer Enterprise Miner 5.1 en SAS environnement Windows

SQL Server Installation Center et SQL Server Management Studio

PARTAGER UN ANNUAIRE COLLECTIF DE SIGNETS AVEC DEL.ICIO.US

FileMaker Server 14. Aide FileMaker Server

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Transcription:

WCF et intéropabilité avec JAVA Version 1.0 Adrien RUFFIE

2 WCF et intéropabilité avec JAVA Sommaire 1 Création du service WCF... 3 1.1 Création du contrat de service... 3 1.2 Création de l implémentation du contrat de service... 4 1.3 Création de l hébergement du service... 5 2 Création du client Java... 8 3 Conclusion... 12

3 WCF et intéropabilité avec JAVA 1 Création du service WCF 1.1 Création du contrat de service Pour commencer, nous allons partir d une solution vide sous Visual Studio : Ensuite, pour créer le projet où notre contrat de service sera localisé, il suffit d aller dans : «Ajouter» puis «Nouveau Project» puis «WCF» puis «WCF Service Library». Le contrat du service est représenté en C# par une interface, ce contrat permettra à votre web service de définir les opérations/actions qu il proposera aux différents consommateurs qui pourront venir le requêter.

4 WCF et intéropabilité avec JAVA Quand Visual Studio génère votre projet, il nous suffit de supprimer la classe Service1.cs et de renommer l interface IService1.cs en IConversionService.cs pour notre exemple. Ensuite il faut supprimer le contenu de notre interface : public interface IConversionService De plus, nous allons supprimer entièrement la classe auto-générée : public class CompositeType Ensuite déclarez votre opération qui sera mise à disposition aux consommateurs du service via le contrat. Vous devriez obtenir l interface suivante : Pour finir, il faut ensuite supprimer le fichier App.config. 1.2 Création de l implémentation du contrat de service Dans notre solution, nous allons créer un nouveau projet qui sera l implémentation de votre contrat de service :

5 WCF et intéropabilité avec JAVA Après la génération automatique de votre projet, nous allons supprimer le fichier App.config ainsi que l interface IService1.cs. Renommons ensuite la classe Service1.cs en ConversionService.cs. Ajoutons la référence de notre projet ContractServiceLibrary, pour avoir accès à l interface du contrat de service. Dans la classe ConversionService.cs il ne faut pas oublier d importer l espace de noms de ContractServiceLibrary. De plus, il faut remplacer l implémentation de l interface IService1 par IConversionService. Ensuite, il faut supprimer le contenu de la classe ConversionService puis aller faire un clic droit sur «IConversionService» puis «Implémenter l interface». Une fois la méthode générée il suffit de supprimer son contenu généré par Visual Studio et d implémenter notre propre logique indiquée ci-dessous : Cette petite routine nous permet de faire une conversion entre l Euro et le dollar américain. Le montant indiqué en paramètre de la méthode en euros sera renvoyé avec une valeur en USD. 1.3 Création de l hébergement du service Pour finir, nous allons maintenant créer un troisième projet pour héberger notre service WCF :

6 WCF et intéropabilité avec JAVA Ce projet va nous permettre d héberger notre web service. En réalité, il va nous permettre de publier un endpoint où notre service sera disponible. Un endpoint represente abstraitement un point de connexion d où nous pourrons accéder au service «bindé» dessus et disponible à une adresse avec différentes possibilités de protocoles comme SOAP & http GET/POST. Après génération de ce projet, nous allons supprimer l interface IService1.cs et la classe Service1.svc.cs auto-générées. Ensuite, nous allons inclure les références de nos deux projets «ContractServiceLibrary» et «ImplementationServiceLibrary». Renommons le fichier Service1.svc en ConversionService.svc. Dans ce fichier, nous devons changer la ligne suivante : <%@ ServiceHost Language="C#" Debug="true" Service="HostingServiceApplication.Service1" CodeBehind="Service1.svc.cs" %> Pour obtenir ceci : <%@ ServiceHost Language="C#" Debug="true" Service="ImplementationServiceLibrary.ConversionService"%> Ensuite dans le fichier web.config du projet HostingServiceLibrary, il faut remplacer les occurrences de : HostingServiceApplication.Service1Behavior Par cette nouvelle valeur : ImplementationServiceLibrary.ConsersionServiceBehavior Il faut, de plus, faire de même pour l occurrence suivante : HostingServiceApplication.Service1 Remplacée par : ImplementationServiceLibrary.ConversionService Faire de même pour cette valeur : HostingServiceApplication.IService1 Remplacée par : ContractServiceLibrary.IConversionService

7 WCF et intéropabilité avec JAVA Pour finir avec le remplacement d occurences Ensuite remplacez la ligne suivante : <endpoint address="" binding="wshttpbinding" contract="contractservicelibrary.iconversionservice"> Remplacée par cette valeur : <endpoint address="" binding="basichttpbinding" contract="contractservicelibrary.iconversionservice"> Exécutons maintenant notre solution. Nous obtenons ceci : On peut constaterque le fichier de description du web service (le fichier WSDL : Web Service Description Language) est disponible à l adresse suivante : http://localhost:50855/conversionservice.svc?wsdl Nous utiliserons cette adresse pour générer le client Java.

8 WCF et intéropabilité avec JAVA 2 Création du client Java Note de l auteur : Pour cette partie j estime que le temps de développement sous Eclipse étant plus long et laborieux (et surtout rébarbatif avec les imports de jar, phase de build ect ) pour les développeurs Java non expérimentés je ferai la démonstration avec NetBeans 6.5 qui par sa maniabilité de génération de client web service est relativement simple. Après avoir lancé NetBeans allez dans le menu «Tools» puis «Plugins», il faut sélectionner l onglet «Available Plugins». Dans cet onglet, nous allons sélectionner le plugin «Web Services» et cliquer sur «Install» (si le plugin n est pas disponible, il faut mettre à jour le catalogue en cliquant sur «Reload Catalog» ou dans l onglet «Settings» en sélectionnant tous les «Update Centers». Ensuite, aller dans le menu, puis «New Project», sélectionnez «Java» dans «Categories :» de projet, puis «Java Application» dans la list «Projects :». Etape suivante : faire «Next» et pour le champ «Project Name» remplir par ConversionServiceConsume puis faire «Finish». Faire ensuite un clic droit sur notre projet puis «New» «Web Service Client»

9 WCF et intéropabilité avec JAVA Dans la fenêtre qui vient de s ouvrir, seléctionner «WSDL URL» et entrer l url où notre web service WCF à publié le WSDL: Note de l auteur (Retour d expérience) : Travaillant depuis environ deux ans dans les systèmes distribués, je vous conseille d étudier toutes les problématiques liées à l architecture où sera déployée votre application. Certains problèmes récurrents et couteux en perte de temps apparaissent dans les systèmes massivement distribués, ici un bon exemple est : L adresse du WSDL est à : http://localhost:50855/conversionservice.svc?wsdl Si vous testez cette exemple comme moi en hébergent le service WCF sur un ordi et le consommateur Java sur un autre, lorsque vous passerez cette adresse la machine où le client Java est présent pensera que le localhost est en réalité lui-même donc cherchera le wsdl sur son port machine 50855 alors qu il n y est pas Pour pallier à cela remplacez le localhost de l adresse par l IP de l ordinateur ou le service WCF est hébergé exemple avec 192.168.1.10 :http://192.168.1.10:50855/conversionservice.svc?wsdl Sachant que vous pourriez aussi rencontrer des problèmes du style firewall, port inaccessible, sousréseaux, résolution DNS si vous précisez un nom d hôte au lieu d une adresse IP Après avoir pris conscience des problèmes possible et avoir ajusté l adresse du WSDL, cliquez sur «Finish».

10 WCF et intéropabilité avec JAVA Notre projet devrait ressembler à ceci : Dans notre classe Main.java, dans la fonction «main» il faut écrire les lignes suivantes : Ces lignes nous permettront de récupérer le service WCF que l on veut appeler, ensuite le port de l endpoint où l appel sera envoyé pour consommer du service. Puis ensuite afficher le résultat d un conversion d euro en dollar en invoquant l opération de conversion mise à disposition par le contrat de service, ici «eurintousdconversion».

11 WCF et intéropabilité avec JAVA Lançons maintenant l application en cliquant sur le bouton «Run» : Nous obtenons maintenant le résultat suivant : Avec pour 10.0 un retour de 13.6039 $.

12 WCF et intéropabilité avec JAVA 3 Conclusion Le but de ce document n était pas de faire polémique entre Java,.Net, PERL ou n importe quel autre langage de développement, mais nous avons voulu faire prendre conscience que dans la période où nous nous trouvons, tellement d applications ont été développées dans différents langage que, la communication entre ces applications sera l un des points importants des architectures distribuées. Dans les futures décennies, le problème sera aussi la communication entre les nouvelles applications qui seront développées et les systèmes «legacy» hérités des années 80-90 qui couterai trop cher à redévelopper dans les langages de nouvelle génération. Etant un fervent défenseur de SOA et que les web services étant l une de ses grandes parties, l interopérabilité entre les différents langages et applications n est pas total. Le Basic Profile, W3C, WSIT on écrit des spécifications traitant des problèmes d interopérabilité, sur lesquels il serait possible de faire un livre de plusieurs centaines de pages. Différents problèmes d interopérabilité peuvent être par exemple que en Java les long, double sont plus volumineux que en.net, je vous conseille de vivement, et dès le moindre problème d interopérabilité, d aller mettre le nez dans les specs, posts et autres de ces organismes pour éviter de perdre le moins de temps possible. Remarque: j'ai volontairement utilisé NetBeans, car étant plus «user friendly» pour les non java users, il permet en quelques clics de réaliser les étapes précédentes, sinon beaucoup de gens auraient vite lâché le sujet avec Eclipse.