Powrót do katalogu
Terminy szkolenia otwartego:
  • Potwierdzone
  • Planowane
  • Sugerowane
2017-08-28 2 700 / 3 dni Zgłoś chęć udziału
2017-09-20 2 700 / 3 dni Zgłoś chęć udziału
Pobierz kartę szkolenia
Nie znalazłeś pasującego terminu?
Zaproponuj własny termin. Postaramy się uruchomić nowy specjalnie dla Ciebie.
Szukasz programu "skrojonego na miarę"?
Zapytaj o szkolenie dedykowane lub napisz nam o swoich preferencjach.
Chcesz się uczyć w trybie weekendowym?

Czekamy na kontakt od Ciebie.

Inżynieria oprogramowania > Języki programowania > Java/Spring

Szkolenie: Tworzenie solidnych i ultraszybkich rozwiązań produkcyjnych bazując na sprawdzonych zaletach frameworka Spring Boot
[J-SPR-BOOT]

Wprowadzenie

Java jest potężnym i szybko rozwijającym się językiem programowania. Nadal prowadzi w rankingach języków obiektowych, choć konkurencja depcze jej po piętach. Obecnie Oracle zaserwował nam wersję 8 co stanowi krok milowy w dotychczasowej historii języka. Wersja ta upodabnia ją do bardziej nowoczesnych języków programowania jak np. scala czy groovy opartych również na platformie JVM. Języki te stale zdobywają coraz większość popularność. Dzieje się tak ponieważ ich frameworki, składnia i założenia koncepcyjne powodują, że programiści są w stanie wytwarzać jeszcze szybciej przy minimalizacji napisanego kodu.

Tak naprawdę w dzisiejszych czasach sama wiedza czy znajomość czystej Javy nie zapewnia programiście dobrej czy w ogóle jakiejkolwiek pracy. Większość programistów zna ten problem z autopsji. Dziś pracodawca wymaga aby kandydat posługiwał się sprawnie, którymś z frameworków jak np. Hibernate, Spring, etc. Sam Spring wniósł w życie programisty wiele ulepszeń i sprawił, że wytwarzanie danej aplikacji stało się prostsze, a aplikacja stała się łatwiejsza w utrzymaniu. Niestety sama konfiguracja wymaga solidnej wiedzy i przyprawia co niektórych o ból głowy.

Wychodząc naprzeciw tym wyzwaniom w 2013 na konferencji SpringOne Phil Webb and Dave Syer zaprezentowali nowy produkt o nazwie Spring Boot. Ich założenia były następujące :

  • możliwym najmniejszym nakładem pracy zbudować szkielet dowolnej aplikacji – znacząca minimalizacja konfiguracji
  • bazować na JavaConfig - zrezygnować z XML
  • wykonać możliwie dużo rozdzajów konfiguracji poprzez dodanie tylko odpowiedniego jar'a do classpath'a - autokonfiguracja
  • uprościć prototypowanie – łatwe tworzenie aplikacji typu PoC
  • dać użytkownikowi produkt gotowy do natychmiastowego wdrożenia produkcyjnego
  • wbudować proste możliwości monitorowania stanu aplikacji oraz użytych zasobów - metryki

Założenia te oraz zalety Spring Boot przyniosły mu niebywałą popularność. Prototypowanie aplikacji i próg wejścia w środowisko Spring'a uproszczono do minimum. Te wszystkie czynniki sprawiły, że Spring Boot bardzo dobrze pasuje do nurtu budowy aplikacji opartej na założeniu microserwisów. W skrócie filozofia ta polega na budowaniu niezależnych funkcjonalnych autonomicznych fragmentów aplikacji, nad którymi pracują wydzielone zespoły. Fragmenty te komunikują się ze sobą z odpowiedni ustalony sposób, zapewniają dużą skalowalność, wydajność oraz redundancję serwisów. Dzięki takiemu podejściu projektant może projektować swoje systemy w nowoczesny sposób rezygnując z budowy aplikacji - monolitów, których utrzymanie, koszty wytwarzania, zrozumienie działania oraz analiza staje się dużo bardziej skomplikowana, a wprowadzenie zmian bardziej bolesne.

Kolejny ważny powód dla którego warto korzystać z Spring Boot to prostota wytwarzania aplikacji typu PoC (proof of concept) . Dzięki takiemu podejściu możemy profilować daną funkcjonalność czy dziedzinę problemu, a koszt wytworzenia i przetestowania prototypu jest minimalny. Czegoś takiego w Javie oraz Spring do tej pory nie było. Jeśli dodamy do tego wszystkiego łatwość uruchamiania aplikacji webowej ze zwykłej funkcji main() oraz jasny mechanizm dodawania zależności bez obawy o możliwe konflikty wersji, wybór Spring Boot na start Twojej aplikacji wydaję się być jeszcze bardziej atrakcyjny.

Pomyśl tylko, że zbudowanie dowolnego serwisu opartego na REST współpracującego z dowolną bazą danych, również bazą typu NoSql, zajmie Ci tylko kilka minut (!), a to tylko próbka jego możliwości.

Cel szkolenia

Celem szkolenia jest nabycie praktycznych umiejętności tworzenia aplikacji bazujących na Spring Boot. Uczestnicy zdobędą wiedzę oraz umiejętności ultra szybkiego wytwarzania aplikacji w sytuacji gdy naprawdę czasu na implementację jest mało. Prototypowanie i budowa aplikacji PoC stanie się przejrzysta i zrozumiała. Pozwoli to wejść programiście przez szerokie drzwi w świat rozwiązań typu mikroserwisy.

Co również jest ważne, adresaci dostaną niepowtarzalną możliwość poszerzenia swojej wiedzy na temat samego Springa oraz projektów z nim ściśle związanych, działających pod jego banderą.

Adresaci szkolenia

Adresatami szkolenia są programiści Java pragnący dogłębnie poznać framework Spring Boot. Podczas szkolenia omówimy sobie zasady i wzorce jakimi należy kierować się posługując się wyżej wymienionym frameworkiem. Założenia :

  • uczestnik zna język obiektowy java
  • uczestnik zna przynajmniej podstawy Springa

Czas i forma szkolenia

21 godzin (3 dni x 7 godzin), w tym wykłady i warsztaty praktyczne.

Plan szkolenia

  1. Omówienie koncepcji Spring Boot
  2. Omówienie poszczególnych modułów Spring Boot
  3. Podstawowa konfiguracja z wykorzystaniem frameworków :
    1. maven
    2. gradle
  4. Budowa i konfiguracja aplikacji webowej opartej na :
    1. JSP
    2. Thymeleaf
  5. Integracja z bazami danych :
    1. sql (H2 , mysql )
    2. nosql (mongoDB, Neo4j)
    3. wykorzystanie Spring Data oraz Spring Data Rest do prezentacji oraz utrwalania danych
  6. Budowa i konfiguracja aplikacji typu REST
  7. Zabezpieczanie aplikacji czyli integracja ze Spring Security
  8. Omówienie wbudowanych metryk oraz tworzenie nowych
  9. Omówienie integracji z :
    1. JMS / AMPQ
    2. Social network (twitter, facebook)
  10. Omówienie najlepszych praktyk oraz strategii.

Opinie uczestników