41
PHP i Microsoft Michał Żyliński Kto się lubi, ten się czubi

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

Embed Size (px)

DESCRIPTION

Autor: Michał Żyliński Ja mówię, wy ziewacie – mam szczerą nadzieję, że nie skończy się to typową prezentacją sponsora. Postaram się pokazać gdzie w środku Microsoft spotkać można open source, przedstawić z grubsza aktualne projekty dotyczące bezpośrednio lub pośrednio PHP oraz zachęcić do (spontanicznych) pytań i dyskusji. Taka okazja nie zdarza się w końcu zbyt często!

Citation preview

Page 1: PHP i Microsoft - kto się lubi, ten się czubi

PHP i Microsoft

Michał Żyliński

Kto się lubi, ten się czubi

Page 2: PHP i Microsoft - kto się lubi, ten się czubi

Agenda

• OSS i/vs Microsoft - historia i kontekst

• Dlaczego lubimy PHP?

• Oznaki miłości

Page 4: PHP i Microsoft - kto się lubi, ten się czubi

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

Page 5: PHP i Microsoft - kto się lubi, ten się czubi

InteroperabilityBridges

Katalog wszystkich projektów Microsoft, które dotyczą „zewnętrznych” technologii (PHP, Java, C, Objective C, Ruby itd.)

http://www.interoperabilitybridges.com/

Page 7: PHP i Microsoft - kto się lubi, ten się czubi

Open Source Technology Center

Page 8: PHP i Microsoft - kto się lubi, ten się czubi

OSTC – garść faktów

• Założone w 2004 roku (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)

Page 9: PHP i Microsoft - kto się lubi, ten się czubi

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

Sterowniki SQL Servera dla Javy i PHP

Silverlight/Moonlight w Firefoxie

Windows Media Player 11 w Firefoxie

Firefox na Windows Vista

Fast CGI – Java/PHP/Python

Aktualne praceHyper-V a Linux

ADODB w PHP PEAR

Wsparcie CardSpace w Javie/Ruby/Pythonie/C

Poprawki do

linuxowego

kernela w lipcu

2009

Page 10: PHP i Microsoft - kto się lubi, ten się czubi

Szatański plan

Windows = najlepsza platforma dla rozwiązań Open Source

I PHP też!

Page 11: PHP i Microsoft - kto się lubi, ten się czubi

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

Page 12: PHP i Microsoft - kto się lubi, ten się czubi

Web Platform Installerhttp://www.microsoft.com/web/downloads/platform.aspx

Page 13: PHP i Microsoft - kto się lubi, ten się czubi

DemoWPI

Page 14: PHP i Microsoft - kto się lubi, ten się czubi

Expression Web 3• Profesjonalny edytor

HTML• Bardzo mocny nacisk

na kompatybilność i standardy

• Pełne wsparcie dla PHP i ASP.NET

Page 15: PHP i Microsoft - kto się lubi, ten się czubi

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 Expression Encoderem

Page 16: PHP i Microsoft - kto się lubi, ten się czubi

DemoExpression Web w praktyce

Page 17: PHP i Microsoft - kto się lubi, ten się czubi

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

Page 18: PHP i Microsoft - kto się lubi, ten się czubi

PHP w IIS 7

Mam przecież Apache…Konfiguracja poprzez GUI

lub XML

Modułowa architektura

Łatwe, zdalne

zarządzanie

Zaawansowana diagnostyka

Bardzo wiele

dodatków (np. media)

Możliwość tworzenia własnych

rozszerzeń w .NET

Page 19: PHP i Microsoft - kto się lubi, ten się czubi

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)

Page 20: PHP i Microsoft - kto się lubi, ten się czubi

PHP w IIS 7 2/2• Łatwa migracja:

– Najpopularniejsze aplikacje zostały już przetestowane i udokumentowane– Kreatory do migracji z mod_rewrite na Url Rewrite

• 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 intergrated

pipeline)– Integracja z windows authentication– Wdrażanie przez x-copy

• Dopalacze:– Output Caching– Kompresja

Page 21: PHP i Microsoft - kto się lubi, ten się czubi

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

Page 22: PHP i Microsoft - kto się lubi, ten się czubi

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

Page 23: PHP i Microsoft - kto się lubi, ten się czubi

Reporting Services

Report Server

Autentykacja

Report Manager

Przetwarzanie w tle

Web Service API

Własny serwer WWW

Źródła danych(ODBC, SQL, XML/A, inne)

Formaty wyjściowe

(HTML, Excel, Word, PDF, inne)

Metadane

Report Builder

Report Designer

Scheduling

Page 24: PHP i Microsoft - kto się lubi, ten się czubi

DemoReporting Services

Page 25: PHP i Microsoft - kto się lubi, ten się czubi

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/

Windows

Windows Server

ArchitekturaPHP Runtime (dowolny OS)

Report ManagerWeb Service API

Źródła danych

BI Development Studio

SQL Server Reporting Services SDK for PHP

Zarządzanie raportami

Parametryzacja raportów

Integracja z silnikiem renderującym

Dowolna aplikacja PHP

SOAPReport Formats

HTML

Przetwarzanie danych

Linked Server

Import

SQL Server, OLE DB, ODBC

MySQL, Oracle, etc.

with Advanced Services

Page 26: PHP i Microsoft - kto się lubi, ten się czubi

SSRS PHP SDK w praktyce

SugarCRM

Windows Server

Report ManagerWeb Service API

Data Retrieval

Linked Serverwith Advanced Services

SurgarCRM Module

Report Templates

SugarCRMMySQL

Database

SQL Server Reporting Services SDK for PHP

SOAP

Windows

BI Development Studio

Designing and Building Reports

Page 27: PHP i Microsoft - kto się lubi, ten się czubi
Page 28: PHP i Microsoft - kto się lubi, ten się czubi

Platforma Windows Azure

SQL Azure Data

Sync=cool

Np. sesje PHP

Łał! Naprawdę

wystarczy tylko

zmienić

connection

string?

Page 29: PHP i Microsoft - kto się lubi, ten się czubi

Materializacja chmury

Page 30: PHP i Microsoft - kto się lubi, ten się czubi

PHP a Windows Azure

• Windows w chmurze– Wysoce skalowalny– Automatycznie zarządzany– Elastyczny Skoro taki

elastyczny, to

może wrzucić tam

np. PHP?

Pewnie, i dorzuć do tego jeszcze

MySQLa i memcached .

Aaaa, i zamiast

Visual Studio

chcemy Eclipse!

Page 31: PHP i Microsoft - kto się lubi, ten się czubi

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ę”

Page 32: PHP i Microsoft - kto się lubi, ten się czubi

Windows Azure daje radę 2/3

• Windows Azure SDK for PHP (http://phpazure.codeplex.com/)

• Głównie skoncentrowany na obsłudze Windows Azure Storage

Page 33: PHP i Microsoft - kto się lubi, ten się czubi

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)

Web

Rol

e

VIP

Load Balancer

Wor

ker R

ole

MySQL

Windows Azure MySQL PHP Solution Accelerator (http://code.msdn.microsoft.com/winazuremysqlphp)

Eee, to z memcached

pewnie też się da…

Z Javą i Ruby także!

Page 34: PHP i Microsoft - kto się lubi, ten się czubi

Azure dla wygodnych• 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

Local (Development Fabric) or Cloud

Windows Azure Command-line Tools for PHP

Gotowy projekt PHPInterpret

erKod

źródłowyRozszerze

nia

1

2

3

Page 35: PHP i Microsoft - kto się lubi, ten się czubi

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…

Page 36: PHP i Microsoft - kto się lubi, ten się czubi

DemoPhalanger

Page 37: PHP i Microsoft - kto się lubi, ten się czubi

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

[email protected]

Page 38: PHP i Microsoft - kto się lubi, ten się czubi

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

Page 39: PHP i Microsoft - kto się lubi, ten się czubi

Program BizSpark - partnerzy

Page 40: PHP i Microsoft - kto się lubi, ten się czubi

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