Joe Stagner
Opinionated Misfit GeekMicrosoft Corporation
Developer Tools & Platformshttp://www.MisfitGeek.com
ASPHP Make ‘em Talk !
Bridging PHP & ASP.NET Applications
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
CodePlex PHP Projects (Like AJAX PHP)
ADODB ***
URL Rewrite
IIS.NET Guidance
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?
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
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
MS Access
MS Excel
MS FrontPage
MS InfoPath
Live Meeting
MS OneNote
PowerPoint
MS Outlook
MS Project
Small Business
Accounting
MS Visio
MS Word
SharePointBusiness
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
Great Plains
Axapta
Small
Business
Manager
MS
Enterprise
Reporting
Navision
Retail
Management
MS SolomonWindows
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
Slverlight
More Software Options from Microsoft
WF or BizTalk
Live Services
Virtual Earth
Media 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
– ActiveState Komodo
Drivers
– MSPHPSQL
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
Oracle
XML
Open Source Providers
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
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 ODBC over TCP/IP
Platform Specific PHP Code
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 Non-
MS
Completely Free
Completely Open Source
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 COMWhat’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
<?php
$myCOMObject =new
COM("COMObject.COMClass");
$myCOMObject->someMethod(“Some Argument”);
?>
COM Objects from PHP on Windows
Other Integrations
Operating System
Common Language Runtime
Base Class Library
ADO .NET and XML
ASP .NETWeb Forms Web Services
Mobile Internet Toolkit
Windows
Forms
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 Runtime
InteropServices
Remoting
Serialization
XPath
XSLT Serialization
System.Drawing
JITGC
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 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
Runtime
InteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
Services
Description
Discovery
Protocols
UI
HtmlControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.Windows.Forms
Design ComponentModel
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
Application Multithreading
Asynchronous Dependencies
Multi Phase Transactions
Aggregating Multi-Interfaced Objects
Type Encapsulation & Abstraction
Object Scope Promotion
Static Instance Access
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
Sockets
RSS
XML-RPC
XML Web Services / SOAP
PHP Extensibility Mechanisms
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
Build your own.
PHP on Windows built with VC++ (6)
PECL Extensions
PHP is Open Source
A PHP Project Wish ListA 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 !
•Get your FREE Visual Studio
•Understand what products Microsoft makes.
•Email [email protected]
•Read me at http://www.MisfitGeek.com
Thanks •Andrew Stopford
© 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 !
© 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