OutSystems. Poznaj tę technologię low-code i zdobądź pierwszy certyfikat

Technologie low-code’owe zyskują coraz większe znaczenie w świecie IT, a w związku z tym coraz ważniejsze stają się też kompetencje w tym obszarze. Jedną z najważniejszych platform low-code’owych jest OutSystems. Dlaczego warto się zainteresować tą technologią? Jak uzyskać podstawowy certyfikat Associate Reactive Developer? O tym w poniższym artykule.

Yohann Figueira-Putresza. Developer w Pretius Low-Code. Jeszcze na studiach zdał sobie sprawę, że bardziej od chłonięcia wiedzy i wykonywania zadań cieszy go kodowanie i budowanie aplikacji. Teraz, jako developer, rozwija swoje kompetencje w zakresie technologii low-code – Oracle APEX czy OutSystems. Poza IT pasjonuje się także sportem (pływaniem, piłką nożną i Formułą 1) oraz kinem.


W odpowiedzi na wzrost zapotrzebowania na usługi developerskie, któremu przyrost specjalistów nie jest w stanie dorównać, na popularności zyskują technologie z kategorii Low-Code Development Platform. Ich producenci udostępniają szereg rozwiązań do projektowania aplikacji webowych lub mobilnych, w których rozbudowany kod ukryty jest pod postacią łatwych w użyciu, graficznych, “półgotowych” elementów.

Platformy low-code pozwalają developerom projektować zaawansowane, funkcjonalne aplikacje bez znajomości języka programowania. To świetna opcja dla rozwijających się firm, które szukają ścieżek modernizacji. Na rynku funkcjonuje wiele platform low-code, takich jak Oracle Application Express (APEX), Mendix czy, będące tematem tego tekstu, OutSystems.

Czym jest OutSystems?

OutSystems powstało w 2001 roku i na przestrzeni ostatnich 20 lat zyskało miano jednego z liderów segmentu low-code. Jest to technologia stosowana przez firmy na całym świecie, w tym gigantów z różnych branż: Mercedes-Benz, Volkswagen, Honda, ING, AXA, Intel czy Hewlett-Packard. Wedle twórców, OutSystems zawdzięcza swą popularność szybkości, z jaką pozwala wdrażać nowe rozwiązania, nie ustępujące przy tym stopniem zaawansowania tradycyjnie projektowanym aplikacjom. 

OutSystems – ile to kosztuje?

Producenci OutSystems oferują różne formy dostępu do swojej platformy. W zależności od przewidzianego zastosowania aplikacji i zakładanej liczby użytkowników, dostępne są cztery poziomy licencji. Do wyboru są wersje Free, Basic, Standard i Enterprise. Każda z nich jest skierowana do innej grupy przedsiębiorstw i udostępnia inny zestaw narzędzi. Oczywiście kolejne wersje są też coraz droższe. 

  1. Free – ciekawym rozwiązaniem dla małych przedsiębiorstw, szukających jedynie narzędzia do tworzenia prostych aplikacji do wewnętrznego użytku, jest darmowa wersja platformy. Choć wymaga ona korzystania z dzielonej pamięci w publicznej chmurze OutSystems i ogranicza dostępną pamięć do 2 GB, to przy niewielkich wymaganiach aplikacji może okazać się wystarczająca. Jest to też świetna opcja dla developerów, którzy dopiero zaczynają swoją przygodę z tą technologią i uczą się zasad jej działania.
  2. Basic – ceny wersji Basic zaczynają się od 4 tys. dolarów miesięcznie (przy rozliczeniu rocznym). Za tę kwotę otrzymujemy m.in. zwiększony do tysiąca limit wewnętrznych użytkowników końcowych (w wersji Free może być ich maksymalnie 100), własną infrastrukturę bazującą na chmurze OutSystems, dostęp do dwóch dodatkowych środowisk, pipeline’u oraz funkcji CI/CD (Continuous Integration & Deployment) ułatwiającej wdrażanie aplikacji.
  3. Standard – wersja Standard to koszt minimum 10 tys. dolarów miesięcznie. Znosi ona całkowicie limit wewnętrznych użytkowników końcowych i oferuje szereg dodatkowych benefitów. Chodzi m.in. o możliwość korzystania z technologii lokalnie (tzw. “on premise”) lub w prywatnej chmurze oraz dostęp do lepiej zabezpieczonego i stale monitorowanego wariantu chmury OutSystems (tzw. “high compliance”). Za dodatkową opłatą możemy również zwiększyć liczbę dostępnych środowisk.
  4. Enterprise – koszt wersji Enterprise ustalany jest osobno z każdym klientem. Różni się ona od tańszych wariantów głównie liczbą środowisk, które otrzymujemy na swój użytek (bazowo 5, ale z opcją zwiększenia) oraz pipeline’ów (2 – również w tym przypadku możemy dopłacić, by dostać kolejne).

Warto odnotować, że w ramach wszystkich płatnych wersji OutSystems możemy również skorzystać z pomocy działu wsparcia klienta, przy czym jej zakres jest uzależniony od subskrypcji – w przypadku Enterprise możliwy jest kontakt w dowolnym momencie (obsługa funkcjonuje w modelu 24/7). Opłacając dowolny z abonamentów otrzymujemy także gwarancję, że chmura OutSystems będzie dostępna niemal zawsze – przez 99,5% czasu.

Dlaczego OutSystems? Największe atuty

Low-code’owa prostota

Niewątpliwą korzyścią płynącą ze stosowania platform low-code’owych jest oszczędność – kosztów, a przede wszystkim czasu. Wiąże się to z uproszczoną metodą projektowania. Przedstawienie skomplikowanego kodu w postaci gotowych do połączenia ze sobą elementów graficznych sprawia, że by zbudować bazę danych i logikę kierującą aplikacją wystarczy stworzyć właściwy schemat blokowy. By zbudować prosty system, w ogóle nie musimy znać języka programowania.

Producenci OutSystems wzięli sobie opisaną powyżej ideę głęboko do serca. Środowisko programistyczne asystuje deweloperowi na każdym kroku, sprowadzając jego zadanie do wydawania poleceń, które technologia sama tłumaczy na odpowiedni język programowania. Tym sposobem stworzenie tabel, z których składa się baza danych, a następnie wprowadzenie do nich danych, ogranicza się do wykonania kilku kliknięć myszką i uzupełnienia pól – nie jest to bardziej skomplikowane od wypełnienia arkusza w Excelu. Z kolei zbudowanie skomplikowanej logiki sprowadza się do stworzenia schematu blokowego. Robimy to łącząc ze sobą kilka elementów logicznych, wśród których do wyboru są m.in. instrukcje warunkowe If czy pętle For i While

Wsparcie sztucznej inteligencji

W projektowaniu aplikacji asystuje nam sztuczna inteligencja. Jej działanie można dostrzec chociażby tworząc kolumny nowej tabeli w bazie danych, albo parametry w aplikacji wymagające zdefiniowania typu danych – na podstawie nazwy kolumny lub parametru, oprogramowanie samo ustawia najtrafniejszy typ danych. Warto przy tym odnotować, że wśród dostępnych opcji, oprócz standardowych typów (np. Text, Integer, Long Integer, itp.) znajdują się również takie jak Email, Phone Number czy Currency

Jak to działa w praktyce? Przykładowo, jeśli nazwiemy kolumnę w tabeli Price, to typ danych automatycznie zostanie ustawiony na Currency – z uwagi na fakt, że nadana przez nas nazwa najprawdopodobniej odnosi się do wartości pieniężnej. Nazwanie tabeli Phone_Number ustawi jej typ danych na Phone Number a do tabeli Employee_Email przypisany zostanie typ danych Email. Dla bardziej zaawansowanych developerów producenci platformy przewidzieli również możliwość wprowadzenia własnego kodu.niskopoziomowe programowanie

Jak widać, typ danych Currency został automatycznie przypisany do kolumny o nazwie Price.

Duża i aktywna społeczność

Niezależnie od poziomu wiedzy i zaawansowania w korzystaniu z platformy, pojawienie się trudności i błędów jest w zasadzie nieuniknione. Na szczęście w przypadku pracy w OutSystems zastój w postępach prawdopodobnie nie będzie trwał długo. Dlaczego? Składa się na to kilka różnych czynników. 

Po pierwsze, mamy do dyspozycji rozbudowaną stronę internetową platformy, której ważną część stanowi zbiór wiedzy i wskazówek o działaniu środowiska projektowego i jego elementów, wraz z instrukcją ich użycia. Dokumentacja jest szczegółowa i opisana w przystępny, dobrze przemyślany sposób.

Po drugie, rozwiązania różnorakich problemów możemy również poszukać na obszernym forum, na którym developerzy dzielą się swoimi doświadczeniami i pomysłami na pokonanie przeróżnych trudności i przeszkód. Ze względu na liczbę już istniejących wpisów, istnieje duża szansa, że nasz problem – lub chociaż zagadnienie do niego podobne – został już w przeszłości przez kogoś opisany i rozwiązany. 

Wreszcie, w przypadku bardziej zaawansowanych problemów technicznych, np. z działaniem środowiska deweloperskiego, swoją pomoc oferuje Support, z którym kontakt jest możliwy według instrukcji opisanej w odpowiedniej zakładce. Korzystając z pomocy Supportu należy wziąć pod uwagę, że posiadacze droższych wersji OutSystems mają pierwszeństwo.

OutSystems – interfejs Service Studio

Projektowanie aplikacji w OutSystems odbywa się w zintegrowanym środowisku programistycznym (Integrated Development Environment – IDE) zwanym Service Studio. Jest to środowisko desktopowe. Producenci przyjęli tutaj standardowy układ interfejsu, co z jednej strony czyni platformę bardzo intuicyjną dla developerów dotychczas pracujących z innym narzędziem, a z drugiej ułatwia wykonywanie pierwszych kroków z OutSystems mniej doświadczonym osobom. 

Ekran został podzielony na 3 panele:

  • panel główny, w którym projektujemy naszą aplikację, 
  • lewy panel, na którym znajdziemy zestaw elementów interfejsu do wykorzystania w aplikacji, 
  • prawy panel służący do konfiguracji zastosowanych elementów interfejsu oraz do nawigacji po IDE.

Nad prawym panelem znajdują się jeszcze cztery zakładki – Processes, Interface, Logic i Data. Prowadzą one do różnych poziomów projektowanej aplikacji. Nad panelem głównym znajduje się z kolei tzw. 1-Click Publish Button, który pełni 3 role – ostrzega o błędzie gdy wykryje taki w obrębie budowanej aplikacji, pozwala opublikować moduł z aktualizacjami oraz otworzyć aplikację w przeglądarce, gdy zostanie ona już zaktualizowana.

outsystems lowcode

Tak wygląda proces projektowania interfejsu w OutSystems. Niebieski przycisk na środku pozwala zmienić tekst znajdujący się na lewo od niego.

outsystems lowcode

Z kolei na powyższym ekranie budujemy logikę, która steruje działaniem przycisku.

Jak zacząć się uczyć OutSystems? Moja droga do certyfikatu Associate Reactive Developer

Twórcy OutSystems zachęcają do nauki ich środowiska budując ścieżkę rozwoju opartą o system certyfikatów. Dostępne do pobrania pliki zawierają informacje o możliwych do zdania egzaminach – ich przebiegu, koniecznych do opanowania zagadnieniach itd. Znajdziemy w nich również przykładowy, próbny egzamin, który stanowi dobry punkt odniesienia do oceny aktualnego stanu wiedzy. 

Tę ostatnią można nabyć na dwa sposoby – poprzez bootcampy lub kursy online. W koszt bootcampu (niestety producent nie podaje go na swojej stronie) liczone jest podejście do egzaminu po jego zakończeniu. Z kolei kursy online są darmowe i składają się z serii nagrań i prezentacji omawiających kolejne etapy zapoznawania się z OutSystems, wzbogaconych o zadania do samodzielnego wykonania w środowisku developerskim. W tym przypadku, po ukończeniu kursu należy samodzielnie zarejestrować się na egzamin i wnieść opłatę w wysokości 150 dolarów.

Zanim jednak wyciągnięcie pieniądze z portfela (czy raczej przelejecie je z konta), możecie sami zapoznać się z podstawowymi funkcjami OutSystems – na podstawie krótkiego tutorialu, który przygotowałem dla was poniżej. Wszystkie zaprezentowane informacje opierają się na moim własnym doświadczeniu, zdobytym podczas 10 tygodni nauki OutSystems – zakończonych zdobyciem certyfikatu Associate Reactive Developer.

OutSystems – rejestracja i instalacja

Pracę z OutSystems zacząłem od uzyskania dostępu do darmowej wersji środowiska – w tym celu wystarczy kliknąć w przycisk “Start Free” na stronie internetowej platformy. W arkuszu rejestracyjnym podałem swoje dane osobowe. Pada tam również pytanie o cel założenia konta – ja zaznaczyłem, że chcę zbudować aplikację na własny użytek. 

Po potwierdzeniu adresu mailowego utworzone zostało moje środowisko w chmurze OutSystems, a ja dostałem możliwość pobrania zintegrowanego środowiska programistycznego Service Studio. Jako aplikacja desktopowa jest ono powiązane z urządzeniem, na którym zostanie zainstalowane – pod tym względem OutSystems ustępuje innym platformom low-code’owym (jak np. Oracle APEX), które oferują dostęp do IDE z poziomu przeglądarki. Pobranie i instalacja Service Studio trwa kilka minut. Ostatnim krokiem jest przejście przygotowanego tutorialu Build an app in 5 minutes, który prezentuje kilka kroków, jakie musimy wykonać, by stworzyć swoją pierwszą aplikację mobilną z wykorzystaniem platformy. Po ukończeniu tutorialu, środowisko jest gotowe do pracy.

Pierwsze kroki w Service Studio i nauka do certyfikatu

Mając już zainstalowane IDE, pozostała mi nauka poruszania się po nim. Tu z pomocą przyszły kursy online udostępnione przez twórców platformy. Guided Paths jest serią darmowych tutoriali, dzięki którym przejście z poziomu nowicjusza do low-code developera staje się stosunkowo proste i szybkie. 

Spośród wszystkich dostępnych kursów wybrałem Becoming a Reactive Web Developer. Tutorial składa się z merytorycznych filmów, które są zakończone kilkoma pytaniami. Te ostatnie mają na celu sprawdzenie zrozumienia danego zagadnienia. Otrzymujemy również zadanie do samodzielnego rozwiązania, wraz z towarzyszącą mu instrukcją. Treść jest przekazywana w jasny sposób – zrozumienie zagadnień nie sprawiło mi kłopotu. Samodzielne wykonywanie  zadań testowych pozwala zbudować pewność siebie i daje satysfakcję – wiemy, jakie postępy udało nam się osiągnąć. Jednak dojście do poziomu wiedzy pozwalającego na zdanie egzaminu wymagało ode mnie dodatkowego, samodzielnego nakładu pracy, wykraczającego poza wspomniane zadania.

Problemy z nazewnictwem

Znajomość języka SQL okazała się być źródłem mojego pierwszego, dość nietypowego problemu. Otóż okazało się, że OutSystems zastosowało swoje własne nazewnictwo w elementach, z których składa się baza danych. 

To, co do tej pory nazywałem zawsze Table teraz nazywam Entity, a kolumny (Columns), z których Table się składa, stały się tzw. Attributes. Miejscem wprowadzania nowej pozycji w tabeli jest Record (zamiast wiersza – Row – który znamy z SQL), a do budowania relacji między tabelami zamiast Primary Key i Foreign Key służą Identifier i Reference Attribute. Podobnie wygląda przywoływanie danych z bazy. Nie wykonuje się tego działania za pomocą Query, ale tworzy się tzw. Aggregates

Te z pozoru banalne zmiany w nazewnictwie zaskakująco długo nie mogły zakorzenić się w mojej pamięci, a opanowanie słownictwa jest konieczne do robienia postępów w kursie. 

Na tym jednak, w moim przypadku, skończyły się realne przeszkody w nauce OutSystems. Kurs Becoming a Reactive Web Developer jest ułożony w taki sposób, by ograniczyć niejasności do minimum. A gdy te mi się mimo wszystko pojawiały, bardzo szybko byłem w stanie znaleźć wyjaśnienia korzystając z dokumentacji, którą producent platformy zamieścił w Internecie.

Egzamin to większe wyzwanie – oto jak zdać go skutecznie

Moim celem od początku było uzyskanie certyfikatu Associate Reactive Developer i w końcu mi się to udało – jednak dotarcie do tego punktu okazało się być nieco większym wyzwaniem, niż się z pozoru wydawało. Co prawda przed podejściem do egzaminu zapoznałem się z przykładowym testem, który jest dostępny w plikach pomocniczych załączonych do informacji o certyfikacie, ale ten właściwy egzamin okazał się zdecydowanie trudniejszy i bardziej szczegółowy od tego, który ma służyć za przykład.

Mimo tego warto ten próbny test przejrzeć i spróbować rozwiązać, żeby sprawdzić poziom swojej wiedzy (choć nie ma sensu robić tego wielokrotnie – pytania zawsze są takie same i szybko nauczymy się ich na pamięć). Pozwala on wysnuć wnioski na temat kontekstu pytań, których można się spodziewać, a także umożliwia zapoznanie się ze strukturą egzaminu. Jest to test wyboru z odpowiedziami A, B, C i D, jednak pytania najczęściej są w nim przedstawione w formie swoistych scenariuszy. Naszym zadaniem jest wskazanie odpowiedzi, które najlepiej pasują do danej sytuacji.

W ogólnym rozrachunku uważam, że osoba starająca się o certyfikat Associate Reactive Developer powinna zapoznać się zarówno z kursem, jak i z egzaminem testowym. Równocześnie jednak wyciągnięte z nich informacje i doświadczenie same w sobie nie wystarczą, by poradzić sobie z właściwym wyzwaniem. Dlatego też postanowiłem rozwinąć swoją wiedzę i przede wszystkim przećwiczyć ją w praktyce, skupiając się na pracy nad przykładową aplikacją. Założyłem, że dzięki temu będę w stanie samodzielnie odkryć możliwości OutSystems.

Wzorowałem się na aplikacji, którą w ramach pewnego testu (na użytek wewnętrzny) zbudowałem kiedyś w technologii Oracle Application Express, w oparciu o wymagania otrzymane od potencjalnego klienta Pretius. Był to system CRM dla wydawnictwa, które współpracuje z różnorakimi księgarniami. Klient chciał mieć oprogramowanie, które pomoże mu zarządzać kampaniami promocyjnymi, związanymi na przykład z premierami nowych książek. Postanowiłem odtworzyć ten program w środowisku OutSystems – postawiłem się w roli właściciela takiej firmy i próbowałem wymyślić narzędzie, dzięki któremu moja praca stałaby się prostsza.

Takie podejście okazało się być strzałem w dziesiątkę. Tworząc swoją przykładową aplikację znacznie lepiej zapoznałem się ze specyfiką OutSystems, przyzwyczaiłem do problematycznego (dla mnie) nazewnictwa i utrwaliłem wiedzę zdobytą w trakcie kursu. Wydaje mi się, że nie ma lepszej drogi do szybkiego rozwoju. 

OutSystems – software development dla każdego

Przy bardzo dokładnym przerobieniu kursu, dodatkowej samodzielnej pracy i przede wszystkim dobrych chęciach, praktycznie każdy może zostać OutSystems developerem. Przebrnięcie przez egzamin i uzyskanie certyfikatu może okazać się nieco większym problemem niż samo przerobienie kursu, ale nie jest to wyzwanie, z którym nie można sobie poradzić. Mnie cały proces zajął ok. 10 tygodni przy ok. 6-8 godzinach codziennej nauki (z pominięciem weekendów). 

Dla tych, którzy już wcześniej mieli styczność z developmentem, nieco kłopotliwa może być wiedza – np. nazewnictwo – wyciągnięta z pracy z innymi technologiami. W ostatecznym rozrachunku jednak OutSystems to według mnie potężne low-code’owe narzędzie, dzięki któremu szybko zaczniecie budować własne aplikacje. A, jak wiemy, zapotrzebowanie na programistów, także tych low-code’owych, ciągle rośnie.

Zdjęcie główne artykułu pochodzi z unsplash.com.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Co Ty wiesz o CSS-ie? Śniadanie z Programowaniem #50