Курсът Web Programming with Java™ Technology: Servlet™ 3.0, JSP™, JSTL, EL, JSF 2.1, Facelets & Templating, AJAX, Comet е първият от двата курса запознаващи с дълго очакваната шеста версия на Java Enterprise Edition (Java EE 6) излязла в края на 2009. Сред новостите в Java EE 6 са подобрените възможности за разширяване с допълнителни технологии и дефинирането на профили, които представляват съгласувано (под)множество от Java технологии адресиращи конкретна нужда или област на разработка. Курсът запознава с Уеб профила на Java EE 6, а детайлното представяне на пълния профил е задача на втория курс Java™ Enterprise Technologies (Java EE 6) - EJB 3.1, Web Services, JAX-RS, JAXB, JNDI™, JTA™, JMS™, JAAS™, JPA 2.0.
Уеб профилът на Java EE 6 предлага нови, по-ефективни начини за бързо създаване на динамични уеб приложения с богат потребителски интерфейс и асинхронна комуникация със сървъра (AJAX). Сред ключовите технологии, намерили място в новата версия, са Servlet 3.0 и JSF 2.1, които позволяват на уеб проектите още по-добро разделяне на труда между уеб дизайнери и програмисти.
Уеб дизайнерите ще получат значително по-големи възможности и свобода и ще могат без нужда от програмиране да реализират основната част от динамичната функционалност на сайта с помощта на Facelets (новият HTML-подобен стил за визуализиране на динамичните компоненти в страниците), Templating (начин за постигане на стандартен изглед при голям брой страници и избягване на повторението), композиция на компоненти и вградена поддръжка на AJAX от JSF 2.1 без нужда от явно използване на JavaScript.
За уеб програмистите също има предимства: отпадане на необходимостта от деклариране на уеб компонентите (сървлети, филтри, слушатели на събития) в описател на внедряването (web.xml) чрез използване на анотации в уеб слоя, автоматично интегриране на избраните web frameworks, по-ефективно използване на нишките чрез асинхронна обработка на HTTP заявки в Servlet 3.0, възможност за интегриране на managed beans (POJO/ EJB) чрез Contexts and Dependency Injection (CDI), осигуряваща транзакционна поддръжка в уеб слоя, Singletons, гъвкавост при пакетирането на приложенията.
Като цяло отделянето на част от Java EE 6 технологиите в нов уеб профил дава повече възможности за бързо включване на начинаещите програмисти в екипите за уеб разработка на компаниите.
Участниците в настоящия курс ще бъдат запознати както с традиционните Java Web технологии, като Java™ Servlets™ и Java™ Server Pages (JSP™), така и с част от изброените по-горе технологични новости. Курсът представя детайлите при изграждането на динамични уеб-приложения с използване на широкоразпространената трислойна софтуерна архитектура – презентационен слой, бизнес логика и слой за съхранение на данни (Model 2). Въвежда в разработката на интерфейсни компоненти за уеб с използване на Java™ Servlets™ технология, тяхната структура и жизнен цикъл. Динамичната обработка на заявки от уеб-клиентите и проследяването на сесии са представени на базата на примери. Специално внимание е отделено на новите възможности в Servlet 3.0 API – асинхронна обработка на заявките, автоматично регистриране на сървлети, филтри и слушатели на събития свързани с жизнения цикъл на уеб приложението и неговите компоненти декларативно, с помощта на анотации в кода. Специфични подобрения в Servlet 3.0 API са също допълнителните методи за програмна сигурност (authenticate, login, logout), HTTP-Only Cookies и автоматизирана поддръжка на file uploads (анотация @MultipartConfig). Курсът продължава с разглеждане на Java™ Server Pages JSP™ изрази, скриптлети, декларации, променливи, структуриране, изграждане на собствени JSP™ тагове и интеграция с други Java™ сървърни технологии (Java Beans™, сървлети, JDBC™). Акцентира се върху новостите като JavaServer Pages Standard Tag Library (JSTL) и JSP 2.1 Expression Language (EL), който предоставя стандартен и лесен начин за достъп до данните на приложението от JSP страници и се интегрира с JSTL и JSF. Курсът включва също начално запознаване с технологията за ефективно управление на обектите съхраняващи данни във външна база от данни – Java™ Persistence API (JPA). В хода на курса ще бъдат представени примери за интегриране на новите технологии като Java Server Faces (JSF) 2.1, Facelets & Templating, Asynchronous JavaScript + XML (AJAX), Comet Serrver Push, Managed Beans (POJO/ EJB) и др. Ще бъдат включени и задачи за самостоятелна разработка от участниците с възможност за индивидуална консултация. Реализираните приложения ще бъдат инсталирани на уеб сървъри Apache Tomcat и GlassFish v3. Детайлно се разглежда структурата на дескриптора на разпространение (web.xml), както и алтернативният подход с използване на анотации в кода.
Курсът се води от Траян Илиев - квалифициран преподавател с 12-годишен педагогически стаж във ФМИ на СУ и практически опит в управлението и разработката на бизнес софтуерни проекти (еGovernment, eLearning, WebTV, Web-based GPS Tracking, Web 2.0 Mashups, JavaScript Portlets).
Участниците в курса е необходимо предварително да познават и да могат практически да използват езиците Java™ и XML.