Jak wybrać platformę low-code? [Podcast, odc. 2]
Data publikacji:
30.09.2024
Platforma low-code to praktyczne i uniwersalne narzędzie do budowy dowolnych aplikacji i automatyzacji procesów. Jest przyszłością cyfryzacji każdej organizacji, zapewniając szerokie możliwości w zakresie rozbudowy i udoskonalania infrastruktury IT. Co zatem wyróżnia platformę niskokodową od innych narzędzi wykorzystujących technologię low-code? O tym w kolejnym odcinku podcastu.
Elektroniczny obieg dokumentów, system BPMS, nawet system CMS to tylko kilka przykładów narzędzi udoskonalanych przez producentów poprzez zastosowanie w nich technologii low-code. Jednak w przeciwieństwie do platformy niskokodowej są mocno wyspecjalizowane, więć nie dają tak szerokich jak ona możliwości zastosowania.
Bartek: Witajcie. W poprzednim odcinku podcastu „O low-code w prostych słowach” odpowiedzieliśmy sobie na pytanie, dla kogo jest platforma low-code. Wiemy już, że jest dla każdego. Dla każdej organizacji, bez względu na sektor czy branżę, w których działa. I dla każdego jej pracownika – zarządu, działu IT oraz jej użytkowników końcowych.
Jednak z końcem dyskusji pojawiło się kolejne pytanie, na które dziś chciałbym udzielić odpowiedzi z moim gościem Mateusze Szwajkoszem, specjalistą do spraw wdrożeń opartych na platformie low-code.
Cześć Mateusz.
Mateusz: Cześć, dziękuję za zaproszenie.
Bartek: Pytanie zatem, jak dobrze wybrać platformę low-code, która powinna przecież być uniwersalnym narzędziem, a nie kolejnym rozwiązaniem wyspowym. Może wyjaśnię, skąd w ogóle taka sugestia?
Otóż, termin low-code nie zawsze stanowi, że mamy do czynienia z platformą niskokodową, ponieważ technologia ta jest dziś obecna w wielu rozwiązaniach. Przykładowo, wykorzystują ją choćby systemy elektronicznego obiegu dokumentów czy systemy BPMS, dzięki czemu są wydajniejsze, efektywniejsze i prostsze w obsłudze. Jednak ze względu na wyspecjalizowany charakter odnoszą się do konkretnej funkcjonalności i obszaru. Tymczasem platforma low-code ma znacznie szersze zastosowanie. Służy nie tylko do budowy wspomnianych obiegów czy procesów, ale i aplikacji dedykowanych oraz wspierających systemy dziedzinowe.
Co więcej, samych platform niskokodowych na rynku jest już na tyle dużo, że wybranie tej odpowiedniej, uniwersalnej może okazać się wyzwaniem. Mateusz, jakie Ty masz zdanie na ten temat?
Mateusz: Tak, to prawda. Rynek platform low-code w ostatnich latach bardzo się rozrósł. Dlatego wybór odpowiedniej platformy powinien zostać poprzedzony szczegółową analizą potrzeb organizacji – nie tylko istniejących na ten moment. Powinien też obejmować przyszłość, uwzględniając długofalową strategię rozwoju firmy, jak i holistyczne spojrzenie na szeroko rozumiany rynek oraz trend, jaki na nim panuje. Należy spróbować wyłuskać na nim narzędzia i technologie, które faktycznie będą dla nas przydatne tak teraz, jak i w dalszej perspektywie.
Bardzo lubię porównanie, że rynek rozwiązań IT to swego rodzaju wielki sklep z zabawkami wypełniony wszystkim, od wielkich zestawów klocków Lego, po sterowane samochody i tak dalej, emanujące wielkim napisem „Kup mnie”. Bardzo często my, jako biznes, wchodzimy w rolę dziecka, które chce wszystkie te zabawki kupić. I bardzo często tak właśnie się dzieje. Organizacja wybiera multum systemów i narzędzi, które w teorii mają zautomatyzować i usprawnić różne obszary działania. Ale oprócz generowania gigantycznych kosztów utrzymania, nie wnoszą szczególnie istotnych wartości w działanie firmy – osobne narzędzie do obsługi pracowniczej czy osobny system CRM. Niby zintegrowane ze sobą narzędzia WMS oraz system RP, ale tworzące masę komplikacji w zakresie integracji i rodzące potrzebę ciągłego ręcznego ratowania sytuacji. Tak więc bałagan na poziomie mnogości rozwiązań.
I tutaj pojawia się myśl, a gdyby zamknąć te wszystkie potrzeby w ramach jednego rozwiązania, które będzie na tyle elastyczne, że w łatwy sposób obsłuży zarówno procesy związane z obsługą pracowników w dziale kadr, stworzy system CRM i zintegruje to wszystko z naszym systemem ERP, który będzie stanowić dla nas główne źródło danych. Dodatkowo być może będziemy chcieli zintegrować się z zewnętrznymi systemami, na przykład naszych dostawców poprzez Appi, które udostępniają. I właśnie w tym miejscu pojawiają się platformy low-codowe, które stanowią swego rodzaju spoiwo tych wszystkich wymienionych tutaj elementów.
Bartek: Mateusz, z punktu widzenia praktyka, szukając platformy low-code, na jakie według Ciebie cechy czy też funkcjonalności powinniśmy zwracać uwagę, aby nie wybrać kolejnego systemu elektronicznego dokumentu, systemu BPMS czy innego narzędzia o ściśle określonym przeznaczeniu. W końcu zależy nam na rozwiązaniu uniwersalnym o szerokim zastosowaniu.
Mateusz: W mojej opinii możemy wyróżnić kilka aspektów, punktów, według których możemy próbować oceniać daną platformę low-code pod nasze potrzeby oraz oczekiwania. Kluczowe będą trzy cechy. Pierwsza dotyczy architektury oraz integracji platformy. Druga odnosi się stricte do samego procesu wytwarzania aplikacji oraz przetwarzania danych w ramach platformy. Trzecia natomiast, która w czasach rosnącej ilości cyberzagrożeń, wydaje się niezwykle istotna, to zarządzanie dostępem do danych i samego bezpieczeństwa platformy.
Bartek: Zatem, wyróżniłeś trzy główne cechy platformy. Porozmawiajmy o nich szerzej. Zacznijmy od pierwszej, czyli architektury.
Mateusz: Jest to ważna kwestia techniczna. Przede wszystkim chodzi o to, w jaki sposób platforma ma być dla nas dostępna. Czy wybieramy rozwiązania działające w chmurze, czy wybieramy podejście osadzenia jej na infrastrukturze IT organizacji. W przypadku on-premise istotną kwestią jest to, czy oczekujemy wdrożenia w oparciu o systemy Windows Server czy wykorzystanie linuxa. Jest to o tyle istotne, że może wiązać się dodatkowym nakładem kosztów oraz potrzebą zwiększenia kadry w zakresie kompetencji potrzebnych do utrzymania takich środowisk.
W tym miejscu, na poziomie architektury, warto zastanowić się nad skalowalnością platformy. Chodzi o to, jakie przewidujemy zapotrzebowanie pod kątem użytkowników – obecnie i w przyszłości. W jaki sposób platforma ma nam zapewnić potencjalny rozwój, zwiększenie wydajności rozwiązania poprzez przykładowo konteneryzację lub separację jakichś fragmentów platformy – choćby poprzez wykorzystanie środowisk wielotenantowych.
Istotną kwestią jest również to, w jaki sposób sama platforma jest zbudowana, jakie wykorzystuje systemy bazodanowe, a jeśli decydujemy się na podejście chmurowe, to przede wszystkim w jaki sposób te dane są przechowywane, jakie dostępy do danych są przewidziane dla nas jako użytkowników oraz wszelkie informacje dotyczące bezpieczeństwa przetwarzania – jak są zabezpieczone na serwerach, jakiego poziomu dostępności możemy się spodziewać. Mówimy tutaj o SLA i jak to będzie wyglądać pod kątem skalowalności w przyszłości oraz w kontekście kosztów związanych z wykorzystaniem chmury.
Bartek: Wymieniałeś wiele istotnych aspektów związanych z architekturą, na które należy zwracać uwagę. Przejdźmy więc do możliwości integracji platformy low-code z rozwiązaniami zewnętrznymi. To również jest bardzo ważne zagadnienie, którego nie można pominąć.
Mateusz: Dokładnie. Nie możemy o tym zapominać, ponieważ platformy low-code zazwyczaj wdrażamy w jakieś istniejące środowiska informatyczne firmy, więc potrzebujemy z już używanymi systemami integrować się. Dlatego tak ważne jest, aby zweryfikować, w jaki sposób platforma może komunikować się z zewnętrznymi systemami. Mówimy tutaj o komunikacji wychodzącej, czyli sytuacji, w której platforma przykładowo może opublikować dokument w systemie ERP, ale i komunikacji przychodzącej, czyli przykładowo, czy platforma może w łatwy sposób odczytać dane choćby z naszego obecnego systemu CRM. Jest to o tyle istotne, że w przypadku braku sensownego podejścia do kwestii otwartości w zakresie integracji może się okazać, że kupimy platformę, która dalej będzie rozwiązaniem wyspowym, albo koszty stworzenia takiej integracji będą znaczące. Sama zaś integracja może okazać się trudna technicznie do realizacji w organizacji.
Bartek: Dobrze, że zwróciłeś uwagę na kwestię integracji. Jest to bardzo ważne z punktu widzenia użytkowników, którzy przecież chcą platformy współpracującej z używanymi przez nich systemami i aplikacjami. Platformy, która będzie narzędziem uzupełniającym te istniejące rozwiązania.
Mateusz, wiemy już, czym powinna charakteryzować się architektura platformy, wiemy też, jakie możliwości integracyjne powinna zapewnić. Przejdźmy więc dalej do kwestii związanych z autoryzacją użytkowników. Na co tutaj musimy zwrócić uwagę?
Mateusz: Przede wszystkim powinniśmy sobie odpowiedzieć na pytanie, w jaki sposób obecnie wygląda autoryzacja użytkowników na naszych systemach? Coraz więcej firm wykorzystuje jako dobrą praktykę centralne punkty uwierzytelniania, na przykład w postaci domeny w formie usług LDAP z wykorzystaniem tak zwanego SSO, czyli Single Screen On w celu standaryzacji i ujednolicenia polityk bezpieczeństwa w firmie. I tutaj istotną kwestią jest to, czy platforma oferuje możliwość wpięcia takiego systemu autoryzacji. Jest to o tyle istotne, że nawet jeżeli teraz nie wykorzystujemy takiego sposobu dostarczania tożsamości, autentykacji, autoryzacji w naszych systemach, to taka potrzeba może się pojawić w przyszłości. Stosowanie centralnych punktów uwierzytelniania jest już swego rodzaju trendem, który pojawia się praktycznie w każdym obszarze IT. Jeśli więc chcemy utrzymywać zarządzanie tożsamością w jednym miejscu, a platforma nie przewiduje możliwości takiej integracji, stanowi to bardzo duży minus. Szczególnie jeżeli chodzi o wybór takiej platformy pod kątem przyszłościowym.
Bartek: Czyli należy rozumieć, że wybierając platformę low-code powinniśmy patrzeć na nasze bieżące potrzeby, ale również na potrzeby, które mogą pojawić się w przyszłości. Tak jak wspomniałeś to, że na chwilę obecną nie posiadamy takich mechanizmów, czy nie posiadamy środowiska, które wykorzysta takie mechanizmy, nie znaczy, że w przyszłości nie ulegnie to zmianie. Dlatego dobrze wybrać platformę, która zapewni te standardy obowiązujące w dzisiejszych czasach i dające pewnego rodzaju jakość oraz wygodę.
Zatem, to w kontekście logowania. Mateusz, jak wygląda kwestia związana z samym wytwarzaniem aplikacji w technologii low-code?
Mateusz: Jeżeli chodzi o kwestie wytwarzania aplikacji w kontekście wyboru platformy, to przede wszystkim powinniśmy zrozumieć sam proces budowy rozwiązań low-codowych. Bardzo często powstają one w wyniku pracy kilku osób – przyjmujemy tutaj pojęcie konsultanta, tzw. citizen developera. Istotne jest to, żeby platforma oferowała możliwość pracy kilku użytkowników naraz nad jedną aplikacją, a konkretnie nad poszczególnymi elementami. Musi to być wsparte na poziomie samego działania platformy. Chodzi tutaj przede wszystkim o kwestię potencjalnych zderzeń.
Jeden użytkownik robi jedną rzecz, drugi robi kolejną, trzeci następną i tak dalej. I teraz ważne jest, w jaki sposób to ze sobą współgra. Dlatego istotne jest, żeby zwrócić uwagę, czy mamy możliwość tworzenia aplikacji przez kilku użytkowników jednocześnie. Dodatkowo kolejnym istotnym aspektem jest sama procedura wytwarzania aplikacji i jej rozbudowy. A dokładnie, czy platforma oferuje bardzo popularny dzisiaj model trzech środowisk – deweloperskiego, testowego oraz produkcyjnego. Dzięki temu jesteśmy w stanie odseparować prace nad aplikacją od jej działania produkcyjnego i przenoszenie wytworzonych czy zmienionych elementów na poszczególne środowiska. Dodatkowo, istotnym aspektem jest również sam styl pracy podczas tworzenia rozwiązania. To, w jaki sposób platforma udostępnia narzędzia, wszelkiego rodzaju designery i modelery, a także jak wygląda praca z nimi, czy są intuicyjne i wygodne w użyciu.
W kontekście budowy rozwiązań warto też wspomnieć o tym, że aplikacje bardzo często ze sobą współpracują, po prostu nie tworzymy aplikacji samodzielnych. Bardzo często tworzymy aplikacje, które w jakiś sposób korzystają z danych powstałych w innej aplikacji. I dlatego musimy zwrócić uwagę, czy platforma oferuje taką współpracę między wytworzonymi aplikacjami i czy w jakiś sposób ich nie izoluje.
Według mnie byłby to dość duży minus w świecie, w którym dane przenikają się wzajemnie w procesach, a więc i w aplikacjach low-codowych, które w pewnym stopniu te procesy odwzorowują – automatyzują i digitalizacją.
Bartek: Bardzo cenne uwagi, które niewątpliwie pozwolą dokonać dobrego wyboru platformy, jako rozwiązania uzupełniającego i perspektywicznego w kontekście nieustannie przecież rozwijających się organizacji. Oprócz wskazanych dotychczas cech, chciałbym jeszcze dopytać o raportowanie, które jest szczególnie istotną kwestią dla managementu i zarządu każdej organizacji. Co tutaj powinno wyróżniać platformę low-code? Czego powinniśmy oczekiwać?Mateusz: Tak raportowanie w dzisiejszych czasach jest bardzo istotną kwestią. Jeśli chodzi o raportowanie w platformach low-codowych to widzę tu dwa obszary. Pierwszy dotyczy samej platformy, czy posiada ona dedykowane narzędzia i funkcjonalności pozwalające w łatwy oraz przystępny sposób przygotować podstawowe lub bardziej zaawansowane raporty, które będą prezentowane z poziomu aplikacji. Drugi obszar to możliwość udostępnienia danych biznesowych, które są procesowane w ramach aplikacji zewnętrznym systemem raportującym. Tutaj szczególny nacisk kładę na to, w jaki sposób dane są zapisywane w bazach danych, czy ten dostęp do danych jest prosty i intuicyjny, na przykład w postaci wykorzystania typowego działania bazy relacyjnej. Czy są to jakieś dedykowane mechanizmy sposobu zapisu związane konkretnie z daną platformą, ponieważ w taki sposób łatwość tworzenia raportów oparciu o dane jest nieporównywalnie większa – jeżeli możemy tutaj, że tak powiem, oprzeć się na standardach, które obowiązują tutaj dane technologie.
Bartek: Mówiąc o raportowaniu i danych, od razu nasuwa się na myśl bezpieczeństwo, które też wskazywałeś jako kluczową cechę platformy low-code. Czym zatem platforma low-code w obszarze bezpieczeństwa powinna się charakteryzować? Jakie warunki musi spełniać, aby można było o niej powiedzieć, że jest rozwiązaniem bezpiecznym?
Mateusz: Bezpieczeństwo w kontekście platformy low-codowych można rozpatrywać na dwóch poziomach. Pierwszy to poziom powiązany z architekturą, czyli w jaki sposób platforma przetwarza fizycznie dane, w jaki sposób są one zapisywane, czy jest jakieś szyfrowanie danych newralgicznych, haseł, tokenów. Jest to bezpieczeństwo na poziomie wynikającym z architektury i samych mechanizmów platformy. Natomiast drugi poziom, z perspektywy wyboru platformy low-code najistotniejszy to bezpieczeństwo i ograniczanie dostępu do danych na poziomie samych aplikacji. Mówimy tutaj o wszelkiego rodzaju dokumentach, umowach, fakturach, które przewijają się przez aplikację low-code. Platforma musi oferować szereg mechanizmów, które pozwalają ograniczać dostęp do edycji takich danych, ograniczać dostęp do ich widoczności w zależności od wszelkiego rodzaju uprawnień, czy to związanych z pełnionymi rolami, czy to z jakimiś konkretnymi grupami interesariuszy. Mówimy tutaj o całych mechanizmach zarządzania dostępem nie tylko na poziomie dokumentów lub aplikacji, ale jej poszczególnych elementów. I im bardziej te mechanizmy są szczegółowe, im bardziej możemy sterować uprawnieniami do poszczególnych kontrolek, tym bardziej platforma będzie spełniać dzisiejsze oczekiwania w zakresie dostępu do danych. Głównie dzięki temu, że pozwala zarządzać bardzo szczegółowo tym, co dany użytkownik ma widzieć i co może na takiej platformie zrobić. Jakie dane może zmodyfikować i jakie dane może wprowadzić w określonym miejscu również jest tutaj kwestią bezpieczeństwa. Nie sposób oczywiście nie wspomnieć o wszelkiego rodzaju wymogach prawnych oraz zgodności z przepisami przetwarzania danych, czy to danych osobowych w ramach platformy, czy innych danych, czy samej retencji tych danych, na przykład faktur ich czasu archiwizacji i przechowywania.
Bartek: Mateusz, przekazałeś nam bardzo dużo cennych informacji, które pokazują, że wybór platformy low-code to wybór rozwiązania mającego tworzyć swoisty zintegrowany system, jakim jest właśnie środowisko do wytwarzania aplikacji.
Mateusz: Tak, platformy low-code to zintegrowane środowiska wytwarzania aplikacji w ramach, których odbywa się cały cykl życia naszych rozwiązań. Na nich budujemy nasze aplikacje, przechowujemy dane procesowe, tworzymy integracje z zewnętrznymi systemami, odpowiadają za bezpieczeństwo oraz retencje przetwarzanych informacji w ramach aplikacji. Dlatego odpowiedni wybór platformy jest tak istotny, bo wchodząc w dane rozwiązanie z każdą kolejną wytworzoną aplikacją będzie nam coraz ciężej przejść w szybki sposób na inne rozwiązanie. Można to porównać do wejścia w ekosystem urządzeń. Mając już określoną ilość urządzeń spod szyldu nadgryzionego jabłka, łatwiej nam dołożyć kolejne takie urządzenie niż robić zwrot na przykład w stronę androida - zwłaszcza w sytuacji gdy ktoś mocno wykorzystuje kooperacyjność urządzeń oraz wszelkie zalety ekosystemu.
Bartek: Wybór platformy low-code jest z punktu widzenia biznesowego każdej organizacji niezwykle istotny i mam nadzieję, że kwestie, które tutaj poruszyliśmy, okażą się dla wszystkich przydatne.
Mateusz bardzo dziękuje za udział w dzisiejszym spotkaniu i już w tym momencie chciałbym zaprosić na kolejny podcast, w ramach którego przybliżymy proces budowy aplikacji w technologii low-code na przykładzie platformy Axiom.
Powiązane wpisy
-
Dla kogo jest platforma low-code? [Podcast, odc. 1]
O technologii low-code mówi się już od dawna, jako skutecznej metodzie budowy narzędzi bez konieczności kodowania. I choć wiele powiedziano na (...)
-
Low-code alternatywą dla tradycyjnych systemów zarządzania procesami i informacjami [Wywiad]
W czasach coraz bardziej misternych i zróżnicowanych procesów biznesowych, szybkość i elastyczność w tworzeniu i dostosowywaniu rozwiązań (...)
-
Low-code, czyli nowe podejście uczelni do inwestowania w rozwój technologiczny
Faktem jest, że systemy IT pomagają w lepszej organizacji zadań i sprawniejszej obsłudze procesów. Jednak nie rozwiązują wszystkich problemów, a (...)
Skontaktuj się z naszym specjalistą