czwartek, 14 marca 2013

Interfejs webowy do EA

Pełne wykorzystanie możliwości narzędzia Enterprise Architect w dużych projektach informatycznych wymaga oprócz uruchomienia współdzielonego repozytorium również przestawienia mentalnego członków zespołu projektowego na tworzenie artefaktów projektowych w EA, zamiast wielu dokumentów w formacie MS Word lub Excel. Poza tym, barierami w pełniejszym stosowaniu EA mogą być:
  • konieczność konfiguracji środowiska na stacjach roboczych (instalacja EA, dostęp do klucza licencyjnego, dostęp do repozytorium, czy systemu kontroli wersji), 
  • ograniczenia dostępu spoza sieci lokalnej organizacji (na przykład podczas spotkań u klienta, czy pracy z domu),
  • przywiązanie użytkowników do prostszych i bardziej tradycyjnych metod pracy (pliki pakietów biurowych przechowywane lokalnie na stacji roboczej).
Metodą na eliminację dwóch pierwszych barier mogłoby być udostępnienie interfejsu WWW do repozytorium EA. Dzięki takiemu rozwiązaniu możliwe byłoby uzyskanie dostępu do zawartości repozytorium z poziomu przeglądarki internetowej. Dla określonych użytkowników, np. kierownictwa projektu, przedstawicieli klienta, eliminowałoby to potrzebę instalacji i konfiguracji klienta EA (lub EA Viewer) oraz konfiguracji dostępu. 
Można wyobrazić sobie aplikację webową umożliwiającą odnalezienie i zapoznanie się ze szczegółami modelu domeny, modelu użycia, wymagań, czy wyświetlenie zawartości diagramów. Gdyby jeszcze interfejs użytkownika byłby bardziej przystępny, przejrzysty, a w dodatku w języku polskim, wówczas moglibyśmy mieć do czynienia z przeniesieniem wykorzystania EA w nowy wymiar.


Możliwość tworzenia raportów w formacie HTML, którą dostajemy wraz z produktem, jest obarczona określonymi wadami: 
  • raport HTML nie przedstawia stanu aktualnego (jest to zrzut na określony moment), 
  • może zawierać tylko wycinki całego modelu,
  • forma raportu HTML jest modyfikowalna w niewielkim stopniu,
  • raport HTML może być trudno dostępny, jeśli jest składowany w repozytorium dokumentacji.
To sprawia, że rozwiązanie z wykorzystaniem statycznych raportów HTML nie jest akceptowalnym rozwiązaniem.

Poza tym nic nie stoi na przeszkodzie, aby umożliwić dostęp do repozytorium EA również do zapisu. Możliwe by było również dodawanie i edycja takich elementów, dla których nie jest istotne przedstawienie ich na diagramach. Na przykład możemy sobie wyobrazić proces zarządzania wymaganiami lub zarządzania projektem z poziomu aplikacji WWW, zamiast przy użyciu samej aplikacji EA. Jednocześnie przechowywanie takich elementów w jednym repozytorium ma tę zaletę, że jesteśmy w stanie śledzić ich powiązania z innymi typami elementów.

Od strony technicznej opracowanie interfejsu webowego jest możliwe dzięki API dostarczanemu wraz z instalacją EA. API umożliwia wykonanie większości operacji dostępnych przy użyciu standardowego interfejsu w językach programowania: Java, C#, Borland Delphi oraz Visual Basic.

Poniższy diagram przedstawia możliwą architekturę logiczną potrzebną do opracowania aplikacji WWW dla Enterprise Architecta.

interfejs WWW do Enterprise Architect - architektura logiczna
Baza danych EA to współdzielone repozytorium zarządzane przez jeden z możliwych do zastosowania przez EA silników RDBMS zasilony schematem baz danych opublikowanych przez Sparx Systems. EA Broker w warstwie integracji umożliwia połączenie bazodanowe przy użyciu tzw. EA Connection String, a z drugiej strony odpowiada na żądania wysyłane przez aplikację webową przy na przykład przy użyciu SOAP. W uproszczonej formie można sobie wyobrazić połączenie warstwy integracji z samą aplikacją webową bez konieczności definiowania komunikatów XML.
Użytkownik zaś ma możliwość korzystania z zawartości repozytorium z wykorzystaniem aplikacji webowej lub zwykłego klienta EA logując się przy użyciu tego samego konta.

Przykładem tego typu aplikacji jest produkt EnArWeb wydany niedawno przez firmę LieberLieber. Szczegółowe informacje na ten temat można znaleźć na stronie: http://www.lieberlieber.com/model-engineering/enarweb/.
Poniższy rysunek prezentuje różne możliwości zastosowań w zależności od ról w projekcie.


Producent na obecnym etapie umożliwia przedstawienie atrybutów opisu elementów w formie tabelarycznej, dołożył również możliwość prezentacji macierzy zależności (Matrix Relationship) oraz tworzenia wykresów.
Dodatkową zaletą rozwiązania EnArWeb jest tworzenie unikalnych URL do poszczególnych elementów modelu. Dzięki temu wystarczy kliknąć na link (na przykład w mailu, czy dokumencie), aby móc odnaleźć taki element w modelu poprzez przeglądarkę.

Zainteresowane osoby mogą się zapoznać z wersją demo tego produktu dostępną pod adresem: http://www.lieberlieber.com/de/model-engineering/enarweb/demo-version/.


3 komentarze:

  1. Bardzo fajnie działa pomysł publikowania modeli EA w narzędziu typu WIKI. Widziałem działające podejście na publikowaniu wyników łącznie z diagramami online z bazy EA do Attlassian Confluence -> jedyna wada rozwiązania to brak indeksowania opisów (Note Elementi) w ramach stron Confluence, to powoduje, że danej treści nie da się łatwo odszukać na stronach WIKI.

    OdpowiedzUsuń
  2. Marcin Żyrkowski13 sierpnia 2018 21:58

    Modele EA są już dość skomplikowanym procesem w programowaniu i na pewno trzeba mieć solidne podstawy, abyśmy mogli je wdrażać z sukcesem. Tworząc programy, czy aplikacje w https://craftware.pl musimy wiedzieć już jak publikować modele EA w narzędziach typu Wiki. Oczywiście ktoś kto zaczyna swoją drogę w gałęzi IT musi najpierw zgłębić podstawy, i dopiero po jakimś czasie dowie się do czego to tak naprawdę służy.

    OdpowiedzUsuń
  3. Ja kiedyś próbowałam zrozumieć modele EA, lecz chyba za bardzo mnie to przerosło. na szczęście u mnie w firmie na moim stanowisku pracy mam dostęp do https://www.connecto.pl/demo-optima/ i jak do tej pory sprawdza się znakomicie. Oczywiście sama obsługa mi również nie robi problemów.

    OdpowiedzUsuń