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 Klient Pracownik jednostki OHP Wyszukiwanie ofert, wprowadzanie ankiet on-line Administracja systemem, rejestracja danych, generacja raportów Młodzieżowe Pośrednictwo Pracy Klient Pośrednictwo Integracja System Broker Eksport krajowych ofert pracy 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 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 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 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 Moduł integracyjny posiadający funkcjonalności oraz interfejsy komunikacyjne z innymi systemami a w szczególności z SI Broker. System Broker 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 Warstwy systemu Warstwa prezentacji Portal Klienta Aplikacja dla pracownika jednostki OHP Warstwa logiki biznesowej Usługi biznesowe Warstwa integracji i dostępu do danych Warstwa dostępu do danych Warstwa integracji Diagram komponentów: Warstwy systemu Portal klienta Grupuje funkcjonalności przeznaczone dla klientów rynku pracy.
Aplikacja dla pracownika jednostki OHP Grupuje funkcjonalności przeznaczone dla pracowników OHP. Usługi biznesowe Warstwa w której jest implementowana logika biznesowa systemu. Warstwa dostępu do danych Warstwa w której zawarto metody dostępu do danych. Warstwa integracji 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 Aplikacja Aplikacja Warstwa prezentacji widoku Komunikacja HTTPS + HTML + AJAX + JSON Warstwa kontrolera widoku PHP Warstwa logiki biznesowej PHP PHP Warstwa dostępu do danych Warstwa integracji 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 Warstwa persystencji odpowiedzialna za obsługę modelu relacyjnego systemu przechowywanego w bazie. Warstwa integracji Odpowiedzialna za mechanizmy integracyjne z innymi aplikacjami. Warstwa kontrolera widoku Warstwa odpowiedzialna za przetworzenie żądania odebranie, walidację, wywołanie logiki biznesowej i wybór kolejnego widoku. Warstwa logiki biznesowej Główna warstwa implementująca logikę aplikacji (biznesową). Powinna zostać wykonana w formie komponentów, w celu maksymalizacji ponownego wykorzystania kodu. Warstwa prezentacji widoku Warstwa odpowiedzialna za implementację widoku interfejsu użytkownika.
3.2 Biblioteki cmp Biblioteki Warstwa prezentacji widoku <<use>> YUI <<use>> jquery Warstwa kontrolera widoku <<use>> Symfony Warstwa logiki biznesowej <<use>> Warstwa dostępu do danych <<use>> Propel <<use>> Creole Diagram komponentów: Biblioteki YUI Biblioteka programistyczna dla języka JavaScript dostarczająca komponenty usprawniające obsługę zdarzeń, manipulację drzewem DOM oraz zarządzanie żądaniami XMLHttpRequest (XHR).
jquery Biblioteka programistyczna dla języka JavaScript ułatwiająca korzystanie z JavaScriptu (w tym manipulację drzewem DOM). Symfony 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 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 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