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