ASPHP 
      Make ‘em Talk !
Bridging PHP & ASP.NET Applications

             Joe Stagner
         Opinionated Misfit Ge...
Why is Microsoft Interested in PHP
   ( ... and why am I here ? )
Microsoft & PHP
ZendCon & PHPTek / PHPWorks
Zend Partnership
FastCGI
PHP Expression Support
MS SQL Drivers for PHP
CodePle...
New Stuff from My Team

Silverlight 2.0 b
Dynamic Data
ADO.NET Data Services
MVC
Web Forms “4.0”
Why Run On or Integrate With Windows?
Some Favorite PHP Applications

PHP-Nuke       PostNuke     RunCMS          Mambo         Xoops       MyPHPAdmin




 PHPB...
PHP and the Microsoft Developer Ecosystem.

Windows Ecosystem
– Over 600,000 partners in the MS Ecosystem.
– Microsoft mak...
Software Options from Microsoft
                                                                                 Identity
...
More Software Options from Microsoft

   Active
                  IIS 6/7       Axapta        Navision    Info Bridge   Me...
More Software Options from Microsoft


               Slverlight


             WF or BizTalk


             Live Services...
Does PHP on Windows Actually WORK ?
On Windows
Tools (Windows Only)
– VS.PHP
– Phalanger
– NuSphere PHPEd, Delphi for PHP
Tools (Cross Platform)
– Zend Studio...
Other Integrations
PHP & IIS
Versions & App Pools
Example


Membership Integration
ASP.NET Membership
Native MS SQL Provider
– SQL Server or SQL Express
– 3rd party ASP.NET Membership Provider
   MySQL
   ...
Open Source Providers
ASP.NET Membership Integration
  ASP.NET
  – Complete Managed API
  PHP on Windows
  – Microsoft SQL Server Driver for PHP...
Setting Up ASP.NET Membership

aspnet_regsql.exe
Complete Schema

 Applications
 Membership
 Roles

 Usage
 demonstrated in
 the MS SQL
 Provider Source
 Code.
Enable SQL for TCP/IP
Open the Windows Firewall
ASP.NET Authentication from PHP on Windows
Authentication from PHP/Linux

  MS SQL In Windows
  – Security Configuration Required
  Free TDS On Linux
  – MS SQL via ...
Other Integrations
Office Documents from PHP on Windows
Microsoft Silverlight
CLIENT !
Cross Platform
Rich Media
You're hearing all about it !!!
Other Integrations
Silverlight from PHP on Windows & Linux
Other Integrations
Microsoft AJAX
Intergrated with ASP.NET Server
Complealty Independent Client Framework
Server Implementation Samples for N...
Microsoft AJAX PHP on Windows & Linux
Other Integrations
XML Web Services
PHP 5 – Native SOAP Extension
PEAR::SOAP
NuSOAP
ezSOAP
.NET Web Services from PHP
Other Integrations
PHP and COM
What’s COM ?
PHP doesn’t REALLY speak COM.
COM is the Lingua Franca of Windows
– VB
– C++ (Ours and many other...
Creating a COM Object
              Instance
<?php
   $myCOMObject =new
  COM(quot;COMObject.COMClassquot;);
   $myCOMObje...
COM Objects from PHP on Windows
Other Integrations
.NET Framework and Tools
VB      C++        C#        J#        …

     Common Language Specification




                ...
The Shared Source CLI
  VS.NET           System.Web (ASP.NET)                              System.WinForms
   C#          ...
Base Class Library
               System.Web                        System.Windows.Forms
Services            UI           ...
Microsoft .NET
COM Callable Wrapper
Runtime Callable Wrapper
PHP Restrictions
– OLE 2
Parameterless Constructors
.NET Objects from PHP on Windows
Other Integrations
Microsoft Services
Most are Free
Most are Platform Independent
Most are Ad Free
.Microsoft Services from PHP
Other Integrations
Phalanger
WHY - Helpers you might need.
Component Creation
Calling binary .DLLs
Simplifying Interoperability
Remote Instancing
Appli...
Integration Options
The Windows File System
SMTP
X.500
WDDX
MS-SQL Server, ADO, ODBC
– What about the new auth provider?
–...
Integration Options

Sockets
RSS
XML-RPC
XML Web Services / SOAP
PHP Extensibility Mechanisms
Integration Options
HTTP Form Tricks
  They can be Open
  They can be Hidden
  They can be Encrypted
Cookie Tricks
  They ...
Integration Options
Build your own.
PHP on Windows built with VC++ (6)
PECL Extensions
PHP is Open Source
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 Authent...
Call to Action !
•Get your FREE Visual Studio
•Understand what products Microsoft makes.
•Email Joe.Stagner@Microsoft.com
...
Thanks
•Andrew Stopford
Q&A

                                THANKS !

                                © 2007 Microsoft Corporation. All rights re...
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Joe Staner Zend Con 2008
Upcoming SlideShare
Loading in...5
×

Joe Staner Zend Con 2008

2,579

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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,579
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
35
Comments
0
Likes
0
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 http://www.MisfitGeek.com Joe.Stagner@Microsoft.com
  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 Joe.Stagner@Microsoft.com •Read me at http://www.MisfitGeek.com
  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. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×