Języki

Erudis - your road to knowledge
Tworzenie skalowalnych aplikacji w języku Java

Opis szkolenia

Aplikacje WWW w coraz szerszym zakresie zastępują aplikacje desktopwe, w konsekwencji, ze względu na rosnącą liczbę użytkowników, coraz bardziej palący jest problem wydajności ich i potencjalnej skalowalności.

Dodatkowo pojawia się coraz więcej aplikacji mobilnych, które potrzebują, często całkiem złożonego, backendu serwerowego, który aktualizuje udostępnia dane dla aplikacji mobilnej. Ze względu na charakter urządządzeń mobilnych, backend musi działać szybko i wymagać do komunikacji możliwie małej ilości danych.

Nasze szkolenie koncentruje się na dwóch podstawowych zagadnieniach: projektowaniu skalowalnej architektury aplikacji oraz wyborze odpowiedniego zestawu technologii, które pozwolą ją zaimplementować. Będziemy bazować na rozwiązaniach architektonicznych sprawdzonych w rzeczywistych wdrożeniach i opierać się na wypróbowanych technologiach Java, mających przewidywalną przyszłość.

W czasie szkolenia będziemy omawiać różnego typu rozwiązania architetoniczne, poznawać ich wady i zalety. Skoncentrujemy się na tworzeniu aplikacji opartych o interfejs REST. Zajmiemy się kwestiami oprogramowania dostępu do bazy danych, wyborze bazy SQL lub NoSQL. Szkolenie z założenia jest praktyczne, z tego powodu omówimy, między innymi, zagadnienia związane z testowaniem aplikacji i jej wdrażaniem.

W czasie szkolenia będzie zajmować się także technologiami nie związanymi ściśle z protokołem HTTP (np. Netty).

Dla kogo

Szkolenie jest przeznaczone dla programistów Java, które chcą tworzyć skalowalen aplikacje serwerowe.

Wymagania wstepne

  • Znajomość podstaw języka Java (składnia języka, obsługa wyjątków, wejście/wyjście w Javie, podstawowe pakiety SDK: java.util, java.lang)
  • Znajomość podstaw technologii Java Servlets oraz Java Server Pages (JSP)

Najważniejsze uzyskane umiejętności

  • Projektowanie skalowalnej architektury aplikacji
  • Poznanie technologii Java, które pozwalają tworzyć wydajne aplikacje, informacja o technologiach, które mogą powodować problemy wydajnościowe
  • Poznanie Spring Framework i JAX-RS

Program szkolenia

  1. Skalowalna architektura aplikacji. Separacja interfejsu użytkownika (frontend) i silnika aplikacji (backend). Architektura REST. Wybór bazy danych; bazy SQL i NoSQL - wady i zalety, obszar zastosowań.
  2. Komunikacja z bazą danych: wykorzystanie Spring JDBC
    • Szybki start ze Springiem. Wstrzykiwanie zależności. Konfiguracja aplikacji Spring. Właściwości ApplicationContext. Cykl życia komponentów Spring.
    • Programowanie aspektowe (ang. Aspect Oriented Programming – AOP). Praktyczne wykorzystanie aspektów.
    • Aplikacja bazodanowe. Konfiguracja połączenia z bazą danych. Wykorzystanie wsparcia Spring do tworzenia zapytań bazodanowych (JdbcTemplate). Zarządzanie transakcjami.
  3. Alternetywne sposoby pracą z bazą danych - JPA, Hibernate; potencjalne problemy wydajnościowe
  4. Testowanie aplikacji Spring. Wykorzystanie Mockito.
  5. Implementacja architektury REST. Standard JAX-RS.
    • Projektowanie API REST - reprezentacja danych i usług poprzez URI
    • Tworzenie aplikacji REST w praktyce. Wykorzystanie formatu JSON.
    • Zarządzanie sesją w aplikacjach REST. Tworzenie aplikacji całkowicie bezstanowych.
    • Autoryzacja i uwierzytelnianie w aplikacjach REST.
  6. Świat poza WWW/HTTP. Samodzielne tworzenie bardzo wydajnych serwerów. Asynchroniczne wejście/wyjście. Zastosowanie Netty.
  7. Alternatywne rozwiązania z poza świata Java - Node.js.
  8. Temat dodatkowy (w wersji szkolenie 4 dniowego): tworzenie interfejsu użytkownika przy pomocy JavaScript/AJAX
    • Programowanie w języku JavaScript. Obiektowość, JavaScript jako język funkcyjny.
    • Wykorzystanie AJAX-a do komunikacji z backendem aplikacji. Modyfikacja DOM strony. Praca z jQuery.

Sprawy organizacyjne

Czas trwania szkolenia: 3 dni lub 4 dni (w przypadku szkolenia 4 dniowego uwzględniony jest temat związany z tworzeniem interfejsu użytkownika)

Cena netto:szkolenie 3 dni: 2700 PLN, szkolenie 4 dni: 3200 PLN

Forma: wykład + ćwiczenia


Szkolenia dedykowane

Cena, czas trwania szkolenia dedykowanego jest uzależniony od potrzeb klienta i rozmiaru koniecznych modyfikacji szkolenia standardowego. W celu ustalenia szczegółów i warunków szkolenia prosimy o skontaktowanie się z nami e-mailem (szkolenia@erudis.pl) bądź telefonicznie.


Zgłoszenia

Osoby zainteresowane szkoleniem prosimy o wypełnienie formularza zamówienia: wersja PDF lub RTF i wysłanie go e-mailem (szkolenia@erudis.pl) lub faxem.