Php i Microsoft

Post on 25-May-2015

824 views 7 download

Transcript of Php i Microsoft

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

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/

Open Source Technology Center

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)

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

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 Installerhttp://www.microsoft.com/web/downloads/platform.aspx

DemoWPI

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

DemoExpression 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…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

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

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

DemoReporting 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/

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

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

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 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!

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 Azure SDK 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)

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!

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

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…

DemoPhalanger

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 WebPIMichal.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