Presentation Transcript
Slide 3:Joe Stagner
Opinionated Misfit Geek
Microsoft Corporation
Joe.Stagner@Microsoft.com
www.JoeOn.net Partying with
PHP on Windows MIX 07
A PHP Guy at Microsoft ? :A PHP Guy at Microsoft ? I write REAL PHP Every Day.
In my personal life I run PHP Websites.
My sites get millions of visitors.
I've been the MSPHP guy for 6 years.
Joelogical maxim …. :Joelogical maxim …. Good Information
Does Not Displace Other
Good Information.
It just adds to your
Tool Box.
Microsoft & Open Source :Microsoft & Open Source Microsoft is NOT Anti Open Source
Sometimes it's business competition
Often it's not.
Microsoft is not a fan of the GPL
And I (personally) think …..
Microsoft DOES REAL Open Source
We do it where YOU tell us it matters
And where it fits our business model.
PHP on Windows ….. is NOT an Oxymoron !!!! :PHP on Windows ….. is NOT an Oxymoron !!!! What’s the difference between PHP and Linux?
How did PHP get popular ?
Why people use PHP.
Why people might use PHP on Windows !
Why you might Run PHP On Windows :Why you might Run PHP On Windows The PHP Ecosystem
Applications, Applications, Applications……
Open source designs
Loose and Wild
The PHP community contributes to a variety of defacto standard facilities to connect everything
Zend and the PHP community are invested in Windows Specific PHP technology.
Slide 12:PHP-Nuke PHPBB2 MD-Pro b2Evolution OSCNuke Moodle VBulletin PostNuke MyPHPNuke bBlog Zen Cart Segue VBPortal Drupal Coppermine phpGroupWare PHPWebSite eGroupWare Serendipity Xoops Site@School TextPattern Typo3 QwikiWikki RunCMS Mambo cPanel TikiWiki WordPress SugarCRM MyPHPAdmin e107 Xaraya OSCommerce ATutor WebCalendar Some Favorite PHP Applications
Potential Advantages to running PHP on Windows. :Potential Advantages to running PHP on Windows. Windows Ecosystem
Over 600,000 partners in the Microsoft 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
FUTURE TECHNOLOGIES
Slide 14:MS Access MS Excel MS FrontPage MS InfoPath Live Meeting MS OneNote PowerPoint MS Outlook MS Project Small Business
Accounting MS Visio MS Word SharePoint Business
Manager MS CRM Project Server MS CMS Commerce
Server Exchange
Server MS LCS MapPoint Messenger Virtual Earth MOM BizTalk SQL Server SQL RS SQL AS SQL NS App Center Identity
Integration
Server ISA Server Data Analyzer MS Mobile Tablet PC MS Starter
Kits Software Options from Microsoft
Slide 15:Great Plains Axapta Small
Business
Manager MS
Enterprise
Reporting Navision Retail
Management MS Solomon Windows
Mobile Windows
Embedded Active
Directory ADAM Authorization
Manager Operations
Manager IIS 6/7 Windows
Server 2003 XML-WS
WSE Media Center Windows
Media
Server Application
Center System
Management
Server Windows
Unix
Services Host
Integration
Server Windows
Workflow Vista
Longhorn Presentation
Foundation
(Avalon) MSN
Search Windows
Index
Server VBA / VSA Info Bridge WSH DirectX ActiveX Hosted
Controls MSMQ Info Card WinFX More Software Options from Microsoft
Slide 16:Silverlight More Software Options from Microsoft MS AJAX Live Services Local / Virtual Earth
The Cost of Simplicity :The Cost of Simplicity There are some things you just can't do.
We don't all want to be systems developers.
We need to plan for growth and success.
But we don't want feature needs to drive choice.
PHP on Windows :PHP on Windows PHP Developers work on Windows machines anyway.
PHP is PHP is PHP. (Sort-of)
Other 3rd parties offer…….
Phalanger = Managed Code PHP
http://www.php-compiler.net/
JCX.Software
VS.PHP
Zend’s Windows Work Continues
PHP On Windows :PHP On Windows What’s the problem anyway.
CGI on Windows ?
The PHP ISAPI Extension
Will it get fixed ?
WHY - Helpers you might need. :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
PHP on Windows :PHP on Windows FASTCGI !
PHP on IIS 6
PHP Versions…. Why choose ?
PHP on IIS 7
New application context ?
PHP on Windows :PHP on Windows More Options
Managed Code (.NET) PHP
Phalanger http://php-compiler.net/
Windows Applications
NuSphere PHPDoc
WinBinnder
PHP-Gtk
Slide 25:Doing PHP on Windows Server
Performance :Performance IIS
CGI, ISAPI
Winabler
FastCGI
Zend Platform
Phalanger
.NET Bridge
Integration Options :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
Integration Options :Integration Options Sockets
RSS
XML-RPC
XML Web Services / SOAP
PHP Extensibility Mechanisms
Integration Options :Integration Options Finally some ADVANTAGE to HTTP’s stateless protocol. HTTP Form Tricks
They can be Open
They can be Hidden
They can be Encrypted
Cookie Tricks
They can also be encrypted
Integration Options :Integration Options Build your own.
PHP on Windows built with VC++ (6)
PECL Extensions
PHP is Open Source
Integration Options :Integration Options Office
Integration Options :Integration Options WinDNA / COM
Microsoft .NET
PHP and COM :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
Creating a COM Object Instance :Creating a COM Object Instance someMethod(“Some Argument”);
?>
.NET Framework and Tools :Operating System Common Language Runtime Visual Studio .NET .NET Framework and Tools
The Shared Source CLI :VS.NET Common Language Runtime System System.Data (ADO.NET) System.Xml Design ADO Adapters SQL Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Runtime InteropServices Remoting Serialization System.Drawing JIT GC MSIL App Domain Loader Common Type System Class Loader System.Web (ASP.NET) Configuration SessionState Caching Security Simple Web Services Description Protocols UI HtmlControls WebControls Discovery C# VC/MC++ Imaging Drawing2D Text Printing JScript VB Platform Adaptation Layer Boot Loader Sync Threads Networking Timers Filesystem System.WinForms Design ComponentModel Debugger Designers SDK Tools CorDBG ILAsm ILDbDump SN ILDAsm MetaInfo PEVerify ECMA CLI The Shared Source CLI
Base Class Library :Base Class Library
Microsoft .NET :Microsoft .NET COM Callable Wrapper
Runtime Callable Wrapper
PHP Restrictions
OLE 2
Parameterless Constructors
XML Web Services :XML Web Services NuSOAP
PHP 5 – Native SOAP Extension
ezSOAP
PEAR::SOAP
Microsoft AJAX :Microsoft AJAX Intergrated with ASP.NET Server
Complealty Independent Client Framework
Server Implementation Samples for Non-MS
Completely Free
Completely Open Source
Microsoft Services :Microsoft Services Most are Free
Most are Platform Independent
Most are Ad Free
Microsoft Silverlight :Microsoft Silverlight CLIENT !
Cross Platform
Rich Media
You're hearing all about it !!!
My PHP Project Wish List :My 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
Call to Action ! :Call to Action ! Get your FREE Visual Studio
Understand what products Microsoft makes.
Email Joe.Stagner@Microsoft.com
Read me at www.JoeOn.net
Thanks :Thanks Andrew Stopford
Michael Pham
NuSphere
Slide 54:© 2007 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Q&A
THANKS !
Please fill out your eval :Please fill out your eval evaluation
Slide 56:© 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.