redcloud

Stosujemy podejście win&win, co oznacza, że po zakończonym projekcie wygrane są obie strony. Klient otrzymał zamawiany produkt, a nasz zespół nowe doświadczenia.

Opis techniczny systemu BLOS

Skrócony opis techniczny systemu BLOS.

Informacje podstawowe

1. System BLOS jest napisany w języku JAVA w klasycznej warstwowej architekturze JEE.

2. System BLOS przeznaczony jest do wdrożenia na serwerach Linux/Unix. Istnieje możliwość wdrożenia systemu BLOS na serwerach działających pod kontrolą Windows, pod warunkiem dostępności infrastruktury JAVA w wersji 6.

3. Podstawowym interfejsem systemu jest interfejs www, zgodny z aktualnymi wersjami wszystkich dostępnymi na rynku przeglądarek, włączając w to przeglądarki dostępne na tabletach iOS oraz Android.

4. Kontrola jakości systemu BLOS oparta jest oprócz testów interaktywnych z użytkownikami na testach jednostkowych oraz ciągłej integracji. Dla systemu BLOS zostało napisanych niemal 650 testów jednostkowych, które pokrywają ponad 50% kodu, koncentrując się na kluczowych elementach systemu.

5. BLOS składa się z trzech podstawowych komponentów:

     serwer aplikacji JBoss w wersji 5.1 (edycja Community lub Enterprise) wraz z dostarczoną w formacie zgodnym z Java EE aplikacją BLOS, oraz konfiguracją zoptymalizowaną na potrzeby BLOS.

     baza danych PostgreSQL w wersji 9.1 (istnieje możliwość zmiany dostawcy bazy danych)

     serwer poczty Apache James w wersji 2.3.4

6. W zależności od potrzeb skali oraz wymagań SLA, komponenty BLOS te mogą być rozmieszczone na jeden z poniższych sposobów:

     wszystkie komponenty na pojedynczym serwerze fizycznym

     wszystkie komponenty na pojedynczym serwerze fizycznym + wszystkie komponenty na serwerze lustrzanym

     pojednynczy serwer fizyczny per pojedynczy komponent (z lub bez uwzględnienia komponentów lustrzanych)

Architektura BLOS

Poniższy diagram przedstawia schemat architektury systemu

 

Komentarze do architektury systemu:

1. Aplikacja BLOS przeznaczona jest do uruchomienia pod kontrolą kontenera aplikacji JEE. Bieżąca implementacja jest wdrażana oraz testowana pod kontrolą kontenera aplikacji JBoss w wersji 5.1. Wpierana jest zarówno darmowa edycja JBoss Community Edition, jak i płatna edycja JBoss Enterprise Edition.

2. BLOS może zostać przystosowany do działania pod kontrolą innego kontenera JEE.

3. Warstwa logiki biznesowej BLOS korzysta z bazy danych za pośrednictwem warstwy persystencji i mapowania obiektów do relacji zgodnych ze specyfikacją JPA, implementowaną przy użyciu technologii Hibernate. Użycie natywnych zapytań zredukowane jest do niezbędnego minimum, które dyktuje wydajność systemu. Natywne zapytania używane w BLOS są przeznaczone dla bazy danych PostgreSQL. Niemniej, migracja systemu BLOS do innej implementacji bazy danych jest procesem przejrzystym i mało pracochłonnym.

4. System przechowywania plików w BLOS jest hybrydowym rozwiązaniem autorskim, w którym metadane dotyczące plików przechowywane są w bazie danych, zaś sama zawartość plików - bezpośrednio na dysku. Rozwiązanie to zmniejsza ilość danych przesyłanych pomiędzy aplikacją a bazą danych, nie ograniczając możliwości klastrowania systemu, w którym to przypadku pliki mogą być synchronizowane pomiędzy systemami za pomocą narzędzi systemowych takich jak rsync lub NFS. 

5. Architektura bezpieczeństwa i kontroli dostępu do systemu BLOS realizowana jest w oparciu o specyfikację JAAS oraz jej implementację w kontenerze aplikacji JBoss, oraz opracowany specyficznie dla systemu BLOS precyzyjny mechanizm uprawnień, które sprawdzane są w warstwie logiki biznesowej. W ten sposób uzyskaliśmy jednolity model bezpieczeństwa, niezależny od sposobu dostępu do systemu, tj. przez interfejs www, interfejs mobilny czy Web Services.

6. System BLOS wyposażony jest w dedykowany serwer email służący do wysyłania z systemu poczty wychodzącej, jak i do odbierania poczty przychodzącej i przetwarzania jej bezpośredinio w systemie. W ten sposób realizowane jest np bezpośrednie skanowanie dokumentów do systemu, które można zrealizować nawet na skanerach sieciowych wyposażonych jedynie w możliwość wysyłania skanowanych dokumentów pocztą elektroniczną.

Dodatkowo, BLOS wyposażony jest w moduł odczytywania kodów paskowych z wprowadzanych do niego dokumentów, jak i umieszczania kodów paskowych na dokumentach generowanych bezpośrednio z systemu.

7. BLOS może występować zarówno jako serwer jak i klient Web Services. W chwili obecnej, w BLOS zaimplementowany jest moduł integracji z systemem Audatex, w którym BLOS występuje jako klient Web Services. W razie potrzeby część lub całość funkcjonalności BLOS może zostać udostępniona zewnętrznym serwisom i usługom w formie Web Service’u.

8. Integracja z systemami wysyłki poczty papierowej może być zrealizowana za pomocą Web Services, poczty elektronicznej lub dowolnego innego protokołu opartego na TCP/IP lub wymianę plików.

9. BLOS posiada możliwość zdalnego zarządzania oraz monitoringu przy pomocy konsoli JMX.

10. Dla zachowania wysokiego poziomu bezpieczeństwa, BLOS jako portal powinien być umieszczony za firewallem, zaś jego wymagane usługi powinny być udostępniane za pomocą serwera HTTP proxy.

Portfolio

 
 

Technologie

Nasze aplikacje tworzymy w różnych technologiach, jednak głównie opieramy na PHP, Java, MySQL, HTML, CSS oraz JavaScript.

Znajdź nas

Zobacz nasze profile na portalach społecznościowych.

RSSFacebookTwitter

Dane firmy

  • ul. Domaniewska 47/10,
    02-672 Warszawa
  • +48 515 114 345
  • Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript.