SaaS: oprogramowanie plus usługi

Subskrybuj RSS A A A
5 czerwca 2007
Tomasz Kopacz

Zakup infrastruktury, aplikacji, wdrożenie systemu i jego dostosowanie są tylko środkiem, który ma usprawnić procesy zachodzące w firmie. Celem jest potrzeba rozwiązania problemów biznesowych. Ta prawda leży u podstaw koncepcji SaaS, czyli Software as a Service oraz S+S, czyli Software + Service.

Praktyka pokazała, że oba te podejścia są często łączone - dane szczególnie wrażliwe są izolowane fizycznie, a pozostałe umieszczone we wspólnej bazie.

Na dodawanie własnych kolumn (rozszerzanie schematu danych) także jest kilka sposobów. Pierwszy to predefiniowany zestaw kolumn, gdzie metadane danego podmiotu określają ich rolę w aplikacji. Jednak takie podejście po pierwsze marnuje miejsce (nie wszystkie pola będą zawsze wykorzystane), a po drugie ogranicza możliwości rozbudowy. Częściej stosowane są pary (klucz, wartość), które są wiązane z poszczególnymi rekordami w tabelach głównych. Można też stosować dokumenty XML pozwalające na umieszczenie w nich dowolnej struktury i wówczas z punktu widzenia aplikacji zmienia się tylko sposób zadawania zapytań - obok SQL pojawia się XQuery analizujący dodatkowe informacje.

Skalowalność usługi

W modelu SaaS skalowalność nabiera innego znaczenia niż np. "liczba transakcji na sekundę w systemie bazodanowym". Sposób realizacji procesu jest z punktu widzenia klienta nieistotny. Klient podpisuje umowę na określoną dostępność i wydajność biznesową systemu.

Technicznie realizacja takich wymagań nie jest skomplikowana. Jeżeli na przykład warstwa usługowa będzie dostępna za pośrednictwem WCF (Windows Communication Foundation), to projektant systemu niezależnie definiuje strukturę wymienianych informacji (kontrakt) i techniczne aspekty transmisji. Medium komunikacyjnym może być na przykład HTTP + SOAP (klasyczne usługi Web), albo szybki protokół binarny przesyłający informacje pomiędzy portami TCP.

Jednak zamiast tych mechanizmów można wykorzystać kolejkę komunikatów. Wtedy aplikacja kliencka wkłada dane do kolejki, a usługa kolejno je wyjmuje. Komunikat może mieć informacje o priorytecie, od czego będzie zależeć, jak często system będzie wykonywał polecenia pochodzące od danego podmiotu.

Ponieważ system SaaS wykorzystuje komunikację zgodną z modelem SOA - gdzie każda "przesyłana paczka" jest encją biznesową, to w naturalny sposób można przy definiowaniu skalowalności w ramach umowy SLA posługiwać się pojęciami biznesowymi. Czyli klient SaaS nie płaci za dodatkowy procesor, szybszą pamięć czy większą przepustowość łącza, tylko za to, że jego system będzie w stanie przyjąć 100, a nie 10 zamówień na minutę.

Trzeba podkreślić, że sugerowane wyżej rozwiązania nie są sposobami na pisanie "najbardziej wydajnych" aplikacji. Celem było przedstawienie takich mechanizmów, które z jednej strony pozwolą dostawcy SaaS skorzystać z efektu skali, a z drugiej sprawią, że zachowana będzie równowaga pomiędzy kosztem tworzenia rozwiązania a zyskiem.

SaaS czy S+S

Model SaaS zakłada, że klient ma zawsze dostęp do usługi (czyli zawsze jest podłączony do Internetu) i ufa dostawcy, że zawarta między nimi umowa SLA będzie spełniona. Jednak w wielu scenariuszach nie do końca jest to założenie prawdziwe i model SaaS przechodzi w S+S, czyli Software + Service. W zależności od typu rozwiązania i scenariusza biznesowego pewna funkcjonalność systemu informatycznego jest dostępna jako usługa, ale niezależnie od tego działa aplikacja kliencka offline, pozwalająca wykonać operacje bez konieczności podłączenia do sieci. Dodatkowo takie podejście pozwala zbudować wygodny interfejs użytkownika, bo nie jest on ograniczony przez możliwości przeglądarek internetowych. Obecnie technologie automatycznej aktualizacji sprawiają, że koszt wdrożenia i utrzymania takich systemów nie jest znacząco wyższy niż aplikacji WWW.

Najprostszym przykładem S+S są różnego rodzaju serwisy aktualizacyjne, gdzie np. pobierany jest nowy kod rozwiązania, aktualne przepisy, stawki oprocentowania itp., które służą głównej aplikacji zainstalowanej w komputerze. Innym przykładem są gry wieloosobowe - z jednej strony są instalowane lokalnie, ale dopiero po podłączeniu do serwera gracze mogą współzawodniczyć ze sobą. Rozwiązaniem S+S może być także mobilny system gromadzenia zamówień, który pracuje offline, ale aby ostatecznie potwierdzić zamówienie i zaalokować towar, musi synchronizować się z centralnym serwerem.

Tomasz Kopacz współpracuje z Computerworld od 1995 r. Prowadzi blog Digger pod adresem digger.computerworld.pl. Obecnie pracuje w Microsoft na stanowisku Senior Architect Evangelist.

Oceń artykuł

średnio: 0 liczba ocen: 0
« wstecz 1  2 

Komentarze (0)

Najnowsze

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Jakie są różnice między chmurą a wirtualizacją

Wirtualizacja jest obecnie standardową technologią, stosowaną powszechnie w IT. Od środowiska chmury prywatnej dzieli ją jednak długa droga, gdyż wymaga ona uzupełnienia o istotne składniki.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88