<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SOA &amp; Interop @ Microsoft France : JavaMS</title><link>http://blogs.msdn.com/ssfartz/archive/tags/JavaMS/default.aspx</link><description>Tags: JavaMS</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>[TechDays 2009] Tour d'horizon REST en environnement Microsoft et hétérogène</title><link>http://blogs.msdn.com/ssfartz/archive/2009/02/17/techdays-2009-rest-interop-java-restlet-wcf-starter-kit-ado-net-data-services.aspx</link><pubDate>Tue, 17 Feb 2009 13:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9427401</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ssfartz/comments/9427401.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssfartz/commentrss.aspx?PostID=9427401</wfw:commentRss><description>&lt;P&gt;Afin de faire un tour d’horizon de l’architecture REST et son implémentation en environnement hétérogène .Net et Java, cette session a été co-animée avec &lt;A href="http://www.noelios.com/company/team" mce_href="http://www.noelios.com/company/team"&gt;Thierry Boileau&lt;/A&gt; de la société Noelios Technologies, spécialistes REST et concepteurs du framework Restlet.&lt;/P&gt;
&lt;P&gt;Nous avons choisi de consacrer 30 minutes aux principes d’architecture REST et à la méthodologie ROA/D préconisée par Noelios : identification des ressources, constitution des URI, choix des méthodes, conception des représentations, définition des statuts HTTP. En conclusion, de cette première partie, REST est un style d’architecture, chacun doit se positionner depuis les positions les plus pragmatiques ou plus puristes (au sens respectueuses de la thèse de Roy Fielding).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_2.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: block; BORDER-LEFT-WIDTH: 0px; FLOAT: none; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; BORDER-RIGHT-WIDTH: 0px" height=211 alt=image src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb.png" width=391 border=0 mce_src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Nous avons ensuite parcouru les implémentations proposées par Microsoft et Noelios, en présentant des implémentations permettant de parcourir et mettre à jour une liste de clients :&lt;/P&gt;
&lt;P&gt;&lt;B&gt;WCF &lt;/B&gt;: depuis la version 3.5, WCF propose un binding adapté au style REST (WebHttpBinding) qui permet de construire ses URI (URI template), de définir ses styles de représentation (XML, JSON…) et de spécifier ses Méthodes (GET, PUT, POST, DELETE). WCF constitue ainsi une fondation pour les frameworks cités ci-après.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;WCF REST Starter Kit&lt;/B&gt; : annoncé en octobre 2008, ce framework opensource proposé sur CodePlex implémente les scénarios REST les plus courants, à savoir exposer une ressource sous format XML ou JSON, une collection de ressources, un flux Atom… Le kit est complété de template Visual Studio.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_4.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT-WIDTH: 0px" height=56 alt=image src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb_1.png" width=285 align=left border=0 mce_src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb_1.png"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;ADO.NET Data Services&lt;/B&gt; : Ce framework est une extension standard de .Net 3.5 et de Silverlight 2, et une API javascript est aussi disponible. En pratique, il s’agit ici d’exposer et consommer des ressources très facilement au travers d’interfaces REST qui permettent de parcourir le graphe de ressources, avec une intégration de sources de données relationnelles au travers du framework ADO.Net Entity. Remarque : il est aussi possible d’exposer des sources de données mémoires. Ce framework est largement utilisé par les services en ligne Microsoft (notamment Azure Storage et SQL Services), et il a le gros avantage de simplifier la manipulation des ressources côté client au travers d’une API dédiée (qui permet de s’affranchir de l’écriture de requêtes REST, mais aussi de la gestion des états des données – notion de “Unit of Work / Persistance Unit” pour les familiers de TopLink / JPA). Les flux échangés sont de type Atom pour les collections et possibilité de choisir XML/JSON pour les éléments atomiques.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Restlet&lt;/B&gt; : le framework opensource Java de Noelios a la caractéristique d’implémenter l’ensemble du paradigme REST, en étant nativement orienté Composants et Connecteurs. En pratique, une application expose des Ressources qui proposent des représentations.&lt;/P&gt;
&lt;P&gt;Nous avons ensuite présenté une &lt;B&gt;synthèse&lt;/B&gt; qui positionne ces implémentations. &lt;I&gt;Remarque : s’il est possible d’accéder en REST à l’API ADO.NET Data Services, cette communication sera simplifiée si on utilise une API client ADO.NET Data Services.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_6.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: block; BORDER-LEFT-WIDTH: 0px; FLOAT: none; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; MARGIN-RIGHT: auto; BORDER-RIGHT-WIDTH: 0px" height=298 alt=image src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb_2.png" width=398 border=0 mce_src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb_2.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;I&gt;&lt;U&gt;Figure : Synthèse&amp;nbsp;REST en environnement hétérogène&lt;/U&gt;&lt;/I&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Nous avons conclu en présentant 2 scénarios d’interopérabilité :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Une application Silverlight qui accède à des ressources REST exposées en Java Restlet. &lt;/B&gt;Dans la mesure où la technologie Silverlight limite les méthodes HTTP à POST et GET, nous avons du surcharger l’URI de mise à jour avec une extension Restlet pour supporter le PUT (?method=PUT). Pour une meilleure interopérabilité, je vous invite à utiliser l’extensibilité HTTP&amp;nbsp;au travers d'un header X-HTTP-Method-Override. &lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_8.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=185 alt=image src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb_3.png" width=327 border=0 mce_src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Une intégration Restlet des queues de messages de Windows Azure&lt;/B&gt;, qui permet donc de manipuler les queues de messages en Java, cad, pousser et retirer des messages mais aussi créer et supprimer&amp;nbsp;des queues. Cette démonstration a été réalisée grâce à l’intégration de la technologie &lt;A href="http://msdn.microsoft.com/en-us/library/dd179428.aspx" mce_href="http://msdn.microsoft.com/en-us/library/dd179428.aspx"&gt;d’authentification SharedKey et SharedKeyLite&lt;/A&gt; par les équipes Noelios Technologies dans les derniers builds de la version 1.2. (&lt;A href="http://www.restlet.org/documentation/snapshot/changes" mce_href="http://www.restlet.org/documentation/snapshot/changes"&gt;unstable build du 16 février&lt;/A&gt;). &lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_10.png"&gt;&lt;IMG title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=133 alt=image src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb_4.png" width=319 border=0 mce_src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/TechDays2009RESTinteropJavaRestletWCFSta_A27A/image_thumb_4.png"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9427401" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Services+Web/default.aspx">Services Web</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/ArchiMS/default.aspx">ArchiMS</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/REST/default.aspx">REST</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/JavaMS/default.aspx">JavaMS</category></item><item><title>Interopérabilité des Services Web ... sur le terrain</title><link>http://blogs.msdn.com/ssfartz/archive/2008/03/12/interop-rabilit-des-services-web-sur-le-terrain.aspx</link><pubDate>Wed, 12 Mar 2008 13:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8168390</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ssfartz/comments/8168390.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssfartz/commentrss.aspx?PostID=8168390</wfw:commentRss><description>&lt;P&gt;Au fil de mes conférences et interventions sur les scénarios d'interopérabilité Java - .Net,&amp;nbsp;je rencontre régulièrement les mêmes écueils. Voici donc un B.A.BA pour une interopérabilité réussie (avec la contribution de Benjamin Bellon Serre :-) :&lt;/P&gt;
&lt;H4&gt;Générer un proxy client à partir du WSDL &lt;/H4&gt;
&lt;P&gt;Utiliser la commande svcutil sous WCF (ou bien son équivalent sous Visual Studio : Add Service Reference...) ou bien la commande wsimport si vous utilisez un framework Java qui implémente JAX-WS&lt;/P&gt;
&lt;H4&gt;Ecueil 1 : la génération du proxy client Java ne fonctionne pas. &lt;/H4&gt;
&lt;P&gt;Cela est généralement lié au fait que le WSDL généré par WCF comprend des includes (même si c'est prévu par les spécifications, certains frameworks Java ne l'implémentent pas). &lt;/P&gt;
&lt;P&gt;Dans ce cas, il faut retravailler le WSDL ou bien demander à la partie .Net de "mettre à plat" son WSDL. &lt;A href="http://www.winterdom.com/weblog/2006/10/03/InlineXSDInWSDLWithWCF.aspx" target=_blank mce_href="http://www.winterdom.com/weblog/2006/10/03/InlineXSDInWSDLWithWCF.aspx"&gt;Voir ce billet ...&lt;/A&gt;&lt;/P&gt;
&lt;H4&gt;Ecueil 2 : les formats SOAP supportés par les frameworks doivent être alignés&lt;/H4&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=217 alt=image src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_thumb.png" width=282 border=0 mce_src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Si JAX-WS et WCF supportent la plupart de ces modes d'encodage, il faut tout de même les aligner. En principe, la simple génération à partir du WSDL permet de générer le bon formattage par le proxy client. Cependant, si le consommateur ne supporte pas un mode encodage, il faudra adapter le serveur au mode d'encodage supporté. Voici le moyen en WCF :&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=292 alt=image src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_thumb_1.png" width=528 border=0 mce_src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Pour adapter la partie JAX-WS, voici les attributs à positionner sur le service :&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;@SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL) &lt;BR&gt;public class ServiceSomme { ...&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Si vous souhaitez consommer en Java un Web Service exposé par un applicatif Microsoft, voici les encodages proposés par défaut pour les frameworks historiques (au sens avant WCF)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=273 alt=image src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_thumb_2.png" width=426 border=0 mce_src="http://blogs.msdn.com/blogfiles/ssfartz/WindowsLiveWriter/InteroprabilitdesServicesWe.surleterrain_9DC9/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H4&gt;Et si ça ne fonctionne toujours pas, il faut aller regarder de plus près le fichier WSDL et les flux SOAP &lt;/H4&gt;
&lt;P&gt;L'outillage nécessaire pour soumettre des trames SOAP est &lt;A href="http://www.soapui.org/" target=_blank mce_href="http://www.soapui.org/"&gt;SoapUI&lt;/A&gt; côté Java, et ServiceTester côté .Net (fourni avec le &lt;A href="http://www.codeplex.com/servicesengine/Release/ProjectReleases.aspx?ReleaseId=8047" target=_blank mce_href="http://www.codeplex.com/servicesengine/Release/ProjectReleases.aspx?ReleaseId=8047"&gt;Managed Service Engine&lt;/A&gt;). L'intégration WCF dans VisualStudio 2008 permet aussi de soumettre des flux SOAP pour un service .Net hébergé grâce au moteur WCF intégré (WCFTestClient)&lt;/P&gt;
&lt;P&gt;Si vous utilisez WCF, il suffit de mettre en place l'analyse (Diagnotics) pour pouvoir tracer les flux SOAP échangés.&lt;/P&gt;
&lt;P&gt;&amp;lt;system.diagnostics&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sources&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;listeners&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add type="System.Diagnostics.DefaultTraceListener" name="Default"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;filter type="" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/add&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="ServiceModelMessageLoggingListener"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;filter type="" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/add&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/listeners&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/source&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sources&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sharedListeners&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add initializeData="...\app_messages.svclog" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name="ServiceModelMessageLoggingListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;filter type="" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/add&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/sharedListeners&amp;gt; &lt;BR&gt;&amp;nbsp; &amp;lt;/system.diagnostics&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Ressources&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Pour&amp;nbsp;approfondir les aspects théoriques des Services Web et les problématiques d'interopérabilité avec des exemples&amp;nbsp;AXIS, JAX-WS et WCF, je vous invite à&amp;nbsp;lire &lt;A class="" href="http://blog.sfartz.com/post/2007/07/17/Interoperabilite-des-stacks-Services-Web-Java-et-Net" target=_blank mce_href="http://blog.sfartz.com/post/2007/07/17/Interoperabilite-des-stacks-Services-Web-Java-et-Net"&gt;ce livre blanc et les vidéos associées&lt;/A&gt;.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Si vous êtes en environnement .Net + WebSphere 6, IBM a publié &lt;A class="" href="http://www.ibm.com/developerworks/websphere/library/techarticles/0710_levay/0710_levay.html" target=_blank mce_href="http://www.ibm.com/developerworks/websphere/library/techarticles/0710_levay/0710_levay.html"&gt;un guide&amp;nbsp;dont la première partie couvre&amp;nbsp;SOAP et WS-Adressing&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8168390" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Apprendre/default.aspx">Apprendre</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Services+Web/default.aspx">Services Web</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Exposons/default.aspx">Exposons</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/JavaMS/default.aspx">JavaMS</category></item><item><title>[Archive] Tirer parti des technologies Microsoft depuis Java au travers des Services Web</title><link>http://blogs.msdn.com/ssfartz/archive/2008/01/03/archive-tirer-parti-des-technologies-microsoft-depuis-java-au-travers-des-services-web.aspx</link><pubDate>Thu, 03 Jan 2008 15:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6966938</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ssfartz/comments/6966938.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssfartz/commentrss.aspx?PostID=6966938</wfw:commentRss><description>&lt;P&gt;Avec le concours de Jean-Louis LEQUEUX et de Nasime EL FARTASSE d'ATOS ORIGIN, le &lt;A href="http://msdn2.microsoft.com/fr-fr/events/bb847919.aspx" target=_blank mce_href="http://msdn2.microsoft.com/fr-fr/events/bb847919.aspx"&gt;RV de l'interop&lt;/A&gt; du 18 octobre 2007 a permis d'illustrer 4 scénarios d'interopérabilité : Excel (VBA &amp;amp; AddIn avec VS2008), SharePoint (MOSS2007), Génération de rapports (SQL Server Reporting Services) et Composition de Services (WF - Wndows Workflow Foundation 3.5)&lt;/P&gt;
&lt;P&gt;Vous pouvez &lt;A href="http://www.microsoft.com/france/vision/WebcastMsdn.aspx?EID=fece86cc-056d-4ee4-b977-11ccf181254a" target=_blank mce_href="http://www.microsoft.com/france/vision/WebcastMsdn.aspx?EID=fece86cc-056d-4ee4-b977-11ccf181254a"&gt;écouter les sessions et télécharger les PPTs&lt;/A&gt; sur Microsoft Audio &amp;amp; Video.&lt;/P&gt;
&lt;P&gt;J'ai profité des vacances pour packager un minimum les démos, dont voici les &lt;A href="http://blog.sfartz.com/public/interopDotNetJ2EE/Demos_RV_Interop_18_octobre_2007.zip" mce_href="http://blog.sfartz.com/public/interopDotNetJ2EE/Demos_RV_Interop_18_octobre_2007.zip"&gt;codes des démonstrations&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Le scénario d'interopérabilité Composite avec Worflow Foundation demandait à être complété : un article détaillé illustrant un scénario de médiation de protocoles avec WF, entre JAX-WS et un client REST via WF et en utilisant les bindings WCF paraîtra courant Janvier.&lt;/P&gt;
&lt;P&gt;Voici l'agenda d'étaillé du RV du 18 octobre :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Atos Origin, SOA et interopérabilité 2/13&lt;/LI&gt;
&lt;LI&gt;Les opportunités liées aux Services Web en entreprise 3/13&lt;/LI&gt;
&lt;LI&gt;Théorie des Services Web 4/13&lt;/LI&gt;
&lt;LI&gt;Les profils d'interopérabilité du WS-I 5/13&lt;/LI&gt;
&lt;LI&gt;Développement de Services Web en .NET 6/13&lt;/LI&gt;
&lt;LI&gt;Développement de Services Web en Java 7/13 &lt;/LI&gt;
&lt;LI&gt;Quelques bonnes pratiques pour débuter 8/13 &lt;/LI&gt;
&lt;LI&gt;Consommer des Services Java depuis Excel en VBA 9/13&lt;/LI&gt;
&lt;LI&gt;Consommer des Services Java depuis un AddIn .NET Excel 10/13&lt;/LI&gt;
&lt;LI&gt;Intégrer en Java un référentiel SharePoint 11/13&lt;/LI&gt;
&lt;LI&gt;Rechercher et générer des rapports SQL SERVER depuis Java 12/13&lt;/LI&gt;
&lt;LI&gt;Invoquer un Workflow .NET depuis un Service Web Java et plus 13/13&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Ce RV de l'interop vient compléter de sessions plus théoriques sur les Services Web et l' Interopérabilité entre les environnements .Net et Java :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Juin 2007 : &lt;A href="http://www.microsoft.com/france/interop/themes/applications/20070509-interop-NET-J2EE/default.mspx" target=_blank mce_href="http://www.microsoft.com/france/interop/themes/applications/20070509-interop-NET-J2EE/default.mspx"&gt;Interopérabilité des stacks SOAP .Net et Java&lt;/A&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;WCF, Apache AXIS et SUN JAX-WS&lt;/LI&gt;
&lt;LI&gt;Accompagné d'un &lt;A href="http://blog.sfartz.com/post/2007/07/17/Interoperabilite-des-stacks-Services-Web-Java-et-Net" target=_blank mce_href="http://blog.sfartz.com/post/2007/07/17/Interoperabilite-des-stacks-Services-Web-Java-et-Net"&gt;livre blanc&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Juin 2007 : &lt;A href="http://www.microsoft.com/france/vision/WebcastMsdn.aspx?EID=024fb28a-9dab-4e1a-99a3-45cabbb00267" target=_blank mce_href="http://www.microsoft.com/france/vision/WebcastMsdn.aspx?EID=024fb28a-9dab-4e1a-99a3-45cabbb00267"&gt;Interopérabilité via les protocoles avancés WS-*&lt;/A&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Sécurité, transactions entre WCF et WSIT / Metro / SUN Glassfish&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Mai 2007 : &lt;A href="http://blog.sfartz.com/post/2007/05/18/Interoperabilite-Net-J2EE" target=_blank mce_href="http://blog.sfartz.com/post/2007/05/18/Interoperabilite-Net-J2EE"&gt;3 stratégies pour interopérer entre Java et .Net&lt;/A&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Services Web, Bridges, COM&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6966938" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssfartz/archive/tags/WebCasts/default.aspx">WebCasts</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Apprendre/default.aspx">Apprendre</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Services+Web/default.aspx">Services Web</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Approfondir/default.aspx">Approfondir</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Consommons/default.aspx">Consommons</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/ArchiMS/default.aspx">ArchiMS</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Composons/default.aspx">Composons</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Exposons/default.aspx">Exposons</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/JavaMS/default.aspx">JavaMS</category></item><item><title>[13 décembre] RV de l'interop : Anticipez le support de SDO.Net par l'OASIS</title><link>http://blogs.msdn.com/ssfartz/archive/2007/11/20/rv-interop-xcalia-data-access-services-et-sdo-net-avec-le-support-de-l-oasis.aspx</link><pubDate>Tue, 20 Nov 2007 12:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6426827</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ssfartz/comments/6426827.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ssfartz/commentrss.aspx?PostID=6426827</wfw:commentRss><description>&lt;P&gt;Le 25 octobre 2007, l'OASIS a annoncé la création d'un &lt;A class="" href="http://lists.oasis-open.org/archives/tc-announce/200710/msg00011.html" target=_blank mce_href="http://lists.oasis-open.org/archives/tc-announce/200710/msg00011.html"&gt;comité technique autour des spécifications SDO&lt;/A&gt;. Pour faire bref, disons que SDO (Service Data Objects) permet de décrire une grappe de de données au format XML, mais aussi les modifications opérées sur ces données (cad, un diff) de façon à pouvoir soumettre ces modifications à un service d'exécution de ces modifications (Data Access Services). Pour compléter ces éléments, un &lt;A class="" href="http://www.oasis-open.org/news/oasis-news-2007-11-15.php" target=_blank mce_href="http://www.oasis-open.org/news/oasis-news-2007-11-15.php"&gt;communiqué de presse&lt;/A&gt; est disponible.&lt;/P&gt;
&lt;P&gt;Le premier objectif du comité sous 6 mois sera de livrer des spécifications SDO 2.1.1 comprenant des fix ainsi que le support de C++. Dans un second temps, et sous un délai de 15 à 18 mois, le comité livrera SDO 3.0 :&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Enhancements to Static SDO : SDO Metadata, API for generation, Defining name mangling and package to namespace mappings, Consolidation with data objects from standard frameworks (JAX-B)&lt;/LI&gt;
&lt;LI&gt;Service Level Programming API : readOnly properties modification, enable or disable SDO runtime features&lt;/LI&gt;
&lt;LI&gt;Features related to the Data Access Services (DAS) Specification : Support for a concept of identity in SDO, and its relationship to other, Support for partially loaded graphs. &lt;/LI&gt;
&lt;LI&gt;SDO XML Path Support&lt;/LI&gt;
&lt;LI&gt;Improved XML/XSD Support : Improve tolerance for malformed XML, API to perform validation.&lt;/LI&gt;
&lt;LI&gt;Cleaning up/ Enhancing the SDO API&lt;/LI&gt;
&lt;LI&gt;Organization of SDO Type System and Helpers&lt;/LI&gt;
&lt;LI&gt;Enhancements to SDO Metadata : Support validation against the metadata, where appropriate, Provide support for versioning of types, Provide a mechanism for identifying an ID property when defining Types, and Properties, Provide a mechanism to externalize the SDO-to-XML mapping.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: Arial; mso-highlight: yellow"&gt;Interoperability with .NET : Define interoperability with ADO .NET diffgrams&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: Arial; mso-highlight: yellow"&gt;&lt;/SPAN&gt;Relaxing Containment Requirements&lt;/LI&gt;
&lt;LI&gt;Notification Support : Define a callback mechanism to inform clients of changes to properties&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: Arial; mso-highlight: yellow"&gt;Programming Language Support&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; : Language Specifications for Java, C++, and&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; BACKGROUND: yellow; FONT-FAMILY: Arial; mso-highlight: yellow"&gt; for all languages that are compliant with the .NET platform&lt;/SPAN&gt;, May define additional programming language support for SDO 3.0 : C, COBOL, PL/I, JavaScript,PHP, Python, Perl, Ruby, Groovy&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Pour découvrir les Data Access Services, et comment les spécifications SDO.Net s'articulent avec Linq et ADO.Net, inscrivez-vous au &lt;A class="" href="http://www.microsoft.com/france/events/event.aspx?eventid=1032346510" target=_blank mce_href="http://www.microsoft.com/france/events/event.aspx?eventid=1032346510"&gt;rendez-vous de l'interopérabilité du 13 décembre 14h.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;La société XCALIA, éditeur de XICS (XCALIA Intermediation Core Server) et membre du comité technique SDO de l'OASIS, vous présentera ses travaux autour de SDO.Net et l'&lt;A class="" href="http://www.microsoft.com/presspass/features/2007/nov07/11-19developerqa.mspx?rss_fdn=Top%20Stories" target=_blank mce_href="http://www.microsoft.com/presspass/features/2007/nov07/11-19developerqa.mspx?rss_fdn=Top%20Stories"&gt;intégration avec l'environnement Visual Studio 2008 et Linq&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6426827" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Apprendre/default.aspx">Apprendre</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Services+Web/default.aspx">Services Web</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Evenement/default.aspx">Evenement</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Consommons/default.aspx">Consommons</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/ArchiMS/default.aspx">ArchiMS</category><category domain="http://blogs.msdn.com/ssfartz/archive/tags/JavaMS/default.aspx">JavaMS</category></item></channel></rss>