Joe Staner Zend Con 2008


Published on

PHP, LAMP, Windows, ASP.NET ?????? Sometimes you can't choose just one.

In this session, long time PHP developer and Microsoft MisfitGeek with explore the plethora of ways you can make PHP and ASP.NET interoperate.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Joe Staner Zend Con 2008

  1. 1. ASPHP  Make ‘em Talk ! Bridging PHP & ASP.NET Applications Joe Stagner Opinionated Misfit Geek Microsoft Corporation Developer Tools & Platforms
  2. 2. Why is Microsoft Interested in PHP ( ... and why am I here ? )
  3. 3. Microsoft & PHP ZendCon & PHPTek / PHPWorks Zend Partnership FastCGI PHP Expression Support MS SQL Drivers for PHP CodePlex PHP Projects (Like AJAX PHP) ADODB *** URL Rewrite IIS.NET Guidance
  4. 4. New Stuff from My Team Silverlight 2.0 b Dynamic Data ADO.NET Data Services MVC Web Forms “4.0”
  5. 5. Why Run On or Integrate With Windows?
  6. 6. Some Favorite PHP Applications PHP-Nuke PostNuke RunCMS Mambo Xoops MyPHPAdmin PHPBB2 VBulletin VBPortal cPanel Drupal e107 MD-Pro MyPHPNuke PHPWebSite TikiWiki Typo3 Xaraya b2Evolution bBlog Serendipity WordPress TextPattern OSCommerce OSCNuke Zen Cart eGroupWare phpGroupWare Site@School ATutor Moodle Segue Coppermine QwikiWikki SugarCRM WebCalendar
  7. 7. PHP and the Microsoft Developer Ecosystem. Windows Ecosystem – Over 600,000 partners in the MS Ecosystem. – Microsoft makes MUCH more than Windows – Microsoft is making huge investments interoperability standards and technologies. (WS-I, etc.) – Microsoft provides …. a complete turn-key infrastructure …. Individual best-of-breed applications for you to choose from – Rapidly growing Service Offerings – FUTURE TECHNOLOGIES
  8. 8. Software Options from Microsoft Identity MS Access MS Outlook BizTalk SQL Server MS LCS Integration Server Business MS Excel PowerPoint SharePoint SQL RS ISA Server Manager MS FrontPage MS Project MS CMS SQL AS Virtual Earth Data Analyzer Small Business Exchange MS InfoPath SQL NS Messenger MS Mobile Accounting Server Commerce Live Meeting MS Visio Project Server MapPoint Tablet PC Server MS Starter MS OneNote MS Word MS CRM MOM App Center Kits
  9. 9. More Software Options from Microsoft Active IIS 6/7 Axapta Navision Info Bridge Media Center Directory Retail ADAM MSMQ Great Plains WSH Info Card Management Small Windows Authorization Windows Business Unix DirectX WinFX Manager Server 2003 Manager Services Operations Windows Windows MS Solomon VBA / VSA ActiveX Manager Mobile Workflow MS Presentation XML-WS Application MSN Hosted Enterprise Foundation WSE Center Search Controls Reporting (Avalon) Windows System Windows Host Windows Vista Media Management Index Integration Embedded Longhorn Server Server Server Server
  10. 10. More Software Options from Microsoft Slverlight WF or BizTalk Live Services Virtual Earth Media Services
  11. 11. Does PHP on Windows Actually WORK ?
  12. 12. On Windows Tools (Windows Only) – VS.PHP – Phalanger – NuSphere PHPEd, Delphi for PHP Tools (Cross Platform) – Zend Studio – ActiveState Komodo Drivers – MSPHPSQL
  13. 13. Other Integrations
  14. 14. PHP & IIS Versions & App Pools
  15. 15. Example Membership Integration
  16. 16. ASP.NET Membership Native MS SQL Provider – SQL Server or SQL Express – 3rd party ASP.NET Membership Provider MySQL Oracle XML
  17. 17. Open Source Providers
  18. 18. ASP.NET Membership Integration ASP.NET – Complete Managed API PHP on Windows – Microsoft SQL Server Driver for PHP (Willow) – Web Services – .NET / COM PHP On Linux – FreeTDS – Sockets – Web Services
  19. 19. Setting Up ASP.NET Membership aspnet_regsql.exe
  20. 20. Complete Schema Applications Membership Roles Usage demonstrated in the MS SQL Provider Source Code.
  21. 21. Enable SQL for TCP/IP
  22. 22. Open the Windows Firewall
  23. 23. ASP.NET Authentication from PHP on Windows
  24. 24. Authentication from PHP/Linux MS SQL In Windows – Security Configuration Required Free TDS On Linux – MS SQL via ODBC over TCP/IP Platform Specific PHP Code
  25. 25. Other Integrations
  26. 26. Office Documents from PHP on Windows
  27. 27. Microsoft Silverlight CLIENT ! Cross Platform Rich Media You're hearing all about it !!!
  28. 28. Other Integrations
  29. 29. Silverlight from PHP on Windows & Linux
  30. 30. Other Integrations
  31. 31. Microsoft AJAX Intergrated with ASP.NET Server Complealty Independent Client Framework Server Implementation Samples for Non- MS Completely Free Completely Open Source
  32. 32. Microsoft AJAX PHP on Windows & Linux
  33. 33. Other Integrations
  34. 34. XML Web Services PHP 5 – Native SOAP Extension PEAR::SOAP NuSOAP ezSOAP
  35. 35. .NET Web Services from PHP
  36. 36. Other Integrations
  37. 37. PHP and COM What’s COM ? PHP doesn’t REALLY speak COM. COM is the Lingua Franca of Windows – VB – C++ (Ours and many others) – Delphi – Python – Perl – Cobol – Fortran
  38. 38. Creating a COM Object Instance <?php $myCOMObject =new COM(quot;COMObject.COMClassquot;); $myCOMObject->someMethod(“Some Argument”); ?>
  39. 39. COM Objects from PHP on Windows
  40. 40. Other Integrations
  41. 41. .NET Framework and Tools VB C++ C# J# … Common Language Specification Visual Studio .NET ASP .NET Windows Web Forms Web Services Forms Mobile Internet Toolkit ADO .NET and XML Base Class Library Common Language Runtime Operating System
  42. 42. The Shared Source CLI VS.NET System.Web (ASP.NET) System.WinForms C# SessionState UI Design ComponentModel Caching HtmlControls JScript Security WebControls VB Configuration System.Drawing Simple Web Services VC/MC++ Drawing2D Printing Protocols Imaging Text Debugger Discovery Description Designers System.Data (ADO.NET) System.Xml ADO SQL XSLT Serialization SDK Tools Design Adapters XPath CorDBG System ECMA CLI ILAsm Collections IO Security Runtime Configuration Net ServiceProcess InteropServices ILDbDump Diagnostics Reflection Text Remoting SN Globalization Resources Threading Serialization ILDAsm MetaInfo Common Language Runtime GC App Domain Loader JIT PEVerify MSIL Common Type System Class Loader Platform Adaptation Layer Networking Boot Loader Threads Sync Timers Filesystem
  43. 43. Base Class Library System.Web System.Windows.Forms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OleDb SqlClient XSLT Serialization Common SQLTypes XPath System Collections IO Security Runtime Configuration Net ServiceProcess InteropServices Diagnostics Reflection Text Remoting Globalization Resources Threading Serialization
  44. 44. Microsoft .NET COM Callable Wrapper Runtime Callable Wrapper PHP Restrictions – OLE 2 Parameterless Constructors
  45. 45. .NET Objects from PHP on Windows
  46. 46. Other Integrations
  47. 47. Microsoft Services Most are Free Most are Platform Independent Most are Ad Free
  48. 48. .Microsoft Services from PHP
  49. 49. Other Integrations
  50. 50. Phalanger
  51. 51. WHY - Helpers you might need. Component Creation Calling binary .DLLs Simplifying Interoperability Remote Instancing Application Multithreading Asynchronous Dependencies Multi Phase Transactions Aggregating Multi-Interfaced Objects Type Encapsulation & Abstraction Object Scope Promotion Static Instance Access
  52. 52. Integration Options The Windows File System SMTP X.500 WDDX MS-SQL Server, ADO, ODBC – What about the new auth provider? – What about database’d session state XML LDAP
  53. 53. Integration Options Sockets RSS XML-RPC XML Web Services / SOAP PHP Extensibility Mechanisms
  54. 54. Integration Options HTTP Form Tricks They can be Open They can be Hidden They can be Encrypted Cookie Tricks They can also be encrypted Finally some ADVANTAGE to HTTP’s stateless protocol.
  55. 55. Integration Options Build your own. PHP on Windows built with VC++ (6) PECL Extensions PHP is Open Source
  56. 56. A PHP Project Wish List A native Active Directory API PHP An AzMan API for PHP A PHP Bridge to ADAM An ASP.NET 2.0 Authentication Provider for PHP A seamless session state bridge. A CDO / Exchange Bridge for PHP PHP-Nuke, Mambo, etc. etc. – On Microsoft SQL – Optionally in Phalanger – Optionally using AD
  57. 57. Call to Action ! •Get your FREE Visual Studio •Understand what products Microsoft makes. •Email •Read me at
  58. 58. Thanks •Andrew Stopford
  59. 59. Q&A THANKS ! © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  60. 60. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.