Symtrique de l Interoprabilit PHP 'NET - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Symtrique de l Interoprabilit PHP 'NET

Description:

Directeur D veloppement Wygwam sarl - http://www.wygwam.com. Auteur de nombreux articles. ... Microsoft MVP Visual Developer ASP - ASP.NET, Microsoft CodeWise Community Member. La ... – PowerPoint PPT presentation

Number of Views:256
Avg rating:3.0/5.0
Slides: 29
Provided by: Redo
Category:

less

Transcript and Presenter's Notes

Title: Symtrique de l Interoprabilit PHP 'NET


1
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

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 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
  • Les couplages

Couplage Fort
Couplage Lâche
10
Symé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
11
Symétrie de linteropérabilité PHP ?.NET
12
Symétrie de linteropé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, 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

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_Shar
    p

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/0
    30321php_serviceweb1.shtml
  • http//www.phpbuilder.com/columns/kramberger200312
    26.php3?page1

Source http//www.journaldunet.com/encyclopedie
18
Symétrie de linteropé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 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

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_Shar
    p

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/1257
    79.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/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
Write a Comment
User Comments (0)
About PowerShow.com