phpbenelux - microsoft & php (web platform installer, bridges and azure)
DESCRIPTION
Session presented at phpbenelux User Group on 28 October 2009.TRANSCRIPT
Make Web Not WarSay(Hello); to the Microsoft Web PlatformWe Say(Hello); to you
/Web
Katrien De GraeveDeveloper Evangelist, Microsoft Belgiumhttp://blogs.msdn.com/katriend/ (Twitter: @katriendg)
Maarten BalliauwSoftware Engineer, RealDolmenhttp://blog.maartenballiauw.be/ (Twitter: @maartenballiauw)
Agenda• Microsoft and Open Source?– Open Source Technology Center
• PHP on Windows overview– Windows Server 2008 + PHP– Windows Web Platform – SQL Server Driver for PHP
• Extending support for PHP (aka bridges)• Head in the clouds
Microsoft Open Source Technology Center
OSTC
PHP.net Community
PHP CoreInternal Support
Microsoft and the PHP Community
Before
No Core developer working on or for Windows
Windows was a 2nd class platform
Binaries releases days or weeks after the sources releases
Absence QA on Windows
Lack of documentation and communication
Now
Windows Internals Team•2 core developers•7 regular helpers, contributors or testers (growing)
Windows is now a primary platform
Synchronized releases•5.2.6, 5.2.7, 5.2.8, 5.3.0
QA on Windows•95% of the core tests pass on Windows
Dedicated communication channels
•Mailing list, Windows internal list, iis.net/php(http://www.php.net/mailing-lists.php)•IRC channel on freenode #php-dev-win
http://windows.php.net/
ADOdbFirst LGPL Open Source project that Microsoft has contributed to
SQL Server PHP DriverThis first release of SQL Server Driver for PHP is designed to enable PHP applications to be developed and deployed on SQL Server
IIS7+ FastCGIImprovement the performance of PHP on Windows
Expression Web 3.0Broadens tool focus to support PHP site editing
Combined Effort for PHP Excellence
Community Feedback• Enthusiastic and positive feedback from the users base
and in the press
• Increasing support from other core developers• More has been done in a couple of months than in the last 5 years Rob Richards,
PHP Core Developer, LibXml Maintainer
• Applying windows specific changes in PHP code has become substantially easier
• I do not care about windows attitude is going away• 80K downloads of PHP 5.3.0 Alpha via windows.php.net (3
months)
Introducing the Microsoft Web PlatformA powerful set of tools, servers and technologies optimized for building and hosting next generation web applications.
Microsoft Web Platform InstallerMakes it simple for anyone using Windows Server or Client to design, develop, discover, deploy and run web applications.
Install the latest versions of FREE Microsoft Web Platform tools, web server and extensions, database and frameworks including PHP.
Stay up-to-date and explore what’s new.
Runs on Windows XP, Windows Vista, Windows Server 2003 and Windows Server 2008
..including popular ASP.NET and PHP web apps from the community.
Web Platform Installer
demo
PHP Support in Windows Server 08 • Integrated support with IIS 7.0 and Fast CGI• CGI and ISAPI was the only supported SAPIs on prior
IIS versions– CGI – Stable but too slow– ISAPI – Fast but not stable
• FastCGI support added in IIS 5.1, IIS 6.0, IIS 7.0– Reliable and fast PHP processing
• WinCache IIS extension (New!)– Increase PHP application performance on Windows by
caching PHP bytecode in memory– Reduce file system I/O overhead by caching the PHP scripts
in memory– Avoid redundant mapping for absolute paths by using
relative file path cache
THE SQL Server for PHP DRIVERThe SQL Server Driver for PHP is designed to enable reliable, scalable integration with SQL Server for PHP applications deployed on the Windows platform.
Support for SQL Azure
Support for PHP version 5.3
Support for UTF-8
SQL Server Driver for PHP 1.1 includes
http://www.flickr.com/photos/joaocolaco/512100783/
• PHP SDK for Windows Azure Storage
• Toolkit for PHP with ADO.NET Data Services
• IE8 Webslices & Accelerators for PHP
• Silverlight for PHP
• PHP-SQL CRUD Application builder
• Silverlight CRUD Application builder
• Live Maps PHP Toolkit
• Live Messenger Tutorial
www.interoperabilitybridges.com
PHP Interop Projects
PHP Interoperability with Microsoft TechnologiesA bunch of stuff
WISP/WAMP/WASP
Windows LAMP
Web Applications(DotNetNuke, MOSS etc.)
Web Apps (Drupal, Joomla,
Wordpress)
PHP runs on Windows
Platform
Application
Microsoft Web PI
Microsoft-PHP Interoperability Bridges
Drupal, Wordpress, etc.
PHP SQL CRUD Application Wizard
• Overview – A code generator that creates
a simple "Create, Read, Update, Delete“ (CRUD) PHP application from a Microsoft SQL Server database table.
• Features– Code generator build in .NET– Creates PHP code and classes
to support:• Data Navigation,paging, sorting • UI customization with simple
CSS
• Project site: – http://sqlcrudphpwizard.codeplex.com/
Logical architecture BrowserHTML
Web application
Web Server
PHP Runtime
Your PHP Code
CRUD Php Classes + CSS
Code generator (Windows Application)
Reads data table structure
Generates CRUD PHP classes
Design Tim
e
Des
ign
tim
eRu
n ti
me
Des
ign
Tim
e
http
Microsoft SQL Server
SQL
ASP.NET Web Application Framework
HEAD IN THE CLOUDS
Scale up and down seamlessly
Maximize resource utilization
Leverage your language and skills to build cloud-based applications, including PHP
Windows Azure offers a simple, reliable, and powerful platform for the creation of web applications and services
What is ?
• It is an operating system for the cloud• It is designed for utility computing• It has four primary features:– Service management– Compute– Storage– Developer experience
+ FastCGI
• Windows Azure now supports– The FastCGI module
• PHP enabled via xcopy deploy of PHP runtime binaries
– And, the IIS7 URL rewrite module to enable friendly URL’s with PHP apps
• Use PHP while realizing the benefits of Windows Azure– Automated service management
• You define the rules and provide your code• The platform follows the rules: deploys, monitors, and manages your
service
– A powerful service hosting environment• All of the hardware: servers; load balancers; …
– Scalable, available cloud storage (via REST)• Blobs, tables, queues, …
– Developer Experience: Simulated cloud environment
+ FastCGI
PHP Runtime
PHP SDK for Windows AzureLogical architecture
• Overview– Enables PHP developers to take
advantage of the Microsoft Cloud Services Platform – Windows Azure.
– Open source project being contributed to Zend Framework (http://framework.zend.com)
• Features– PHP classes for Windows Azure Blobs,
Tables & Queues (for CRUD operations)
– Helper Classes for HTTP transport, AuhN/AuthZ, REST & Error Management
– Manageability, Instrumentation & Logging support
• Project site: – http://phpazure.codeplex.com/
Deployment scenarios
PHP SDK for Windows Azure
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
Upcoming demo: ImageCloud architecture
WebRole
Worker Role
Table Storage
Blob Storage
Queue Service
Computation Services
Storage Services
End Users ImageCloud
PHP on Windows Azure
demo
Some announcements…• Eclipse “next-generation experience” on Windows 7
project– Jump lists– Taskbar integration– Look and feel for Java apps
• Windows Azure Tools for Eclipse for PHP developers– www.windowsazure4e.org– Includes phpazure.codeplex.com (PHP SDK)
• Windows Azure SDK for Java developers– www.windowsazure4j.org
• Eclipse tools for Silverlight– www.eclipse4sl.org
Let’s Revisit: Why Microsoft? • Microsoft has a thriving ecosystem of over 6 million active ASP.NET
and .NET developers (and building a strong base of PHP developers building on Windows and IIS)
• Open Source developers have expressed the desire to build applications on Windows and distribute them through a Windows Web Application Gallery; we have a community ready
• Offering the most current Windows Web Platform will ensure your ability to meet our customers needs as we drive demand for our platform
• Microsoft has an expansive marketing channel and comprehensive guidance to help you take advantage of the pipeline and meet those customer expectations
A Call to Action
• Try out the Web Platform Installer & Gallery!– http://www.microsoft.com/web/
• Did we mention it’s all FREE?
• Come meet us at UX@Vitra – 25th Novemberhttp://bit.ly/uxvitra
Resources• IIS.net/php• SQL Server Driver for PHP• Windows.php.net• PHP on Windows Training Kit• Windows Azure Training Kit• www.interoperabilitybridges.com• MSDN Blogs (interoperability)• Channel 9• PORT 25• www.codeplex.com • http://php.miniprojects.org/
THANK YOU!