Joe StagnerOpinionated Misfit GeekMicrosoft Corporation
Partying with PHP on Windows
MIX 07
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.
Microsoft & Open Source
Microsoft is NOT Anti Open SourceSometimes it's business competitionOften it's not.
Microsoft is not a fan of the GPLAnd 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 !!!!
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
The PHP Ecosystem Applications, Applications, Applications……Open source designsLoose and WildThe PHP community contributes to a variety of defacto standard facilities to connect everythingZend and the PHP community are invested in Windows Specific PHP technology.
PHP-NukePHP-Nuke
PHPBB2PHPBB2
MD-ProMD-Pro
b2Evolutionb2Evolution
OSCNukeOSCNuke
MoodleMoodle
VBulletinVBulletin
PostNukePostNuke
MyPHPNukeMyPHPNuke
bBlogbBlog
Zen CartZen Cart
SegueSegue
VBPortalVBPortal DrupalDrupal
CoppermineCoppermine
phpGroupWarephpGroupWare
PHPWebSitePHPWebSite
eGroupWareeGroupWare
SerendipitySerendipity
XoopsXoops
Site@SchoolSite@School
TextPatternTextPattern
Typo3Typo3
QwikiWikkiQwikiWikki
RunCMSRunCMS MamboMambo
cPanelcPanel
TikiWikiTikiWiki
WordPressWordPress
SugarCRMSugarCRM
MyPHPAdminMyPHPAdmin
e107e107
XarayaXaraya
OSCommerceOSCommerce
ATutorATutor
WebCalendarWebCalendar
Some Favorite PHP Applications
Potential Advantages to running PHP on Windows.Windows Ecosystem
Over 600,000 partners in the Microsoft Ecosystem. Microsoft makes MUCH more than WindowsMicrosoft 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
MS AccessMS Access
MS ExcelMS Excel
MS FrontPageMS FrontPage
MS InfoPathMS InfoPath
Live MeetingLive Meeting
MS OneNoteMS OneNote
PowerPointPowerPoint
MS OutlookMS Outlook
MS ProjectMS Project
Small Business Accounting
Small Business Accounting
MS VisioMS Visio
MS WordMS Word
SharePointSharePoint Business Manager
Business Manager
MS CRMMS CRM
Project ServerProject Server
MS CMSMS CMS
CommerceServer
CommerceServer
ExchangeServer
ExchangeServer
MS LCSMS LCS
MapPointMapPoint
MessengerMessenger
Virtual EarthVirtual Earth
MOMMOM
BizTalkBizTalk SQL ServerSQL Server
SQL RSSQL RS
SQL ASSQL AS
SQL NSSQL NS
App CenterApp Center
IdentityIntegration
Server
IdentityIntegration
Server
ISA ServerISA Server
Data AnalyzerData Analyzer
MS MobileMS Mobile
Tablet PCTablet PC
MS Starter Kits
MS Starter Kits
Software Options from Microsoft
Great PlainsGreat Plains
AxaptaAxapta
Small Business Manager
Small Business Manager
MSEnterprise Reporting
MSEnterprise Reporting
NavisionNavision
Retail Management
Retail Management
MS SolomonMS SolomonWindows Mobile
Windows Mobile
Windows Embedded
Windows Embedded
Active Directory
Active Directory
ADAMADAM
Authorization Manager
Authorization Manager
Operations Manager
Operations Manager
IIS 6/7IIS 6/7
Windows Server 2003
Windows Server 2003
XML-WSWSE
XML-WSWSE
Media CenterMedia Center
WindowsMedia Server
WindowsMedia Server
Application Center
Application Center
SystemManagement
Server
SystemManagement
Server
Windows Unix
Services
Windows Unix
Services
Host Integration
Server
Host Integration
Server
Windows Workflow
Windows Workflow
VistaLonghorn
VistaLonghorn
Presentation Foundation
(Avalon)
Presentation Foundation
(Avalon)MSN
Search
MSNSearch
WindowsIndexServer
WindowsIndexServer
VBA / VSAVBA / VSA
Info BridgeInfo Bridge
WSHWSH
DirectXDirectX
ActiveXActiveX
HostedControls
HostedControls
MSMQMSMQ Info CardInfo Card
WinFXWinFX
More Software Options from Microsoft
SilverlightSilverlight
More Software Options from Microsoft
MS AJAXMS AJAX
Live ServicesLive Services
Local / Virtual EarthLocal / Virtual Earth
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 WindowsPHP 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.SoftwareVS.PHP
Zend’s Windows Work Continues
PHP On Windows
What’s the problem anyway.CGI on Windows ?The PHP ISAPI ExtensionWill it get fixed ?
WHY - Helpers you might need.Component CreationCalling binary .DLLsSimplifying InteroperabilityRemote InstancingApplication MultithreadingAsynchronous DependenciesMulti Phase TransactionsAggregating Multi-Interfaced ObjectsType Encapsulation & AbstractionObject Scope PromotionStatic Instance Access
PHP on Windows
FASTCGI !PHP on IIS 6
PHP Versions…. Why choose ?
PHP on IIS 7 New application context ?
PHP on Windows
More OptionsManaged Code (.NET) PHP
Phalanger http://php-compiler.net/
Windows ApplicationsNuSphere PHPDoc
WinBinnder
PHP-Gtk
Doing PHP on Windows Server
Performance
IISCGI, ISAPIWinabler FastCGIZend PlatformPhalanger.NET Bridge
Integration OptionsThe Windows File SystemSMTPX.500WDDXMS-SQL Server, ADO, ODBC
What about the new auth provider?What about database’d session state
XMLLDAP
Integration Options
SocketsRSSXML-RPCXML Web Services / SOAP PHP Extensibility Mechanisms
Integration Options
Finally some ADVANTAGE to HTTP’s stateless protocol.
HTTP Form TricksThey can be OpenThey can be HiddenThey can be Encrypted
Cookie TricksThey can also be encrypted
Integration Options
Build your own.PHP on Windows built with VC++ (6)PECL ExtensionsPHP is Open Source
Integration Options
Office
Integration Options
WinDNA / COMMicrosoft .NET
PHP and COMWhat’s COM ?PHP doesn’t REALLY speak COM.COM is the Lingua Franca of Windows
VBC++ (Ours and many others)DelphiPythonPerlCobolFortran
Creating a COM Object Instance
<?php $myCOMObject =new
COM("COMObject.COMClass"); $myCOMObject->someMethod(“Some
Argument”);?>
Operating System
Common Language Runtime
Base Class Library
ADO .NET and XML
ASP .NETWeb Forms Web Services
Mobile Internet Toolkit
WindowsForms
Common Language Specification
VB C++ C# J# …V
isu
al S
tud
io .N
ET
.NET Framework and Tools
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 RuntimeInteropServices
Remoting
Serialization
XPath
XSLT Serialization
System.Drawing
JIT
GC
MSIL
App Domain Loader
Common Type System Class Loader
System.Web (ASP.NET)
Configuration
SessionStateCachingSecurity
Simple Web Services
DescriptionProtocols
UIHtmlControls
WebControls
Discovery
C#
VC/MC++ Imaging
Drawing2D
Text
Printing
JScript
VB
Platform Adaptation LayerBoot Loader
SyncThreads
Networking
Timers Filesystem
System.WinForms
Design ComponentModel
Debugger
Designers
SDK Tools
CorDBG
ILAsm
ILDbDump
SN
ILDAsm
MetaInfo
PEVerify
EC
MA
CLI
The Shared Source CLI
Base Class Library
System
System.Data System.Xml
System.Web
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security
Common
OleDb
SQLTypes
SqlClient
XPath
XSLT
RuntimeInteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
ServicesDescription
Discovery
Protocols
UIHtmlControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.Windows.Forms
Design ComponentModel
Microsoft .NET
COM Callable WrapperRuntime Callable WrapperPHP Restrictions
OLE 2
Parameterless Constructors
XML Web Services
NuSOAPPHP 5 – Native SOAP ExtensionezSOAPPEAR::SOAP
Microsoft AJAX
Intergrated with ASP.NET ServerComplealty Independent Client FrameworkServer Implementation Samples for Non-MSCompletely FreeCompletely Open Source
Microsoft Services
Most are FreeMost are Platform IndependentMost are Ad Free
Microsoft Silverlight
CLIENT !Cross PlatformRich MediaYou're hearing all about it !!!
My PHP Project Wish List
A native Active Directory API PHPAn AzMan API for PHPA PHP Bridge to ADAMAn ASP.NET 2.0 Authentication Provider for PHPA seamless session state bridge.A CDO / Exchange Bridge for PHPPHP-Nuke, Mambo, etc. etc.
On Microsoft SQLOptionally in PhalangerOptionally using AD
Call to Action !
•Get your FREE Visual Studio•Understand what products Microsoft makes.•Email [email protected]•Read me at www.JoeOn.net
Thanks •Andrew Stopford•Michael Pham•NuSphere
© 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
evaluation
© 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.
Top Related