24
PHP on Windows Improvements in PHP-Microsoft Interoperability PHP World Kongress Munich, Germany November 9, 2010

PHP on Windows Improvements in PHP-Microsoft Interoperability

Embed Size (px)

DESCRIPTION

PHP on Windows Improvements in PHP-Microsoft Interoperability. PHP World Kongress Munich, Germany November 9 , 2010. Brian Swan PHP Developer Advocate, Microsoft Twitter: @ brian_swan E-mail: [email protected] Blog: http://blogs.msdn.com/b/brian_swan. 2006. 2007. - PowerPoint PPT Presentation

Citation preview

Page 1: PHP on Windows Improvements in PHP-Microsoft Interoperability

PHP on WindowsImprovements in PHP-Microsoft Interoperability

PHP World KongressMunich, GermanyNovember 9, 2010

Page 2: PHP on Windows Improvements in PHP-Microsoft Interoperability

Brian Swan• PHP Developer Advocate, Microsoft• Twitter: @brian_swan• E-mail: [email protected]• Blog: http://blogs.msdn.com/b/brian_swan

Page 3: PHP on Windows Improvements in PHP-Microsoft Interoperability

2006

Page 4: PHP on Windows Improvements in PHP-Microsoft Interoperability

Fast CGI for IIS

2007

Page 5: PHP on Windows Improvements in PHP-Microsoft Interoperability

• SQL Server Driver for PHP 1.0*

• URL Rewrite Module for IIS

2008

*Open Source

Page 6: PHP on Windows Improvements in PHP-Microsoft Interoperability

• Windows optimizations in PHP 5.3*• WinCache 1.0*• Web Platform Installer 1.0• Web Application Gallery• SQL Server Driver for PHP 1.1*• Windows Azure/AppFabric SDKs*

2009

*Open Source

Page 7: PHP on Windows Improvements in PHP-Microsoft Interoperability

• WinCache 1.1*• Microsoft Drivers for PHP for SQL Server 2.0*• Web Platform Installer 3.0 (beta)• PHP Manager for IIS 7+*• SSRS, OData SDKs*• Azure Tools in Eclipse*• Azure Command Line Tools*• Windows Azure Companion*

2010

*Open Source

Page 8: PHP on Windows Improvements in PHP-Microsoft Interoperability

2011 ?

Page 9: PHP on Windows Improvements in PHP-Microsoft Interoperability

- Demo 1 -Tooling Up and Speeding Up

PHP Manager for IIS 7• Easily modify PHP configuration• Enable/disable PHP extensions• Run multiple versions of PHP

URL Rewrite Module for IIS• Create rules for search friendly URLs• Import Apache rewrite rules

Windows Cache Extension for PHP (WinCache)• Opcode, File, and Resolve path cache• Stores app data in shared memory

(function-by-function compatible with APC)

Page 10: PHP on Windows Improvements in PHP-Microsoft Interoperability

- Demo 2 -Developing Locally, Deploying to the Cloud

But first, some background…

Page 11: PHP on Windows Improvements in PHP-Microsoft Interoperability

Windows Azure Platform OverviewRu

ntim

es &

Serv

ices

AppF

abric

SD

Ks

Developer ExperienceUse existing skills and tools.

Windows Azure Tools for

Windows Azure Command-Line Tools for

Windows Azure Companion

Win

dow

s Az

ure

SD

Ks

Page 12: PHP on Windows Improvements in PHP-Microsoft Interoperability

ClientWeb Browser

Web ServerWindows/IIS/PHP SQL Server

SQL Azure Migration

Wizard

Change DB connection

stringWindows

Azure Command Line Tools for PHP

orEclipse

- Demo 2 -Overview

Windows Azure Development Fabric

Page 13: PHP on Windows Improvements in PHP-Microsoft Interoperability

PDO API

SQL Server Native Client (ODBC)

Core Functional Layer

php_sqlsrv.dll php_pdo_sqlsrv.dllphp_sqlsrv.dll

SQLSRV Procedural

API

SQLSRV Procedural API

Microsoft Drivers for PHP for SQL Server 2.0SQL Server Driver for PHP 1.1

SQL Server PHP DriversArchitecture

Page 14: PHP on Windows Improvements in PHP-Microsoft Interoperability

SQL Server PHP DriversFeature Highlights

• SQL and Windows Authentication• Connection pooling• Streaming• Parameter binding• Forward and scrollable cursors• UTF-8 support• PDO support• SQL Azure support• Supports SQL Server 2005+• Released under Apache 2.0 license

Page 15: PHP on Windows Improvements in PHP-Microsoft Interoperability

Windows Azure Command Line Tools for PHP

A simple command line tool for packaging and deploying PHP applications to Windows Azure • Package all project assets: PHP Engine,

Application source, PHP Extensions• Create the Azure deployment package

(.cspkg) and Configuration file (.cscfg)• Deploy to Local Development Fabric or the

Windows Azure Cloud• Available at http://

azurephptools.codeplex.com or through the Web PI

Local (Development Fabric) or Cloud

Windows Azure Command-line Tools for PHP

PHP Project Assets

PHPCore

Source Code

Extensions

1

2

3

Page 16: PHP on Windows Improvements in PHP-Microsoft Interoperability

Windows Azure Tools for EclipseDeveloping with the Windows Azure Tools for Eclipse

Offers comprehensive Windows Azure development experience for writing cloud applications• Developed by Microsoft partner Soyatec• Supports…

• Windows Azure Development Fabric• PHP Core & Extensions integration• Worker Role• SQL Azure development/deployment• MySQL development/deployment• Windows Azure SDK for PHP• App Fabric SDK for PHP • SQL Server PHP Drivers• Diagnostics, monitoring & logging• Windows Azure Drives• One click cloud deployment from IDE

• Project site: http://www.windowsazure4e.org/

Page 17: PHP on Windows Improvements in PHP-Microsoft Interoperability

PHP Runtime

Logical architecture Deployment scenarios

Windows Azure SDK for PHP

Blobs, Tables, Queues

Manageability, Instrumentation,

logging

Helper for Http, Auth, REST, Error

Your PHP application

Compute Storage Manage

REST

Any internet connected Server

PHP RuntimeREST

REST

Windows Azure SDK for PHP

Features• PHP classes for Blobs, Tables, Queues & Service Management• Helper Classes for HTTP transport, Authorization & Error Management• Manageability, Instrumentation & Logging supportOpen Source Project• Developed by our Partner RealDolmen• Available at http://phpazure.codeplex.com/• Distributed through Zend Framework: http://framework.zend.com

Page 18: PHP on Windows Improvements in PHP-Microsoft Interoperability

- Demo 3-Managing Apps in Windows Azure

Page 19: PHP on Windows Improvements in PHP-Microsoft Interoperability

Windows Azure Companion

Page 20: PHP on Windows Improvements in PHP-Microsoft Interoperability

Windows Azure CompanionProvides a seamless experience installing and configuring PHP platform-elements (PHP runtime, extensions) and community PHP applications on Windows Azure.

• Installation engine running on your Windows Azure service.

• Fully customizable through a feed which describes what components to install.

• Growing Feed Ecosystem • Integrated Administration, Diagnostics,

Monitoring & Logging• Project site:

• http://code.msdn.microsoft.com/azurecompanion

• http://www.interoperabilitybridges.com/projects/windows-azure-companion

Page 21: PHP on Windows Improvements in PHP-Microsoft Interoperability

PHP ScriptSSRS

SDK for PHPWeb

Server

SOAP APIReport ServerWeb

Service

- Demo 4 -Rendering Reports with PHP

The SQL Server Reporting Services SDK for PHP enables developers to leverage the SSRS business intelligence and reporting features in applications by…• Querying for the list of reports on the server • Querying for the list of parameters required for

each report, including list of valid values • Querying the list of formats supported by the

server • Executing and rendering reports

Page 22: PHP on Windows Improvements in PHP-Microsoft Interoperability

Performance• FastCGI for IIS• PHP 5.3 optimizations• WinCache• ??

Tooling• URL Rewrite Module• PHP Manager for IIS• Web Platform Installer• Web Application Gallery• ??

SQL Server Access• php_sqlsrv.dll• php_pdo_sqlsrv.dll• ??

Bridges to Microsoft Technologies• Windows Azure SDK for PHP• AppFabric SDK for PHP• SSRS SDK for PHP• OData SDK for PHP• Windows Azure Commandline Tools• Windows Azure Tools in Eclipse• Windows Azure Companion• ??

We Want Your Input

Page 24: PHP on Windows Improvements in PHP-Microsoft Interoperability

Q & A