Dokumentacja Techniczna
Transkrypt
Dokumentacja Techniczna
Dokumentacja techniczna Młodzieżowe Pośrednictwo Pracy Spis Treści 1. Widok ogólny architektury MPP .................................................................3 2. Warstwy systemu .......................................................................................5 3. Struktura systemu/komponentów ..............................................................7 3.1 Aplikacje ............................................................................................................................................. 7 3.2 Biblioteki .......................................................................................................................................... 10 4. Wymagania bezpieczeństwa ..................................................................... 12 4.1 Poufność i integralność .................................................................................................................... 12 4.2 Autoryzacja....................................................................................................................................... 12 5. Charakterystyka systemu .......................................................................... 13 5.1 Wymagania sprzętowe..................................................................................................................... 14 5.2 Wymagania środowiskowe .............................................................................................................. 14 5.3 Oprogramowanie klienckie .............................................................................................................. 14 1. WIDOK OGÓLNY ARCHITEKTURY MPP cmp Widok ogólny architektury MPP Pracow nik j ednostki OHP Klient Administracja systemem, rejestracja danych, generacja raportów Wyszukiwanie ofert, wprowadzanie ankiet on-line Młodzieżow e Pośrednictw o Pracy Klient Pośrednictw o Integracj a Eksport krajowych ofert pracy System Broker Przesył krajowych i zagranicznych ofert pracy Centralna Baza Ofert Pracy ecam.ohp.pl Diagram komponentów: Widok ogólny architektury MPP Młodzieżowe Pośrednictwo Pracy Komponent System Młodzieżowe Pośrednictwo Pracy składa się z części ogólnodostępnej przeznaczonej dla klientów rynku pracy, części przeznaczonej dla pracowników OHP oraz części integracyjnej z innymi systemami kooperującymi. Klient Komponent Ogólnodostępny moduł Klienta jest przeznaczony dla klientów rynku pracy w celu wyszukiwania i przeglądania szczegółów krajowych i zagranicznych ofert pracy oraz targów i giełd pracy, a także w celu dodawania ankiet on-line. Pośrednictwo Komponent Moduł Pośrednictwo jest przeznaczony dla pracowników jednostek OHP. W ramach pracy z komponentem dostępne jest administrowanie systemem, rejestracja danych związanych z pośrednictwem pracy oraz generacja raportów z działalności pośredników. Integracja Komponent Moduł integracyjny posiadający funkcjonalności oraz interfejsy komunikacyjne z innymi systemami a w szczególności z SI Broker. System Broker Komponent SI Broker jest systemem realizowanym w ramach innego zamówienia, stanowi warstwę komunikacyjną realizującą wymianę danych pomiędzy poszczególnymi elementami SI PSZ. 2. WARSTWY SYSTEMU Architektura systemu wyodrębnia trzy podstawowe warstwy: 1. Warstwa prezentacji udostępniająca funkcjonalności przeznaczone dla użytkowników lub systemów ( Integracja). 2. Warstwa logiki biznesowej grupująca usługi biznesowe udostępniane warstwie prezentacji. 3. Warstwa integracji i dostępu do danych. cmp Warstw y systemu Warstwa prezentacji Portal Klienta Aplikacj a dla pracow nika j ednostki OHP Warstwa logiki biznesowej Usługi biznesow e Warstwa integracji i dostępu do danych Warstw a dostępu do danych Warstw a integracj i Diagram komponentów: Warstwy systemu Portal klienta Komponent Grupuje funkcjonalności przeznaczone dla klientów rynku pracy. Aplikacja dla pracownika jednostki OHP Komponent Grupuje funkcjonalności przeznaczone dla pracowników OHP. Usługi biznesowe Komponent Warstwa w której jest implementowana logika biznesowa systemu. Warstwa dostępu do danych Komponent Warstwa w której zawarto metody dostępu do danych. Warstwa integracji Komponent Warstwa implementująca obsługę usług sieciowych związanych z innymi systemami. 3. STRUKTURA SYSTEMU/KOMPONENTÓW 3.1 Aplikacje Aplikacja rozumiana jest jako element który implementuje funkcjonalność obejmującą grupę przypadków użycia. Aplikacja posiada architekturę warstwową. Możliwa będzie komunikacja miedzy przyległymi warstwami (nadrzędną i podrzędną). Warstwy aplikacji są zbudowane z bibliotek i frameworków. Szczegółowy opis znajduje się w kolejnych rozdziałach. cmp Aplikacj a Aplikacja Warstw a prezentacj i w idoku Komunikacja HTTPS + HTML + AJAX + JSON Warstw a kontrolera w idoku PHP Warstw a logiki biznesow ej PHP PHP Warstw a dostępu do danych Warstw a integracj i Diagram komponentów: Aplikacja Diagram przedstawia logiczną budowę aplikacji oraz technologie wykorzystywane do komunikacji pomiędzy warstwami. W aplikacji wyróżniamy następujące warstwy: Warstwa prezentacji widoku, Warstwa kontrolera widoku, Warstwa logiki biznesowej, Warstwa dostępu do danych oraz integracji. Warstwa dostępu do danych Komponent Warstwa persystencji odpowiedzialna za obsługę modelu relacyjnego systemu przechowywanego w bazie. Warstwa integracji Komponent Odpowiedzialna za mechanizmy integracyjne z innymi aplikacjami. Warstwa kontrolera widoku Komponent Warstwa odpowiedzialna za przetworzenie żądania – odebranie, walidację, wywołanie logiki biznesowej i wybór kolejnego widoku. Warstwa logiki biznesowej Komponent Główna warstwa implementująca logikę aplikacji (biznesową). Powinna zostać wykonana w formie komponentów, w celu maksymalizacji ponownego wykorzystania kodu. Warstwa prezentacji widoku Komponent Warstwa odpowiedzialna za implementację widoku interfejsu użytkownika. 3.2 Biblioteki cmp Biblioteki Warstw a prezentacj i w idoku <<use>> YUI <<use>> j Query Warstw a kontrolera w idoku <<use>> Symfony Warstw a logiki biznesow ej Warstw a dostępu do danych <<use>> <<use>> Propel <<use>> Creole Diagram komponentów: Biblioteki YUI Komponent Biblioteka programistyczna dla języka JavaScript dostarczająca komponenty usprawniające obsługę zdarzeń, manipulację drzewem DOM oraz zarządzanie żądaniami XMLHttpRequest (XHR). jQuery Komponent Biblioteka programistyczna dla języka JavaScript ułatwiająca korzystanie z JavaScriptu (w tym manipulację drzewem DOM). Symfony Komponent Framework dla aplikacji internetowych napisany w języku PHP bazujący na wzorcu projektowym MVC. Cechuje się między innymi programowaniem zorientowanym obiektowo, niezależnością od systemu bazodanowego, walidacją formularzy i treści, zarządzaniem sesjami, łatwością rozbudowy oraz integracji z innymi bibliotekami, wbudowaną ochroną przed atakami CSRF oraz XSS. Propel Komponent Propel jest biblioteką, której główną funkcją jest zapewnianie mapowania pomiędzy klasami PHP a tabelami bazy danych. Dodatkowo biblioteka dostarcza mechanizmy niezbędne do zarządzania połączeniami z systemem bazodanowym oraz obsługą transakcji. Creole Komponent Zestaw klas PHP zapewniających dodatkową warstwę abstrakcji w zorientowanym obiektowo dostępie do systemu bazodanowego. 4. WYMAGANIA BEZPIECZEŃSTWA Wymagania bezpieczeństwa systemu informatycznego dotyczą zazwyczaj każdej warstwy systemu począwszy od infrastruktury sprzętowej skończywszy na warstwie aplikacji. Odpowiedni poziom bezpieczeństwa systemu informatycznego powinien zapewnić poufność, integralność oraz niezaprzeczalność danych. Jako poufność rozumiemy fakt, że system udostępnia dane tylko osobom, dla których są przeznaczone. Integralność gwarantuje, że dane nie zostały zmodyfikowane przed odebraniem ich przez użytkownika. Niezaprzeczalność gwarantuje, że dane zostały wysłane przez użytkownika, dla którego można jednoznacznie stwierdzić tożsamość. 4.1 Poufność i integralność Poufność i integralność przesyłania informacji pomiędzy użytkownikiem portalu oraz serwerem jest zapewniona dzięki szyfrowaniu transmisji protokołem SSL (Secure Socket Layer), TLS (Transport Layer Security) z kluczem co najmniej 128. 4.2 Autoryzacja Użytkownicy zewnętrzni systemu (klienci) posiadają dostęp do systemu bez logowania, przy czym wypełnianie ankiety on-line odbywa się z wykorzystaniem połączenia szyfrowanego. Pozostałe funkcje tj. przeglądanie i wyszukiwanie ofert krajowych bądź zagranicznych wykorzystują połączenie nieszyfrowane. Dla użytkowników wewnętrznych (pracowników jednostek OHP) przewidziano trzy role: 1. Administrator – zarządzanie jednostkami OHP posiadającymi dostęp do systemu, użytkownikami w tych jednostkach oraz zawartością słowników lokalnych. 2. Rejestrator – rejestracja krajowych i zagranicznych ofert pracy, danych o osobach poszukujących pracy i pracodawcach oraz informacji na temat giełd i targów pracy. Zakres zadań rejestratora obejmuje również zagadnienia dotyczące skierowań. 3. Statystyk – generacja raportów i sprawozdań statystycznych w oparciu o dane wprowadzane w ramach roli rejestrator. 5. CHARAKTERYSTYKA SYSTEMU deployment Charakterystyka systemu Klienci Pracownicy jednostek OHP http/https https Internet Serwer aplikacji Serwer bazy danych W obecnej konfiguracji serwery: aplikacji oraz bazy danych zlokalizowane są na jednej maszynie fizycznej. Wymagania sprzętowe oraz środowiskowe dla tej maszyny, a także oprogramowanie klienckie pozwalające uzyskać dostęp do systemu opisane są poniżej. 5.1 Wymagania sprzętowe Minimalne wymagania sprzętowe dla systemu MPP: RAM: 8 GB przestrzeń dyskowa: 100 GB 5.2 Wymagania środowiskowe Wymagany system operacyjny: Debian w wersji 5.0.2 lub wyższej. Oprogramowanie: Baza danych PostgreSQL w wersji 8.3 lub wyższej PHP Serwer aplikacji Apache z modułem obsługi protokołu SSL Na potrzeby integracji z CBOP poprzez system Broker: Serwer aplikacji Tomcat Biblioteka SPBX 5.3 Oprogramowanie klienckie Pracownicy jednostek OHP oraz klienci uzyskują dostęp do systemu poprzez przeglądarkę internetową. Zalecanymi przeglądarkami są: Google Chrome Mozilla Firefox