Php i Microsoft

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

Transcript of Php i Microsoft

Page 1: Php i Microsoft

PHP i Microsoft

Michał Żyliński

Kto się lubi, ten się czubi

Page 2: Php i Microsoft

Agenda

• OSS i/vs Microsoft - historia i kontekst

• Dlaczego lubimy PHP?

• Oznaki miłości

Page 4: Php i Microsoft

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

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

Open Source Technology Center

Page 8: Php i Microsoft

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

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

Szatański plan

Windows = najlepsza platforma dla rozwiązań Open Source

I PHP też!

Page 11: Php i Microsoft

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

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

Page 13: Php i Microsoft

DemoWPI

Page 14: Php i Microsoft

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

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

DemoExpression Web w praktyce

Page 17: Php i Microsoft

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

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

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

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

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

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

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

DemoReporting Services

Page 25: Php i Microsoft

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

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
Page 28: Php i Microsoft

Platforma Windows Azure

SQL Azure Data

Sync=cool

Np. sesje PHP

Łał! Naprawdę

wystarczy tylko

zmienić

connection

string?

Page 29: Php i Microsoft

Materializacja chmury

Page 30: Php i Microsoft

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

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

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

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

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

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

DemoPhalanger

Page 37: Php i Microsoft

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

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

Program BizSpark - partnerzy

Page 40: Php i Microsoft

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