Ksantypa2: Architektura (c) Jerzy Nawrocki Ksantypa2: Architektura Bartosz Michalik Bartosz.Michalik@cs.put.poznan.pl XPrince dla architektów
Agenda Kontekst Perspektywy architektoniczne Czynniki ryzyka (c) Jerzy Nawrocki Agenda Kontekst Perspektywy architektoniczne Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
Agenda Kontekst Perspektywy architektoniczne Czynniki ryzyka (c) Jerzy Nawrocki Agenda Kontekst Perspektywy architektoniczne Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
Kontekst W W W Internet Sokrates Ksantypa2
Agenda Kontekst Perspektywy architektoniczne Scenariusze zmian (c) Jerzy Nawrocki Agenda Kontekst Perspektywy architektoniczne Scenariusze zmian Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
Agenda Kontekst Perspektywy architektoniczne Scenariusze zmian (c) Jerzy Nawrocki Agenda Kontekst Perspektywy architektoniczne Scenariusze zmian Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
Model danych
Model danych Nabór Olimpiada Kierunek Podanie Wpłata Ocena Preferencje Przedmiot Język problem - różne sokratesy różne oznaczenia przedmiotów – wiemy w jaki sposób zamapować język na danym kierunku wpłata dopełnia i zamyka proces – można eksportować dane kandydata Meta język Meta przedmiot
Struktura rozwój - dodać sokratesa
Perspektywy architektoniczne Przypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny Na następnych slajdach zostanie zaprezentowany opis architektury. Forma prezentacji bazuje na modelu 4 + 1 zaproponowanym przez Kruchtena. Przed każdą perspektywą dwa słowa wprowadzenia
Widoki architektoniczne Przypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
Import (nabory) Nabory Meta-języki Meta-przedmioty generowanie jak spłyną z wydziałów
Podanie Podanie Przelewy Płatność Przelewy
Eksport (dane kandydatów) Dane kandydata translacja danych na potrzeby konkretnego sokratesa Eksport
Perspektywy architektoniczne Przypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
Presentation Data Builder Perspektywa logiczna Sokrates Connector Bank Data Connector Data Storage Ksantypa2 Logic Data Connector Starter Screen Builder Web Controller Presentation Data Builder
Presentation Data Builder Łatwość zmiany Perspektywa logiczna Sokrates Connector XML Storage Data Storage Bank Data Connector Ksantypa2 Logic Data Connector Starter Screen Builder Web Controller Presentation Data Builder
Presentation Data Builder Bezpieczeństwo Perspektywa logiczna Sokrates Connector XML Storage Data Storage Bank Data Connector Rights Controller Ksantypa2 Logic Data Connector Starter Screen Builder Web Controller prawa – ograniczanie dostępu do definicji ekranów Presentation Data Builder
Presentation Data Builder Wydajność Perspektywa logiczna Sokrates Connector XML Storage Data Storage Bank Data Connector Rights Controller Ksantypa2 Logic Data Connector Starter Screen Builder Web Controller Local Data Storage Presentation Data Builder
Presentation Data Builder Perspektywa logiczna Sokrates Connector XML Storage Data Storage Bank Data Connector Rights Controller Ksantypa2 Logic Data Connector Starter Screen Builder Web Controller Local Data Storage Presentation Data Builder
Perspektywy architektoniczne Przypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
Perspektywa implementacyjna ???
Perspektywa implementacyjna zatrzymać się na MVC
Proponowane komponenty Apache Struts 1.1 Apache Velocity Log4J Apache Xerces Swing Oracle 10g
Perspektywy architektoniczne Przypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
Perspektywa fizyczna dodać sokratesa
Perspektywa fizyczna
Perspektywa fizyczna
Perspektywa fizyczna
Perspektywa fizyczna Apache / Tomcat (lepsza wydajność i skalowalność) Obsługa JEE (Struts) Możliwość reużycia kodu starej Ksantypy Oracle 10g (jedno z wymagań klienta) VPN – virtual private network (alternatywne rozwiązanie serwery Socrates i Ksantypa w sieci lokalnej) – ustawa, zapewnione działanie DBLinków
Widoki architektoniczne Przypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
Przypadki użycia Zapisz się na kieruek ??
Przypadki użycia Zapisz się na kieruek ??
Załóż konto kandydata
Przypadki użycia Zapisz się na kieruek ??
Eksportuj dane kandydata
Eksportuj dane kandydata
Agenda Kontekst i ograniczenia techniczne Perspektywy architektoniczne (c) Jerzy Nawrocki Agenda Kontekst i ograniczenia techniczne Perspektywy architektoniczne Scenariusze zmian Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
Scenariusze zmian Dwukrotne zwiększenie zakładanej liczby kandydatów Dodanie nowego wydziału (wydział Architektury) do systemu Zmiana przepisów o szkolnictwie wyższym Zmiana struktury danych w systemie Sokrates
Agenda Kontekst i ograniczenia techniczne Perspektywy architektoniczne (c) Jerzy Nawrocki Agenda Kontekst i ograniczenia techniczne Perspektywy architektoniczne Scenariusze zmian Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
Czynniki ryzyka Trudności z wykorzystaniem starego kodu Ksantypy Problemy integracji z systemem Sokrates Zmiana wersji systemu Sokrates na którymś z wydziałów Zmiana ustalonego terminu realizacji Zmiana przepisów rzutująca na architekturę
Agenda Kontekst i ograniczenia techniczne Perspektywy architektoniczne (c) Jerzy Nawrocki Agenda Kontekst i ograniczenia techniczne Perspektywy architektoniczne Scenariusze zmian Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
Podejścia architektoniczne MVC – aplikacja webowa redundancja serwerów XML - definicje ekranów
Ksantypa2: Architektura (c) Jerzy Nawrocki Ksantypa2: Architektura ? XPrince dla architektów
Możliwość rejestracji kandydata bez względu na błędy na lini S-K dodać sokratesa
Możliwość rejestracji kandydata bez względu na błędy na lini S-K
Struktura dodać sokratesa
Model danych Nabór Olimpiada Kierunek Podanie Wpłata Ocena Preferencje Przedmiot Język problem - różne sokratesy różne oznaczenia przedmiotów – wiemy w jaki sposób zamapować język na danym kierunku wpłata dopełnia i zamyka proces – można eksportować dane kandydata Meta język Meta przedmiot
Presentation Data Builder Sokrates Connector XML Storage Data Storage Bank Data Connector Rights Controller Ksantypa2 Logic Data Connector Starter Screen Builder Web Controller Local Data Storage Presentation Data Builder