BSB - efektywne jee

Transkrypt

BSB - efektywne jee
Bazy i Systemy Bankowe Sp. z o.o.
ul. Kasprzaka 3, 85 – 321 Bydgoszcz
1
BSB dziś
Jesteśmy producentem i integratorem rozwiązań
informatycznych
•
100% udziałów w kapitale zakładowym posiada
Narodowy Bank Polski
•
Opracowana strategia na kolejne lata
ukierunkowuje nas głównie na sektor finansowy
i uzupełniająco na sektor administracji publicznej
•
Pozytywny wynik finansowy
•
•
Siedziba Spółki – Bydgoszcz, ul. Kasprzaka 3
Departament Sprzedaży – Warszawa
•
Liczba pracowników - ok. 130 osób (w większości
kadra inżynierska)
2
Profil usług
Rozwiązania
biznesowe
Zarządzanie
bezpieczeństwem
Dostawy
i integracje
Infrastruktury IT
Usługi
programistyczne
Cloud Computing
3
Nasi klienci
4
Efektywny development w
Java Enterprise Edition
Wojciech Oczkowski
5
Agenda
 Architektura systemów JEE
 Typowe problemy developmentu
 Podnoszenie efektywności
6
Architektura systemów JEE
Klient
Prezentacja
Przeglądarka
Kontener
Webowy
Usługi
Integracja
Dane
DBMS
JDBC
Kontener
Biznesowy
GUI
EIS
Szyna usług
Legacy
7
Ciężkie JEE
Klient
Prezentacja
JSF
GWT
Przeglądarka
JavaFX
Swing
GUI
Usługi
Integracja
Dane
EJB
DBMS
Kontener
Webowy
JDBC
Kontener
Biznesowy
EIS
Szyna usług
Legacy
8
Lekkie JEE
Klient
Przeglądarka
Prezentacja
SpringMVC
Grails
Play2
Kontener …
Usługi
Integracja
Spring
DBMS
JDBC
Webowy
Kontener
Biznesowy
GUI
Dane
EIS
Szyna usług
Legacy
9
Środowisko JEE
Klient
Prezentacja
Przeglądarka
Kontener
Webowy
Usługi
Integracja
Dane
DBMS
JDBC
Kontener
Biznesowy
GUI
EIS
Szyna usług
Legacy
10
Development JEE
Klient
Prezentacja
CSS
XHTML
JS
IMG
Przeglądarka
Kontener
Webowy
Usługi
Integracja
SQL
EJB
Dane
DBMS
JDBC
Java
Kontroler
Kontener
Biznesowy
Java
EIS
Bundle
GUI
Szyna usług
Service
Legacy
11
Javapocalypse
http://www.youtube.com/watch?v=E3418SeWZfQ
12
Typowe problemy developmentu
 Czasochłonne przygotowanie
środowiska
 Duża ilość kodu
infrastrukturalnego(bilerplate)
 Długie build’y
 Długi deployment
 Częste zmiany
 Poprawianie błędów
13
przygotowanie środowiska




Podłączenie do repozytorium
Pobranie źródeł
Pobranie zależności
Przygotowanie serwera aplikacji



Instalacja
Konfiguracja pod aplikację
Konfiguracja pod debug
 Przygotowanie bazy danych




Instalacja
Skrypty tworzące
Podłączenie do istniejącej
Przygotowanie danych testowych
 Zaślepienie zewnętrznych usług
14
Boilerplate code
 Narzut technologii i wykorzystywanych
frameworków
 Dotyczy kodu i konfiguracji
 Może być zastąpiony przez:
 Generatory kodu i konfiguracji
 Podejście „convention over configuration”
 Wykorzystanie DSL
15
Długie build’y





Sprawdzanie zależności
Kompilacja
Generowanie źródeł
Testy
Przygotowywanie archiwów
16
Długie build’y - przykład
 Sprzęt

i7 3,4Ghz 4 core’y, 8 wątków, 8GHz
 Wielość projektu

~50K LOC
 Czas



Minimalny (bez testów):
Zwykły (tylko testy jednostkowe) :
Pełny (z analizą statyczną i testami integracyjnymi):
1:16.531s
1:38.225s
13:51.974s
17
Długi deployment
 Zależny od serwera aplikacyjnego
 Czas trwania


Od kilkunastu sekund
Do kilkunastu minut
18
Podnoszenie efektywności
 Zadbaj o narzędzia
 Testuj automatycznie
 Dziel i zwyciężaj
19
Zadbaj o narzędzia




Poznaj IDE
Używaj gotowych rozwiązań
Generuj kod
Zainwestuj w poznanie środowiska /
technologii
 Inwestuj w narzędzia
20
Install it Maybe
http://www.youtube.com/watch?v=oIu15zIsjQg
21
Testuj automatycznie
 Czas weryfikacji:





Testy jednostkowe – kilka sekund
Testy integracyjne – kilkadziesiąt sekund
Automatyczne Testy funkcjonalne – kilka minut
Testy funkcjonalne przez programistę – kilka/kilkanaście minut
Testy funkcjonalne przez QA – kilka godzin/dni
22
Dziel i zwyciężaj
 Podział na moduły
 Możliwość deploymentu tylko
zmienianej części systemu
 Minimalizacja propagacji zmian
 Możliwość pracy tylko and częścią
systemu
 Możliwość zaślepienia nieużywanych
usług
23
DZIĘKUJĘ ZA UWAGĘ
Bazy i Systemy Bankowe Sp. z o.o.
ul. Kasprzaka 3
85-321 Bydgoszcz
Departament Sprzedaży
u. Połczyńska 31A
01-377 Warszawa
e-mail: [email protected]
www.bsb.pl
24

Podobne dokumenty