SlideShare una empresa de Scribd logo
1 de 33
PHP na Windows

Artur Żarski
arturz@microsoft.com
Developer Evangelist
Microsoft Corporation
Plan spotkania

   IIS7 jako platforma
   PHP na Windows
   SQL Server Driver for PHP
   Expression Web 2
    Inne możliwości współdziałania

.NET Framework 3.5
                                                  CLR Add-in             Additional
  LINQ           ASP.NET 3.5
                                                  Framework            Enhancements

               .NET Framework 3.0 + SP 1
 Windows            Windows                         Windows
                                                                         Windows
Presentation     Communication                      Workflow
                                                                        CardSpace
Foundation         Foundation                      Foundation


               .NET Framework 2.0 + SP 1

                                                                                  Zarządzanie
                                              Serwer aplikacyjny
                                                   .NET 3.0                      WS-Management
                      Role serwera




                                                     IIS 7                        Monitorowanie


                                                                      Podstawy
                                       Core




                                                      Transakcje                    Odzyskiwanie
                                                                                 Sieć i komunikacja
                                                   Przechowywanie

                                                             Zintegrowany Hypervisor
VS.NET                     System.Web (ASP.NET)                                          System.WinForms
                                        UI
                 SessionState
                                                                              Design            ComponentModel
  C#                               HtmlControls
                 Caching
                   Security        WebControls
JScript
                 Configuration                                                             System.Drawing
  VB
                         Simple Web Services
                                                                                   Drawing2D            Printing
VC/MC++                         Protocols
                                                                                     Imaging                Text
                      Discovery        Description
Debugger
                               System.Data (ADO.NET)                                        System.Xml
Designers
                                                                                        XSLT         Serialization
                       ADO                  SQL
SDK Tools
                                                                                        XPath
                      Design               Adapters
CorDBG
                                                                   System
 ILAsm          Collections           IO                    Security          Runtime
                                                                               InteropServices
                Configuration         Net                   ServiceProcess
ILDbDump
                                                                               Remoting
                Diagnostics           Reflection            Text
   SN
                                                                                   Serialization
                Globalization         Resources             Threading
 ILDAsm
                                                       Common Language Runtime
MetaInfo
                                                                             JIT
                   GC                          App Domain Loader
PEVerify
                   MSIL                        Common Type System            Class Loader

                                                   Platform Abstraction




            Threads       Boot Loader                 Sync         Timers          Networking          Filesystem
Przykłady projektów PHP
Phalanger
Azure API for PHP

PHP4VS

WindowsLive for PHP

PHPOpenXML API

PHP Linq

PHPRPC for .NET

Excel document creation via OpenXML for PHP
Zalety IIS 7.0
   Modularna
                                       Możliwość
                    Konfiguracja
architektura aby
                   systemu oparta      zdalnego
  zredukować
                                      zarządzania
                       na XML
możliwość ataku

                                        Możliwość
                    Integracja z
Zaawansowana                        rozszerzenia IIS7
                   WMS oraz Media
                                    przy użyciu kodu
 diagnostyka
                        Pack
                                      zarządzanego
Dlaczego warto przejść na IIS7? (1/2)

 Konfiguracja w pliku tekstowym
  • Apache: httpd.conf ale wymaga restartu przez admina
  • IIS7: bez restartu + command line
 Rozproszona konfiguracja
  • Apache: .htaccess
  • Asp.net: web.config <system.webServer>, konfiguracja
    per-URL (per żądanie)
 Rozszerzalność (C/C++/C#/VB.NET/ 30+ innych
  języków ...)
  • Nowy interfejs CHttpModule, łatwo zastąpić swoim
  • SQL Logging (logowanie W3C w mniej niż 50 linii kodu)
Dlaczego warto przejść na IIS7? (2/2)

 Zaawansowana diagnostyka oraz rozwiązywanie
  problemów
  • 'failed request tracing„
  • request monitoring and runtime data
 Administracja i API
  • AppCmd.exe
  • WMI provider
  • Microsoft.Web.Administration
 Inne:
  •   Application Request Routing
  •   Web Deployment Tool
  •   Bitrate Throttling / Smooth Streaming
  •   …
IIS7 .NET Extensibility – Moduł vs. Handler
        Moduły dostarczają usługi dla wszystkich żądań

              moduł Basic Authentication
        •
              moduł Compression
        •
        Handlery dostarczają usługi dla specyficznych rozszerzeń

              ISAPI handler (.dll)
        •
              Static handler (.htm, .jpg, .gif, etc)
        •
        IIS 7 pozwala na zarządzanie natywnymi i „zarządzanymi” modułami oraz

        handlerami.

    public class BasicAuthenticationModule : System.Web.IHttpModule
    {
        void Init(HttpApplication context)
        {
        }

            void Dispose()
            {
            }
    }
Skrypty: nowy WMI Provider

 Set oService = GetObject(quot;winmgmts:rootWebAdministrationquot;)

 ' Tworzymy binding dla witryny
 Set oBinding = oService.Get(quot;BindingElementquot;).SpawnInstance_
 oBinding.BindingInformation = quot;*:80:www.site.comquot;
 oBinding.Protocol = quot;httpquot;

 ‘ Tworzymy witrynę
 oService.Get(quot;Sitequot;).Create _
    quot;NewSitequot;, array(oBinding), quot;C:inetpubwwwrootquot;

 ' Tworzymy aplikację
 oService.Get(quot;Applicationquot;).Create _
    quot;/fooquot;, quot;NewSitequot;, quot;C:inetpubwwwrootfooquot;
Appcmd – listowanie i filtrowanie
Potężne narzędzie do zarządzania IIS 7 z linii komend

 C:>   appcmd list sites
 SITE   quot;Default Web Sitequot; (id:1,bindings:HTTP/*:80:,state:Started)
 SITE   quot;Site1quot; (id:2,bindings:http/*:81:,state:Started)
 SITE   quot;Site2quot; (id:3,bindings:http/*:82:,state:Stopped)

 C:> appcmd list requests
 REQUEST quot;fb0000008000000equot; (url:GET
 /wait.aspx?time=10000,time:4276 msec,client:localhost)

 C:> appcmd list requests /apppool.name:DefaultAppPool

 C:> appcmd list requests /wp.name:3567

 C:> appcmd list requests /site.id:1
Programowanie: Microsoft.Web.Administration
Nowe APIs pozwala programistom na pisanie własnych narzędzi do wdrażania,
zarządzania ASP.NET oraz IIS


ServerManager iisManager = new ServerManager();

foreach(WorkerProcess w3wp in iisManager.WorkerProcesses) {
    Console.WriteLine(quot;W3WP ({0})quot;, w3wp.ProcessId);

    foreach (Request request in w3wp.GetRequests(0)) {
        Console.WriteLine(quot;{0} - {1},{2},{3}quot;,
                    request.Url,
                    request.ClientIPAddr,
                    request.TimeElapsed,
                    request.TimeInState);
    }
}
Najważniejsze elementy
  ADOdb
    Pierwszy projekt Open Source,
    w którym MS brał udział



 SQL Server PHP Driver
    SQL Server Driver for PHP
    został stworzony aby
    umożliwić współpracę PHP z
    SQL Server
  IIS7+ FastCGI
    Podstawa PHP na
    Windows

  Expression Web 2.0
    Wsparcie narzędzi MS do
    pracy z PHP
IIS FastCGI
 Solidna platforma dla aplikacji PHP
  • Otwarty standard
  • Wspierane przez środowisko PHP oraz wiele innych
    frameworków open source (RoR, Perl, Python, …)
  • Ulepszenie CGI
  • Web server tworzy proces FastCGI dla pierwszego
    żądania
  • Web server wykorzystuje istniejące procesy FastCGI
    dla następnych żądań
  • Konfigurowalne zasoby
 vs. ISAPI:
  •   Dostarcza wymaganą stabilność dla aplikacji PHP typu non-thread-
      safe
 vs. CGI:
  • Drastyczny wzrost wydajności
IIS FastCGI – Zasada działania

                                      FastCGI process pool for
                                              PHP5
                    FastCGI over
                    named pipes lub
                    TCP




                                           php-cgi.exe




                                      FastCGI process pool for
                                              PHP4



          Request
           queue

                                             php.exe
Uruchomienie aplikacji PHP na IIS 7.0

 Łatwy setup:
  • Instalacja PHP z FastCGI
  • Wdrożenie aplikacji
 Kompatybilność:
  • Top 10 aplikacji PHP testowane i udokumentowane na
    www.iis.net/php
  • Łatwa migracja ze wsparciem Url Rewrite
SQL Server PHP Driver
 Zalety:
  Pozwala na pewną i skalowaną integrację z SQL Server
  Tworzenie aplikacji na silnym i bezpiecznym silniku BD
  BI oraz SQL Reporting Services

 Konfiguracja:
  Php.ini -> extension=php_sqlsrv.dll

 Połączenie:

    $serverName = quot;(local)quot;;
    $connectionOptions =
     array(quot;Databasequot;=>quot;AdventureWorksquot;);
Microsoft Expression Web 2
        ®             ®




              •   PHP 5.2.5, Fast CGI
              •   Intellisense, code-coloring oraz
                  snippety
              •   Podgląd „PHP include” w trybie
                  projektowanie
              •   Podgląd stron PHP na różnych
                  zainstalowanych przeglądarkach
                  przy pomocy wbudowanego
                  Webservera
PHP na Windows – dalsze możliwości
PHP i Silverlight
  Działa na IIS i Apache
  Wymaga dodania dwóch MIME types dla
   Silverlight
   • .xaml – application/xaml+xml
   • .xab – application/x-silverlight-app
  Brak ustawień = błąd 404.3
PHP i ASP.NET Membership + AJAX

 ASP.NET
  • Kompletne zarządzane API
 PHP on Windows
  • Microsoft SQL Server Driver for PHP
  • Web Services
  • .NET / COM
 PHP On Linux
  • FreeTDS
  • Sockets
  • Web Services
PHP i obiekty COM
 Czym jest COM (Component Object Model) ?
 PHP tak naprawdę nie używa COM.
 COM jest dowolnym językiem Windows
  •   VB
  •   C++
  •   Delphi
  •   Python
  •   Perl
  •   Cobol
  •   Fortran
Tworzenie obiektów COM


<?php
   $myCOMObject =new
   COM(quot;COMObject.COMClassquot;);
   $myCOMObject->someMethod(“Some Argument”);
?>
Inne możliwości

 Microsoft Office
 Web Services
  •   NuSOAP
  •   PHP 5 – Native SOAP Extension
  •   ezSOAP
  •   PEAR::SOAP
 Microsoft .NET
 Microsoft Services (np. Live, Azure)
 Phalanger
PHP – „Wish List”
   Natywne API dla Active Directory
   AzMan API dla PHP
   PHP Bridge dla ADAM
   ASP.NET 2.0 Authentication Provider dla PHP
   A CDO / Exchange Bridge dla PHP
   PHP-Nuke, Mambo, etc. etc.
    • Na MS SQL Server
    • Opcjonalnie dla Phalanger
    • Opcjonalnie dla AD
.NET Framework 3.5
                                                  CLR Add-in             Additional
  LINQ           ASP.NET 3.5
                                                  Framework            Enhancements

               .NET Framework 3.0 + SP 1
 Windows            Windows                         Windows
                                                                         Windows
Presentation     Communication                      Workflow
                                                                        CardSpace
Foundation         Foundation                      Foundation


               .NET Framework 2.0 + SP 1

                                                                                  Zarządzanie
                                              Serwer aplikacyjny
                                                   .NET 3.0                      WS-Management
                      Role serwera




                                                     IIS 7                        Monitorowanie


                                                                      Podstawy
                                       Core




                                                      Transakcje                    Odzyskiwanie
                                                                                 Sieć i komunikacja
                                                   Przechowywanie

                                                             Zintegrowany Hypervisor
VS.NET                     System.Web (ASP.NET)                                          System.WinForms
                                        UI
                 SessionState
                                                                              Design            ComponentModel
  C#                               HtmlControls
                 Caching
                   Security        WebControls
JScript
                 Configuration                                                             System.Drawing
  VB
                         Simple Web Services
                                                                                   Drawing2D            Printing
VC/MC++                         Protocols
                                                                                     Imaging                Text
                      Discovery        Description
Debugger
                               System.Data (ADO.NET)                                        System.Xml
Designers
                                                                                        XSLT         Serialization
                       ADO                  SQL
SDK Tools
                                                                                        XPath
                      Design               Adapters
CorDBG
                                                                   System
 ILAsm          Collections           IO                    Security          Runtime
                                                                               InteropServices
                Configuration         Net                   ServiceProcess
ILDbDump
                                                                               Remoting
                Diagnostics           Reflection            Text
   SN
                                                                                   Serialization
                Globalization         Resources             Threading
 ILDAsm
                                                       Common Language Runtime
MetaInfo
                                                                             JIT
                   GC                          App Domain Loader
PEVerify
                   MSIL                        Common Type System            Class Loader

                                                   Platform Abstraction




            Threads       Boot Loader                 Sync         Timers          Networking          Filesystem
© 2008 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.

Más contenido relacionado

Similar a Artur Żarski, PHP na Windows

Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftBiznes 2.0
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureWebhosting.pl
 
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?Tobias Koprowski
 
Seminarium .Net CF 2004
Seminarium .Net CF 2004Seminarium .Net CF 2004
Seminarium .Net CF 2004Tomasz Cieplak
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012Mariusz Kedziora
 
Maciej Rak - HP - Matrix for hosting
Maciej Rak - HP - Matrix for hostingMaciej Rak - HP - Matrix for hosting
Maciej Rak - HP - Matrix for hostingWebhosting.pl
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azurepbubacz
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...Michal Furmankiewicz
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPROIDEA
 
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut okaWindows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut okaRafal Czuprynski
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGBart Zaremba
 
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachCoś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachTomasz Kopacz
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?javOnet
 
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2AnalyticsConf
 
Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Jakub Mazurkiewicz
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.jsWojciech Kaniuka
 
Przeznaczenie technologii Flex i Adobe AIR
Przeznaczenie technologii Flex i Adobe AIRPrzeznaczenie technologii Flex i Adobe AIR
Przeznaczenie technologii Flex i Adobe AIRSpodek 2.0
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Adrian Kalbarczyk
 

Similar a Artur Żarski, PHP na Windows (20)

Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, MicrosoftCloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
Cloud computing na bazie Windows Azure, Tomek Kopacz, Microsoft
 
Tomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows AzureTomasz Kopacz, Cloud computing na bazie Windows Azure
Tomasz Kopacz, Cloud computing na bazie Windows Azure
 
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
1st Silesian Code Camp - Czy jesteśmy gotowi na SQL Azure?
 
Seminarium .Net CF 2004
Seminarium .Net CF 2004Seminarium .Net CF 2004
Seminarium .Net CF 2004
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012Monitorowanie aplikacji z System Center 2012
Monitorowanie aplikacji z System Center 2012
 
Maciej Rak - HP - Matrix for hosting
Maciej Rak - HP - Matrix for hostingMaciej Rak - HP - Matrix for hosting
Maciej Rak - HP - Matrix for hosting
 
Nowości Windows Azure
Nowości Windows AzureNowości Windows Azure
Nowości Windows Azure
 
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...GET.NET -  Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
GET.NET - Osiołkowi w żłobie dano, czyli o tym jak hostować aplikacje na Mic...
 
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDNPLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
PLNOG19 - Krzysztof Banel - Nowe modele bezpieczeństwa w sieciach SDN
 
Windows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut okaWindows 8 dla twórców gier - rzut oka
Windows 8 dla twórców gier - rzut oka
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
 
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjachCoś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
Coś o service fabric, architekturze, i bardzo skalowalnych aplikacjach
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?
 
Ext js
Ext jsExt js
Ext js
 
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
Tomasz Kopacz: Architektura i service fabric - jak budować aplikacje w paas v2
 
Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury Automatyzacja fundament każdej chmury
Automatyzacja fundament każdej chmury
 
Webinar - Podstawy Node.js
Webinar - Podstawy Node.jsWebinar - Podstawy Node.js
Webinar - Podstawy Node.js
 
Przeznaczenie technologii Flex i Adobe AIR
Przeznaczenie technologii Flex i Adobe AIRPrzeznaczenie technologii Flex i Adobe AIR
Przeznaczenie technologii Flex i Adobe AIR
 
Aplikacje internetowe (2010)
Aplikacje internetowe (2010)Aplikacje internetowe (2010)
Aplikacje internetowe (2010)
 

Más de Webhosting.pl

Dariusz Nawojczyk | Rynek hostingowy w polsce. jak będzie wyglądał w latach ...
Dariusz Nawojczyk | Rynek hostingowy w polsce.  jak będzie wyglądał w latach ...Dariusz Nawojczyk | Rynek hostingowy w polsce.  jak będzie wyglądał w latach ...
Dariusz Nawojczyk | Rynek hostingowy w polsce. jak będzie wyglądał w latach ...Webhosting.pl
 
Dariusz Nawojczyk | TECHNOLOGIA, BIZNES CZY SOCJOLOGIA – W KTÓRYM KIERUNKU DR...
Dariusz Nawojczyk | TECHNOLOGIA, BIZNES CZY SOCJOLOGIA – W KTÓRYM KIERUNKU DR...Dariusz Nawojczyk | TECHNOLOGIA, BIZNES CZY SOCJOLOGIA – W KTÓRYM KIERUNKU DR...
Dariusz Nawojczyk | TECHNOLOGIA, BIZNES CZY SOCJOLOGIA – W KTÓRYM KIERUNKU DR...Webhosting.pl
 
Dariusz Nawojczyk | Telewizja nie tylko dla dużych, czyli wykorzystanie wideo...
Dariusz Nawojczyk | Telewizja nie tylko dla dużych, czyli wykorzystanie wideo...Dariusz Nawojczyk | Telewizja nie tylko dla dużych, czyli wykorzystanie wideo...
Dariusz Nawojczyk | Telewizja nie tylko dla dużych, czyli wykorzystanie wideo...Webhosting.pl
 
Dariusz Nawojczyk | Technologia czy biznes, czyli kierunki rozwoju współczesn...
Dariusz Nawojczyk | Technologia czy biznes, czyli kierunki rozwoju współczesn...Dariusz Nawojczyk | Technologia czy biznes, czyli kierunki rozwoju współczesn...
Dariusz Nawojczyk | Technologia czy biznes, czyli kierunki rozwoju współczesn...Webhosting.pl
 
Dariusz Nawojczyk | StartupLab.pl. Prezentacja nowego serwisu dla twórców sta...
Dariusz Nawojczyk | StartupLab.pl. Prezentacja nowego serwisu dla twórców sta...Dariusz Nawojczyk | StartupLab.pl. Prezentacja nowego serwisu dla twórców sta...
Dariusz Nawojczyk | StartupLab.pl. Prezentacja nowego serwisu dla twórców sta...Webhosting.pl
 
Dariusz Nawojczyk | Nowe technologie w służbie PR. Czy są skuteczne?
Dariusz Nawojczyk | Nowe technologie w służbie PR. Czy są skuteczne?Dariusz Nawojczyk | Nowe technologie w służbie PR. Czy są skuteczne?
Dariusz Nawojczyk | Nowe technologie w służbie PR. Czy są skuteczne?Webhosting.pl
 
Future developements and perspectives for the Sedo Marketplace and the opport...
Future developements and perspectives for the Sedo Marketplace and the opport...Future developements and perspectives for the Sedo Marketplace and the opport...
Future developements and perspectives for the Sedo Marketplace and the opport...Webhosting.pl
 
Zbigniew jasiński, "DNSSEC - podsumowanie prac w rejestrze .pl"
Zbigniew jasiński, "DNSSEC -  podsumowanie prac w rejestrze .pl"Zbigniew jasiński, "DNSSEC -  podsumowanie prac w rejestrze .pl"
Zbigniew jasiński, "DNSSEC - podsumowanie prac w rejestrze .pl"Webhosting.pl
 
Thorsten Eining, "State of the Domain Name Industry"
Thorsten Eining, "State of the Domain Name Industry"Thorsten Eining, "State of the Domain Name Industry"
Thorsten Eining, "State of the Domain Name Industry"Webhosting.pl
 
Steve Gobin, "New gTLD Basics New Internet Extensions"
Steve Gobin, "New gTLD Basics New Internet Extensions"Steve Gobin, "New gTLD Basics New Internet Extensions"
Steve Gobin, "New gTLD Basics New Internet Extensions"Webhosting.pl
 
Przemyslaw Bojczuk, "Czy rynek wtórny uratuje domeny narodowe"
Przemyslaw Bojczuk, "Czy rynek wtórny uratuje domeny narodowe"Przemyslaw Bojczuk, "Czy rynek wtórny uratuje domeny narodowe"
Przemyslaw Bojczuk, "Czy rynek wtórny uratuje domeny narodowe"Webhosting.pl
 
Marcin Zmaczyński, "Nowe domeny gTLD. Zagrożenie dla domen narodowych?"
Marcin Zmaczyński, "Nowe domeny gTLD. Zagrożenie dla domen narodowych?"Marcin Zmaczyński, "Nowe domeny gTLD. Zagrożenie dla domen narodowych?"
Marcin Zmaczyński, "Nowe domeny gTLD. Zagrożenie dla domen narodowych?"Webhosting.pl
 
Leszek Sękowski, "Jak zarabiać na domenach?"
Leszek Sękowski, "Jak zarabiać na domenach?"Leszek Sękowski, "Jak zarabiać na domenach?"
Leszek Sękowski, "Jak zarabiać na domenach?"Webhosting.pl
 
Dariusz Nawojczyk | "Domain Meeting to odpowiedź na rosnący rynek"
Dariusz Nawojczyk | "Domain Meeting to odpowiedź na rosnący rynek"Dariusz Nawojczyk | "Domain Meeting to odpowiedź na rosnący rynek"
Dariusz Nawojczyk | "Domain Meeting to odpowiedź na rosnący rynek"Webhosting.pl
 
Bartek Usydus, "Jak rozwijać domenę, by zarabiała na siebie"
Bartek Usydus, "Jak rozwijać domenę, by zarabiała na siebie"Bartek Usydus, "Jak rozwijać domenę, by zarabiała na siebie"
Bartek Usydus, "Jak rozwijać domenę, by zarabiała na siebie"Webhosting.pl
 
Artur Piechocki, "Nowości rejestru .pl"
Artur Piechocki, "Nowości rejestru .pl"Artur Piechocki, "Nowości rejestru .pl"
Artur Piechocki, "Nowości rejestru .pl"Webhosting.pl
 
Adam Wagner, "Biznes dla registrarów i niezbędne narzędzi dla kadry zarządzaj...
Adam Wagner, "Biznes dla registrarów i niezbędne narzędzi dla kadry zarządzaj...Adam Wagner, "Biznes dla registrarów i niezbędne narzędzi dla kadry zarządzaj...
Adam Wagner, "Biznes dla registrarów i niezbędne narzędzi dla kadry zarządzaj...Webhosting.pl
 
Nils Decker - Spam experts - Email security in the cloud
Nils Decker - Spam experts - Email security in the cloudNils Decker - Spam experts - Email security in the cloud
Nils Decker - Spam experts - Email security in the cloudWebhosting.pl
 
Krzysztof Osiak, Krzysztof Wrzeszcz - Gemalto, Infostream - Bezpieczeństwo to...
Krzysztof Osiak, Krzysztof Wrzeszcz - Gemalto, Infostream - Bezpieczeństwo to...Krzysztof Osiak, Krzysztof Wrzeszcz - Gemalto, Infostream - Bezpieczeństwo to...
Krzysztof Osiak, Krzysztof Wrzeszcz - Gemalto, Infostream - Bezpieczeństwo to...Webhosting.pl
 
Artur Piechocki - NASK - Nazwy domen internetowych
Artur Piechocki - NASK - Nazwy domen internetowychArtur Piechocki - NASK - Nazwy domen internetowych
Artur Piechocki - NASK - Nazwy domen internetowychWebhosting.pl
 

Más de Webhosting.pl (20)

Dariusz Nawojczyk | Rynek hostingowy w polsce. jak będzie wyglądał w latach ...
Dariusz Nawojczyk | Rynek hostingowy w polsce.  jak będzie wyglądał w latach ...Dariusz Nawojczyk | Rynek hostingowy w polsce.  jak będzie wyglądał w latach ...
Dariusz Nawojczyk | Rynek hostingowy w polsce. jak będzie wyglądał w latach ...
 
Dariusz Nawojczyk | TECHNOLOGIA, BIZNES CZY SOCJOLOGIA – W KTÓRYM KIERUNKU DR...
Dariusz Nawojczyk | TECHNOLOGIA, BIZNES CZY SOCJOLOGIA – W KTÓRYM KIERUNKU DR...Dariusz Nawojczyk | TECHNOLOGIA, BIZNES CZY SOCJOLOGIA – W KTÓRYM KIERUNKU DR...
Dariusz Nawojczyk | TECHNOLOGIA, BIZNES CZY SOCJOLOGIA – W KTÓRYM KIERUNKU DR...
 
Dariusz Nawojczyk | Telewizja nie tylko dla dużych, czyli wykorzystanie wideo...
Dariusz Nawojczyk | Telewizja nie tylko dla dużych, czyli wykorzystanie wideo...Dariusz Nawojczyk | Telewizja nie tylko dla dużych, czyli wykorzystanie wideo...
Dariusz Nawojczyk | Telewizja nie tylko dla dużych, czyli wykorzystanie wideo...
 
Dariusz Nawojczyk | Technologia czy biznes, czyli kierunki rozwoju współczesn...
Dariusz Nawojczyk | Technologia czy biznes, czyli kierunki rozwoju współczesn...Dariusz Nawojczyk | Technologia czy biznes, czyli kierunki rozwoju współczesn...
Dariusz Nawojczyk | Technologia czy biznes, czyli kierunki rozwoju współczesn...
 
Dariusz Nawojczyk | StartupLab.pl. Prezentacja nowego serwisu dla twórców sta...
Dariusz Nawojczyk | StartupLab.pl. Prezentacja nowego serwisu dla twórców sta...Dariusz Nawojczyk | StartupLab.pl. Prezentacja nowego serwisu dla twórców sta...
Dariusz Nawojczyk | StartupLab.pl. Prezentacja nowego serwisu dla twórców sta...
 
Dariusz Nawojczyk | Nowe technologie w służbie PR. Czy są skuteczne?
Dariusz Nawojczyk | Nowe technologie w służbie PR. Czy są skuteczne?Dariusz Nawojczyk | Nowe technologie w służbie PR. Czy są skuteczne?
Dariusz Nawojczyk | Nowe technologie w służbie PR. Czy są skuteczne?
 
Future developements and perspectives for the Sedo Marketplace and the opport...
Future developements and perspectives for the Sedo Marketplace and the opport...Future developements and perspectives for the Sedo Marketplace and the opport...
Future developements and perspectives for the Sedo Marketplace and the opport...
 
Zbigniew jasiński, "DNSSEC - podsumowanie prac w rejestrze .pl"
Zbigniew jasiński, "DNSSEC -  podsumowanie prac w rejestrze .pl"Zbigniew jasiński, "DNSSEC -  podsumowanie prac w rejestrze .pl"
Zbigniew jasiński, "DNSSEC - podsumowanie prac w rejestrze .pl"
 
Thorsten Eining, "State of the Domain Name Industry"
Thorsten Eining, "State of the Domain Name Industry"Thorsten Eining, "State of the Domain Name Industry"
Thorsten Eining, "State of the Domain Name Industry"
 
Steve Gobin, "New gTLD Basics New Internet Extensions"
Steve Gobin, "New gTLD Basics New Internet Extensions"Steve Gobin, "New gTLD Basics New Internet Extensions"
Steve Gobin, "New gTLD Basics New Internet Extensions"
 
Przemyslaw Bojczuk, "Czy rynek wtórny uratuje domeny narodowe"
Przemyslaw Bojczuk, "Czy rynek wtórny uratuje domeny narodowe"Przemyslaw Bojczuk, "Czy rynek wtórny uratuje domeny narodowe"
Przemyslaw Bojczuk, "Czy rynek wtórny uratuje domeny narodowe"
 
Marcin Zmaczyński, "Nowe domeny gTLD. Zagrożenie dla domen narodowych?"
Marcin Zmaczyński, "Nowe domeny gTLD. Zagrożenie dla domen narodowych?"Marcin Zmaczyński, "Nowe domeny gTLD. Zagrożenie dla domen narodowych?"
Marcin Zmaczyński, "Nowe domeny gTLD. Zagrożenie dla domen narodowych?"
 
Leszek Sękowski, "Jak zarabiać na domenach?"
Leszek Sękowski, "Jak zarabiać na domenach?"Leszek Sękowski, "Jak zarabiać na domenach?"
Leszek Sękowski, "Jak zarabiać na domenach?"
 
Dariusz Nawojczyk | "Domain Meeting to odpowiedź na rosnący rynek"
Dariusz Nawojczyk | "Domain Meeting to odpowiedź na rosnący rynek"Dariusz Nawojczyk | "Domain Meeting to odpowiedź na rosnący rynek"
Dariusz Nawojczyk | "Domain Meeting to odpowiedź na rosnący rynek"
 
Bartek Usydus, "Jak rozwijać domenę, by zarabiała na siebie"
Bartek Usydus, "Jak rozwijać domenę, by zarabiała na siebie"Bartek Usydus, "Jak rozwijać domenę, by zarabiała na siebie"
Bartek Usydus, "Jak rozwijać domenę, by zarabiała na siebie"
 
Artur Piechocki, "Nowości rejestru .pl"
Artur Piechocki, "Nowości rejestru .pl"Artur Piechocki, "Nowości rejestru .pl"
Artur Piechocki, "Nowości rejestru .pl"
 
Adam Wagner, "Biznes dla registrarów i niezbędne narzędzi dla kadry zarządzaj...
Adam Wagner, "Biznes dla registrarów i niezbędne narzędzi dla kadry zarządzaj...Adam Wagner, "Biznes dla registrarów i niezbędne narzędzi dla kadry zarządzaj...
Adam Wagner, "Biznes dla registrarów i niezbędne narzędzi dla kadry zarządzaj...
 
Nils Decker - Spam experts - Email security in the cloud
Nils Decker - Spam experts - Email security in the cloudNils Decker - Spam experts - Email security in the cloud
Nils Decker - Spam experts - Email security in the cloud
 
Krzysztof Osiak, Krzysztof Wrzeszcz - Gemalto, Infostream - Bezpieczeństwo to...
Krzysztof Osiak, Krzysztof Wrzeszcz - Gemalto, Infostream - Bezpieczeństwo to...Krzysztof Osiak, Krzysztof Wrzeszcz - Gemalto, Infostream - Bezpieczeństwo to...
Krzysztof Osiak, Krzysztof Wrzeszcz - Gemalto, Infostream - Bezpieczeństwo to...
 
Artur Piechocki - NASK - Nazwy domen internetowych
Artur Piechocki - NASK - Nazwy domen internetowychArtur Piechocki - NASK - Nazwy domen internetowych
Artur Piechocki - NASK - Nazwy domen internetowych
 

Artur Żarski, PHP na Windows

  • 1. PHP na Windows Artur Żarski arturz@microsoft.com Developer Evangelist Microsoft Corporation
  • 2. Plan spotkania  IIS7 jako platforma  PHP na Windows  SQL Server Driver for PHP  Expression Web 2 Inne możliwości współdziałania 
  • 3. .NET Framework 3.5 CLR Add-in Additional LINQ ASP.NET 3.5 Framework Enhancements .NET Framework 3.0 + SP 1 Windows Windows Windows Windows Presentation Communication Workflow CardSpace Foundation Foundation Foundation .NET Framework 2.0 + SP 1 Zarządzanie Serwer aplikacyjny .NET 3.0 WS-Management Role serwera IIS 7 Monitorowanie Podstawy Core Transakcje Odzyskiwanie Sieć i komunikacja Przechowywanie Zintegrowany Hypervisor
  • 4. VS.NET System.Web (ASP.NET) System.WinForms UI SessionState Design ComponentModel C# HtmlControls Caching Security WebControls JScript Configuration System.Drawing VB Simple Web Services Drawing2D Printing VC/MC++ Protocols Imaging Text Discovery Description Debugger System.Data (ADO.NET) System.Xml Designers XSLT Serialization ADO SQL SDK Tools XPath Design Adapters CorDBG System ILAsm Collections IO Security Runtime InteropServices Configuration Net ServiceProcess ILDbDump Remoting Diagnostics Reflection Text SN Serialization Globalization Resources Threading ILDAsm Common Language Runtime MetaInfo JIT GC App Domain Loader PEVerify MSIL Common Type System Class Loader Platform Abstraction Threads Boot Loader Sync Timers Networking Filesystem
  • 5.
  • 6.
  • 7. Przykłady projektów PHP Phalanger Azure API for PHP PHP4VS WindowsLive for PHP PHPOpenXML API PHP Linq PHPRPC for .NET Excel document creation via OpenXML for PHP
  • 8.
  • 9. Zalety IIS 7.0 Modularna Możliwość Konfiguracja architektura aby systemu oparta zdalnego zredukować zarządzania na XML możliwość ataku Możliwość Integracja z Zaawansowana rozszerzenia IIS7 WMS oraz Media przy użyciu kodu diagnostyka Pack zarządzanego
  • 10. Dlaczego warto przejść na IIS7? (1/2)  Konfiguracja w pliku tekstowym • Apache: httpd.conf ale wymaga restartu przez admina • IIS7: bez restartu + command line  Rozproszona konfiguracja • Apache: .htaccess • Asp.net: web.config <system.webServer>, konfiguracja per-URL (per żądanie)  Rozszerzalność (C/C++/C#/VB.NET/ 30+ innych języków ...) • Nowy interfejs CHttpModule, łatwo zastąpić swoim • SQL Logging (logowanie W3C w mniej niż 50 linii kodu)
  • 11. Dlaczego warto przejść na IIS7? (2/2)  Zaawansowana diagnostyka oraz rozwiązywanie problemów • 'failed request tracing„ • request monitoring and runtime data  Administracja i API • AppCmd.exe • WMI provider • Microsoft.Web.Administration  Inne: • Application Request Routing • Web Deployment Tool • Bitrate Throttling / Smooth Streaming • …
  • 12. IIS7 .NET Extensibility – Moduł vs. Handler Moduły dostarczają usługi dla wszystkich żądań  moduł Basic Authentication • moduł Compression • Handlery dostarczają usługi dla specyficznych rozszerzeń  ISAPI handler (.dll) • Static handler (.htm, .jpg, .gif, etc) • IIS 7 pozwala na zarządzanie natywnymi i „zarządzanymi” modułami oraz  handlerami. public class BasicAuthenticationModule : System.Web.IHttpModule { void Init(HttpApplication context) { } void Dispose() { } }
  • 13. Skrypty: nowy WMI Provider Set oService = GetObject(quot;winmgmts:rootWebAdministrationquot;) ' Tworzymy binding dla witryny Set oBinding = oService.Get(quot;BindingElementquot;).SpawnInstance_ oBinding.BindingInformation = quot;*:80:www.site.comquot; oBinding.Protocol = quot;httpquot; ‘ Tworzymy witrynę oService.Get(quot;Sitequot;).Create _ quot;NewSitequot;, array(oBinding), quot;C:inetpubwwwrootquot; ' Tworzymy aplikację oService.Get(quot;Applicationquot;).Create _ quot;/fooquot;, quot;NewSitequot;, quot;C:inetpubwwwrootfooquot;
  • 14. Appcmd – listowanie i filtrowanie Potężne narzędzie do zarządzania IIS 7 z linii komend C:> appcmd list sites SITE quot;Default Web Sitequot; (id:1,bindings:HTTP/*:80:,state:Started) SITE quot;Site1quot; (id:2,bindings:http/*:81:,state:Started) SITE quot;Site2quot; (id:3,bindings:http/*:82:,state:Stopped) C:> appcmd list requests REQUEST quot;fb0000008000000equot; (url:GET /wait.aspx?time=10000,time:4276 msec,client:localhost) C:> appcmd list requests /apppool.name:DefaultAppPool C:> appcmd list requests /wp.name:3567 C:> appcmd list requests /site.id:1
  • 15. Programowanie: Microsoft.Web.Administration Nowe APIs pozwala programistom na pisanie własnych narzędzi do wdrażania, zarządzania ASP.NET oraz IIS ServerManager iisManager = new ServerManager(); foreach(WorkerProcess w3wp in iisManager.WorkerProcesses) { Console.WriteLine(quot;W3WP ({0})quot;, w3wp.ProcessId); foreach (Request request in w3wp.GetRequests(0)) { Console.WriteLine(quot;{0} - {1},{2},{3}quot;, request.Url, request.ClientIPAddr, request.TimeElapsed, request.TimeInState); } }
  • 16.
  • 17. Najważniejsze elementy ADOdb Pierwszy projekt Open Source, w którym MS brał udział SQL Server PHP Driver SQL Server Driver for PHP został stworzony aby umożliwić współpracę PHP z SQL Server IIS7+ FastCGI Podstawa PHP na Windows Expression Web 2.0 Wsparcie narzędzi MS do pracy z PHP
  • 18. IIS FastCGI  Solidna platforma dla aplikacji PHP • Otwarty standard • Wspierane przez środowisko PHP oraz wiele innych frameworków open source (RoR, Perl, Python, …) • Ulepszenie CGI • Web server tworzy proces FastCGI dla pierwszego żądania • Web server wykorzystuje istniejące procesy FastCGI dla następnych żądań • Konfigurowalne zasoby  vs. ISAPI: • Dostarcza wymaganą stabilność dla aplikacji PHP typu non-thread- safe  vs. CGI: • Drastyczny wzrost wydajności
  • 19. IIS FastCGI – Zasada działania FastCGI process pool for PHP5 FastCGI over named pipes lub TCP php-cgi.exe FastCGI process pool for PHP4 Request queue php.exe
  • 20. Uruchomienie aplikacji PHP na IIS 7.0  Łatwy setup: • Instalacja PHP z FastCGI • Wdrożenie aplikacji  Kompatybilność: • Top 10 aplikacji PHP testowane i udokumentowane na www.iis.net/php • Łatwa migracja ze wsparciem Url Rewrite
  • 21. SQL Server PHP Driver Zalety:  Pozwala na pewną i skalowaną integrację z SQL Server  Tworzenie aplikacji na silnym i bezpiecznym silniku BD  BI oraz SQL Reporting Services Konfiguracja:  Php.ini -> extension=php_sqlsrv.dll Połączenie:  $serverName = quot;(local)quot;;  $connectionOptions = array(quot;Databasequot;=>quot;AdventureWorksquot;);
  • 22. Microsoft Expression Web 2 ® ® • PHP 5.2.5, Fast CGI • Intellisense, code-coloring oraz snippety • Podgląd „PHP include” w trybie projektowanie • Podgląd stron PHP na różnych zainstalowanych przeglądarkach przy pomocy wbudowanego Webservera
  • 23. PHP na Windows – dalsze możliwości
  • 24. PHP i Silverlight  Działa na IIS i Apache  Wymaga dodania dwóch MIME types dla Silverlight • .xaml – application/xaml+xml • .xab – application/x-silverlight-app  Brak ustawień = błąd 404.3
  • 25. PHP i ASP.NET Membership + AJAX  ASP.NET • Kompletne zarządzane API  PHP on Windows • Microsoft SQL Server Driver for PHP • Web Services • .NET / COM  PHP On Linux • FreeTDS • Sockets • Web Services
  • 26. PHP i obiekty COM  Czym jest COM (Component Object Model) ?  PHP tak naprawdę nie używa COM.  COM jest dowolnym językiem Windows • VB • C++ • Delphi • Python • Perl • Cobol • Fortran
  • 27. Tworzenie obiektów COM <?php $myCOMObject =new COM(quot;COMObject.COMClassquot;); $myCOMObject->someMethod(“Some Argument”); ?>
  • 28. Inne możliwości  Microsoft Office  Web Services • NuSOAP • PHP 5 – Native SOAP Extension • ezSOAP • PEAR::SOAP  Microsoft .NET  Microsoft Services (np. Live, Azure)  Phalanger
  • 29. PHP – „Wish List”  Natywne API dla Active Directory  AzMan API dla PHP  PHP Bridge dla ADAM  ASP.NET 2.0 Authentication Provider dla PHP  A CDO / Exchange Bridge dla PHP  PHP-Nuke, Mambo, etc. etc. • Na MS SQL Server • Opcjonalnie dla Phalanger • Opcjonalnie dla AD
  • 30. .NET Framework 3.5 CLR Add-in Additional LINQ ASP.NET 3.5 Framework Enhancements .NET Framework 3.0 + SP 1 Windows Windows Windows Windows Presentation Communication Workflow CardSpace Foundation Foundation Foundation .NET Framework 2.0 + SP 1 Zarządzanie Serwer aplikacyjny .NET 3.0 WS-Management Role serwera IIS 7 Monitorowanie Podstawy Core Transakcje Odzyskiwanie Sieć i komunikacja Przechowywanie Zintegrowany Hypervisor
  • 31. VS.NET System.Web (ASP.NET) System.WinForms UI SessionState Design ComponentModel C# HtmlControls Caching Security WebControls JScript Configuration System.Drawing VB Simple Web Services Drawing2D Printing VC/MC++ Protocols Imaging Text Discovery Description Debugger System.Data (ADO.NET) System.Xml Designers XSLT Serialization ADO SQL SDK Tools XPath Design Adapters CorDBG System ILAsm Collections IO Security Runtime InteropServices Configuration Net ServiceProcess ILDbDump Remoting Diagnostics Reflection Text SN Serialization Globalization Resources Threading ILDAsm Common Language Runtime MetaInfo JIT GC App Domain Loader PEVerify MSIL Common Type System Class Loader Platform Abstraction Threads Boot Loader Sync Timers Networking Filesystem
  • 32.
  • 33. © 2008 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.