2014/07/01 Software

Cukierek albo psikus... czyli rzecz o aplikacjach typu WEB.

Każda większa firma na rynku może poszczycić się pewną ilością używanych programów komputerowych. Niektóre z nich pamiętają jeszcze stare czasy początków komputeryzacji i niepodzielnego królowania systemu DOS, inne z kolei pomimo tego, że są aplikacjami nowszymi – z różnych względów nie spełniają wymagań użytkowników. Większość programów branżowych ma konstrukcję zamkniętą - wykluczającą dalszą rozbudowę. Oczywiście producenci zapewniają najczęściej wsparcie – jednak ogranicza się ono do naprawy błędów. Podobnie problemy zaczynają się podczas zmiany systemu operacyjnego na nowszy. Pędzący rozwój technologiczny zapewnia programistom ciągłe zajęcie – różnice w budowie chociażby procesorów potrafią znacząco wpłynąć na architekturę programu.

Z jednej strony stawiamy zatem programy zamknięte, z drugiej zaś – nowoczesne aplikacje typu web. Co w naszej opinii zapewnia tym drugim przewagę? Argumentów jest całkiem sporo. Aplikacje typu web, czy też jak kto woli aplikacje internetowe charakteryzuje brak konieczności posiadania środowiska uruchomieniowego. Aplikacje pisane w językach typu C++, C# czy też frameworkach wspierających typu .NET potrzebują pewnego środowiska – bibliotek. To automatycznie ogranicza ilość platform na jakich program można uruchomić. Aplikacji napisanej pod MS Windows z .NET szczególnie w najnowszej wersji 4.5.X nie uruchomimy na Linuxie (nawet wyposażonym w środowisko imitujące platformę NET – czyli MONO) a już tym bardziej na platformach mobilnych opartych o Androida. Jak zatem ma się sprawa z aplikacjami typu WEB? Nie potrzebują one żadnego środowiska uruchomieniowego, a jedynie zwykła przeglądarkę w jaką wyposażony jest każdy sprzęt łączący się z internetem... czyli w zasadzie niemal każdy. Oczywiście dużo zależy od profesjonalizmu firmy która oprogramowanie przygotowuje – czy uwzględni ona drobne różnice w interpretacji aplikacji WEB pomiędzy poszczególnymi przeglądarkami (np. Mozilla, Opera, Internet Explorer, Safari) tak, aby oprogramowanie rzeczywiście uruchamiało sięna każdej przeglądarce. Drugą kwestią jest aktualność przeglądarki – trzeba pamiętać, że standardy internetu się zmieniają – wprowadzane są zmiany w interpretacji poszczególnych wyrażeń programistycznych języków WEB np. HTML, czy też PHP i dlatego też przeglądarka powinna być zawsze aktualna, aby zapewnić poprawne wyświetlanie nowoczesnych stron i aplikacji. Zatem – o ile zapewniona zostanie aktualność przeglądarki poprawnie wykonany program internetowy będzie działał bez względu na platformę sprzętową i już to samo w sobie jest potężną zaletą, ale to nie koniec!

Kolejną kwestią jest dostępność programu spoza firmy. W przypadku programów lokalnych najczęściej konieczne jest stosowanie zabiegów dodatkowych typu – szyfrowane połączenie sieci VPN lub pulpit zdalny aby móc korzystać z programu. Aplikacja typu web działa zawsze w architekturze klient-serwer. Zainstalowana jest na maszynie serwerowej w postaci strony internetowej lub intranetowej (według potrzeb) a specjalny interpreter po stronie serwera odbiera połączenia klientów. Można więc powiedzieć, że o ile taka jest wola klienta – programy typu WEB mogą być dostępne zawsze i zewsząd. Warto zaznaczyć, że nie musi cierpieć na tym bezpieczeństwo tego typu programów. Istnieją protokoły i mechanizmy np. SSL, OTP, certyfikaty, itd. które zapewniają bardzo wysoki poziom zabezpieczeń – niezgorszy jak w przypadku aplikacji lokalnych.

Aplikacje internetowe podobnie jak i lokalne oparte są o bazy danych - rządzą nimi te same zasady. Najczęściej spotykaną sytuacją jest komasowanie (implikowanie) funkcjonalności mniejszych programów w jeden spójny system WEB. Tak oto np. aplikacja magazynowa, program do zarządzania środkami trwałymi, terminarzem spotkań, harmonogramem prac – łączą się w jeden system firmowy. Dość trudnym do przebrnięcia problemem związanym bezpośrednio z mnogością urządzeń na których można uruchomić aplikację WEB był do niedawna sposób wyświetlania. Pisząc jednak nowoczesne strony internetowe i aplikacje, które spełniają kryteria tzw. responsywności nie stanowi to już problemu. Responsywność to nic innego jak poprawne wyświetlanie w różnych rozdzielczościach, czyli de facto na różnych urządzeniach.

Warto opowiedzieć jeszcze o jednej zalecie oprogramowania WEB. Otóż zwracając uwagę na postęp technologiczny szczególnie jeśli idzie o usługi informatyczne – rozszerza się trend outsourcingowy. Aplikacje typu WEB sprzyjają temu zjawisku. Mogą one zostać zaproponowane w dwóch modelach – licencjonowany oraz SaaS. Oznacza to, że mogą być sprzedane jako produkt as-it-is bądź jako usługa. W tym drugim przypadku klient nie potrzebuje serwera – uzyskuje dostęp do programu poprzez internet bez względu na posiadaną infrastrukturę.

Zestawiając typy programów trzeba jednak wspomnieć, że programy internetowe pisane są w wielu językach jednocześnie - w tym w językach osadzonych np. Java, bez którego realizacja niektórych usług (np. podpisów elektronicznych) nie byłaby możliwa. Mimo to firma ZAMAT zdecydowanie poleca aplikacje WEB!