tim keller lead developer umoya networks · dtl318

Download Tim Keller Lead Developer Umoya Networks ·  DTL318

If you can't read please download the document

Post on 20-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 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 [email protected]
  • 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