Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Architektura Systemu MunSOL
Warszawa, Maj 2007 © Siemens IT Solutions and Services.
2
Agenda Wykorzystane technologie Architektura systemu MunSOL Środowisko developerskie
3
Agenda Wykorzystane technologie Architektura systemu MunSOL Środowisko developerskie
4
Wykorzystane technologie
Język programowania – Java Standard J2EE Hibernate Wzorce projektowe Spring Enterprise Java Beans Trójwartswowy wzorzec projektowy (MVC)
5
Dlaczego Java? Nowoczesny, dynamicznie rozwijający się język programowania Mnogość dojrzałych projektów Niezależność od platformy Nacisk na bezpieczeństwo Dostępna duża liczba bibliotek Wszechstronne zastosowanie; lider rozwiązań od aplikacji mobilnych po systemy klasy Enterprise
6
Cechy języka Java Obiektowy język programowania
Mechanizmy wielowątkowości Kontrola przydziału pamięci (garbage collector) Obsługa sytuacji wyjątkowych i mechanizm asercji Mechanizm refleksji i dynamicznego ładowania klas Wsparcie dla tworzenia samodokumentującego się kodu Wsparcie dla serializacji (zapis do strumienia) obiektów dowolnych klas
7
Standard J2EE J2EE – standard tworzenia aplikacji opartych na architekturze wielowarstwowej Aplikacje J2EE charakteryzują się modułową budową i są budowane z komponentów Wsparcie dla integracji z zewnętrznymi systemami za pomocą różnych interfejsów (JDBC, JTA, JMS, JNDI) Wsparcie dla transakcji rozproszonych Skalowalność
8
Technologie zawarte w J2EE
Java Servlet JavaServer Pages (JSP) JavaServer Faces (JSF) JavaServer Pages Standard Tag Library (JSTL) Enterprise JaveBeans (EJB) Java Message Service (JMS) Java Transaction Service (JTA) JavaMail
9
Architektura aplikacji J2EE
10
J2EE - Wzorce projektowe
Wzorce projektowe (Design Patterns) to zidentyfikowane i opisane typowe schematy postępowania podczas rozwiązywania problemów powtarzalnych. Najpopularniejsze wzorce projektowe J2EE zostały opracowane przez Sun Java Center: Intercepting Filter, Front Controller, Context Object, Application Controller, View Helper, Composite View, Business Delegate, Service Locator, Session Facade, Application Service, Transfer Object, Value List Handler, Data Access Object, Service Activator, Web Service Broker, itd. Rozwiązanie pewnego problemu w pewnym kontekście.
11
J2EE - Wzorce projektowe w systemie MunSol
Klasyfikacja wzorców projektowych Wzorce warstwy prezentacyjnej Wzorce warstwy logiki biznesowej Wzorce warstwy integracyjnej Zgodnie ze sztuką tworzenia aplikacji J2EE w systemie MunSol zostały użyte stosowne wzorce projektowe we wszystkich warstwach aplikacji.
12
Hibernate Odpowiedzialny jest za mapowanie obiektów Javy do postaci rekordów w bazie danych i vice versa W typowej sytuacji jedna klasa jest mapowana na jedną tabelę, jeden obiekt – na jeden rekord Dostarcza obiektowego języka zapytań podobnego składnią do SQL Wysoka wydajność
13
Możliwości Hibernate Mapuje relacje pomiędzy tabelami na powiązania między obiektami Mapuje typy danych Java na typy SQL Mapuje hierarchie dziedziczenia klas na oddzielne tabele Uniezależnia od producenta baz danych, zawierając dialekty języka SQL dla różnych serwerów baz danych, przy pozostawieniu pełnej kontroli nad strukturą danych. Implementuje liczne optymalizacje dostępu do bazy danych, jak lazy loading, dirty checking Pozwala mapować całe kolekcje obiektów
14
Spring Spring Framework jest szkieletem programistycznym opartym na zasadzie przekazywania zależności komponentowi, który w ten sposób otrzymuje, a nie odszukuje i bierze. Dostarczanie zależności zamiast ich odszukiwanie jest wzorcem projektowym o nazwie Przekazywanie Zależności (Dependency Injection - wstrzykiwanie/wstrzeliwanie zależości). W systemie MunSol spring został wykorzystany m. in. do dostarczania serwisów biznesowych dla GUI.
15
EJB - Enterprise Java Beans
EJB są częścią J2EE Specyfikacja Enterprise Java Beans definiuje architekturę i metodę budowy rozproszonych komponentów obiektowych uruchamianych po stronie serwera aplikacji Komponenty EJB są wykorzystywane do budowy złożonych aplikacji rozproszonych na zasadzie „składania z klocków” W systemie MunSol EJB zostało użyte do dostarczenia usług biznesowych z serwera do klientów
16
Wzorzec MVC – Model View Controller
Wzorzec projektowy organizujący obsługę interfejsu użytkownika Celem MVC jest rozdzielenie komponentów odpowiedzialnych za: (Controller) reagowanie na akcje użytkownika renderowanie widoku danych i interfejsu do manipulowania nimi (View) modelowanie procesów dziedziny biznesowej i związanych z nią danych (Model) Wzorzec ten został wykorzystany w GUI systemu MunSol.
17
MVC – zadania poszczególnych komponentów
CONTROLLER Reaguje na akcje użytkownika. Przetwarza przez niego dane i na ich podstawie zarządza stanem interakcji z użytkownikiem oraz organizuje nawigację pomiędzy elementami interfejsu (np. formularzami WWW). Tworzy i zmienia model. Pozwala użytkownikowi manipulować aplikacją. MODEL Zawiera główną funkcjonalność aplikacji. Enkapsuluje stan aplikacji. Czasami jedyną funkcjonalnością jaką zawiera jest stan. Nie wie nic na temat widoku i kontrolera. VIEW Dostarcza prezentacji modelu. Definiuje wygląd aplikacji. Nie wie nic o kontrolerze. Widok powinien być notyfikowany kiedy nastąpi zdarzenie „zmiana stanu modelu”.
18
Interakcje komponentów MVC
19
Interakcje komponentów MVC w aplikacji webowej
20
MVC – przykład przepływu sterowania
21
MVC – obsługa zdarzenia „pokaż”
22
MVC – obsługa zdarzenia „modyfikuj”
23
LDAP – przechowywane dane
PRACOWNICY WĘZŁY STRUKTURY ORGANIZACYJNEJ STANOWISKA UPRAWNIENIA KOMPONENTY ELEMENTY KOMPONENTÓW CERTYFIKATY PROCEDURY Urzędnicy pracujący na aplikacji (dane takie jak imię, nazwisko, nr tel. itp..) Różne typy: Komórka Org., Jednostka Org. Odpowiedzialny za dokumenty, Kierownik, Pracownik Powiązanie użytkowników z odpowiednimi węzłami struktury (informacja o datach ważności stanowiska) Zbiór profili i kategorii Poszczególne okna aplikacji lub ich części, zawierają elementy komponentów Poszczególne przyciski, tabele, itp. MunSol kontroluje dostęp do każdego elementu w GUI Obiekty reprezentujące certyfikaty oraz ich powiązanie z użytkownikami Zbiór informacji o procedurach, procesach.
24
Struktura LDAP
25
Agenda Wykorzystane technologie Architektura systemu MunSOL Środowisko developerskie
26
Architektura MunSol
27
Architektura MunSol
28
Architektura – warstwa danych
Korzysta z różnych źródeł danych – bazy danych, LDAP Mapuje obiekty na rekordy w bazie danych Odpowiada za przechowywanie danych Komunikuje się z warstwą prezentacji – zasila warstwę prezentacji w dane
29
Architektura – warstwa logiki biznesowej
Zapisane są w niej reguły biznesowe wymagane przez aplikację Przetwarza dane zawarte w warstwie danych Odpowiada za obsługę wyjątków Implementacje poszczególnych funkcjonalności zawarte są w transakcjach Pośredniczy w wymianie i odpowiada za przetwarzanie informacji pomiędzy warstwą prezentacji a warstwą danych
30
Architektura – warstwa prezentacji
Umożliwia użytkownikowi wprowadzanie danych do systemu i ich przeglądanie oraz widzi wyniki działania systemu Tworzy widoki na podstawie danych otrzymanych z warstwy logiki biznesowej Związana jest z warstwą biznesową Tutaj proszę o zamieszczenie informacji o tym, że są dwa rodzaje GUI – Swing oraz JSF, jednak całość musi być przedstawiona jako aplikacja webowa (patrz Oferta), nie wiem jak przedstawić Swing’a jako aplikację webową
31
Agenda Wykorzystane technologie Architektura systemu MunSOL Środowisko developerskie
32
Środowisko deweloperskie
Eclipse – zintegrowane środowisko programistyczne JBoss – serwer aplikacji Tomcat – serwer WWW PostgreSQL – baza danych ant – narzędzie służące do zautomatyzowania procesu budowy oprogramowania LDAP – protokół przeznaczony do dostępu do usług katalogowych CVS – system kontroli wersji JTrac – system zarządzania błędami JUnit, WebTest – narzędzia do testów automatycznych CruiseControl – aplikacja do automatycznego tworzenia i testowania produkcji Linux Gentoo – system operacyjny
33
Pytania
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.