Title: Symtrique de l Interoprabilit PHP 'NET
1Symé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
2La 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)
3La WygTeam
4 RoadMap
- Interopérabilité ?!?
- Contexte
- Informations en ligne
- Définition objectifs
- Architecture des technologies
- Symétrie de linteropé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 dexpérience lInteropérabilité au
quotidien - Solutions exotiques émergeantes
- Références Liens
5 Interopérabilité ?!?
- Contexte
- Élargissement des systèmes dinformations de
lentreprise et diminution de sa maîtrise
(partenariats, acquisitions, ) - Élargissement des systèmes dinformations au-delà
des limites de lentreprise (Extranets
collaboratifs, diffusion de linformation 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éfinitionLinteropérabilité consiste à
partager et utiliser conjointement des
fonctionnalités dapplications 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
.NET with ASP.NET
PHP Platform
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 Architectures des technologies
Couplage Fort
Couplage Lâche
10Symétrie de linteropé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
11Symétrie de linteropérabilité PHP ?.NET
12Symétrie de linteropérabilité PHP ?.NET
13De .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
14De .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
- 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
15De .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_Shar
p
16De .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/
17De .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/0
30321php_serviceweb1.shtml - http//www.phpbuilder.com/columns/kramberger200312
26.php3?page1
Source http//www.journaldunet.com/encyclopedie
18Symétrie de linteropérabilité PHP ?.NET
19De 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 quune mise à jour des
API .Net - Une application .Net créée sous Linux ou Windows
tournera indifféremment sur lun ou lautre OS - Sources
- http//www.go-mono.org
- http//www.gotmono.com
20De 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_Shar
p
21De 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/1257
79.aspx - http//www.xmlforasp.net
22De 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/frlrfsystemwebservices
protocols.asp - http//www.microsoft.com/france/msdn/technos/webse
rvices.mspx - http//www.xmlforasp.net/CodeBank.aspx?codeTypewe
bservices
Source http//www.journaldunet.com/encyclopedie
23 Interopérabilité au quotidien
- Linteropérabilité (lâche) au quotidien entre les
communautés www.asp-php.net et www.codes-sources.c
om - 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?p543
24 Retour dexpérience
http//www.asp-php.net
25 Retour dexpérience
http//www.codes-sources.com
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 - 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?category12 - http//www.jcxsoftware.com/jcx.corporate6/modules/
wfsection/article.php?articleid35PHPSESSID4edda
b2285a1449aeaf8ab89c6d13e44 - 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.ph
p?codid60 - Projet Mono
- http//www.go-mono.org
- Faire un agrégateur en PHP 5
- http//www.asp-php.net/scripts/asp-php/php5-agrega
teur_rss.php?page2 - Communautés
- http//www.phpfrance.com
- http//www.asp-php.net
- http//www.codes-sources.com