PHP w świecie biznesu

9.php

Język PHP ma 14 lat i można już zadać sobie pytanie czy jest dojrzałą technologią możliwą do wykorzystania w aplikacjach biznesowych, czy też nadal jest prostym językiem skryptowym przeznaczonym do wizytówek internetowych i fotograficznych relacji z imienin u cioci. Obecnie wydano wersję 6 tego popularnego języka skryptowego, sieć pełna jest frameworków i bibliotek.

Na pewno zmieniło się jedno: postrzeganie tej technologii przez programistów i firmy wykonujące oprogramowanie. Na szczęście coraz rzadziej pojawiają się oferty pracy typu:

Zatrudnię web developera z bardzo dobrą znajomością PHP, SQL, CSS, HTML, JS, FLASH, AS oraz mistrzostwem w używaniu Photoshopa i Illustratora…

W ogłoszeniach pojawiały się tajemnicze wyrażenia, takie jak wzorce projektowe, SPL, PL SQL, systemy kontroli wersji, frameworki MVC, etc.

W zdecydowanie mniejszym stopniu zmiany zauważane są przez rynek. Statystyczny klient dalej nie widzi różnicy pomiędzy „autorskim systemem CMS” napisanym w 2000r. a rozbudowana aplikacją w modelu MVC. Bo przecież „poskładacie to sobie z gotowych klocków i zrobicie ten serwisik w tydzień. Syn mojego sąsiada tak robi…”.

Co oznacza że aplikacja jest przeznaczona na potrzeby biznesu ? Wydaje mi się że najprościej takie określenie można zdefiniować trzema słowami:

  • Bezpieczeństwo
  • Skalowalność
  • Stabilność

Z pewnością jest to uproszczenie i do spełnienia wszystkich warunków wymagana jest dużo większa liczba czynników. Co oznaczają powyższe pojęcia?

Bezpieczeństwo

Potencjalna kradzież adresów e-mail użytkowników jest dla każdego serwisu internetowym samobójstwem. Masowe wyrejestrowanie się członków społeczności zawiedzionych niedostatecznymi zabezpieczeniami od razu skutkuje spadkiem wpływów z reklam (lub abonamentów) i utratą zaufania. Zabezpieczenie systemu przed atakami typu XSS, CSRF, SQL Injection jest podstawowym zadaniem każdego programisty. Lista potencjalnych zagrożeń jest oczywiście dużo dłuższa jednak nie jest przedmiotem tego postu.

Z całą pewnością ważne jest dostosowanie poziomu zabezpieczeń do potrzeb i budżetu. Serwis transakcyjny banku musi być chroniony inaczej niż strona firmowa lub sklep. Wybór odpowiednich rozwiązań to zawsze konflikt pomiędzy bezpieczeństwem a użytecznością aplikacji.

Podstawowe zabezpieczenia są dostępne w zaawansowanych frameworkach – filtrowanie i walidacja odbywa się tam często automatycznie, warstwa dostępu do bazy przejmuje odpowiedzialność za odpowiednie traktowanie danych wejściowych do zapytań. Żadna technologia nie zabezpieczy jednak przez niechlujstwem i głupotą programisty.

Skalowalność

Na każdym spotkaniu z klientem handlowiec będzie rozwijał wizję systemu, który „bez problemu, przy praktycznie zerowych kosztach może być rozwijany w przyszłości”. Problem może pojawić się jednak pół roku od wdrożenia serwisu gdy liczba unikalnych użytkowników sięgnie 20 dziennie a klient zapragnie wprowadzić w całym serwisie tagi. Serwis przestaje działać a wprowadzenie nowej funkcjonalności wymaga według działu IT przepisania całego serwisu. Problem nie wynika z ograniczeń PHP ale niewłaściwej struktury serwisu, stosowanie frameworków, wzorców projektowych, profilowania aplikacji i badania wydajności jest dobrą receptą na takie bolączki.

Stabilność

PHP jest jednym z najczęściej używanych języków wykorzystanych do pisania serwisów WWW. Swoją stabilność i przydatność w rozbudowanych systemach udowadnia w serwisach takich jak Digg, Flickr, Wikipedia, Facebook, Yahoo. Zapewnia stosunkowo dużą szybkość rozwoju aplikacji, używany najczęściej w połączeniu z Linuxem i Apache odpowiednią pewność działania. Kolejne wersję wprowadzają usprawnienia w obsłudze obiektowości, lokalizacji (l10n) i umiędzynarodowienia (i18n).

Czy PHP jest więc gotowe do wykorzystywania w świecie biznesu? Odpowiedź na pewno nie jest jednoznaczna, programista PHP odpowie „tak, oczywiście”, specjalista od Javy stwierdzi, że nigdy nie dorówna kojarzonemu z kawą językowi. Zaangażowanie firm takich jak Zend, IBM, Microsoft, Oracle na pewno świadczy o tym, że technologia jest traktowana coraz poważniej w biznesie. Wielkim zapleczem i szansą PHP na pewno jest społeczność, tysiące ludzi programujących w tym pozornie prostym języku. Iluzoryczna trywialność tej technologii trafnie określił John Coggeshall w jednym ze swoich artykułów:

It’s very easy to learn, but incredibly difficult to truly master

Moim zdaniem ogromną rolę w rozwoju i znaczeniu PHP ma społeczność w skład której wchodzą programiści i firmy używające tej technologii. Wprowadzanie odpowiednich standardów, edukacja, kształtowanie rynku, uświadamianie klientów to wszystko działania które pozwolą przybliżyć PHP do świata biznesu. Chciałbym w serii postów przedstawić technologie i schematy, które uważam za ważne w realizacji tego celu. Zapraszam wszystkich do uwag i komentarzy. Kolejne części już za niedługo.

O autorze

Maciek Pałubicki
W branży interaktywnej działa od ponad 9 lat. Z wykształcenia jest programistą. Uważa, że dobrze zrobiony portal lub sklep internetowy jest dużo ciekawszy od serwisu w technologii 3D – jego podejście widać w wielu projektach wykonanych przez Blue Paprica. Interesuje się nowymi technologiami, analityką internetową i optymalizacją sklepów internetowych a także metodykami prowadzenia projektów.
Skomentuj
komentarzy

Dodaj komentarz