2
Microsoft Confidential 3
The Microsoft Web Platform is the software of choice when building web solutions or applications for your business, large or small.
Whether you’re looking to create your company’s global web presence, building applications for your small business, or just getting started on the web, Microsoft has the solutions for you. Trusted by Fortune 500’s, used by millions of individuals .
YOU
Community Applications Marketplace Choices
Configuration
(applicationhost
.config)
Service Host
(SVCHost.EXE)
Worker Process (W3WP.EXE)
Windows Process
Activation Service
(WAS)
World Wide Web
Service (W3SVC)
HTTP.SYS Kernel-Mode Listener
Bindings: http://*:80:site1
Applicationhost
.config
Service Host
(SVCHost.EXE)
Windows Process
Activation Service
(WAS)
World Wide Web
Service (W3SVC)
Worker Process (W3WP.EXE)
HTTP Protocol Host
Request
Queue
Response
Cache
HTTP.SYS
WAS
W3svc
W3WP.EXE
http://www.iis.net/media/experiencesmoothstre aming http://www.nbcolympics.com/video/
Microsoft Confidential 15
http://learn.iis.net/page.aspx/36/managingand-maintaining-iis-70/ http://www.iis.net/expand
Microsoft Confidential 16
Microsoft Confidential 17
FastCGI module allows IIS7.0 to host PHP applications
High-performance version of CGI interface used by many Web client applications
Build applications that deliver a visually compelling user experience
Communicate across technology boundaries
Support a wide range of business processes
IIS 7.0/7.5 can run HTML, Classic ASP, ASP.NET, and PHP applications, all on a single easy-to-manage platform
No Core developer working on or for Windows
Windows was a 2 nd class platform
Binaries releases days or weeks after the sources releases
Absence QA on Windows
Lack of documentation and communication
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/mailinglists.php)
•IRC channel on freenode #php-dev-win
• FastCGI: The best of both CGI and ISAPI
– Enhancement to CGI protocol
– Web server creates FastCGI process pool for very first request
– Web server re-uses existing FastCGI processes for subsequent requests
– Configurable Resources
– Download for IIS 6
– Ships in IIS 7/7.5, installed with the CGI feature
• Benefits of FastCGI for Windows
– Much faster than CGI because there is no process creation cost
– Much more stable than ISAPI because of single threaded execution environment
Non-thread safe PHP builds are recommended for FastCGI
IIS Worker Process
Request queue
FastCGI protocol over named pipes or TCP
FastCGI process pool for PHP5 php-cgi.exe
FastCGI process pool for PHP4 php.exe
App Pool #1 (user1)
Web site #1
App Pool #2 (user2)
Web site #2
…
App Pool #N (userN)
Web site #N
FastCGI Process Pool
FastCGI Process Pool
…
FastCGI Process pool
PHP
Integration. Interoperability.
The SQL Server Driver for PHP is designed to enable reliable, scalable integration with SQL Server for PHP applications deployed on the Windows platform.
• Native PHP 5 extension
• Reading and writing of SQL Server data from within PHP scripts.
• Compatible with all editions of SQL
Server 2005 and SQL Server 2008
(including Express Editions)
Logical architecture
Your PHP application
PHP SDK for Windows Azure
Blobs, Tables, Queues
Manageability,
Instrumentation, logging
Helper for Http, Auth,
REST, Error
REST http://framework.zend.com
http://phpazure.codeplex.com/
Deployment scenarios
REST
PHP Runtime
REST
PHP Runtime
The “plumbing” associated with web solutions should not get in your way building great applications.
It’s a mess.
The Microsoft Web Platform Installer is our way of making that mess a little easier to deal with.
It won’t take away all the pain of setting up an environment, but it takes away a lot of it.
Today I’ll show Version 2 of the WPI and how you can use it to set up your web environments.
Explore, discover, install and deploy popular Web applications on the Windows Platform through a streamlined process.
3
Users around the world discover and install your web app on dedicated and shared hosting servers.
1 You build, package and submit your web app to the app gallery.
2
We publish your approved app and make it available through the
Windows Web App
Gallery channels.
Microsoft Confidential 38