• Like
Slide 1 - 2009 PHP Quebec Conference
Upcoming SlideShare
Loading in...5
×

Slide 1 - 2009 PHP Quebec Conference

  • 2,250 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,250
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool
  • KEY MESSAGE: The .NET picture SLIDE BUILDS: 5 SLIDE SCRIPT: BUILD 1 : .NET is built on top of the operating system. It isn’t directly a part of the OS, and multiple platforms are supported, including PocketPC. BUILD 2 : When your application executes, it will be managed by the Common Language Runtime. This will perform the JIT compile, and monitor security access requests. The CLR also communicates with the underlying OS, to perform the tasks that your application requests. BUILD 3 : A project is going to use classes from the base class library, to access the database, file system, network, etc. BUILD 4 : At the top, .NET lets you choose from a number of languages. The choice is largely made on which language syntax you’re already most familiar with. Once you choose a language, you can decide what kind of project you want to build with that language. BUILD 5 : And the tool to build everything? Visual Studio.NET SLIDE TRANSISTION: We’ll be looking at these pieces individually.
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool
  • Surface Area Configuration Tool

Transcript

  • 1. Joe Stagner Opinionated Misfit Geek Microsoft Corporation [email_address] www.JoeOn.net Extending PHP with the Microsoft Platform
  • 2. Who am I and why am I here?
    • Programming for over 30 years.
    • PHP developer since 1998.
    • Other Web Dev, ASP, CGI, Perl, JSP/Java, LiveWire, ColdFusion
    • With Microsoft for 6 years.
    • Work mostly in the Web Platofrms Group
    • Been the “PHP Guy” at Microsoft for all 6 years.
  • 3. My Goal …….
    • To add one more option to your choices.
  • 4. Why isn’t this already redundant?
    • If (PHP != “LAMP”)
      • Microsoft Missed
      • The Community Missed
      • Slashdot Won 
  • 5. About Microsoft (From the PHP Developer’s Perspective.)
    • Don’t think of Microsoft as ASP.NET
    • Microsoft’s Platform Motivations
      • Products versus Platforms
    • But Think ECOSYSTEM
    • 90% of PHP Developers Code on Windows
    • 10% of PHP Developers DEPLOY on Windows
  • 6. What’s Changed at Microsoft?
    • Scott Guthrie / DevDiv Organization
    • Platform Focus
    • Dynamic Languages
      • Python, Ruby, Phalanger
    • IIS Team
      • FastCGI
    • Hosting Team
    • Tools & Data Teams
    • Open Source ***
  • 7. The PHP Developer
    • Is a natural pragmatist.
    • Is an integration specialist.
    • Tends to focus on the solution, not the plumbing.
    • Works in venue that’s changing at a staggering pace.
  • 8. PHP versus ASP.NET PHP ASP.NET Dynamic Compiled Loosely Typed Strongly Typed Optional OO Mandatory OO Runs On the OS Runs IN the OS *** .php / .inc .dll / .exe “ C” .NET Simplicity Comprehensiveness
  • 9. PHP on Windows - Problems / Solutions
    • Startup Cost
    • Ongoing Cost
    • Hosting
    • Threads !
      • Reliability / Performance
    • Community
  • 10. Microsoft Developer Start
    • Windows / IIS
    • SQL Server Express (Workgroup)
    • Visual Web Developer Express
    • Visual C# (VB) Express
    • Microsoft Ajax
    • WPF / E ***
  • 11. PHP & Microsoft Ecosystem
    • PHP
    • Microsoft
  • 12. PHP-Nuke PHPBB2 MD-Pro b2Evolution OSCNuke Moodle VBulletin PostNuke MyPHPNuke bBlog Zen Cart Segue VBPortal Drupal Coppermine phpGroupWare PHPWebSite eGroupWare Serendipity Xoops [email_address] TextPattern Typo3 QwikiWikki RunCMS Mambo cPanel TikiWiki WordPress SugarCRM MyPHPAdmin e107 Xaraya OSCommerce ATutor WebCalendar Some Favorite PHP Applications
  • 13. MS Access MS Excel MS FrontPage MS InfoPath Live Meeting MS OneNote PowerPoint MS Outlook MS Project Small Business Accounting MS Visio MS Word SharePoint Business Manager MS CRM Project Server MS CMS Commerce Server Exchange Server MS LCS MapPoint Messenger Virtual Earth MOM BizTalk SQL Server SQL RS SQL AS SQL NS App Center Identity Integration Server ISA Server Data Analyzer MS Mobile Tablet PC MS Starter Kits Software Options from Microsoft
  • 14. Great Plains Axapta Small Business Manager MS Enterprise Reporting Navision Retail Management MS Solomon Windows Mobile Windows Embedded Active Directory ADAM Authorization Manager Operations Manager IIS 6/7 Windows Server 2003 XML-WS WSE Media Center Windows Media Server Application Center System Management Server Windows Unix Services Host Integration Server Windows Workflow Vista Longhorn Presentation Foundation MSN Search Windows Index Server VBA / VSA Info Bridge WSH DirectX ActiveX Hosted Controls MSMQ Info Card WinFX More Software Options from Microsoft
  • 15. Why Develop & Run on Windows
    • Windows Ecosystem
      • Over 600,000 partners in the Microsoft Ecosystem.
      • Microsoft makes MUCH more than Windows
      • Microsoft is making huge investments interoperability standards and technologies. (WS-I, etc.)
      • Microsoft provides
        • … . a complete turn-key infrastructure
        • … . Individual best-of-breed applications for you to choose from
  • 16. Why PHP for Windows Developers
    • The PHP Ecosystem
      • Nuke and Nuke-Like Application
      • Open source designs
      • Loose and Wild
      • The PHP community contributes to a variety of defacto standard facilities to connect everything
      • Zend and the PHP community are invested in Windows Specific PHP technology.
  • 17. The State of PHP on Windows
    • PHP is PHP is PHP. (Mostly)
    • Winabler, Platform, FastCGI
    • Other 3 rd parties offer…….
      • CodeGear Delphi for PHP
      • Phalanger = Managed Code PHP
        • http://www.php-compiler.net/
      • JCX.Software
        • VS.PHP
    • Zend’s Windows Work Continues
    • Microsoft’s work for PHP Continues
  • 18. Things PHP is not designed for.
    • Component Creation
    • Calling binary .DLLs
    • Simplifying Interoperability
    • Remote Instancing
    • Application Multithreading
    • Asynchronous Dependencies
    • Multi Phase Transactions
    • Aggregating Multi-Interfaced Objects
    • Type Encapsulation & Abstraction
    • Object Scope Promotion
    • Static Instance Access
  • 19. PHP on Windows
    • PHP on IIS 6
      • PHP Versions…. Why choose ?
    • PHP on IIS 7
      • New application context ?
  • 20. IIS 7
  • 21. PHP on Windows
    • More Options
      • Managed Code (.NET) PHP
        • Phalanger http://php-compiler.net/
      • Windows Applications
        • WinBinnder
        • NuSphere PHP Doc
      • PHP-GTK
  • 22.  
  • 23.  
  • 24.  
  • 25.  
  • 26. Performance
    • What’s the problem anyway.
      • CGI on Windows ?
      • The PHP ISAPI Extension
      • Microsoft FastCGI
      • Microsoft / Zend Agreement
  • 27. Performance
    • IIS
    • Binary Solutions
    • CGI, ISAPI
      • Winabler
    • Zend Platform
    • Phalanger
    • COM / .NET Bridge
    • FastCGI
  • 28. Integration Options
    • The Windows File System
    • SMTP
    • X.500
    • WDDX
    • MS-SQL Server, ADO, ODBC
      • ASP.NET Authorization Provider
      • Database’d session state
    • XML
    • LDAP
  • 29. Integration Options
    • MSMQ / MQ Series
    • Sockets
    • RSS
    • XML-RPC
    • XML Web Services / SOAP
    • PHP Extensibility Mechanisms
  • 30. Integration Options
    • Finally some ADVANTAGE to HTTP’s stateless protocol .
    • HTTP Form Tricks
      • They can be Open
      • They can be Hidden
      • They can be Encrypted
    • Cookie Tricks
      • They can also be encrypted
  • 31. Integration Options
    • Build your own.
    • PHP on Windows built with VC++
    • PECL Extensions
    • PHP is Open Source
  • 32. Office Documents
  • 33. Integration Options
    • WinDNA / COM
    • Microsoft .NET
  • 34. PHP and COM
    • What’s COM ?
    • PHP doesn’t REALLY speak COM.
    • COM is the Lingua Franca of Windows
      • VB
      • C++ (Ours and many others)
      • Delphi
      • Python
      • Perl
      • Cobol
      • Fortran
  • 35. Creating a COM Object Instance
    • <?php
    • $myCOMObject =new COM(&quot;COMObject.COMClass&quot;);
    • $myCOMObject->someMethod(“Some Argument”);
    • ?>
  • 36. Creating a COM Veneer
    • Build it in Visual Basic 6
    • Then call from PHP
    • <?php
    • $myCOMObject =new COM(&quot;COMObject.COMClass&quot;);
    • $myCOMObject->someMethod(“Some Argument”);
    • ?>
  • 37. COM Objects
  • 38. .NET Framework and Tools Operating System Common Language Runtime Visual Studio .NET Base Class Library ADO .NET and XML ASP .NET Web Forms Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# J# …
  • 39. The Shared Source CLI VS.NET Common Language Runtime System System.Data (ADO.NET) System.Xml Design ADO Adapters SQL Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Runtime InteropServices Remoting Serialization System.Drawing JIT GC MSIL App Domain Loader Common Type System Class Loader System.Web (ASP.NET) Configuration SessionState Caching Security Simple Web Services Description Protocols UI HtmlControls WebControls Discovery C# VC/MC++ Imaging Drawing2D Text Printing JScript VB Platform Adaptation Layer Boot Loader Sync Threads Networking Timers Filesystem System.WinForms Design ComponentModel Debugger Designers SDK Tools CorDBG ILAsm ILDbDump SN ILDAsm MetaInfo PEVerify ECMA CLI XPath XSLT Serialization
  • 40. Base Class Library System System.Data System.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Common OleDb SQLTypes SqlClient XPath XSLT Runtime InteropServices Remoting Serialization Serialization Configuration SessionState Caching Security Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Design ComponentModel
  • 41. Microsoft .NET
    • COM Callable Wrapper
    • Runtime Callable Wrapper
    • PHP Restrictions
      • OLE 2
    • Parameterless Constructors
  • 42. .NET Objects
  • 43. XML Web Services
    • NuSOAP
    • PHP 5 – Native SOAP Extension
    • ezSOAP
    • PEAR::SOAP
  • 44. XML WebServices
  • 45. Microsoft AJAX
    • Free & Open Source
      • Client Libraries
      • ASP.NET Server Implementation
      • PHP Server Implementation
    • Cross Platform Client Implementation
    • ASP.NET Server Side -> Javascript
    • Or fully LAMP
  • 46. Microsoft AJAX
  • 47. Microsoft WPF/e
    • Rich Client Behavior
    • Cross Browser
    • Cross Platform
    • V.1 XAML & JavaScript
    • V.next C# and/or VB
    • Expression Tools
  • 48. Microsoft WPF/e
  • 49. Joe’s Wish List
    • Great SQL Server 2005 access for PHP
    • A native Active Directory API PHP
    • An AzMan API for PHP
    • A PHP Bridge to ADAM
    • An ASP.NET 2.0 Auth Provider for PHP
    • A seamless session state bridge.
    • A CDO / Exchange Bridge for PHP
    • PHP-Nuke, Mambo, etc. etc.
      • On Windows
      • On Microsoft SQL
      • Optionally in Phalanger, using AD
  • 50. Call to Action !
    • Get your Visual Studio (FREE)
    • Get SQL Server Express (FREE)
    • Understand what products Microsoft makes.
    • Email Joe.Stagner@Microsoft.com
    • Read me at www.JoeOn.net
  • 51.  
  • 52. Thanks
    • Andrew Stopford
    • NuSphere
    • Michael Pham
    • Juan Rivera (VS.PHP)
    • Zend
  • 53. © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Q&A THANKS !
  • 54. © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.