Simple Steps: szkolenia Java, UML i BPMN
"przypomina nieco Sapkowskiego‚ nieco Tolkiena‚ a najbardziej chyba Grę o tron" - szczere-recenzje.pl, "Lektura tej książki wciągnęła mnie bez reszty. Z niecierpliwością czekam na więcej" - Maria Górska, "jeżeli macie ochotę na dobre‚ mocne high fantasy - nie macie wyboru‚ musicie sięgnąć po Wojny Żywiołów" - biblioteczka..., "genialna‚ wciągająca i intrygująca" - Ewelina Kiełbasińska, "Gorąco polecam!" - Addicted to books, "fabuła brzmi po prostu świetnie!" - kasiek-mysli.blogspot.com, "Jest to pozycja obowiązkowa dla każdego fana fantastyki" - moje-ukochane-czytadelka.blogspot.com, "Miałam wrażenie‚ że z każdą kolejną stroną roztacza się przede mną zupełnie inny świat" - biblioteczkaciekawychksiazek, "Zdecydowanie polecam‚ bo jest to kawał dobrze napisanego polskiego high fantasy!" - biblioteczkaciekawychksiazek, "mogę polecić wszystkim fanom tego gatunku" - zapiski-okularnicy.pl, "wciągnie nie tylko fanów fantastyki‚ ale i każdego czytelnika" - subiektywinie.blogspot.com, "Nie spodziewałam się‚ że aż tak mnie wciągnie." - zapiski-okularnicy.pl, "Jest to powieść zdecydowanie warta uwagi." - in-corner-with-book.blogspot.com, "nie mogę się już doczekać‚ kiedy dorwę tom drugi" - biblioteczkaciekawychksiazek.blogspot.com, "Poleciłabym zdecydowanie osobom gustującym w fantastyce" - marzenieliterackie.blogspot.com, "zachwyca także złożoność i różnorodność wątków" - szczere-recenzje.pl, "Nie mogę się doczekać kiedy znów przeniosę się do tego świata" - moje-ukochane-czytadelka.blogspot.com, "Najchętniej od razu sięgnęłabym po kolejną część." - zapiski-okularnicy.pl, "nie spodziewałam się tego po fantasy" - Ewelina Kiełbasińska, "książkę gorąco wam polecam!" - kasiek-mysli.blogspot.com, "autor cały czas utrzymywał mnie w napięciu i ciekawości" - moje-ukochane-czytadelka.blogspot.com, "książkę mogę z czystym sumieniem polecić wszystkim fanom gatunku" - Globster na lubimyczytac.pl, "to książka‚ która pobudziła moją wyobraźnię i ciekawość." - zapiski-okularnicy.pl, "Nie ma tu miejsca na nudę" - in-corner-with-book.blogspot.com

Szkolenia Java, UML i BPMN: Programowanie w JEE


Programowanie w JEE

Programowanie w JEE (EJB, JPA, JSF)

Kod szkolenia: JAVA-JEE

Adresaci szkolenia

Szkolenie adresowane jest do osób, które w krótkim czasie chcą poznać JEE na poziomie umożliwiającym samodzielne wytwarzanie kodu.
Tak do programistów warstwy prezentacji, biznesowej, zasobów jak i integracji, chcących wytwarzać oprogramowanie w oparciu o standardy JEE (EJB, JPA, JSF, BeanValidation, CDI).

Cele szkolenia

Celem szkolenie jest nabycie umiejętności programowania wszystkich warstw w oparciu o standardy JEE. Szkolenie łączy w sobie program kilku tygodni innych szkoleń, zatem naszym celem nie jest poznanie wszystkich niuansów technologicznych, a skupienie się na najważniejszych aspektach technologii, wykorzystywanych przez większość czasu wytwarzania oprogramowania w JEE.
Tak jak w zasadzie góry lodowej (20% na wierzchu, 80% pod spodem) - poznajemy te 20% API, które będzie potrzebne przez 80% czasu programowania. Wspomniana metafora nie oddaje prawdziwych proporcji poznanego API, niemniej oddaje ideę i cele szkolenia. Dlatego w ciągu 5 dni uczestnicy są w stanie poznać nie tylko technologie EJB, JPA, JSF i Bean Validation (co daje łącznie 11 dni osobnych szkoleń), a także CDI na poziomie umożliwiającym im swobodną pracę w rzeczywistych projektach.
Na szkoleniu świadomie pomijane, lub minimalizowane są tematyki zaawansowane, które są mniej przydatne w codziennej pracy a na których omówienie i przećwiczenie jest czas na szkoleniach dedykowanych.

Czas trwania szkolenia

5 dni, po 8 godzin. Łącznie 40 godzin(y) szkolenia.

Oczekiwane przygotowanie słuchaczy przed szkoleniem

Od uczestników wymaga się podstawowej znajomości HTML, SQL i umiejętności programowania w języku Java.

Polecane szkolenia uzupełniające

Szkolenie poprzedzające - Programowanie w Java (JAVA-PRO).
W naszej ofercie znajdują się również szkolenia uzupełniające w zakresie JEE: JAVA-WYD, JAVA-EJB, JAVA-JSF, JAVA-WS, JAVA-JPA.
A także szkolenia na wyższych poziomach: projektowanie (JAVA-WZO) i architektura (JAVA-ARCH)

Program szkolenia

  1. Wprowadzenie do JEE
    • 3 modele aplikacji
      1. Web-centric
      2. Application-centric
      3. Enterprise
    • Wymagania na systemy klasy Enterprise
    • Standardy JEE
      1. Specyfikacje JEE
        1. JSTL
        2. JSF
        3. JAAS
        4. JTA
        5. JPA
        6. JNDI
        7. JMS
        8. Pozostałe specyfikacje JEE
      2. Komponenty JEE
        1. Obsługi HTTP
          1. Servlety
          2. Strony JSP
        2. Komponenty EJB
          1. Sesyjne
            1. Statefull
            2. Stateless
            3. Singleton (od EJB 3.1 - JEE6)
          2. MDB
          3. Encyjne (do EJB 2.x)
          4. Komunikacja z komponentami EJB
        3. WebService
      3. Kontenery JEE
        1. Servletów
        2. Serwer Aplikacyjny
    • Architektura Enterprise
      1. Architektura oparta na rozproszonych komponentach
      2. Problemy architektury komponentowej
      3. Usługi serwera aplikacji JEE
      4. Architektura wielowarstwowa
      5. Architektura typu Enterprise w JEE
  2. Komponenty EJB
    • Sesyjne EJB
      1. Rodzaje dostępów
        1. Zdalny @Remote
        2. Lokalny @Local
        3. Lokalny bezinterfejsowy @LocalBean (od EJB 3.1 - JEE6)
      2. Klient EJB
        1. Podstawy JNDI
        2. Zdalne użycie EJB
        3. Lokalne użycie EJB
        4. Lokalne użycie EJB bez interfejsu
      3. Bezstanowe EJB @Stateless
        1. Cechy
        2. Tworzenie
        3. Cykl życia
          1. @PostConstruct
          2. @PreDestroy
      4. Stanowe EJB @Stateful
        1. Cechy
        2. Tworzenie
        3. Cykl życia
          1. @PostConstruct
          2. @PrePassivate
          3. @PostActivate
          4. @PreDestroy
          5. @Remove
      5. Singleton EJB @Singleton (od EJB 3.1 - JEE6)
        1. Cechy
        2. Tworzenie
        3. Cykl życia
          1. @PostConstruct
          2. @PreDestroy
          3. @Startup
          4. @DependsOn
        4. Synchronizacja Singleton EJB
    • MDB - Message Driven Bean
      1. Podstawy JMS
        1. Kanały kounikacji
          1. Topic
          2. Queue
        2. Słuchacze
          1. MessageListener
          2. Message
        3. Producenci
          1. ConnectionFactory
          2. Connection
          3. Session
          4. Message
            1. BytesMessage
            2. MapMessage
            3. ObjectMessage
            4. StreamMessage
            5. TextMessage
          5. MessageProducer
      2. Tworzenie MDB
        1. @MessageDriven
        2. @ActivactionConfigProperty
          1. Komunikacja na kolejkach Queue
          2. Komunikacja na tematach Topic
          3. Selekcja odbiorców
            1. messageSelector
            2. Message properties
          4. Trwali odbiorcy (subscriptionDurability)
          5. Potwierdzanie dostarczenia (acknowdlegeMode)
      3. Cykl życia
        1. @PostConstruct
        2. @PreDestroy
  3. Zarządzanie zależnościami
    • Odnajdywanie elementów w JNDI
    • Zależności EJB
      1. @EJB - wstrzykiwanie
      2. @EJBs
    • Zależności zasobów (JDBC, JMS, obiekty kontekstowe)
      1. @Resource - wstrzykiwanie
      2. @Resources
    • Obiekty kontekstowe
      1. EJBContext
      2. SessionContext
      3. MessageDrivenContext
  4. Transakcje
    • Założenia - ACID
    • Sterowanie transakcjami
      1. Określanie typu sterowania
        1. @TransactionManagement
        2. @TransactionManagementType
      2. Propagacja kontekstu transakcji
      3. Transakcje zarządzane przez EJB
        1. UserTransaction
      4. Transakcje zarządzane przez kontener
        1. @TransactionAttribute
        2. Poziomy transakcyjności @TransactionAttributeType
          1. REQUIRED
          2. REQUIRES_NEW
          3. SUPPORTS
          4. NOT_SUPPORTED
          5. MANDATORY
          6. NEVER
        3. Transakcje a API EJBContext
          1. setRolbackOnly
          2. getRolbackOnly
        4. Transakcje a wyjątki
          1. Wyjątki systemowe
          2. Wyjątki aplikacyjne
          3. @ApplicationException
    • Transakcje rozproszone
      1. Transakcja lokalna a rozproszona
      2. Zatwierdzanie dwuetapowe - 2PC
        1. Standard X/Open
        2. Manager transakcji (TX)
        3. Manager zasobów (XA)
      3. JTA jako rozwiązanie w Javie
      4. Konfiguracja JDBC
  5. Przegląd pozostałych cech EJB
    • Zadania czasowe i asynchroniczne
      1. Podstawy Timer'ów EJB
      2. Metody planowane @Schedule (od EJB 3.1 - JEE6)
      3. Metody asynchroniczne @Asynchronous (od EJB 3.1 - JEE6)
    • Bezpieczeństwo
      1. Kontrola adnotacją @RolesAllowed
      2. Przedstawienie pozostałych adnotacji bezpieczeństwa
        1. @PermitAll
        2. @DenyAll
        3. @RunAs
        4. @DeclareRoles
      3. Kontrola poprzez API EJBContext
      4. Konfiguracja
    • Intercepting
      1. Idea AOP
      2. Interceptory deklarowane w API
      3. Interceptory deklarowane w XML
      4. Co dalej - CDI
  6. Produkcja EJB
    • Paczka jar z EJB
    • Paczka ear
    • EJB w paczkach war (od EJB 3.1 - JEE6)
      1. EJB lite
      2. EJB w aplikacjch desktopowych (od EJB 3.1 - JEE6)
      3. Kontener zagnieżdżony (embedded)
      4. EJBContainer
    • Lokalizacja EJB a nazwa JNDI
  7. Podstawy JPA
    • Czym jest ORM
      1. Idea mapowania obiektów na relacje
      2. ORM a DAO
      3. JPA jako standard ORM
    • Tworzenie klas trwałych JPA
      1. @Entity
      2. @Id
      3. @GeneratedValue
      4. Dostęp do wartości
        1. Przez pole
        2. Przez własność (get, set)
    • Zarządzanie trwałością JPA
      1. Konfiguracja JPA
        1. persistenace.xml
        2. orm.xml
      2. EntityManager
        1. PersistanceUnit
        2. Cykl życia encji
          1. New
          2. Managed
          3. Deatached
          4. Removed
        3. API zarządzania trwałością
    • Integracja z JPA
      1. Poza kontenerem
        1. Persistance
        2. EntityManagerFactory
      2. W kontenerze
        1. @PersistanceUnit
        2. @PersistanceContext
        3. Extended EntityManager
  8. Relacje w JPA
    • Obiekty zagnieżdżone
      1. @Embeddable
      2. @Embedded
    • Relacje między obiektami
      1. @OneToOne
      2. @OneToMany
      3. @ManyToOne
      4. @ManyToMany
    • Optymalizacje
      1. @JoinColumn
      2. Leniwa inicjalizacja (lazy loading)
        1. Konfiguracja FetchType.LAZY
        2. LazyInitializationException
        3. Problem n+1 zapytań
    • Relacje dwukierunkowe
      1. Definiowanie
      2. Strona bierna - pułapki przy zmianach
    • Kaskadowe zatwierdzanie zmian
      1. CascadeType
        1. ALL
        2. DEATACH
        3. MERGE
        4. PERSIST
        5. REFRESH
        6. REMOVE
      2. Atrybut orphanRemoval (od JPA 2.0 - JEE6)
    • Kolekcje w relacjach typu wiele
      1. @OrderBy
      2. @OrderColumn (od JPA 2.0 - JEE6)
      3. @MapKey
  9. Dziedziczenie w JPA
    • @Inheritance
    • Strategie dziedziczenia InheritanceType
      1. TABLE_PER_CLASS
      2. JOINED
        1. @PrimaryKeyJoinColumn
      3. SINGLE_TABLE
        1. @DiscriminatorColumn
        2. @DiscriminatorValue
    • Konsekwencje wydajnościowe
    • Wyłączenie dziedziczenia ze schematu
      1. @MappedSuperclass
        1. @AttributeOverride, @AttributeOverrides
        2. @AssociationOverride, @AssociationOverrides
  10. Obiektowy język zapytań JPQL
    • Wykonywanie zapytań
      1. EntityManager
      2. Query
      3. TypedQuery<T> (od JPA 2.0 - JEE6)
      4. Zapytania zmiany danych
      5. Zapytania z wynikiem
      6. Ograniczanie wyników zapytania
      7. Zapytania parametryzowane
    • Składnia JPQL
      1. Podstawowe klauzule zapytania
      2. Operatory
      3. Funkcje
      4. Wyrażenia czasu
        1. Bieżący czas
          1. CURRENT_DATE
          2. CURRENT_TIME
          3. CURRENT_TIMESTAMP
        2. Literały czasu (od JPA 2.0 - JEE6)
      5. Zapytania polimorficzne
      6. Zapytania zagnieżdżone
      7. Złączanie tabel
      8. Obiekty transferowe - SELECT new
      9. Sprawdzanie typu obiektu
        1. Sprawdzenie class
        2. TYPE (od JPA 2.0 - JEE6)
      10. Instrukcje warunkowe (od JPA 2.0 - JEE6)
        1. NULLIF
        2. COALESCE
        3. CASE
      11. Kolekcje w JPQL (od JPA 2.0 - JEE6)
        1. Kolekcje w operatorze IN
        2. Kolejność w kolekcji - INDEX
        3. Odwołania do map
          1. KEY
          2. VALUE
          3. ENTRY
    • Zapytania nazwane
      1. Definiowanie
        1. @NamedQuery
        2. @NamedQueries
        3. @QueryHint
      2. Użycie
      3. Zalety
    • Czym są zapytania natywne
  11. Definiowanie schematu bazy danych
    • Typy
      1. @Lob
      2. @Enumerated
      3. @Temporal
      4. @Transient
      5. @Version
    • Kolumny
      1. @Basic
      2. @Column
    • Automatyczne generowanie kluczy
      1. @GeneratedValue
      2. GenerationType
        1. AUTO
        2. IDENTITY
        3. SEQUENCE
          1. @SequenceGenerator
        4. TABLE
          1. @TableGenerator
    • Klucze złożone
      1. Definiowanie kluczy złożonych
        1. @IdClass
          1. @Id
        2. @EmbeddedId
          1. @Embeddable
          2. @AttributeOverride
          3. @AttributeOverrides
          4. @MapsId (od JPA 2.0 - JEE6)
      2. Wyszukiwanie po kluczach złożonych
    • Tabele
      1. @Table
        1. @UniqueConstraint
      2. @JoinTable
        1. @JoinColumn
      3. @JoinColumns
      4. @SecondaryTable, @SecondaryTables
        1. @PrimaryKeyJoinColumn
      5. @PrimaryKeyJoinColumns
      6. @CollectionTable (od JSF 2.0 - JEE6)
  12. Walidacja danych - Bean Validation (JEE6)
    • Reguły w modelu
    • Wbudowane reguły walidacji
      1. @AssertTrue, @AssertFalse
      2. @Min, @Max
      3. @DecimalMin, @DecimalMax
      4. @Digits
      5. @Size
      6. @Pattern
      7. @Null, @NotNull
      8. @Past, @Future
    • Cross Field Validation - walidacja względna
    • Grupy ograniczeń
      1. Grupa domyślna
      2. Własne grupy
      3. Hierarchia grup
      4. Sekwencje grup @GroupSequence
        1. Własna grupa domyślna dla klasy
    • Walidacja w API
      1. Różne środowiska wykonania
        1. Użycie w JPA
        2. Użycie w JSF
        3. Użycie w kontenerze
        4. Użycie poza kontenerem
      2. Zakresy walidacji
        1. Klasa
        2. Atrybut
        3. Wartość dla atrybutu
        4. Grupa
      3. Wynik błędu
        1. Klasa ConstraintViolation
        2. Komunikaty błędów
          1. W ograniczeniach
          2. Internacjonalizacja komunikatów
          3. Nadpisanie komunikatów domyślnych
          4. Komunikaty a JSF
      4. Walidacja struktur obiektów
        1. Walidacja kolekcji i tablic
        2. Walidacja obiektów powiązanych (@Valid)
        3. Grupa domyślna a struktury obiektów
    • Integracja JPA z BeanValidation
      1. Walidacja a relacje JPA
      2. Obsługa błędów walidacji - ConstraintViolationException
      3. Zmiana domyślnych opcji walidacji
        1. W persistance.xlm
        2. Przez Persistence
      4. JPA a grupy walidacji
        1. Walidacja a cykl życia
        2. Wiązanie grup z cyklem życia
  13. Podstawy JSF
    • Spagetti komunikacyjne
    • MVC
    • Model obsługi żądania JSF
      1. Etapy obsługi żądania
        1. Restore View
        2. Apply Request Values
        3. Process Validations
        4. Update Model values
        5. Invoke Application
        6. Render Response
      2. Obsługa formularzy w JSF
        1. Żądanie inicjujące
        2. Żądanie zwrotne
    • Wymagania projektu JSF
      1. Struktura
      2. Biblioteki
      3. web.xml
      4. faces-config.xml
  14. Podstawy tworzenia aplikacji w JSF
    • Proste widoki
      1. Prosty widok JSP
      2. Prosty widok XML
    • Logika w JSF
      1. Managed Beans
        1. Czym jest Managed Bean
        2. Ograniczenia metod Managed Bean
        3. Metody parametryzowane (od JSF 2.0)
      2. Zasięgi widoczności (scopes)
        1. application
        2. session
        3. flash (od JSF 2.0)
        4. view (od JSF 2.0)
        5. request
        6. none
        7. Własne zasięgi
      3. Definiowanie Managed Beans
        1. Za pomocą adnotacji (od JSF 2.0)
        2. W XML
      4. EL - odwołania do Manages Beans w widokach
      5. Wstrzykiwanie zależnych Manages Beans
        1. Za pomocą adnotacji (od JSF 2.0)
        2. W XML
    • Nawigacja między widokami
      1. Mapowanie bezpośrednie (od JSF 2.0)
        1. W widokach
        2. W logice
        3. Z parametrami
          1. Przekierowanie (faces-redirect)
          2. Bookmarkability (includeViewParams)
      2. Mapowanie w XML
        1. Bezwarunkowe
        2. Warunkowe (od JSF 2.0)
        3. Reguły wyboru
  15. Podstawowe komponenty widoków JSF
    • Biblioteki komponentów
      1. Komponenty prezentacji (biblioteka h)
      2. Komponenty logiki (biblioteka f)
    • Komponenty wejściowe
      1. Pola tekstowe
        1. h:inputText
        2. h:inputSecret
        3. h:inputHidden
        4. h:inputTextArea
      2. Pola wyboru
        1. Definiowanie wartości wyboru
          1. f:selectItem
          2. f:selectItems
        2. Pola jednokrotnego wyboru
          1. h:selectBooleanCheckbox
          2. h:selectOneRadio
          3. h:selectOneMenu
          4. h:selectOneListbox
        3. Pola wieokrotnego wyboru
          1. h:selectManyCheckbox
          2. h:selectManyMenu
          3. h:selectManyListbox
    • Komponenty wyjściowe
      1. h:outputText
      2. h:outputLabel
      3. h:outputLink
      4. h:outputFormat
      5. h:outputScript (od JSF 2.0)
      6. h:outputStylesheet (od JSF 2.0)
      7. h:graphicImage
    • Komponenty dekorujące
      1. h:dataTable
        1. h:column
        2. f:facet header
        3. f:facet footer
      2. h:panelGrid
      3. h:panelGroup
      4. h:form
    • Komponenty wywołania logiki
      1. h:commandButton
      2. h:commandLink
    • Internacjonalizacja w JSF
      1. f:loadBoundle
      2. Konfiguracja internacjonalizacji
    • Inne komponenty JSF
      1. f:view
      2. f:subview
      3. f:metadata (od JSF 2.0)
        1. f:viewParam
        2. h:link
        3. h:button
      4. f:verbatim
      5. f:attribute
      6. f:param
    • Podsumowanie komponentów nawigacji
      1. h:outputLink
      2. h:commandLink
      3. h:commandButton
      4. h:link
      5. h:button
  16. Budowa formularzy w JSF
    • Formularze powiązane z logiką
    • Język wyrażeń EL
      1. Szczegóły języka EL
      2. Wyrażenia natychmiastowe a odroczone
        1. Notacja kropkowa
        2. Notacja []
        3. Operatory
        4. Wywołanie funkcji
      3. Obiekty EL dostępu do danych
        1. applicationScope
        2. sessionScope
        3. viewScope (od JSF 2.0)
        4. requestScope
        5. pageScope
        6. flash
        7. param
        8. paramValues
        9. header
        10. headerValues
        11. cookie
        12. initParam
    • Konwersja danych
      1. Konwersja a cykl obsługi żądania
      2. Konwersja standardowa automatyczna
      3. Konwersja standardowa nieautomatyczna
        1. f:convertNumber
        2. f:convertDateTime
      4. Konwersja niestandardowa
        1. f:converter
    • Walidacja danych
      1. Walidacja a cykl obsługi żądania
      2. Natywna walidacja danych w JSF
        1. Standardowa
          1. atrybut required
          2. f:validateRequired (od JSF 2.0)
          3. f:validateLength
          4. f:validateLongRange
          5. f:validateDoubleRange
          6. f:validateRegex (od JSF 2.0)
        2. Niestandardowa
          1. f:validator
          2. Dynamiczne określenie walidacji
        3. Problemy walidacji JSF
      3. Bean Validation - prosta walidacja danych (od JSF 2.0)
        1. Walidacja na adnotacjach
          1. @Min, @Max
          2. @Size
          3. @Null, @NotNull
          4. @Future, @Past
          5. @Pattern
        2. Reguły w modelu danych
        3. Integracja z JSF (od JSF 2.0)
          1. Domyślna
          2. f:validateBean
          3. Dynamiczne określenie walidacji
    • Komunikaty błędów
      1. Komunikaty globalne (h:messages)
      2. Komunikaty powiązane (h:mesage)
      3. Definiowanie komunikatów własnych
        1. Poprzez komponenty
        2. Nadpisując standardowe
  17. Budowa widoków złożonych - Facelets
    • Co daje Facelets
      1. Szablony (template)
      2. Znaczniki
      3. Komponenty złożone
    • Facelets w JSF 1.x a 2.0
    • Idea szablonów
    • Prosta cegiełka
      1. ui:decorate
      2. ui:param
    • Szablon zewnętrzny
      1. ui:insert
      2. ui:include
    • Strona używająca szablonu
      1. ui:composition
      2. ui:define
  18. Podstawy modelu zdarzeń
    • Model nasłuchu zdarzeń
    • Zdarzenia i listenery (FacesListener)
    • Podpinanie listenerów
  19. AJAX i JSF
    • Czym jest AJAX
    • Natywne wsparcie (od JSF 2.0)
      1. Zasięg widoku (view)
      2. f:ajax
      3. API JavaScript jsf.ajax
    • Biblioteka ajax4jsf
      1. ajax4jsf a f:ajax
      2. Wybrane komponenty ajax4jsf
        1. a4j:ajax dawniej a4j:supportv
        2. a4j:outputPanel
        3. a4j:status
        4. a4j:pool
        5. a4j:commandButton
        6. a4j:commandLink
      3. Optymalizacje komunikacji AJAX
        1. a4j:region
        2. a4j:queue
        3. a4j:attachQueue
        4. Parametry optymalizacyjne
      4. Instalacja ajax4jsf
    • Komponenty RichFaces
      1. Czym się różni RichFaces od ajax4jsf
      2. Wybrane komponenty RichFaces
        1. Walidacja
          1. rich:graphValidator
          2. rich:messages
          3. rich:message
        2. Struktury danych
          1. rich:list
          2. rich:dataTable
            1. rich:column
            2. rich:columnGroup
            3. rich:dataScroller
          3. rich:tree
        3. Panele
          1. rich:panel
          2. rich:collapsiblePanel
          3. rich:popupPanel
          4. rich:togglePanel
            1. rich:togglePanelItem
          5. rich:tabPanel
            1. rich:tab
          6. rich:accordion
            1. rich:accordionItem
        4. Menu
          1. rich:panelMenu
            1. rich:panelMenuGroup
            2. rich:panelMenuItem
          2. rich:toolbar
            1. rich:toolbarGroup
          3. rich:dropdownMenu
            1. rich:menuGroup
            2. rich:menuItem
            3. rich:menuSeparator
        5. Różne (szybki przegląd)
          1. rich:autocomplete
          2. rich:calendar
          3. rich:editor
          4. rich:fileUpload
          5. rich:progressBar
          6. rich:pickList
      3. Instalacja RichFaces
    • IceFaces jako konkurencja RichFaces
  20. API JSF
    • Wstrzykiwanie zasobów do Managed Beans (od JSF 1.2)
      1. @Resource, @Resources
      2. @EJB, @EJBs
      3. @WebServiceRef, @WebServiceRefs
      4. @PersistanceContext, @PersistanceContexts
      5. @PersistanceUnit, @PersistanceUnit
    • Metody cyklu życia Managed Beans
      1. @PostConstruct
      2. @PreDestroy
    • Najważniejsze klasy i interfejsy w JSF
      1. FacesContext
      2. FacesMessage
      3. ExternalContext
      4. Application
      5. Dynamiczne definiowanie elementów listy
        1. SelectItem
        2. SelectItemGroup
    • Obiekty EL dostępu do API
      1. facesContext
      2. pageContext
      3. view
      4. request
      5. session
      6. application
  21. Wstrzykiwanie zależności - CDI
    • Beany zarządzalne
      1. Po Co CDI?
      2. Zarządzalne POJO
        1. @ManagedBean
        2. @PostConstruct
        3. @PreDestroy
      3. Rozszerzenia ManagedBean
      4. Wdrożenie
        1. Wspierane środowiska
        2. beans.xml
      5. Problemy
    • Wstrzykiwanie zależności
      1. @Inject
      2. Punkty wstrzyknięć
        1. Atrybuty klasy
        2. Atrybuty metod
        3. Atrybuty konstruktorów
          1. Ograniczenia
        4. Set'tery
    • Sterowanie wstrzykiwaniem
      1. Zgodność typów
        1. Polimorfizm
        2. Ograniczanie widocznych typów @Typed
      2. Kwalifikatory
        1. Dodatkowy mechanizm sterowania wstrzykiwaniem
          1. Specjalna adnotacja
          2. Wiele kwalifikatorów
          3. Miejsca wstawiania kwalifikatorów
        2. Predefiniowane kwalifikatory
          1. @Any
          2. @Named
          3. @Default
        3. Kwalifikatory parametryzowane
          1. Parametry kwalifikatora a wstrzykiwanie
          2. Wyłączanie parametrów @Nonbinding
        4. Tworzenie własnych kwalifikatorów
          1. @Qualifier
          2. @Nonbinding
      3. Zakresy i obiekty kontekstowe
        1. @ApplicationScoped
        2. @SessionScoped
        3. @ConversationScoped
          1. Czym jest konwersacja
          2. Sterowanie konwersacją (Conversation)
        4. @RequestScoped
        5. @Dependent (pseudo zakres)
        6. Zakresy CDI a inne technologie
          1. EJB
          2. JSF
    • Fabryki i destruktory obiektów zarządzanych
      1. Fabryki @Produces
        1. Pola fabrykujące
        2. Metody fabrykujące
          1. @New
      2. Fabryki a inne technologie JEE
        1. Definiowanie zasobów
        2. Użycie zasobu
        3. Zasoby wbudowane
          1. Walidacji: Validator, ValidationFactory
          2. Transakcji: UserTransaction
          3. Bezpieczeństwa: Principal
      3. Metody niszczące @Disposes
    • Przegląd pozostałych elementów CDI
      1. Podstawy API CDI
        1. Punkt wstrzyknięcia InjectionPoint
        2. Wyszukiwanie przez Instance
      2. Specjalizaje
        1. Dziedziczenie a CDI (@Inherited)
        2. Specjalizacja @Specializes
      3. Alternatywy
        1. Czym są alternatywy
        2. Tworzenie alternatyw @Alternative
        3. Konfiguracja alternatyw (beans.xml)
      4. Stereotypy
        1. Czym są stereotypy
        2. Predefiniowane stereotypy
          1. Decorator
          2. Interceptor
          3. Model
        3. Tworzenie własnych stereotypów @Stereotype
      5. Interceptory
        1. Działanie jak w EJB
          1. @InterceptorBinding
          2. @Interceptor
          3. @AtoundInvoke
          4. InvocationContext
        2. A nawet więcej - parametry adnotacji
        3. Konfiguracja interceptorów (beans.xml)
      6. Dekoratory
        1. Różnice miedzy dekoratorem a interceptorem
        2. Tworzenie dekoratorów @Decorator
        3. Wstrzykiwanie dekoratorów @Delegate
        4. Konfiguracja dekoratorów (beans.xml)
      7. Model zdarzeń
        1. Czym jest zdarzenie
        2. Rozgłaszanie zdarzeń (Event)
        3. Definiowanie obserwatorów @Observers
          1. Obserwacja warunkowa
          2. Nasłuch na fazy transakcji (TransactionPhase)

simple-steps.pl, simplesteps.pl są własnością SIMPLE Podbielski Michał