Gardens Builder – IDE GardensAM

Gardens Builder to implementacja modelu GAM w systemie operacyjnym MS Windows

Strona główna » Gardens Builder – IDE GardensAM

Gardens Builder to implementacja modelu GAM w systemie operacyjnym MS Windows

W zależności od parametrów wywołania oraz uprawnień licencyjnych Gardens Builder może pełnić funkcje zintegrowanego środowiska developerskiego, aplikacji klienta (RunTime) lub serwera aplikacyjnego (GAS – Gardens Application Server). Gardens Builder również może pracować jako instancja serwera aplikacyjnego COM- jako GamConnector dostarcza bibliotekę typów umożliwiającą sterowanie z poziomu innych aplikacji.

IDE

Zintegrowane Środowisko Rozwoju Gardens Builder zawiera między innymi takie udogodnienia jak:
  • (RAD) wizualny edytor okien i raportów
  • edytor pakietów i funkcji w języku QLX (kolorowana składnia, podpowiedzi „suflera” podczas pisania kodu)
  • debugger z możliwością śledzenia wykonywanego kodu
  • wsparcie dla wielojęzyczności aplikacji

Gardens Builder

Gardens Builder zawiera własny język programowania czwartej generacji o nazwie QLX oraz wbudowany kompilator, co umożliwia szybkie i łatwe modyfikowanie każdego obszaru aplikacji. Jądro QLX zawiera w sobie szereg podstawowych funkcji graficznych, co umożliwia łatwą modyfikację GUI. Język programowania jest prosty i zoptymalizowany pod kątem czasochłonności budowania i modyfikowania logiki aplikacji. Konstrukcja kompilatora umożliwia natomiast bezpieczne dokonywanie zmian w czasie działania systemu co przyspiesza procesy implementacji i testowania aplikacji.


System umożliwia pracę z wieloma bazami danych łącząc się z nimi bezpośrednio za pomocą interfejsów OLEDB. Możliwe jest także wykorzystywanie własnej plikowej bazy danych. Istnieją proste mechanizmy do tworzenia automatycznych importów i eksportów danych za pomocą plików tekstowych (XML, CSV, TAB, JSON).


W jądrze Gardens zawarto mechanizmy podstawowych interfejsów COM+ do sterowania obiektami zewnętrznymi (możliwość komunikowania się z aplikacjami COM typu MS WORD, MS EXCEL).


Możliwa jest także komunikacja między aplikacjami Gardens za pomocą sieci TCP/IP co umożliwia budowanie rozproszonych systemów wielowarstwowych lub systemów replikacji danych.

Budowa

Gardens Builder został napisany wyłącznie z wykorzystaniem STL C++. W obszarze GUI zbudowano specjalizowane klasy bezpośrednio za pomocą API systemu WIN32. Do komunikacji z bazami danych wykorzystano bezpośrednio niskopoziomowe interfejsy OLEDB. Napisano również własną plikową bazę danych. W jądrze QLX zawarto natomiast mechanizmy podstawowych interfejsów COM+ do sterowania obiektami zewnętrznymi, własny protokół i możliwości komunikacji TCP/IP, własne algorytmy kompresji i kodowania danych oraz parser XML bezpośrednio do struktur Data Schema. Nowa wersja jądra systemu zawiera również transformację warstwy prezentacyjnej do języka XAML oraz nową wersję GUI opartą na klasach XAML C++ WinRt.

Kompilator QLX

Zbudowany kompilator jest wynalazkiem autorskim. Jego działanie polega na parsowaniu, w momencie ładowania, obiektów źródła tekstowego do pamięci o bardzo złożonej strukturze hierarchicznej bazującej na wartościowaniu przez binarne drzewo adresów (drzewo wywołań). W czasie wykonania, tworzone są wyłącznie stosy obiektów oraz wykonywana jest wędrówka po adresach wraz z elementarnymi kalkulacjami. Zapewnia to dobrą wydajność operacji bazowych języka (lepszą od innych języków 4GL) .


Taka konstrukcja umożliwia również ekstrema typu kompilacja jednej z funkcji pakietu w czasie działania aplikacji i przy współdziałania innych funkcji.

Repozytorium – ogród

Wszystkie elementy repozytorium aplikacji (ogrodu) przechowywane są w bazie danych. Na repozytorium składa się zestaw systemowych tabel zgodnie z filozofią Gardens, powiązanych ze sobą w hierarchiczne struktury Data Schema. Ogród składa się z:

  • Data Schema Trees – kolekcja drzew definiujących schemat danych aplikacji,
  • Custom Types – kolekcja własnych, definiowalnych typów danych,
  • Connections – kolekcja połączeń,
  • Object Tree – kolekcja obiektów aplikacji (Pakiety, Okna, Raporty, Panele, Auto-Widoki)
  • Resources List – lista zasobów graficznych (ikony, obrazy, pliki EMF),
  • Projects – lista projektów – grupowanie obiektów ogrodu dla lepszego zarządzania zmianami aplikacji,
  • ML – słowniki wielojęzyczne.

Dodatkowo istnieją rozbudowywane elementy związane z nadawaniem wersji ogrodu i budowaniem dokumentacji.

GamConnector

Serwer automatyzacji COM udostępnia interfejsy do sterowania zewnętrznego systemem GERP. Do najciekawszych należy interfejs WinGam udostępniający nową technologię budowania cienkich klientów na rozmaitych platformach takich jak Java, JS, WPF, UWP, za pośrednictwem technologii JSON, XAML, XML.

Serwer Aplikacyjny GamLib

Biblioteka jądra systemu GamLib pracuje w procesie IIS jako serwer aplikacyjny udostępniający GUI cienkiego klienta w przeglądarce www lub urządzeniach mobilnych.

IDE GardensAM umożliwia także budowanie mobilnego klienta off-line. Aplikacja jest generowana na podstawie wybranych obiektów repozytorium, powstaje automatycznie mobilna aplikacja w Javie, komunikująca się asynchronicznie z serwerem aplikacyjnym GAS.

Projektowanie aplikacji

Wysoce zoptymalizowany kod języka QLX posiada możliwości autokreacji. Pozwala to budować wysokopoziomowe narzędzia do projektowania automatycznej generacji ogrodu – aplikacji wynikowej (CASE).


Gardens umożliwia stworzenie dowolnej aplikacji w bardzo krótkim czasie. Umożliwia też budowę narzędzi do jeszcze większego zoptymalizowania procesu budowy aplikacji. Istnieje zatem możliwość budowania ogrodu, który „projektuje i generuje inne ogrody”.

Interesują Cię nowinki ze świata programowania, chcesz być na bieżąco z naszą ofertą?
Dołącz do naszego newslettera

Zgoda*