Czy RAD (Rapid Application Development) to upadła gwiazda informatyki, czy raczej jej świetlana przyszłość? Zapytałem jedną, wybraną osobę z biznesu, czy pasuje mu to aby programiści robili swoją robotę szybciej, taniej, z lepszą jakością, a do tego nie musieli być mega techniczni, i jeszcze do tego, nie mogli by robić fantazji, tylko to, co trzeba. Popatrzył na mnie jak na wariata. Bez sensu takie pytanie, wiadomo ze tak, oczywiście że tak!

Przy takiej aprobacie – i to z takiego źródła – nie pozostaje nic innego jak rozdmuchać i rozgrzać do czerwoności nasze „koderskie” zapędy i spróbować wytworzyć coś, co spełni oczekiwania biznesu i szerokiej rzeszy klientów. Po czym, gdyby się udało, zawiesić je (te zapędy) na kołku i zająć się (przy pomocy powstałego narzędzia) wytwarzaniem realnej wartości biznesowej. Tak właśnie zrobiliśmy. Wymagania projektu Next RAD zakładały:

 

  • dostarczenie narzędzia pozwalającego w czasie o rząd lub nawet dwa rzędy krótszym niż dotychczas, dostarczać gotowe rozwiązanie biznesowe,
  • nowe narzędzie powinno działać na poziomie wdrożeniowym, na którym autorami nie muszą być programiści a konsultanci i wdrożeniowcy, z podstawową znajomością kodowania prostych skryptów,
  • rozwiązania powstałe przy pomocy narzędzia powinny charakteryzować się tą samą architekturą, skalowalnością, bezpieczeństwem i innymi cechami obowiązującymi na platformie Next,
  • rozwiązania powstałe przy pomocy narzędzia powinny być pełnoprawnymi bytami platformy Next i móc być komponowane we wszystkich mechanizmach platformy, takich jak InteliUI, NextWWW czy Worlflow,
  • czas szkolenia z nowego narzędzia powinien być minimalny i dla aktualnych konsultantów wynosić maksymalnie kilka godzin.

W trakcie prac szybko okazało się że wiele mechanizmów które są już dostępne w systemie spełnia założenia RAD. Padła więc decyzja, że wytworzone zostaną brakujące elementy, po czym połączymy je z tymi istniejącymi i to wszystko razem będzie stanowić pakiet Next RAD. Pakiet ten manifestuje się nowym modułem o nazwie „Rozbudowa systemu (RAD)”. W skład RAD’a wchodzą:

 

  • Skrypty serwerowe i klienckie
  • Obsługa zdarzeń technicznych i biznesowych
  • Zdarzenia okresowe
  • Strategie
  • Definiowane opcje
  • Definiowane widoki tabelaryczne (nowe)
  • Dostawcy danych do widoków HTML
  • Dynamiczne WebSerwice’y (nowe)
  • Portale WWW
  • Aplikacje mobilne (nowe)
  • Definiowane produkty (nowe)

Na szczególną uwagę zasługuje ostatni mechanizm, który znacząco rozszerza możliwości Next RAD. Definiowanie produktów oznacza przekazanie w ręce wdrożeniowców i konsultantów możliwości, które do tej pory mieli wyłącznie programiści. Definiując produkt możemy w pełni kształtować własny cykl rozwojowy (schemat w bazie, wersjonowanie), własną strukturę danych (tabele, kolumny, relacje), własny interfejs użytkownika (okna, filtry, zakładki), własne usługi (serwisy, DTO’sy) oraz własne zachowania dynamiczne (reakcje na zmiany, specyficzne zachowania biznesowe). Przykładowy ekran definiowania nowej kolumny w zbiorze danych

Pole zbioru danych

 

pokazuje deklaratywny styl całości, a opcje dostępne w trakcie definiowania zbioru danych

Definiowane opcja

pokazują wysoki poziom abstrakcji bliski wyrażaniu życzeń, które to obie cechy przekładają się na zrealizowanie założeń całego projektu. Wystarczy poklikać a reszta zrobi się sama.

Gorąco zachęcam do zapoznania się z RAD. Na portalu partnerów (PoPaS) dostępny jest krótki film prezentujący możliwości narzędzia na przykładzie realizacji pewnej niebanalnej funkcjonalności. Czas realizacji tej funkcjonalności przy pomocy RAD (przez osobę wprawioną w jego używaniu) wyniósł ok 80 min, szacowany, porównywalny czas realizacji metodami klasycznymi mógłby wynieść ok 3 dni robocze czyli 1260 min. Otrzymujemy

 

1570 %

 

przyśpieszenia. I to wszystko przy wielokrotnie mniejszym ryzyku popełnienia błędów. Można uznać że założenia zostały zrealizowane.

Czy to nasze ostatnie słowo w tym zakresie? Nie. Trwają prace nad kolejnymi mechanizmami zwiększającymi potencjał Next RAD, o których niebawem napiszę.

Krzysztof Olszewski

Krzysztof Olszewski

Dyrektor Technologii i Architektury Oprogramowania

Krzysztof Olszewski

Krzysztof Olszewski

Dyrektor Technologii i Architektury Oprogramowania