1 Ksantypa2: Architektura(c) Jerzy Nawrocki Ksantypa2: Architektura Bartosz Michalik XPrince dla architektów
2 Agenda Kontekst Perspektywy architektoniczne Czynniki ryzyka(c) Jerzy Nawrocki Agenda Kontekst Perspektywy architektoniczne Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
3 Agenda Kontekst Perspektywy architektoniczne Czynniki ryzyka(c) Jerzy Nawrocki Agenda Kontekst Perspektywy architektoniczne Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
4 Kontekst W W W Internet Sokrates Ksantypa2
5 Agenda Kontekst Perspektywy architektoniczne Scenariusze zmian(c) Jerzy Nawrocki Agenda Kontekst Perspektywy architektoniczne Scenariusze zmian Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
6 Agenda Kontekst Perspektywy architektoniczne Scenariusze zmian(c) Jerzy Nawrocki Agenda Kontekst Perspektywy architektoniczne Scenariusze zmian Czynniki ryzyka Podejścia architektoniczne XPrince dla architektów
7 Model danych
8 Model danych Nabór Olimpiada Kierunek Podanie Wpłata Ocena PreferencjePrzedmiot 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
9 Struktura rozwój - dodać sokratesa
10 Perspektywy architektonicznePrzypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny Na następnych slajdach zostanie zaprezentowany opis architektury. Forma prezentacji bazuje na modelu zaproponowanym przez Kruchtena. Przed każdą perspektywą dwa słowa wprowadzenia
11 Widoki architektonicznePrzypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
12 Import (nabory) Nabory Meta-języki Meta-przedmiotygenerowanie jak spłyną z wydziałów
13 Podanie Podanie Przelewy Płatność Przelewy
14 Eksport (dane kandydatów)Dane kandydata translacja danych na potrzeby konkretnego sokratesa Eksport
15 Perspektywy architektonicznePrzypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
16 Presentation Data BuilderPerspektywa logiczna Sokrates Connector Bank Data Connector Data Storage Ksantypa2 Logic Data Connector Starter Screen Builder Web Controller Presentation Data Builder
17 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
18 Presentation Data BuilderBezpieczeń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
19 Presentation Data BuilderWydajność 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
20 Presentation Data BuilderPerspektywa 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
21 Perspektywy architektonicznePrzypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
22 Perspektywa implementacyjna???
23 Perspektywa implementacyjnazatrzymać się na MVC
24 Proponowane komponentyApache Struts 1.1 Apache Velocity Log4J Apache Xerces Swing Oracle 10g
25 Perspektywy architektonicznePrzypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
26 Perspektywa fizyczna dodać sokratesa
27 Perspektywa fizyczna
28 Perspektywa fizyczna
29 Perspektywa fizyczna
30 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
31 Widoki architektonicznePrzypadków użycia Logiczny Współbieżności Implementacyjna Fizyczny
32 Przypadki użycia Zapisz się na kieruek ??
33 Przypadki użycia Zapisz się na kieruek ??
34 Załóż konto kandydata
35 Przypadki użycia Zapisz się na kieruek ??
36 Eksportuj dane kandydata
37 Eksportuj dane kandydata
38 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
39 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
40 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
41 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ę
42 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
43 Podejścia architektoniczneMVC – aplikacja webowa redundancja serwerów XML - definicje ekranów
44 Ksantypa2: Architektura(c) Jerzy Nawrocki Ksantypa2: Architektura ? XPrince dla architektów
45 Możliwość rejestracji kandydata bez względu na błędy na lini S-Kdodać sokratesa
46 Możliwość rejestracji kandydata bez względu na błędy na lini S-K
47 Struktura dodać sokratesa
48 Model danych Nabór Olimpiada Kierunek Podanie Wpłata Ocena PreferencjePrzedmiot 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
49 Presentation Data BuilderSokrates 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
50