55

Partying with PHP (…and the Microsoft Platform)

Embed Size (px)

DESCRIPTION

Learn how to spice up PHP using the unique features of the Microsoft platform. PHP is the center of attention as you learn to build and run a PHP application on Microsoft Internet Information Services 7, and also mingle with the Microsoft AJAX library.

Citation preview

Page 1: Partying with PHP (…and the Microsoft Platform)
Page 2: Partying with PHP (…and the Microsoft Platform)
Page 3: Partying with PHP (…and the Microsoft Platform)

Joe StagnerOpinionated Misfit GeekMicrosoft Corporation

[email protected]

Partying with PHP on Windows

MIX 07

Page 4: Partying with PHP (…and the Microsoft Platform)

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.

Page 5: Partying with PHP (…and the Microsoft Platform)
Page 6: Partying with PHP (…and the Microsoft Platform)
Page 7: Partying with PHP (…and the Microsoft Platform)
Page 8: Partying with PHP (…and the Microsoft Platform)

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.

Page 9: Partying with PHP (…and the Microsoft Platform)

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 !

Page 10: Partying with PHP (…and the Microsoft Platform)

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.

Page 11: Partying with PHP (…and the Microsoft Platform)

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

Page 12: Partying with PHP (…and the Microsoft Platform)

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

Page 13: Partying with PHP (…and the Microsoft Platform)

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

Page 14: Partying with PHP (…and the Microsoft Platform)

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

Page 15: Partying with PHP (…and the Microsoft Platform)

SilverlightSilverlight

More Software Options from Microsoft

MS AJAXMS AJAX

Live ServicesLive Services

Local / Virtual EarthLocal / Virtual Earth

Page 16: Partying with PHP (…and the Microsoft Platform)

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.

Page 17: Partying with PHP (…and the Microsoft Platform)

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

Page 18: Partying with PHP (…and the Microsoft Platform)

PHP On Windows

What’s the problem anyway.CGI on Windows ?The PHP ISAPI ExtensionWill it get fixed ?

Page 19: Partying with PHP (…and the Microsoft Platform)

WHY - Helpers you might need.Component CreationCalling binary .DLLsSimplifying InteroperabilityRemote InstancingApplication MultithreadingAsynchronous DependenciesMulti Phase TransactionsAggregating Multi-Interfaced ObjectsType Encapsulation & AbstractionObject Scope PromotionStatic Instance Access

Page 20: Partying with PHP (…and the Microsoft Platform)

PHP on Windows

FASTCGI !PHP on IIS 6

PHP Versions…. Why choose ?

PHP on IIS 7 New application context ?

Page 21: Partying with PHP (…and the Microsoft Platform)
Page 22: Partying with PHP (…and the Microsoft Platform)

PHP on Windows

More OptionsManaged Code (.NET) PHP

Phalanger http://php-compiler.net/

Windows ApplicationsNuSphere PHPDoc

WinBinnder

PHP-Gtk

Page 23: Partying with PHP (…and the Microsoft Platform)
Page 24: Partying with PHP (…and the Microsoft Platform)

Doing PHP on Windows Server

Page 25: Partying with PHP (…and the Microsoft Platform)

Performance

IISCGI, ISAPIWinabler FastCGIZend PlatformPhalanger.NET Bridge

Page 26: Partying with PHP (…and the Microsoft Platform)

Integration OptionsThe Windows File SystemSMTPX.500WDDXMS-SQL Server, ADO, ODBC

What about the new auth provider?What about database’d session state

XMLLDAP

Page 27: Partying with PHP (…and the Microsoft Platform)

Integration Options

SocketsRSSXML-RPCXML Web Services / SOAP PHP Extensibility Mechanisms

Page 28: Partying with PHP (…and the Microsoft Platform)

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

Page 29: Partying with PHP (…and the Microsoft Platform)

Integration Options

Build your own.PHP on Windows built with VC++ (6)PECL ExtensionsPHP is Open Source

Page 30: Partying with PHP (…and the Microsoft Platform)

Integration Options

Office

Page 31: Partying with PHP (…and the Microsoft Platform)
Page 32: Partying with PHP (…and the Microsoft Platform)

Integration Options

WinDNA / COMMicrosoft .NET

Page 33: Partying with PHP (…and the Microsoft Platform)

PHP and COMWhat’s COM ?PHP doesn’t REALLY speak COM.COM is the Lingua Franca of Windows

VBC++ (Ours and many others)DelphiPythonPerlCobolFortran

Page 34: Partying with PHP (…and the Microsoft Platform)

Creating a COM Object Instance

<?php $myCOMObject =new

COM("COMObject.COMClass"); $myCOMObject->someMethod(“Some

Argument”);?>

Page 35: Partying with PHP (…and the Microsoft Platform)
Page 36: Partying with PHP (…and the Microsoft Platform)

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

Page 37: Partying with PHP (…and the Microsoft Platform)

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

Page 38: Partying with PHP (…and the Microsoft Platform)

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

Page 39: Partying with PHP (…and the Microsoft Platform)

Microsoft .NET

COM Callable WrapperRuntime Callable WrapperPHP Restrictions

OLE 2

Parameterless Constructors

Page 40: Partying with PHP (…and the Microsoft Platform)
Page 41: Partying with PHP (…and the Microsoft Platform)

XML Web Services

NuSOAPPHP 5 – Native SOAP ExtensionezSOAPPEAR::SOAP

Page 42: Partying with PHP (…and the Microsoft Platform)
Page 43: Partying with PHP (…and the Microsoft Platform)

Microsoft AJAX

Intergrated with ASP.NET ServerComplealty Independent Client FrameworkServer Implementation Samples for Non-MSCompletely FreeCompletely Open Source

Page 44: Partying with PHP (…and the Microsoft Platform)
Page 45: Partying with PHP (…and the Microsoft Platform)

Microsoft Services

Most are FreeMost are Platform IndependentMost are Ad Free

Page 46: Partying with PHP (…and the Microsoft Platform)
Page 47: Partying with PHP (…and the Microsoft Platform)

Microsoft Silverlight

CLIENT !Cross PlatformRich MediaYou're hearing all about it !!!

Page 48: Partying with PHP (…and the Microsoft Platform)
Page 49: Partying with PHP (…and the Microsoft Platform)

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

Page 50: Partying with PHP (…and the Microsoft Platform)

Call to Action !

•Get your FREE Visual Studio•Understand what products Microsoft makes.•Email [email protected]•Read me at www.JoeOn.net

Page 51: Partying with PHP (…and the Microsoft Platform)
Page 52: Partying with PHP (…and the Microsoft Platform)

Thanks •Andrew Stopford•Michael Pham•NuSphere

Page 53: Partying with PHP (…and the Microsoft Platform)

© 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 !

Page 54: Partying with PHP (…and the Microsoft Platform)

Please fill out your eval

evaluation

Page 55: Partying with PHP (…and the Microsoft Platform)

© 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.