1 / 28

Symétrique de l’ Interopérabilité PHP  .NET

Symétrique de l’ Interopérabilité PHP  .NET. Grégory Renard - Alias Rédo Directeur Développement Wygwam sarl - http://www.wygwam.com Auteur de nombreux articles .NET sur www.asp-php.net  ( Rédo ) Microsoft MVP Visual Developer ASP - ASP.NET, Microsoft CodeWise Community Member.

zubin
Télécharger la présentation

Symétrique de l’ Interopérabilité PHP  .NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Symétrique de l’ Interopérabilité PHP  .NET Grégory Renard - Alias Rédo Directeur Développement Wygwam sarl - http://www.wygwam.comAuteur de nombreux articles .NET sur www.asp-php.net (Rédo) Microsoft MVP Visual Developer ASP - ASP.NET, Microsoft CodeWise Community Member

  2. La communauté www.asp-php.net Apprendre en douceur les langages majeurs du Web dynamique … ni catégoriquement pour l'un, ni farouchement contre l'autre ! Didier Yver (Fondateur ASP-PHP.NET)

  3. La WygTeam

  4. RoadMap • Interopérabilité ?!? • Contexte • Informations en ligne • Définition & objectifs • Architecture des technologies • Symétrie de l’interopérabilité PHP .NET • Les couplages • Définition Couplages, Fort & Lâche • De .NET à PHP (.NET esclave, PHP maître) • De PHP à .NET (PHP esclave, .NET maître) • Retour d’expérience… l’Interopérabilité au quotidien • Solutions exotiques émergeantes • Références & Liens • Conclusion

  5. Interopérabilité ?!? Contexte • Élargissement des systèmes d’informations de l’entreprise et diminution de sa maîtrise (partenariats, acquisitions, …) • Élargissement des systèmes d’informations au-delà des limites de l’entreprise (Extranets collaboratifs, diffusion de l’information en temps réel, …) • Multiplication des technologies du marché (Hétérogénéité) • …

  6. Interopérabilité ?!? Informations en ligne Google : « définition interopérabilité » • Capacité qu'ont deux systèmes de se comprendre l'un l'autre et de fonctionner en synergie. Contraire : incompatibilité.(www.tout-savoir.net) • L'interopérabilité est la capacité qu'ont deux systèmes de se comprendre l'un l'autre et de fonctionner en synergie. L'interopérabilité rassemble des moyens logiciels et matériels. (www.laboratoire-microsoft.org) • Aptitude de deux ou plusieurs systèmes (logiciels ou matériels) à fonctionner ensemble en utilisant des standards communs. (www.journaldunet.com)

  7. Interopérabilité ?!? • DéfinitionL’interopérabilité consiste à partager et utiliser conjointement des fonctionnalités d’applications de technologies différentes. • Objectifs • Communiquer le plus simplement possible en éliminant la complexité et la diversité des technologies. • « Exploiter le meilleur des deux technologies » • …

  8. Architecture des technologies PHP Platform .NET with ASP.NET PHP pages running on most major web servers PHP and Apache Presentation Web Forms Server Controls Code-Behind. ASP.NET IIS C#, VB.NET, …Assembly ADO.NET. Can still use COM+ Components. Business Logic CLR PHP5 Model Object Data MySQL common, but support for most databases MySQL SQL Server 2000 Stored Procedures OpenXML.

  9. .NET PHP Platform Architectures des technologies • Les couplages Couplage Fort Couplage Lâche

  10. Symétrie de l’interopérabilité PHP .NET • Définition Couplages, Fort & Lâche • Couplage : « Qualifie la manière dont deux ou plusieurs systèmes interagissent » • Couplage Fort (tightly coupled) • Indique que les systèmes sont dépendant les uns des autres. • Comme le fonctionnement d'un serveur de données est intimement lié au processeur central auquel il est associé. • Couplage Lâche (loosely coupled) • Indique que les systèmes sont reliés par un réseau de communication mais qu'ils poursuivent leur propre logique de fonctionnement. • Ex : des PC reliés par un réseau local. Source : http://www.journaldunet.com/encyclopedie

  11. Symétrie de l’interopérabilité PHP .NET

  12. Symétrie de l’interopérabilité PHP .NET

  13. De .NET à PHP (.NET esclave, PHP maître) • Couplage fort • Extension COM - DCOM • Définition : Component Object Model - c'est une couche orientée objet (et services associés) au dessus de DCE RPC (un standard libre) qui défini une convention de nommage commune qui permet à un code écrit en n'importe quel langage de communiquer avec du code écrit dans un autre langage, sous peu que ces deux langages soient compatibles avec COM (ex : utiliser Ms Word) • PHP4 : disponibles pour les versions Windows de PHP • PHP5 : nouvelles fonctionnalités • Accédez aux tableaux multi-dimensionnels ou aux propriétés COM qui requièrent plusieurs paramètres comme si vous accédiez à un tableau • Bouclez sur les SafeArrays ("vrais" tableaux) en utilisant la structure de contrôle • Sources • http://www.php.net/manual/fr/ref.com.php

  14. De .NET à PHP (.NET esclave, PHP maître) • Couplage fort • Extension .NET – PHP5 - Mono 1.0 • Définition : La classe DOTNET sous PHP5 vous autorise d'instancier une classe depuis un ensemble .NET et d'appeler ces propriétés ainsi que d'accéder à ces propriétés. Sous OS Windows & Linux – Mono 1.0 • $obj = new DOTNET("assembly", "classname") • PHP5 : module EXPERIMENTAL, lesupport .NET requiert PHP 5 et l'exécutable .NET • Sources • http://www.php.net/manual/fr/ref.com.php • http://www.zend.com/php5/articles/php5-dotnet.php • http://www.lephpfacile.com/manuel_php/ref.com.php • http://www.lephpfacile.com/manuel_php/class.dotnet.php

  15. De .NET à PHP (.NET esclave, PHP maître) • Couplage fort • PHP# (Prototype) • Définition : Compilateur IL (Intermediate Language) PHP • PHP # compilateur • « mono.PHP.Variable.Object » • … PHP again uses the classic Bison Parser, as the Zend engine is all in C, so this combination is fast and suitable. In Mono, a Tool called Jay is used, this is a C program that can generate Java or C# code, (obviously in Mono it's C#)… • Sources • http://www.akbkhome.com/wiki.php/Projects/PHP_Sharp

  16. De .NET à PHP (.NET esclave, PHP maître) • Couplage lâche • XML-RPC ou REST • Définition : Protocole permettant d'invoquer un objet distant en fournissant les paramètres nécessaires à l'appel dans un message au format XML et en utilisant le moyen de communication HTTP.La réponse est également renvoyée dans un format XML. • REST : Representational State Transfer (… art Éric van der Vlist, ZDNet) • PHP4 : depuis la version 4.1.0, non activée par défaut • PHP5 : module est EXPERIMENTAL • Sources • http://www.php.net/manual/fr/ref.xmlrpc.php • http://www.xmlrpc.com/

  17. De .NET à PHP (.NET esclave, PHP maître) • Couplage lâche • Services Web (ex : NuSOAP) • Définition : Application web pouvant interagir dynamiquement avec d'autres programmes en utilisant des protocoles d'échanges basé sur XML comme SOAP, XML-RPC ou XMLP. • Sources • http://dietrich.ganx4.com/nusoap/index.php • http://developpeur.journaldunet.com/tutoriel/php/030321php_serviceweb1.shtml • http://www.phpbuilder.com/columns/kramberger20031226.php3?page=1 Source : http://www.journaldunet.com/encyclopedie

  18. Symétrie de l’interopérabilité PHP .NET

  19. De PHP à .NET (PHP esclave, .NET maître) • Couplage fort • Mono 1.0 - NET pour Unix et Linux • Définition : Mono est un projet qui a pour but de développer un framework .NET alternatif complet, disponible pour les plate-formes Linux et Windows (Mac et Bsd par extension). Il a été lancé par l'équipe Ximian • Lancé le 9 juillet 2001 et géré par Miguel de Icaza, vice-président du développement chez Novell, qui a créé Mono (et co-fondé Ximian). • Mono 2.0 inclura un support natif des WinForms et du Visual Basic.Net ainsi qu’une mise à jour des API .Net • Une application .Net créée sous Linux ou Windows tournera indifféremment sur l’un ou l’autre OS • Sources • http://www.go-mono.org • http://www.gotmono.com

  20. De PHP à .NET (PHP esclave, .NET maître) • Couplage fort • PHP# (Prototype) • Définition : Compilateur IL (Intermediate Language) PHP • PHP # compilateur • « mono.PHP.Variable.Object » • … PHP again uses the classic Bison Parser, as the Zend engine is all in C, so this combination is fast and suitable. In Mono, a Tool called Jay is used, this is a C program that can generate Java or C# code, (obviously in Mono it's C#)… • Sources • http://www.akbkhome.com/wiki.php/Projects/PHP_Sharp

  21. De PHP à .NET (PHP esclave, .NET maître) • Couplage lâche • XML-HTTP • Définition : Protocole permettant d'invoquer un objet distant en fournissant les paramètres nécessaires à l'appel dans un message au format XML et en utilisant le moyen de communication HTTP.La réponse est également renvoyée dans un format XML. • .NET • System.Net.HttpWebRequest • System.Net.HttpWebResponse • Sources • http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfSystemNet.asp • http://www.dotnet247.com/247reference/msgs/25/125779.aspx • http://www.xmlforasp.net

  22. De PHP à .NET (PHP esclave, .NET maître) • Couplage lâche • Services Web • Définition : Application web pouvant interagir dynamiquement avec d'autres programmes en utilisant des protocoles d'échanges basé sur XML comme SOAP, XML-RPC ou XMLP. • .NET • System.Web.Services • Sources • http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemwebservicesprotocols.asp • http://www.microsoft.com/france/msdn/technos/webservices.mspx • http://www.xmlforasp.net/CodeBank.aspx?codeType=webservices Source : http://www.journaldunet.com/encyclopedie

  23. Interopérabilité au quotidien • L’interopérabilité (lâche) au quotidien entre les communautés www.asp-php.net et www.codes-sources.com • Interopérabilité lâche par flux RSS. • Simple à mettre en place • Rapide, Efficace &Fiable • Peu de contraintes techniques • Blogs ;) • http://blogs.developpeur.org/redo • http://blogs.developpeur.org/redo/Rss.aspx • http://sig.levillage.org/index.php?p=543

  24. Retour d’expérience… http://www.asp-php.net

  25. Retour d’expérience… http://www.codes-sources.com

  26. Solutionsexotiques émergeantes • Add-In J2EE VS.NET MainSoft • convertir une simple application ASP.NET en un servlet Java debuggable le tout devant ainsi être déployé sur une plateforme Tomcat • http://blogs.developpeur.org/redo/archive/2004/07/01/1945.aspx • Add-In VS.PHP (Intégration à VS.NET) & VS.PHP Debugger • Contrary to other PHP IDE products, VS.Php leverages the familiar interface of Microsoft Visual Studio.Net allowing PHP developers leverage all the features Visual Studio.Net provides. No need to learn a new IDE interface or tools. • http://www.jcxsoftware.com/jcx.corporate6/modules/wfsection/index.php?category=12 • http://www.jcxsoftware.com/jcx.corporate6/modules/wfsection/article.php?articleid=35&PHPSESSID=4eddab2285a1449aeaf8ab89c6d13e44 • Interop par Tiers : MCDBR

  27. Conclusion • Interopérabilité : • Évolution constante de PHP • Sur extensions et connecteurs • Sur le support des Web Services • .NET Interop en mode Natif • Evolution du projet Mono • Simplification de la communication entre systèmes hétérogènes, élimine les complexités et les diversités technologiques. « Exploitez le meilleur des deux technologies »

  28. Références & Liens • PHP5 • http://www.php.net/downloads.php • Manuel PHP4 – PHP5 • http://www.php.net/manual/fr/index.php • http://www.php.net/download-docs.php • Install de php5 sous IIS • http://www.asp-php.net/ressources/bouts_de_code.php?codid=60 • Projet Mono • http://www.go-mono.org • Faire un agrégateur en PHP 5 • http://www.asp-php.net/scripts/asp-php/php5-agregateur_rss.php?page=2 • Communautés • http://www.phpfrance.com • http://www.asp-php.net • http://www.codes-sources.com

More Related