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: Aplikacje webowe w JSF


Aplikacje webowe w JSF

Aplikacje webowe w Java Server Faces (JSF)

Kod szkolenia: JAVA-JSF

Adresaci szkolenia

Szkolenie kierowane jest do programistów warstwy webowej, chcących obsługiwać żądania HTTP w Javie za pomocą wysoko-poziomowego API JSF 2, ze wsparciem AJAX.
Szkolenie przydatne jest zarówno programistom nie posiadającym jeszcze znajomości JSF, jak i tym, którzy używali starej wersji i chcą poznać zmiany jakie zaszły w JSF 2, tak aby szybciej wytarzać oprogramowanie w oparciu o adnotacje dostarczane wraz z nową specyfikacją.
Nowe elementy z JSF 2 są wyraźnie zaznaczone i porównane ze starymi, dlatego szkolenie pozwoli również uczestnikom na ewentualną pracę w starej specyfikacji JSF 1, jeśli zajdzie taka potrzeba.

Cele szkolenia

Celem szkolenia jest nabycie umiejętności wytwarzania profesjonalnych aplikacji webowych w oparciu o trzywarstwowy model MVC, którego standardem API w Javie jest JSF.
Szkolenie skupia się na szybkim wytarzaniu komponentów opierając się na usprawnieniach JSF 2, które są używane w ramach ćwiczeń. Jednocześnie pokrótce przedstawiane są alternatywne starsze rozwiązania JSF 1, aby uczestnicy byli w stanie również przejąć utrzymanie starszych produktów.
Jako, że szkolenie jest mocno praktyczne, ćwiczone są niezbędne obecnie komponenty oparte na komunikacji AJAX.

Czas trwania szkolenia

4 dni, po 8 godzin. Łącznie 32 godzin(y) szkolenia.

Oczekiwane przygotowanie słuchaczy przed szkoleniem

Od uczestników wymaga się podstawowej znajomości HTML 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-WS, JAVA-JPA, JAVA-JEE.
A także szkolenia na wyższych poziomach: projektowanie (JAVA-WZO) i architektura (JAVA-ARCH)

Program szkolenia

  1. 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
  2. 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
  3. 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
  4. 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
  5. Bean Validation
    • 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
    • Tworzenie własnych ograniczeń
      1. Podstawy tworzenia adnotacji
      2. Własne ograniczenia
        1. Własne adnotacje ograniczeń
        2. Własny walidator (ConstraintValidator)
      3. Ograniczenia wielokrotne
        1. Lista tych samych ograniczeń
        2. Ograniczenia zagregowane
          1. Ograniczenia na ograniczeniach
          2. @ReportAsSingleViolation
          3. @OverridesAtribute
  6. 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
    • Pozostałe cechy Facelets
      1. ui:component
      2. ui:repeat
      3. Funkcje EL
      4. Tworzenie komponentów
        1. composite:interface
        2. composite:attribute
        3. composite:implementation
  7. Zdarzenia w JSF
    • Model nasłuchu zdarzeń
    • Zdarzenia i listenery (FacesListener)
      1. ActionEvent - ActionListener
        1. Automatyczne przepisanie wartości (f:setPropertyActionListener)
      2. ValueChangeEvent - ValueChangeListener
      3. DataModelEvent - DataModelListener
      4. PhaseEvent - PhaseListener
      5. SystemEvent - SystemEventListener (od JSF 2.0)
    • Podpinanie metod nasłuchujących
      1. Atrybut actionListener
      2. Atrybut valueChangeListener
      3. f:event dla SystemEvent (od JSF 2.0)
      4. Ograniczenia metod nasłuchujących
    • Podpinanie listenerów
      1. f:actionListener
      2. f:valueChangeListener
      3. f:setPropertyActionListener
      4. f:phaseListener
      5. DataModel.addDataModelListener
      6. Adnodacje listenerów zdarzeń systemowych (od JSF 2.0)
        1. @ListenerFor
        2. @ListenersFor
    • Zdarzenia a cykl przetwarzania żądania
      1. Kolejność wykonywania zdarzeń
      2. Natychmiastowe wykonanie zdarzeń (immediate)
  8. 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
  9. 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
    • Komponenty od strony API
      1. Wiązanie logiki z widokiem (BackingBeans - binding)
      2. Klasy komponentów
        1. UIColumn
        2. UICommand
        3. UIComponent
        4. UIComponentBase
        5. UIData
        6. UIForm
        7. UIGraphic
        8. UIInput
        9. UIMessage
        10. UIMessages
        11. UINamingContainer
        12. UIOutcomeTarget
        13. UIOutput
        14. UIPanel
        15. UIParameter
        16. UISelectBoolean
        17. UISelectItem
        18. UISelectItems
        19. UISelectMany
        20. UISelectOne
        21. UIViewParameter
        22. UIViewRoot
      3. Klasy komponentów HTML
        1. HtmlBody
        2. HtmlColumn
        3. HtmlCommandButton
        4. HtmlCommandLink
        5. HtmlDataTable
        6. HtmlDocument
        7. HtmlForm
        8. HtmlGraphicImage
        9. HtmlInputHidden
        10. HtmlInputSecret
        11. HtmlInputText
        12. HtmlInputTextarea
        13. HtmlMessage
        14. HtmlMessages
        15. HtmlOutcomeTargetButton
        16. HtmlOutcomeTargetLink
        17. HtmlOutputFormat
        18. HtmlOutputLabel
        19. HtmlOutputLink
        20. HtmlOutputText
        21. HtmlPanelGrid
        22. HtmlPanelGroup
        23. HtmlSelectBooleanCheckbox
        24. HtmlSelectManyCheckbox
        25. HtmlSelectManyListbox
        26. HtmlSelectManyMenu
        27. HtmlSelectOneListbox
        28. HtmlSelectOneMenu
        29. HtmlSelectOneRadio
    • Konfiguracja JSF
      1. Wybrane parametry web.xml
        1. javax.faces.CONFIG_FILES
        2. javax.faces.DEFAULT_SUFFIX
        3. javax.faces.FACELETS_SUFFIX
        4. javax.faces.LIFECYCLE_ID
        5. javax.faces.STATE_SAVING_METHOD
        6. javax.faces.FACELETS_SKIP_COMMENTS
        7. javax.faces.PROJECT_STAGE
        8. javax.faces.VALIDATE_EMPTY_FIELDS
        9. javax.faces.validator.DISABLE _DEFAULT_BEAN_VALIDATOR
      2. Wyszukiwanie plików zasobów
    • Najważniejsze klasy i interfejsy w JSF
      1. FacesContext
      2. FacesMessage
      3. ExternalContext
      4. Application
      5. ValueBinding
      6. MethodBinding
      7. 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
  10. Tworzenie własnych komponentów JSF
    • Tworzenie konwerterów
      1. Stworzenie (interfejs Converter)
      2. Rejestracja
        1. @FacesConverter (od JSF 2.0)
        2. Rejestracja w XML
      3. Użycie (f:converter)
      4. Skojarzenie konwertera z typem danych
      5. Własny znacznik konwertera
    • Tworzenie walidatorów
      1. Walidacja przez metodę (atrybut validator)
      2. Stworzenie walidatora
        1. Interfejs Validator
        2. @FacesValidator (od JSF 2.0)
      3. Użycie (f:validator)
      4. Własny znacznik walidacji
    • Tworzenie komponentów
      1. Logika komponentu
        1. UIComponent
        2. UIComponentBase
      2. Generowanie komponentu
        1. Bezpośrednie
        2. Poprzez Renderer'a
          1. Renderer
          2. RendererKit
      3. Rejestracja komponentu
      4. Własny znacznik komponentu
        1. UIComponentTag
        2. UIComponentBodyTag
    • Wartości komponentów między żądaniami HTTP
      1. StateHolder
      2. Serializacja

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