Tim Keller Lead Developer Umoya Networks · DTL318
Preview:
Citation preview
- Slide 1
- Slide 2
- Tim Keller Lead Developer Umoya Networks www.umoya.net
DTL318
- Slide 3
- PHP GATECRASHES A MICROSOFT EVENT
- Slide 4
- PHP at a Microsoft event What on earth? A Microsoft Primer for
PHP developers A PHP Primer for Microsoft developers Either way,
welcome! Thanks for coming.
- Slide 5
- Who am I Tim Keller (@timkeller or timk.co.za) Your typical
Mac/Linux type Lead Developer of a PHP-based cloud hosted tool for
teachers and school admins, called staffroom Microsoft-friendly HI,
IM TIM KELLER LEAD PHP DEVELOPER www.mystaffroom.net
tim@mystaffroom.net
- Slide 6
- Goals Good intensions Show you some cool stuff Tell you where
you can get it Tell you where you can learn more Answer questions
Go have a beer with all of you
- Slide 7
- Stuff well talk about 6 things. Simple. Microsoft and
Opensource PHP and IIS Powershell for IIS SQL Server Driver for PHP
Microsoft Ajax Library Silverlight and PHP
- Slide 8
- TAG TWEETS WITH #techedafrica FOLLOW ME
twitter.com/timkeller
- Slide 9
- Microsoft and OpenSource
- Slide 10
- D ENIA L Its not just a river in Egypt.
- Slide 11
- Microsoft and OpenSource Surprising perhaps MS Redmond OSS lab
Staffed by OSS and Linux experts 300 servers of varying types 340+
Linux distros available for testing Tests interoperability of OSS
and Windows Research of OSS technologies
- Slide 12
- Microsoft and OpenSource Surprising perhaps Projects so far
Firefox Silverlight support Silverlight/Moonlight common standard
Vista Firefox compatibility FastCGI hosting of PHP and Python on
IIS SQL Server drivers for PHP and Java
- Slide 13
- Microsoft and OpenSource Surprising perhaps Active and Future
projects PHP Active Directory integration PHP SharePoint
integration SugarCRM SQL Server connectivity Windows - Apache build
support/research
- Slide 14
- Why PHP anyway?
- Slide 15
- WordpressphpBBMediaWiki DrupalGallerySugarCRM DokuWiki
SilverStripe CMS Joomla PHP Web Applications
- Slide 16
- CakePHPCodeIgniterDrupal eZ Components KohanaPEAR Zend
Framework ZoopHorde PHP Web Frameworks
- Slide 17
- YahooFlickr FacebookDigg YouTubeWikipedia Commercial sites
using PHP
- Slide 18
- Slide 19
- HARD TO IGNORE.
- Slide 20
- PHP on Windows, with IIS
- Slide 21
- PHP on Windows Its actually been around for a long time Most
PHP developers: Develop on Windows Deploy to Linux, BSD, *nix.
Perception that PHP on IIS sucks (this was true) Often install
Apache for Dev or Production
- Slide 22
- Performance vs. Reliability CGI Invokes a new php.exe process
for each request Advantage Very stable Disadvantage SLOOOW due to
I/O overhead of Process Creation on Windows ISAPI PHP Loaded as an
extension in IISs memory space Advantages Better performance
Disadvantages Not very stable Many PHP (PECL) extensions are not
Thread-Safe FastCGI Process caching and pooling mechanism
Advantages Faster than CGI More Stable than ISAPI Can run
non-thread- safe versions of PHP and PECL extensions
- Slide 23
- FastCGI: Pooling and Caching PHP processes are reused. No
process creation overhead = 20x performance increase PHP HTTP
Request index.php HTTP Request index.php HTTP Request login.php
HTTP Request login.php PHP HTTP Request header.php HTTP Request
header.php FastCGI process pool for PHP5 PHP
- Slide 24
- IIS7+ FastCGI Handler Basic Architecture FastCGI process pool
for PHP5 IIS Worker Process Read
ConfigurationAuthenticateAuthorizeMap RequestHandle RequestSend
ResponseLog Request FastCGI handler ASP.NET Static Request queue
php-cgi.exe FastCGI process pool for PHP4 php.exe FastCGI protocol
over named pipes or TCP
- Slide 25
- C OMMUNIT Y Youd be surprised what you can accomplish when you
work with people who have common goals and ideals.
- Slide 26
- 2006 Zend and Microsoft announce collaboration 2007 Zend and
PHP Core Devs start optimising PHP5.2.x builds for windows. FastCGI
extensions for IIS6. 2008 MS release IIS7 with native FastCGI for
PHP.
- Slide 27
- 2008 Microsofts Pierre Joye and the PHP community conduct major
work on the PHP 5.3 codebase. Fixed 60+ Windows-specific bugs
Updated every library to latest version (some were 10+ years old)
Compiled PHP with VC++ 9 (VS 2008) x86 and x64 builds for
Windows
- Slide 28
- 2009 Microsoft release IIS 7.5 builds with Windows 7 and Server
2008 R2 builds. Zend ships Zend Core for Windows with Microsofts
FastCGI implementation
- Slide 29
- Popular Web Servers (June 09) Courtesy: Netcraft Web Server
Survey, June 2009. IIS7 IIS6 IIS5
- Slide 30
- Where to get all this PHP and FastCGI goodness IIS 6 (Windows
Server 2003) http://www.iis.net/php IIS 7 (Windows Vista SP1 and
Server 2008) Ships with the product. Activate the CGI feature
through Server Manager IIS 7.5 (Windows 7 and Server 2008R2)
Supports Failed Request Tracing for FastCGI (PHP)
- Slide 31
- Setting up PHP on Windows & IIS Tim Keller Lead Developer
Umoya Networks
- Slide 32
- IIS7 features Remote Management capability XML-based
configuration system Modular architecture for reduced attack
surface Ability to extend IIS7 using managed code Integration with
Windows Media Server Advanced Diagnostics
- Slide 33
- M ISSION IMPOSSIBL E Waitwhat?
- Slide 34
- PHP Developers want: Multiple versions of PHP on one server.
PHP4PHP5.2PHP5.3PHP6.0
- Slide 35
- URL Rewriting Ever used mod_rewrite in Apache?
http://timk.co.za/index.php?type=post&id=34
http://timk.co.za/index.php?type=post&id=34 becomes
http://timk.co.za/post/34 http://timk.co.za/post/34 IIS7 offers
this, without the need for complex Regular Expressions
- Slide 36
- More PHP'ing Tim Keller Lead Developer Umoya Networks
- Slide 37
- PowerShell and IIS Powerful command line for Windows With
IIS7.5 you can manipulate your IIS config from the command
line.
- Slide 38
- SQL Server and PHP An INNER JOIN made in heaven? Simple Goal To
provide robust, scalable, and reliable SQL Server connectivity to
PHP developers targeting the Windows platform. Built by Microsoft
with community feedback Version 1.0 released July 2008
http://blogs.msdn.com/sqlphp/http://blogs.msdn.com/sqlphp/ (good
blog)
- Slide 39
- ASP.NET AJAX and PHP Take back the web, sorta.
- Slide 40
- User Interface Web Server Request Response Traditional
Client/Server User Interface Web Server Ajax Engine AJAX Paradigm
What is AJAX?
- Slide 41
- What AJAX (sometimes) means DHTML: HTML + Javascript Animations
Drag and Drop Show and Hide Partial page updates User interface
makes background calls to server AJA* : XML, HTML, Text, JSON
- Slide 42
- ASP.NET AJAX A library in three parts MS Ajax Library
Javascript files for the frontend ASP.Net Ajax Extensions
Server-side.NET code ASP.Net Ajax Control Toolkit Shared-source
components The PHP MS AJAX library was released in 2008.
http://codeplex.com/phpmsajax http://codeplex.com/phpmsajax
- Slide 43
- ASP.NET AJAX with PHP Tim Keller Lead Developer Umoya
Networks
- Slide 44
- Silverlight from PHP
- Slide 45
- Hi, haaaave you met XAML? XML-based description of a Rich User
Interface. Part of the Windows Presentation Foundation. PHP can
easily output text/xml. XAML also supports UI Events. Which is
cool. Hello World!
- Slide 46
- Silverlight from PHP Tim Keller Lead Developer Umoya
Networks
- Slide 47
- Futures for PHP on Windows IE WebSlices from PHP applications
PHP MS Virtual Earth Integration On-going SQL Server driver
development Azure PHP SDK
- Slide 48
- Call to action We want you! Enable FastCGI in IIS7 Install PHP
Grab some cool PHP apps Tell your friends how great PHP is on IIS.
Tweet about it!
- Slide 49
- Session Resources Web Platform Installer
http://tinyurl.com/mswebplatform http://tinyurl.com/mswebplatform
PHP on Windows central http://www.iis.net/php Microsoft AJAX for
PHP www.codeplex.com/phpmsajax Silverlight www.silverlight.net PHP
builds and sourcecode for Windows http://windows.php.net URL
Rewrite in IIS7 http://www.iis.net/extensions/URLRewrite
- Slide 50
- Slide 51
- www.microsoft.com/teched International Content & Community
http://microsoft.com/technet Resources for IT Professionals
http://microsoft.com/msdn Resources for Developers
www.microsoft.com/learning Microsoft Certification & Training
Resources Resources Required Slide Speakers, TechEd 2009 is not
producing a DVD. Please announce that attendees can access session
recordings from Tech-Ed website. These will only be available after
the event. Required Slide Speakers, TechEd 2009 is not producing a
DVD. Please announce that attendees can access session recordings
from Tech-Ed website. These will only be available after the event.
Tech Ed Africa 2009 sessions will be made available for download
the week after the event from:
www.tech-ed.co.zawww.tech-ed.co.za
- Slide 52
- Related Content Breakout Sessions (session codes and titles)
Whiteboard Sessions (session codes and titles) Hands-on Labs
(session codes and titles) Required Slide Speakers, please list the
Breakout Sessions, TLC Interactive Theaters and Labs that are
related to your session. Any queries, please check with your Track
Owner. Required Slide Speakers, please list the Breakout Sessions,
TLC Interactive Theaters and Labs that are related to your session.
Any queries, please check with your Track Owner.
- Slide 53
- Track Resources Resource 1 Resource 2 Resource 3 Resource 4
Required Slide Track Owners to provide guidance. Please address any
queries to your track owners. Required Slide Track Owners to
provide guidance. Please address any queries to your track
owners.
- Slide 54
- Required Slide Complete a session evaluation and enter to win!
10 pairs of MP3 sunglasses to be won
- Slide 55
- 2009 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. Required
Slide