O Gardens-Software

Gardens Builder

Gardens Builder to implementacja modelu GAM w systemie MS Windows

Opis na podstawie opinii o technologii Gardens wydanej przez Poznański Park Naukowo - Technologiczny Fundacji UAM

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).

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 (kolorowana składnia, podpowiedzi "suflera" podczas pisania kodu)
  • debugger z możliwością śledzenia wykonywanego kodu
  • wsparcie dla wielojęzyczności aplikacji

 

Wizualny edytor okien i raportów


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).

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.

Całość została napisana w języku C++. Źródło jest wysoce zoptymalizowane zajmuje ok. 9000 linii kodu zaś wynikowy program to zaledwie 950KB.

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. 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 ogrodu

Wszystkie elementy ogrodu przechowywane są w bazie danych lub w plikach. Na repozytorium ogrodu 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,
  • 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.

XML .NET Transformer

Gardens Aplication Model Builder może pracować jako serwer aplikacyjny udostępniający GUI klienta na stronach www. Dzieje się tak dzięki komponentowi GAM Buildera o nazwie XML .NET Transformer, który udostępnia wygląd okien w postaci XML. Z tej postaci strona B2B dokonuje transformacji do ASP.NET Web Form. Logika aplikacji przetwarzana jest przez serwer GAM.

Transformacja okien do XML jest również wykorzystywana w rozwiązaniu mobilnym.

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”.

Projektowanie aplikacji
 
Zamów demo on-line oprogramowania
Zostań partnerem Gardens Software
Zamów wizytę konsultanta Gardens
Zostaw numer telefonu - oddzwonimy