SlideShare ist ein Scribd-Unternehmen logo
1 von 41
PHP i Microsoft Michał Żyliński Kto się lubi, ten się czubi
Agenda OSS i/vs Microsoft - historia i kontekst  Dlaczego lubimy PHP? Oznaki miłości
Społeczności Partnerstwo Możliwość wyboru Wkład
Port 25 Centrum informacji dotyczących działań open source wokół technologii Microsoft 14 mln wizyt, 20% przeglądarek to Linux/Unix http://port25.technet.com
InteroperabilityBridges Katalog wszystkich projektów Microsoft, które dotyczą „zewnętrznych” technologii (PHP, Java, C, Objective C, Ruby itd.) http://www.interoperabilitybridges.com/
Przecież 50% projektów na SourceForge działa na Windows, a 1/3 tylko na Windows ;) Lepsza kontrola nad platformą Utrzymuje również „komercyjne” projekty MS Team Foundation Server w tle http://www.codeplex.com CodePlex
Open Source  Technology Center
OSTC – garść faktów Założone w 2004roku (1 osoba, 2 komputery) 2 ośrodki: Open Source Software Lab w Redmond oraz Joint Interoperability Lab w Cambridge Ponad 500 serwerów i obsługujących ponad 300 systemów operacyjnych (głównie dystrybucji Linuxa) Największe zagęszczenie CPU ze wszystkich naszych labów Zatrudnia ekspertów od *nixa i OSS (JIL współtworzy Novell)
OSTC – cele i efekty Techniczna analiza rozwiązań OSS Zwiększenie liczby projektów OSS współpracujących (dobrze) z platformą Windows Zarządzanie tożsamością, wirtualizacja, bezpieczeństwo Dialog i współpraca ze środowiskiem OSS Dotychczasowe projekty Windows Media Player 11 w Firefoxie Silverlight/Moonlight w Firefoxie Poprawki do linuxowegokernela w lipcu 2009 Sterowniki SQL Servera dla Javy i PHP Fast CGI – Java/PHP/Python Firefox na Windows Vista Aktualne prace Hyper-V a Linux ADODB w PHP PEAR Wsparcie CardSpace w Javie/Ruby/Pythonie/C
Szatański plan Windows = najlepsza platforma  dla rozwiązań Open Source I PHP też!
PHP a Microsoft PHP działa na Windows od ponad dekady Windows jest wciąż dominującą platformą wśród developerów PHP Kompleksowe podejście: Ułatwienie instalacji Aktywna praca nad ulepszeniem działania PHP na Win Benefity dla programistów PHP związane z platformą Zaangażowanie się w już istniejące, najpopularniejsze projekty wykorzystujące PHP
Web Platform Installer http://www.microsoft.com/web/downloads/platform.aspx
WPI
Expression Web 3 Profesjonalny edytor HTML Bardzo mocny nacisk na kompatybilność i standardy Pełne wsparcie dla PHP i ASP.NET
PHP w Expression Web 3 Kolorowanie kodu, intellisense, snippety Wbudowany serwer WWW (nie musisz uruchamiać Apache lub IIS) Wsparcie dla PHP 5.2.5 i FastCGI Snapshot Preview – wierny podgląd wyglądu strony w samym narzędziu SuperPreview – weryfikacja poprawności renderowania strony w różnych przeglądarkach (IE6/7/8, Firefox) – idealne do debugowania Integracja z TFS, Expression Design i ExpressionEncoderem
Expression Web w praktyce
Dlaczego Windows kocha PHP  Od wersji 5.3 uczestniczymy aktywnie w dostosowywaniu PHP do platformy Windows Win32API zamiast wywołańPOSIXowych Optymalizacja wydajności pod kątem FastCGI w IIS Usunięcie ponad 60 błędów dotyczących Win Więcej na: http://windows.php.net
PHP w IIS 7 Mam przecież Apache…
PHP w IIS 7 1/2 FastCGI – jedyny słuszny wybór Otwarty standard Wykorzystywany przez wiele frameworków (Django, RoR) Bardziej stabilne niż filtr ISAPI Znacznie szybszy niż standardowe CGI Gwarancja stabilności i wydajności Łatwa konfiguracja i deployment(szczegóły na http://php.iis.net)
PHP w IIS 7 2/2 Łatwa migracja: Najpopularniejsze aplikacje zostały już przetestowane i udokumentowane Kreatory do migracji z mod_rewrite na UrlRewrite Elastyczność: Możliwość uruchomienia różnych środowisk (w tym wersji PHP) na tym samym serwerze Zarządzanie poprzez IIS Managera, PowerShell lub API Rozszerzanie aplikacji PHP o funkcjonalność .NET (ASP.NET intergratedpipeline) Integracja z windowsauthentication Wdrażanie przez x-copy Dopalacze: OutputCaching Kompresja
Parę słów o wydajności Windows Cache Extension 1.0  podobne do APC tylko na Windows  Licencja BSD Dostępne w ramach PECL 3-poziomowy cache: Kompilowanie stron i przechowywanie bajtkodu w pamięci Dostęp do plików Względne ścieżki do plików Sesje przechowywane we współdzielonej pamięci (v.1.1) Kompatybilny z PHP 5.2 i 5.3 Kompatybilny z Joomlą, Drupalem i Sugar CRM
PHP a SQL Server Microsoft SQL Server Driver  Darmowy, Gotowy sterownik kompatybilny z SQL Server 2005 i 2008 i R2 (m.in. nowe typy danych) Ponieważ korzysta z ODBC działa tylko na Windows Otwarty kod źródłowy Kompatybilny z SQL Azure Wspiera PDO http://www.codeplex.com/SQLSRVPHP
Reporting Services Report Builder Report Designer Report Server Web Service API Formaty wyjściowe (HTML, Excel, Word, PDF, inne) Źródła danych (ODBC, SQL, XML/A, inne) Scheduling Przetwarzanie w tle Report Manager Autentykacja Własny serwer WWW Metadane
Reporting Services
SSRS SDK for PHP Dostęp do silnika Reporting Services z kodu PHP Łatwa integracja z istniejącymi aplikacjami (dowolne źródło danych) http://ssrsphp.codeplex.com/ Architektura PHP Runtime (dowolny OS) Dowolna aplikacja PHP SOAP HTML Report Formats Windows Server Report Manager Windows Web Service API BI Development Studio Przetwarzanie    danych Linked Server Import with Advanced Services SQL Server,  OLE DB, ODBC MySQL, Oracle, etc. Źródła danych
SSRS PHP SDK w praktyce SugarCRM Designing and Building Reports  Windows BI Development Studio SurgarCRM Module Report Templates Windows Server Report Manager Web Service API Data Retrieval SOAP Linked Server with Advanced Services SugarCRM MySQLDatabase
Platforma Windows Azure SQL Azure Data Sync=cool Np. sesje PHP Łał! Naprawdę wystarczy tylko zmienić connection string?
Materializacja chmury
PHP a Windows Azure Windows w chmurze Wysoce skalowalny Automatycznie zarządzany Elastyczny Pewnie, i dorzuć do tego jeszcze MySQLai memcached. Aaaa, i zamiast Visual Studio chcemy Eclipse! Skoro taki elastyczny, to może wrzucić tam np. PHP?
Windows Azure daje radę 1/3 Gotowa paczka do Eclipse: http://windowsazure4e.org Kompletne IDE dla PHP Tworzenie i zarządzanie projektem Storage Explorer Testy w ramach WA Development Fabric Łatwy deployment „w chmurę”
Windows Azure daje radę 2/3 Windows AzureSDK for PHP (http://phpazure.codeplex.com/) Głównie skoncentrowany na obsłudze Windows Azure Storage
Windows Azure daje radę 3/3 Co z MySQL? Przekopiuj pliki binarne Przekopiuj dane Zmień konfigurację (IP, port itd.) Zaawanse scenariusze też działają (np. replikacja, backupy) VIP Eee, to z memcached pewnie też się da… Load Balancer Web Role MySQL Worker Role Z Javą i Ruby także! Windows AzureMySQL PHP Solution Accelerator (http://code.msdn.microsoft.com/winazuremysqlphp)
Azure dla wygodnych Local (Development Fabric) or Cloud Gotowe skrypty pozwalające na łatwy deployment aplikacji w PHP bezpośrednio do chmury Obsługa z linii komend Generuje gotową paczkę instalacyjną (*.cspkg) oraz plik konfiguracyjny (*.cscfg) Deployment w chmurze lub w środowisku testowym (Local Development Fabric) http://azurephptools.codeplex.com 1 2 3 Windows Azure Command-line Tools for PHP
Inne ciekawostki PHPExcel Tworzenie i odczyt arkuszy z Office 2007 Jeden z najbardziej popularnych projektów na CP http://phpexcel.codeplex.com/ PHPWord i PHPPowerPoint Phalanger– kompilator PHP do .NET (również Mono) - http://phalanger.codeplex.com/ PHPLinq, OData SDK, Virtual Earth SDK, BING API, Live Messenger…
Phalanger
Ufff… czas na podsumowanie PHP na Windows? Da się – przynajmniej równie dobrze Masz wszystko co potrzebne – doskonale znany OS, narzędzia programistyczne, rozwiązania serwerowe, wsparcie Zacznij od WebPI Michal.Zylinski@microsoft.com lub plweb@microsoft.com
Program BizSpark Oferta dla młodych przedsiębiorców (nie tylko przedsiębiorstw!) Formalne kryteria: Działalność software’owa Mniej niż 3 lata Poniżej 0,5 mln $ przychodu Oferta: komplet narzędzi + licencje serwerowe http://www.microsoft.com/BizSpark
Program BizSpark - partnerzy
WebsiteSpark Agencje interaktywne/osoby zajmujące się tworzeniem komercyjnych serwisów WWW Maksymalnie 10 pracowników Oferta: komplet narzędzi + licencje serwerowe http://www.websitespark.com
Pytania? Michal.Zylinski@microsoft.com

Weitere ähnliche Inhalte

Andere mochten auch

Wave Box
Wave Box Wave Box
Wave Box mitprog
 
La Escondida Playa del Carmen Brochure
La Escondida Playa del Carmen BrochureLa Escondida Playa del Carmen Brochure
La Escondida Playa del Carmen Brochurebleudevelopment
 
Uporzadkuj swoj TypoScript. TYPO3camp Poland 2013.
Uporzadkuj swoj TypoScript. TYPO3camp Poland 2013.Uporzadkuj swoj TypoScript. TYPO3camp Poland 2013.
Uporzadkuj swoj TypoScript. TYPO3camp Poland 2013.Rafal Brzeski
 
Elementary procedures for Circuit-Switched (CS) Call Control (CC) in 3GPP
Elementary procedures for Circuit-Switched (CS) Call Control (CC) in 3GPPElementary procedures for Circuit-Switched (CS) Call Control (CC) in 3GPP
Elementary procedures for Circuit-Switched (CS) Call Control (CC) in 3GPPLouis K. H. Kuo
 
actix-troubleshooting-and-optimizing-umts-network
actix-troubleshooting-and-optimizing-umts-networkactix-troubleshooting-and-optimizing-umts-network
actix-troubleshooting-and-optimizing-umts-networkRohit Joshi
 
3 g huawei-wcdma-rno-parameters-optimization
3 g huawei-wcdma-rno-parameters-optimization3 g huawei-wcdma-rno-parameters-optimization
3 g huawei-wcdma-rno-parameters-optimizationshagahod
 
Huawei case analysis call drop
Huawei case analysis call dropHuawei case analysis call drop
Huawei case analysis call dropMuffat Itoro
 
Huawei - Access failures troubleshooting work shop
Huawei - Access failures troubleshooting work shopHuawei - Access failures troubleshooting work shop
Huawei - Access failures troubleshooting work shopnavaidkhan
 

Andere mochten auch (9)

Wave Box
Wave Box Wave Box
Wave Box
 
La Escondida Playa del Carmen Brochure
La Escondida Playa del Carmen BrochureLa Escondida Playa del Carmen Brochure
La Escondida Playa del Carmen Brochure
 
Uporzadkuj swoj TypoScript. TYPO3camp Poland 2013.
Uporzadkuj swoj TypoScript. TYPO3camp Poland 2013.Uporzadkuj swoj TypoScript. TYPO3camp Poland 2013.
Uporzadkuj swoj TypoScript. TYPO3camp Poland 2013.
 
Elementary procedures for Circuit-Switched (CS) Call Control (CC) in 3GPP
Elementary procedures for Circuit-Switched (CS) Call Control (CC) in 3GPPElementary procedures for Circuit-Switched (CS) Call Control (CC) in 3GPP
Elementary procedures for Circuit-Switched (CS) Call Control (CC) in 3GPP
 
actix-troubleshooting-and-optimizing-umts-network
actix-troubleshooting-and-optimizing-umts-networkactix-troubleshooting-and-optimizing-umts-network
actix-troubleshooting-and-optimizing-umts-network
 
3 g huawei-wcdma-rno-parameters-optimization
3 g huawei-wcdma-rno-parameters-optimization3 g huawei-wcdma-rno-parameters-optimization
3 g huawei-wcdma-rno-parameters-optimization
 
Umts Kpi
Umts KpiUmts Kpi
Umts Kpi
 
Huawei case analysis call drop
Huawei case analysis call dropHuawei case analysis call drop
Huawei case analysis call drop
 
Huawei - Access failures troubleshooting work shop
Huawei - Access failures troubleshooting work shopHuawei - Access failures troubleshooting work shop
Huawei - Access failures troubleshooting work shop
 

Ähnlich wie PHP i Microsoft - kto się lubi, ten się czubi

Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGBart Zaremba
 
Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?tkryskiewicz
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do AspKelut
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Bartlomiej Zass
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Seminarium .Net CF 2004
Seminarium .Net CF 2004Seminarium .Net CF 2004
Seminarium .Net CF 2004Tomasz Cieplak
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developeraTomasz Borowski
 
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...Wojciech Sznapka
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Natalia Stanko
 
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
 
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
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Lukasz Kaluzny
 

Ähnlich wie PHP i Microsoft - kto się lubi, ten się czubi (20)

Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
 
Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?Co nowego w ASP.NET MVC 4?
Co nowego w ASP.NET MVC 4?
 
Wprowadzenie Do Asp
Wprowadzenie Do AspWprowadzenie Do Asp
Wprowadzenie Do Asp
 
Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?Co nowego w VS 2013 dla programistów ASP.NET?
Co nowego w VS 2013 dla programistów ASP.NET?
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
WF w zastosowaniach Web
WF w zastosowaniach WebWF w zastosowaniach Web
WF w zastosowaniach Web
 
Seminarium .Net CF 2004
Seminarium .Net CF 2004Seminarium .Net CF 2004
Seminarium .Net CF 2004
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
 
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i ...
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
 
Silverlight i PHP
Silverlight i PHPSilverlight i PHP
Silverlight i PHP
 
Serwery WWW - wykład
Serwery WWW - wykładSerwery WWW - wykład
Serwery WWW - wykład
 
Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010Ruby, Ruby on Rails 2010
Ruby, Ruby on Rails 2010
 
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...
 
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...
 
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
Jak zbudować aplikacje z wykorzystaniem funkcjonalności windows server 2016...
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Html5 i css3
Html5 i css3Html5 i css3
Html5 i css3
 

Mehr von PHPCon Poland

Wprowadzenie do implementacji architektur plug-in w PHP
Wprowadzenie do implementacji architektur plug-in w PHPWprowadzenie do implementacji architektur plug-in w PHP
Wprowadzenie do implementacji architektur plug-in w PHPPHPCon Poland
 
Konstruowanie umów z nabywcami aplikacji sieciowych
Konstruowanie umów z nabywcami aplikacji sieciowychKonstruowanie umów z nabywcami aplikacji sieciowych
Konstruowanie umów z nabywcami aplikacji sieciowychPHPCon Poland
 
Drupal Application Framework - metoda na aplikację sieciową
Drupal Application Framework - metoda na aplikację sieciowąDrupal Application Framework - metoda na aplikację sieciową
Drupal Application Framework - metoda na aplikację sieciowąPHPCon Poland
 
PHP i memcached, zaawansowane przypadki użycia
PHP i memcached, zaawansowane przypadki użyciaPHP i memcached, zaawansowane przypadki użycia
PHP i memcached, zaawansowane przypadki użyciaPHPCon Poland
 
Systemy cache'owania danych w PHP
Systemy cache'owania danych w PHPSystemy cache'owania danych w PHP
Systemy cache'owania danych w PHPPHPCon Poland
 
Ochrona witryny przed spamem
Ochrona witryny przed spamemOchrona witryny przed spamem
Ochrona witryny przed spamemPHPCon Poland
 
Grzechy główne programistów (nie tylko PHP)
Grzechy główne programistów (nie tylko PHP)Grzechy główne programistów (nie tylko PHP)
Grzechy główne programistów (nie tylko PHP)PHPCon Poland
 
Git - rozproszony system kontroli wersji
Git - rozproszony system kontroli wersjiGit - rozproszony system kontroli wersji
Git - rozproszony system kontroli wersjiPHPCon Poland
 

Mehr von PHPCon Poland (9)

Wprowadzenie do implementacji architektur plug-in w PHP
Wprowadzenie do implementacji architektur plug-in w PHPWprowadzenie do implementacji architektur plug-in w PHP
Wprowadzenie do implementacji architektur plug-in w PHP
 
Konstruowanie umów z nabywcami aplikacji sieciowych
Konstruowanie umów z nabywcami aplikacji sieciowychKonstruowanie umów z nabywcami aplikacji sieciowych
Konstruowanie umów z nabywcami aplikacji sieciowych
 
Drupal Application Framework - metoda na aplikację sieciową
Drupal Application Framework - metoda na aplikację sieciowąDrupal Application Framework - metoda na aplikację sieciową
Drupal Application Framework - metoda na aplikację sieciową
 
PHP i memcached, zaawansowane przypadki użycia
PHP i memcached, zaawansowane przypadki użyciaPHP i memcached, zaawansowane przypadki użycia
PHP i memcached, zaawansowane przypadki użycia
 
Open Power Template
Open Power TemplateOpen Power Template
Open Power Template
 
Systemy cache'owania danych w PHP
Systemy cache'owania danych w PHPSystemy cache'owania danych w PHP
Systemy cache'owania danych w PHP
 
Ochrona witryny przed spamem
Ochrona witryny przed spamemOchrona witryny przed spamem
Ochrona witryny przed spamem
 
Grzechy główne programistów (nie tylko PHP)
Grzechy główne programistów (nie tylko PHP)Grzechy główne programistów (nie tylko PHP)
Grzechy główne programistów (nie tylko PHP)
 
Git - rozproszony system kontroli wersji
Git - rozproszony system kontroli wersjiGit - rozproszony system kontroli wersji
Git - rozproszony system kontroli wersji
 

PHP i Microsoft - kto się lubi, ten się czubi

  • 1. PHP i Microsoft Michał Żyliński Kto się lubi, ten się czubi
  • 2. Agenda OSS i/vs Microsoft - historia i kontekst Dlaczego lubimy PHP? Oznaki miłości
  • 4. Port 25 Centrum informacji dotyczących działań open source wokół technologii Microsoft 14 mln wizyt, 20% przeglądarek to Linux/Unix http://port25.technet.com
  • 5. InteroperabilityBridges Katalog wszystkich projektów Microsoft, które dotyczą „zewnętrznych” technologii (PHP, Java, C, Objective C, Ruby itd.) http://www.interoperabilitybridges.com/
  • 6. Przecież 50% projektów na SourceForge działa na Windows, a 1/3 tylko na Windows ;) Lepsza kontrola nad platformą Utrzymuje również „komercyjne” projekty MS Team Foundation Server w tle http://www.codeplex.com CodePlex
  • 7. Open Source Technology Center
  • 8. OSTC – garść faktów Założone w 2004roku (1 osoba, 2 komputery) 2 ośrodki: Open Source Software Lab w Redmond oraz Joint Interoperability Lab w Cambridge Ponad 500 serwerów i obsługujących ponad 300 systemów operacyjnych (głównie dystrybucji Linuxa) Największe zagęszczenie CPU ze wszystkich naszych labów Zatrudnia ekspertów od *nixa i OSS (JIL współtworzy Novell)
  • 9. OSTC – cele i efekty Techniczna analiza rozwiązań OSS Zwiększenie liczby projektów OSS współpracujących (dobrze) z platformą Windows Zarządzanie tożsamością, wirtualizacja, bezpieczeństwo Dialog i współpraca ze środowiskiem OSS Dotychczasowe projekty Windows Media Player 11 w Firefoxie Silverlight/Moonlight w Firefoxie Poprawki do linuxowegokernela w lipcu 2009 Sterowniki SQL Servera dla Javy i PHP Fast CGI – Java/PHP/Python Firefox na Windows Vista Aktualne prace Hyper-V a Linux ADODB w PHP PEAR Wsparcie CardSpace w Javie/Ruby/Pythonie/C
  • 10. Szatański plan Windows = najlepsza platforma dla rozwiązań Open Source I PHP też!
  • 11. PHP a Microsoft PHP działa na Windows od ponad dekady Windows jest wciąż dominującą platformą wśród developerów PHP Kompleksowe podejście: Ułatwienie instalacji Aktywna praca nad ulepszeniem działania PHP na Win Benefity dla programistów PHP związane z platformą Zaangażowanie się w już istniejące, najpopularniejsze projekty wykorzystujące PHP
  • 12. Web Platform Installer http://www.microsoft.com/web/downloads/platform.aspx
  • 13. WPI
  • 14. Expression Web 3 Profesjonalny edytor HTML Bardzo mocny nacisk na kompatybilność i standardy Pełne wsparcie dla PHP i ASP.NET
  • 15. PHP w Expression Web 3 Kolorowanie kodu, intellisense, snippety Wbudowany serwer WWW (nie musisz uruchamiać Apache lub IIS) Wsparcie dla PHP 5.2.5 i FastCGI Snapshot Preview – wierny podgląd wyglądu strony w samym narzędziu SuperPreview – weryfikacja poprawności renderowania strony w różnych przeglądarkach (IE6/7/8, Firefox) – idealne do debugowania Integracja z TFS, Expression Design i ExpressionEncoderem
  • 16. Expression Web w praktyce
  • 17. Dlaczego Windows kocha PHP Od wersji 5.3 uczestniczymy aktywnie w dostosowywaniu PHP do platformy Windows Win32API zamiast wywołańPOSIXowych Optymalizacja wydajności pod kątem FastCGI w IIS Usunięcie ponad 60 błędów dotyczących Win Więcej na: http://windows.php.net
  • 18. PHP w IIS 7 Mam przecież Apache…
  • 19. PHP w IIS 7 1/2 FastCGI – jedyny słuszny wybór Otwarty standard Wykorzystywany przez wiele frameworków (Django, RoR) Bardziej stabilne niż filtr ISAPI Znacznie szybszy niż standardowe CGI Gwarancja stabilności i wydajności Łatwa konfiguracja i deployment(szczegóły na http://php.iis.net)
  • 20. PHP w IIS 7 2/2 Łatwa migracja: Najpopularniejsze aplikacje zostały już przetestowane i udokumentowane Kreatory do migracji z mod_rewrite na UrlRewrite Elastyczność: Możliwość uruchomienia różnych środowisk (w tym wersji PHP) na tym samym serwerze Zarządzanie poprzez IIS Managera, PowerShell lub API Rozszerzanie aplikacji PHP o funkcjonalność .NET (ASP.NET intergratedpipeline) Integracja z windowsauthentication Wdrażanie przez x-copy Dopalacze: OutputCaching Kompresja
  • 21. Parę słów o wydajności Windows Cache Extension 1.0 podobne do APC tylko na Windows  Licencja BSD Dostępne w ramach PECL 3-poziomowy cache: Kompilowanie stron i przechowywanie bajtkodu w pamięci Dostęp do plików Względne ścieżki do plików Sesje przechowywane we współdzielonej pamięci (v.1.1) Kompatybilny z PHP 5.2 i 5.3 Kompatybilny z Joomlą, Drupalem i Sugar CRM
  • 22. PHP a SQL Server Microsoft SQL Server Driver Darmowy, Gotowy sterownik kompatybilny z SQL Server 2005 i 2008 i R2 (m.in. nowe typy danych) Ponieważ korzysta z ODBC działa tylko na Windows Otwarty kod źródłowy Kompatybilny z SQL Azure Wspiera PDO http://www.codeplex.com/SQLSRVPHP
  • 23. Reporting Services Report Builder Report Designer Report Server Web Service API Formaty wyjściowe (HTML, Excel, Word, PDF, inne) Źródła danych (ODBC, SQL, XML/A, inne) Scheduling Przetwarzanie w tle Report Manager Autentykacja Własny serwer WWW Metadane
  • 25. SSRS SDK for PHP Dostęp do silnika Reporting Services z kodu PHP Łatwa integracja z istniejącymi aplikacjami (dowolne źródło danych) http://ssrsphp.codeplex.com/ Architektura PHP Runtime (dowolny OS) Dowolna aplikacja PHP SOAP HTML Report Formats Windows Server Report Manager Windows Web Service API BI Development Studio Przetwarzanie danych Linked Server Import with Advanced Services SQL Server, OLE DB, ODBC MySQL, Oracle, etc. Źródła danych
  • 26. SSRS PHP SDK w praktyce SugarCRM Designing and Building Reports Windows BI Development Studio SurgarCRM Module Report Templates Windows Server Report Manager Web Service API Data Retrieval SOAP Linked Server with Advanced Services SugarCRM MySQLDatabase
  • 27.
  • 28. Platforma Windows Azure SQL Azure Data Sync=cool Np. sesje PHP Łał! Naprawdę wystarczy tylko zmienić connection string?
  • 30. PHP a Windows Azure Windows w chmurze Wysoce skalowalny Automatycznie zarządzany Elastyczny Pewnie, i dorzuć do tego jeszcze MySQLai memcached. Aaaa, i zamiast Visual Studio chcemy Eclipse! Skoro taki elastyczny, to może wrzucić tam np. PHP?
  • 31. Windows Azure daje radę 1/3 Gotowa paczka do Eclipse: http://windowsazure4e.org Kompletne IDE dla PHP Tworzenie i zarządzanie projektem Storage Explorer Testy w ramach WA Development Fabric Łatwy deployment „w chmurę”
  • 32. Windows Azure daje radę 2/3 Windows AzureSDK for PHP (http://phpazure.codeplex.com/) Głównie skoncentrowany na obsłudze Windows Azure Storage
  • 33. Windows Azure daje radę 3/3 Co z MySQL? Przekopiuj pliki binarne Przekopiuj dane Zmień konfigurację (IP, port itd.) Zaawanse scenariusze też działają (np. replikacja, backupy) VIP Eee, to z memcached pewnie też się da… Load Balancer Web Role MySQL Worker Role Z Javą i Ruby także! Windows AzureMySQL PHP Solution Accelerator (http://code.msdn.microsoft.com/winazuremysqlphp)
  • 34. Azure dla wygodnych Local (Development Fabric) or Cloud Gotowe skrypty pozwalające na łatwy deployment aplikacji w PHP bezpośrednio do chmury Obsługa z linii komend Generuje gotową paczkę instalacyjną (*.cspkg) oraz plik konfiguracyjny (*.cscfg) Deployment w chmurze lub w środowisku testowym (Local Development Fabric) http://azurephptools.codeplex.com 1 2 3 Windows Azure Command-line Tools for PHP
  • 35. Inne ciekawostki PHPExcel Tworzenie i odczyt arkuszy z Office 2007 Jeden z najbardziej popularnych projektów na CP http://phpexcel.codeplex.com/ PHPWord i PHPPowerPoint Phalanger– kompilator PHP do .NET (również Mono) - http://phalanger.codeplex.com/ PHPLinq, OData SDK, Virtual Earth SDK, BING API, Live Messenger…
  • 37. Ufff… czas na podsumowanie PHP na Windows? Da się – przynajmniej równie dobrze Masz wszystko co potrzebne – doskonale znany OS, narzędzia programistyczne, rozwiązania serwerowe, wsparcie Zacznij od WebPI Michal.Zylinski@microsoft.com lub plweb@microsoft.com
  • 38. Program BizSpark Oferta dla młodych przedsiębiorców (nie tylko przedsiębiorstw!) Formalne kryteria: Działalność software’owa Mniej niż 3 lata Poniżej 0,5 mln $ przychodu Oferta: komplet narzędzi + licencje serwerowe http://www.microsoft.com/BizSpark
  • 39. Program BizSpark - partnerzy
  • 40. WebsiteSpark Agencje interaktywne/osoby zajmujące się tworzeniem komercyjnych serwisów WWW Maksymalnie 10 pracowników Oferta: komplet narzędzi + licencje serwerowe http://www.websitespark.com