La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Symétrique de l’ Interopérabilité PHP  .NET"— Transcription de la présentation:

1 Symétrique de l’ Interopérabilité PHP  .NET
Grégory Renard - Alias Rédo Directeur Développement Wygwam sarl - Auteur de nombreux articles .NET sur 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é ?!? Symétrie de l’interopérabilité PHP .NET
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é. ( 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. ( Aptitude de deux ou plusieurs systèmes (logiciels ou matériels) à fonctionner ensemble en utilisant des standards communs. (

7 Interopérabilité ?!? Définition L’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 and Apache PHP pages running on most major web servers Presentation ASP.NET IIS Web Forms Server Controls Code-Behind. 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 Architectures des technologies
Les couplages PHP Platform .NET 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 :

11 Symétrie de l’interopérabilité PHP .NET
Maître Esclave PHP .NET Couplage fort Extension COM - DCOM Extension .NET – PHP5 - Mono PHP# Couplage lâche XML-RPC ou REST Services Web (ex: NuSOAP) / Mono 1.0 XML-HTTP Services Web

12 Symétrie de l’interopérabilité PHP .NET
Maître Esclave PHP .NET Couplage fort Extension COM - DCOM Extension .NET – PHP5 - Mono PHP# Couplage lâche XML-RPC ou REST Services Web (ex: NuSOAP) / Mono 1.0 XML-HTTP Services Web

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

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, le support .NET requiert PHP 5 et l'exécutable .NET Sources

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

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

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 Source :

18 Symétrie de l’interopérabilité PHP .NET
Maître Esclave PHP .NET Couplage fort Extension COM - DCOM Extension .NET – PHP5 - Mono PHP# Couplage lâche XML-RPC ou REST Services Web (ex: NuSOAP) / Mono 1.0 XML-HTTP Services Web

19 De PHP à .NET (PHP esclave, .NET maître)
Couplage fort Mono 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

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

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

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 Source :

23 Interopérabilité au quotidien
L’interopérabilité (lâche) au quotidien entre les communautés et Interopérabilité lâche par flux RSS. Simple à mettre en place Rapide, Efficace &Fiable Peu de contraintes techniques Blogs ;)

24 Retour d’expérience…

25 Retour d’expérience…

26 Solutions exotiques é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 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. 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 Manuel PHP4 – PHP5 Install de php5 sous IIS
Manuel PHP4 – PHP5 Install de php5 sous IIS Projet Mono Faire un agrégateur en PHP 5 Communautés


Télécharger ppt "Symétrique de l’ Interopérabilité PHP  .NET"

Présentations similaires


Annonces Google