Architektura Systemu MunSOL

Slides:



Advertisements
Podobne prezentacje
Architektura SAP R/3 Wybrane zagadnienia.
Advertisements

Zaawansowane metody programowania – Wykład V
Decyzje projektowe w .NET Framework
Tworzenie portali z wykorzystaniem technologii Sun Java Enterprise Systems Joanna Kosińska
WEB SERVICE Stefan Rutkowski.
CORBA Łukasz Wnęk.
ADAM Active Directory w trybie aplikacyjnym
Uwierzytelnianie i autoryzacja dostępu do portali
Artur Jonak empolis Polska Sp. z o.o.
Projektowanie Aplikacji Komputerowych
Architektura systemu Gra strategiczna „Strusia Jama”
Platforma .Net i Vs.Net.
Ksantypa2: Architektura
Eclipse jako IDE III a.
WekaSQL Język i aplikacja przetwarzania oraz eksploracji danych.
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
Platforma J2EE korporacyjny standard wytwarzania złożonych systemów informatycznych Autor: Jarosław Lis Warszawa, 2006r.
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Projekt i implementacja aplikacji do zasilania bazy danych testowymi danymi Jacek Lis Promotor: prof. dr hab. inż. Włodzimierz KASPRZAK.
Modele baz danych - spojrzenie na poziom fizyczny
Spring podstawy.
1/18 LOGO Profil zespołu. 2/18 O nas Produkcja autorskich rozwiązań informatycznych dla małych i średnich firm w zakresie systemów: Baz danych Aplikacji.
Analiza, projekt i częściowa implementacja systemu obsługi kina
Architektura systemów wykorzystujących bazy danych (systemów bazodanowych) Wykład S. Kozielski.
System katalogowania. Opis i architektura.
Systemy Rozproszone TECHNOLOGIA JAVA 2 ENTERPRISE EDITION PRZEMYSŁAW SOŁTAN
Przemek Lewicki Piotr Linka Bartek Stasikowski
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Twoje narzędzie do pracy grupowej
Rozwój aplikacji przy wykorzystaniu ASP.NET
Message-Driven Bean.
Instytut Tele- i Radiotechniczny WARSZAWA
Technologie tworzenia aplikacji internetowych Wykład 3
Przeznaczenie produktu Opis funkcjonalności
Promotor: dr.inż. Aleksandra Werner
Plan prezentacji Zarys projektu Geneza tematu
Projektowanie obiektowe
Model – View – View Model
Zarządzanie informacją
Wybrane zagadnienia relacyjnych baz danych
Zawansowane techniki programistyczne
Systemy zarządzania treścią Wykład 5
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
Praktyczne wykorzystanie wzorców projektowych MVC oraz IoC.
Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, 85 – 321 Bydgoszcz
Walidacja danych alina suchomska.
Technologie programowania systemów internetowych
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Aplikacje mobilne w zastosowaniach medycznych
ENOVA dla WODOCIĄGÓW I KANALIZACJI System Zarządzania klasy ERP NOWOCZESNE, SPECJALSTYCZNE OPROGRAMOWANIE, WSPOMAGAJĄCE ZARZĄDZANIE I OBSŁUGĘ.
Podstawy języka skryptów
Forum Pracodawców AEiI 2015 Wydział Automatyki, Elektroniki i Informatyki Gliwice, 11 marca 2015r.
Zakres wykładu Kierunki rozwoju oprogramowania systemów rozproszonych Własności wybranych architektur - problemy badawcze Przykładowe obszary zastosowań.
Hibernate Podstawy.
Odwzorowania relacyjno-obiektowe Hibernate Podstawy.
Wzorce Projektowe w JAVA
BAZY DANYCH MS Access.
Zintegrowany monitoring infrastruktury IT w Budimex
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
Sławomir Staśkiewicz JBossAS i EJB 3.1 Sławomir Staśkiewicz
Architektura Rafał Hryniów. Architektura Wizja projektu systemu, którą dzielą twórcy Struktura komponentów systemu, ich powiązań oraz zasad i reguł określających.
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
Wzorzec MVC na przykładzie CakePHP
T. 18. E Proces DGA - Działania (operatorka).
Windows Workflow Foundation
JavaBeans by Paweł Wąsala
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Architektura Systemu MunSOL Warszawa, Maj 2007 © Siemens IT Solutions and Services.

Agenda Wykorzystane technologie Architektura systemu MunSOL Środowisko developerskie

Agenda Wykorzystane technologie Architektura systemu MunSOL Środowisko developerskie

Wykorzystane technologie Język programowania – Java Standard J2EE Hibernate Wzorce projektowe Spring Enterprise Java Beans Trójwartswowy wzorzec projektowy (MVC)

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

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

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ść

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

Architektura aplikacji J2EE

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.

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.

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ść

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

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.

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

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.

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”.

Interakcje komponentów MVC

Interakcje komponentów MVC w aplikacji webowej

MVC – przykład przepływu sterowania

MVC – obsługa zdarzenia „pokaż”

MVC – obsługa zdarzenia „modyfikuj”

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.

Struktura LDAP

Agenda Wykorzystane technologie Architektura systemu MunSOL Środowisko developerskie

Architektura MunSol

Architektura MunSol

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

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

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ą

Agenda Wykorzystane technologie Architektura systemu MunSOL Środowisko developerskie

Ś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

Pytania