Architektura

Solidny stos technologiczny

  • Warstwa GUI: HTML5, jQuery, Bootstrap
  • Warstwa serwera: Java 7, Spring, Freemarker, OSGi, jBPM 5, Tomcat / JBoss
  • Warstwa danych: Hibernate ORM
  • Warstwa integracji: dostępne adaptery dla Liferay’a, Alfresco, Jasper Reports

stack

Aperte Workflow może działać w dwóch trybach – standalone lub w integracji z Liferay’em, wtedy część GUI działa na zasadzie osadzalnego portletu. Integracja z Liferay zapewnia moduł obsługi użytkowników, ich ról oraz autoryzacji przez LDAP.

Więcej o korzyściach z integracji z Liferay można przeczytać na: http://www.liferay.com/products/liferay-portal/features/portal

Warstwa GUI oparta jest o lekkie, podstawowe technologie takie jak jQuery, Bootstrap, HTML5. Podejście to jest efektem wieloletniego doświadczenia w kwestii dostarczania szybko nowych funkcjonalności w sposób prosty i efektywny.

Warstwa serwerowa oparta jest o dwa podstawowe komponenty: Core, który zawiera podstawowe mechanizmy do obsługi pluginów, podstawowych web serwisów, zarządzania użytkownikami, procesami i sprawami. Oparty jest w większości na znanym frameworku: Spring’u.

Równolegle do warstwy serwerowej istnieją pluginy OSGi, wzbogacające system o dedykowane komponenty, takie jak maile, definicje procesów, spraw, dodatkowe web serwisy, tłumaczenia, kroki procesowe, interaktywne raporty. Pluginy mogą być instalowane i deinstalowane w czasie działania serwera, dzięki czemu możliwe jest wgrywanie nowej wersji kodu bez konieczności przerywania świadczenia usług.

Warstwa baz danych oparta jest o Hibernate, który zarządza dostępem do danych z bazy. Jak większość innych rzeczy, również model może być rozszerzany za pomocą plugnów OSGi.

Model Sprawa – Proces – Krok

Model Aperte Workflow bazuje na logicznej koncepcji podziału aplikacji na sprawę, proces i kroki procesu.

model

Zaprezentowany model pozwala zarówno na szybkie utworzone prostych formularzy w oparciu o generyczny model zmiennych procesowych i sprawy, a z drugiej strony umożliwa rozszerzenie bazowych zmiennych o skomplikowane atrybuty (mapujące się na klasy w Javie), co umożliwia optymalizację i uproszczenie kodu i struktury bazy danych.

Sprawa jest to byt nadrzędny (nie wymagany jednak). W odniesieniu do sprawy odpalane są procesy (ale procesy też mogą być tworzone indywidualnie, bez powiązania z bytem sprawy). Na proces składają się kroki (techniczne oraz ludzkie)

Skalowalność rozwiązania

Aperte Workflow jest rozwiązaniem całkowicie skalowalnym. Dodawanie kolejnych node’ów aplikacyjnych nie wymaga dodatkowego nakładu pracy, poza zmianą konfiguracji jgroups.

Liczba użytkowników którą może obsłużyć jeden węzeł zależy od poziomu skomplikowania aplikacji (wykonywane kroki biznesowe, komplikacja wyświetlanych formularzy). Przeważnie waha się między 90 a 300 użytkownikami aktywnie pracującymi online i może być bez problemu zwiększana przy tworzeniu dodatkowych instancji w klastrze.


aperte_workflow_MTJBPM