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 Usługi programistyczne Dostawy i integracje Infrastruktury IT 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 Usługi Integracja Dane Przeglądarka Kontener Webowy JDBC DBMS Kontener Biznesowy EIS GUI Szyna usług Legacy 7
Ciężkie JEE Klient Prezentacja Usługi Integracja Dane Przeglądarka Kontener Webowy JSF GWT EJB JDBC DBMS JavaFX Swing Kontener Biznesowy EIS GUI Szyna usług Legacy 8
Lekkie JEE Klient Prezentacja Usługi Integracja Dane Przeglądarka SpringMVC Grails Play2 Kontener Webowy Spring JDBC DBMS Kontener Biznesowy EIS GUI Szyna usług Legacy 9
Środowisko JEE Klient Prezentacja Usługi Integracja Dane Przeglądarka Kontener Webowy JDBC DBMS Kontener Biznesowy EIS GUI Szyna usług Legacy 10
Development JEE Klient Prezentacja Usługi Integracja Dane CSS JS Java Przeglądarka XHTML IMG Kontroler Kontener Webowy EJB Java Kontener Biznesowy Bundle JDBC SQL DBMS EIS GUI Service Szyna usług 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): 1:16.531s Zwykły (tylko testy jednostkowe) : 1:38.225s Pełny (z analizą statyczną i testami integracyjnymi): 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: office@bsb.pl www.bsb.pl 24