Podstawowe pojęcia¶
NEOS - technologia do tworzenia aplikacji biznesowych składająca się z serwera, klienta oraz narzędzia deweloperskiego NEOS Expert
NEOS Expert - aplikacja utworzona w technologii NEOS służąca do budowania innych aplikacji biznesowych w tej technologii. Umożliwia definiowanie nowych projektów, obiektów i form, a także pisanie kodu w języku C#. NEOS Expert nie pozwala tworzyć struktury bazy danych, triggerów ani procedur SQL. Do tych czynności należy użyć IB Experta.
Serwer NEOS - Aplikacja w .net będąca mózgiem technologii NEOS. Odpowiada za przechowywanie definicji obiektów i form, tworzenie instancji form w działającej aplikacji, ich obsługę, a także kompilację i egzekucję kodu C#. Swoje usługi udostępnia Klientom poprzez TCP/IP oraz HTTP.
Klient - aplikacja napisana w technologii VCL - zwana klientem Desktop oraz aplikacja w JavaScript z kontrolkami KendoUI - zwana klientem WEB. Klient korzysta z usług serwera NEOS, umożliwia wyświetlanie form, nawigatora (wstążki) i odpowiadająca za interakcję z użytkownikiem.
Projekt - aplikacja biznesowa lub jej wydzielony obszar funkcjonalny widziana z poziomu NEOS Experta. Na projekt składają się wszystkie obiekty tego projektu wraz z ich zawartością, a także lista ról i użytkowników wraz z ich uprawnieniami. Projekty mogą posiadać referencje na inne projekty i dzięki temu korzystać z obiektów zdefiniowanych w innych projektach.
Obiekt biznesowy - to podstawowe pojęcie technologii NEOS. Zwykle odpowiada pojedynczej tabeli w BD, widokowi lub zapytaniu SQL. W ramach obiektu definiujemy elementy takie jak: pola, akcje, metody i formy. Można także tworzyć obiekty nie związane z danymi w BD, np. w celu tworzenia form nie związanych z żadnymi danymi. Każdy obiekt zdefiniowany jest w ramach jakiegoś projektu.
Pole - odpowiada zwykle polu tabeli w BD lub polu zwracanemu przez widok lub zapytanie SQL. Jest opisane parametrami bazodanowymi (symbol pola w BD, typ danych, rozmiar, precyzja, relacja do innych obiektów) oraz parametrami wizualnymi (etykieta, tooltip, rodzaj kontrolki edycyjnej, itp.). Z polem związane są także metody modelu danych: na inicjalizację, na przeliczenie i na walidację. Można także definiować parametry, czyli nie związane z polami w tabeli ani zapytaniu SQL. Takie pola zwykle umieszcza się na formach do wygodnej filtracji danych albo sterowania wyglądem formy. Każde pole jest zdefiniowane w ramach jakiegoś obiektu.
Forma - to definicja okna, które może być wyświetlone przez klienta. Definicja formy składa się z komponentów umieszczonych jeden wewnątrz drugiego w wyniku czego forma posiada strukturę drzewiastą. Komponentami mogą być pojedyncze kontrolki lub kontenery zawierające wewnątrz grupę kontrolek. Komponenty mogą także mieć przypisane metody sterujące widocznością lub wyglądem tego komponentu w zależności od redagowanych lub wyświetlanych danych. Każda forma jest definiowana w ramach jakiegoś obiektu.
Akcja - to funkcja jaką może wykonać użytkownik w aplikacji biznesowej. Zwykle akcja wykonywana jest na rzecz bieżącego rekordu jakiegoś obiektu. Jest opisana atrybutami wizualnymi (etykieta, ikona) oraz metodą w C#. Z akcją można także wiązać inne metody sterujące np. tym, kiedy akcja może być widoczna, itp. Akcja może być reprezentowana przyciskiem na formie lub być dostępna w menu pod prawym przyciskiem myszy. Wszystkie akcje definiuje się w ramach jakiegoś obiektu.
Metoda - to kod w C# pisany przez dewelopera w NEOS Expert. Można w nim korzystać ze standardowych bibliotek .net oraz API udostępnianego przez serwer. Jest kompilowana przez serwer do metody w bibliotece dll. Każdy projekt otrzymuje własną bibliotekę dll, a każdy obiekt - swoją własną klasę w tej bibliotece.
Metody interfejsowe - to wszystkie metody sterujące wyglądem okien neosowych - czyli metody na widoczność, edytowalność, metody uruchamiane w odpowiedzi na akcje użytkownika i tym podobne. W tych metodach komunikujemy się z systemem plików (upload i download), wywołujemy wydruki i komunikujemy się z innymi aplikacjami. Metody wystawiające WebAPI także należą do metod interfejsowych.
Metody logiki biznesowej - to metody, które realizują jakąś funkcjonalność biznesową w oparciu o dane wprowadzone przez użytkownika lub znajdujące się w bazie danych. W metodach tych zwykle odwołujemy się jedynie do bazy danych. Metoda logiki biznesowej powinna być atomowa - to znaczy powinna wykonać zadaną funkcjonalność i nie komunikować się ze światem zewnętrznym (użytkownikiem, plikami, itp). Domyślnie cały kod metody logiki biznesowej wywołuje się w jednej transakcji bazodanowej.
Nawigator - to drzewiasta struktura menu głównego aplikacji utworzonej w technologii Neos. W kliencie WEB wyświetlany jako menu po lewej stronie, a w kliencie Desktop jako wstążka aplikacji (ribbon). Struktura nawigatora wynika z wybranych akcji zdefiniowanych w obiektach biznesowych.
Role i Użytkownicy - NEOS Expert pozwala na definiowanie ról w ramach projektu. Role służą do tego aby nadawać im uprawnienia, a następnie przypisywać role użytkownikom. Użytkownicy zakładani są automatycznie podczas ich pierwszego logowania do serwera. Uprawnienia - NEOS Expert pozwala na definiowanie uprawnień do form i akcji na rzecz ról i użytkowników.