PHP on Windows Improvements in PHP-Microsoft Interoperability

Post on 30-Dec-2015

21 views 0 download

Tags:

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: brian.swan@microsoft.com Blog: http://blogs.msdn.com/b/brian_swan. 2006. 2007. - PowerPoint PPT Presentation

Transcript of PHP on Windows Improvements in PHP-Microsoft Interoperability

PHP on WindowsImprovements in PHP-Microsoft Interoperability

PHP World KongressMunich, GermanyNovember 9, 2010

Brian Swan• PHP Developer Advocate, Microsoft• Twitter: @brian_swan• E-mail: brian.swan@microsoft.com• Blog: http://blogs.msdn.com/b/brian_swan

2006

Fast CGI for IIS

2007

• SQL Server Driver for PHP 1.0*

• URL Rewrite Module for IIS

2008

*Open Source

• 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

• 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

2011 ?

- 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)

- Demo 2 -Developing Locally, Deploying to the Cloud

But first, some background…

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

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

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

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

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

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/

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

- Demo 3-Managing Apps in Windows Azure

Windows Azure Companion

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

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

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

Q & A