AMEBA – nové řešení v oblasti (G)IS

Ing Ladislav Sedláček
Digis, spol. s r.o.
Gen.Sochora 6176
708 00 Ostrava-Poruba
tel (069) 693 8987
e-mail:
das-admin@digis.cz

The AMEBA is relativly new product on the GIS IT market with an ambition going behind the GIS scope. The object oriented solution offers uniform integrated concept of the description and graphic information. Particular applications are not represented by a program package, but a data model of so-called application theme. The system is characterized by a strong potency enabling to integrate external databases of the cooperating application systems into the native model of the application theme. Authentication and authorization are deeply built-up to apply safe logon and proper approach the application theme to the users.

AMEBA je relativně nový produkt na trhu GIS IT s ambicemi přesahujícími rámec GIS. Objektově orientované řešení nabízí jednotné integrované pojímání popisné i grafické informace. Jednotlivé aplikace nejsou reprezentovány programovými celky, ale datovými modely tzv. aplikačních témat. Systém se vyznačuje silnými možnostmi integrace databází kooperujících systémů do vlastního modelu aplikačních témat. Promyšleně jsou propracovány a autorizace – přihlašování a práva uživatelů v rámci aplikačních témat.


Když v roce 1996 ukončila společnost GDS vývoj a podporu svého stejnojmenného produktu na trhu GIS technologií, byla společnost Digis postavena před složitý úkol přechodu na jinou platformu. S tím bylo spojeno nezměrné úsilí zaměřené na dodržení závazků vůči všem dosavadním klientům, tzn. pořizování geografických dat a poskytování aplikací GIS.

Každé zlo je však k něčemu dobré. Jedním z pozitivních důsledků této situace byla právě nezbytnost vytvoření aplikací založených na nové platformě (ESRI). Tím se otevřel prostor pro strategické rozhodnutí - zahájení vývoje produktu na technologické úrovni odpovídající nejmodernějším metodám, nástrojům a trendům v oblasti IT.

Při úvahách o charakteru zamýšleného produktu se vycházelo z následujících hledisek

Problémovou otevřeností byl zamýšlen požadavek, aby produkt (systém) byl schopen implementovat libovolnou problematiku (aplikační téma) bez zásahu do jeho modelu !!!

Při specifikaci tohoto kriteria bylo zřejmé, že jeho splnění je vázáno na uplatnění objektového přístupu. S tím byly spojeny tři problémy

Zde je nutno zdůraznit, že problémovou otevřeností se rozumí taková vlastnost systému, který umí akceptovat definici datové a funkční složky příslušného aplikačního tématu bez nutnosti masivních klasických vývojářských (programátorských) prací zahrnující řešení požadavku v celém rozsahu. V současné době byla v rámci AMEBY implementovaná témata

Meta-model definuje základní metatřídy jako třída, atribut, metoda, vztah, objekt, kategorie, obraz apod. Model aplikační domény reprezentuje uživatelovu (aplikační) problematiku a zahrnuje aplikační třídy typu OBČAN, ULICE, DŮM, PARCELA apod. včetně jejich atributů a vztahů mezi nimi. Tyto složky aplikačního modelu jsou definovány jako objekty meta-tříd.

Zde je třeba podtrhnout jednu skutečnost – model chápe vektorový grafický obraz objektu jako jeho strukturovaný atribut. Tzn. že principiálně nerozlišuje mezi popisnou a grafickou informací a v tomto smyslu je rovnocenně a jednotně používá pro všechny standardní operace (výběry, prezentace, relační operace apod.). Jediný rozdíl je v nástrojích, které jsou “uvnitř” i “vně” používány k manipulaci s těmito údaji a souvisejí se specifickým formátem údajů. Vlastní tvar obrazu každého objektu je uložen obecně v “databázi grafických obrazů”, ať už je implementovaná jakkoli.

Tím se vysvětluje i pozvolný ale nevyhnutelný trend v pojímání IS pro místní samosprávy a státní správu na komunální resp. zemské úrovni – splývání řešení GIS a MIS do jediného integrovaného IS. Systém Ameba přesně takto řešenou problematiku pojímá.

Objektové třídy:

Vztahy :

Způsob implementace modelu je založen především na datově orientované definici modelu, tzn. že veškeré definice tříd, atributů, metod, vztahů (orto i meta modelu) apod. jsou uloženy v databázi na rozdíl od funkcionalistických přístupů pomocí “programovaných” knihoven. Tento přístup byl zvolen právě z toho důvodu, aby v databázi uložené (persistentní) objekty byly nezávislé na jakýchkoli “standardních” knihovnách. Tyto knihovny se uplatní až na úrovni 2. vrstvy třívrstvé architektury aplikačního (programového) produktu, který z persistentních objektů z databáze vytvoří přechodné (transientní) tzv. business resp. enterprise objects.

Tento způsob implementace má ve svém důsledku další pozitivní rys – otevírá totiž prostor pro takové řešení aplikačního systému, které umožňuje definovat objektový model i oprávněnému koncovému uživateli !!! s tím, že si svou předmětnou problematiku může rozvíjet bez závislosti na vývojáři aplikace.

Toto pojetí v konečném důsledku umožnilo vytvořit jediný produkt, který není členěn na jednotlivé aplikačně zaměřené moduly (programy, aplikace, subsystémy apod.). Tyto moduly jsou nahrazeny modely jednotlivých aplikačních témat (domén), které systém “umí přečíst a interpretovat” podobně, jako se člověk orientuje v mapě.

Model aplikačních témat

 

Pro řešení autentizace a autorizace jsou v rámci meta-modelu definovány dvě třídy – ROLE a USER. Třída USER umožňuje zavést do systému jednotlivé uživatele s jejich jménem, heslem a dalšími atributy. Samozřejmě, jako každá třída je i tato třída vybavena patřičnými metodami.

Výskyty třídy ROLE reprezentují v podstatě funkční zařazení uživatelů resp. obecněji zaměření útvaru, ve kterém uživatelé pracují. V každém případě každá role definuje oprávnění (autorizaci) přístupu k jednotlivým složkám modelu aplikační domény, tzn.

a to ve smyslu přístupu

Definice uživatelů a rolí je umožněna stejnými nástroji, které jsou určené koncovému uživateli pro práci v rámci aplikačních témat. Je přitom umožněno přiřazení jednoho a více uživatelů jedné roli a jednoho uživatele do více rolí. Samozřejmě v rámci každého přihlášení do systému (autentizaci) si daný uživatel musí vybrat pouze jednu z rolí, do kterých je zařazen.

Posuzování této charakteristiky systému provázel zvláštní akcent. Vyplýval zejména ze známé skutečnosti, že pokud uživatel disponuje několika subsystémy od různých dodavatelů, má zpravidla neřešitelné problémy s integritou systému jako celku. Problém integrace má různá specifika podle úrovně uplatněné technologie a zdrojů jednotlivých aplikačních komponent.

V případě

Naše řešení je založeno na jednoduchém principu modelu objektové třídy s možností nasměrování na zdroj hodnot atributů objektů této třídy. Totéž se týká funkční výbavy, tzn. metod (pokud je kooperující aplikační systém vůbec schopen akceptovat vzdálené volání). Obecně vzato může být každá třída nasměrovaná na zdroj v jiném systému než ostatní třídy. Samozřejmě, že náš systém disponuje svým vlastním vysoce abstraktním modelem a může tedy vést veškeré informace ve své vlastní (nativní) databázi. Zdroj hodnot třídy se však může průběžně přesměrovávat z jednoho na jiný s patřičnou úpravou modelu popisující externí model. To vše samozřejmě bez jakýchkoli programátorských zásahů. Pro úplnost MODEL je další z meta-tříd meta-modelu.

Pro vlastní implementaci objektové integrity disponuje náš systém třemi integritními modely – objekty meta-třídy INTEGRITY

Interní integritní model je uplatňován v rámci nativního modelu. Přímý integritní model zajišťuje velmi těsnou vazbu na kooperující model, vyžaduje však určitý standardní zásah do tohoto modelu. Nepřímý model je volnější, je realizován zprostředkovaným odkazem, a nevyžaduje zásah do externího modelu.

Ve výhledu je ještě zvažován externí model zachycující v podstatě nativní strukturu externího modelu bez objektové reprezentace.

První verze systému byla řešena jako extension k ArcView (ESRI). Tato volba byla určena následujícími cíli

Z tohoto pohledu se jeví paradoxním, že systém umí pracovat v režimu bez použití grafické informace. To je ale dáno tím, že není principiálně řešen jako extension ArcView jak bude dále ještě vysvětleno.

Technicky jediným požadavkem na platformu datové složky ze strany našeho systému je vedení veškerých dat v databázi vyhovující normě ANSI SQL a rozhraní ODBC/JDBC (tzn. databáze typu Oracle, Informix, Sybase, MS SQL Server, …, MS Access). Samozřejmě při konkrétní implementaci je nutno přihlížet k výkonnostním parametrům jednotlivých produktů.

V současné době se již pracuje na druhé verzi systému, která je řešena pro inter/intranet (Java). Tato verze zahajuje další etapu jejíž cílem je