На есенната конференция на BGOUG на 20 ноември 2015 в Правец IPT ще представи новости в Java Enterprise Edition 8 – Model-View-Controller (MVC) 1.0 API.
Java EE 8 се очаква да донесе множество подобрения, увеличаващи производителността на софтуерните екипи, които разработват уеб и ентърпрайз приложения.
Сред новостите са:
- CDI 2.0 – ще позволи да се използват CDI Core възможностите за инжектиране на ресурси (dependency injection) в Java SE приложения, асинхронна обработка на събития, аспектно-ориентирано програмиране (interceptors & decorators), както и лесна интеграция с библиотеки на трети страни (open SPI for 3rd party extensions);
- JAX-RS 2.1 – по-пълна REST HATEOAS поддръжка, неблокиращ вход-изход, реактивно програмиране и по-добра интеграция със CDI;
- Новости в уеб слоя – HTTP/2 поддръжка, JSON Binding (JSONB) и JSON Processing (JSON-P – including JSOP Patch & JSON Pointer), Server Sent Events (SSE), както и нов MCV 1.0 action-based web development framework.
MVC 1.0 надгражда опита със съществуващи action-oriented frameworks (Struts, Spring MVC, VRaptor, Play, etc.) и осигурява стандартен, неутрален откъм използваната View технология начин за създаване на уеб приложения. MVC 1.0 използва съществуващи Java EE технологии като CDI и JAX-RS, интегрира се добре с други APIs като Bean Validation (BV), и е по-просто за използване от компонентно ориентирани библиотеки като JSF.
Основните характеристики, предоставяни от MVC 1.0 включват:
- Model-View-Controller взаимодействие и стандартни анотации – @Controller, @View;
- Bootstrapping с използване на javax.ws.rs.core.Application;
- Observable controller matching, view engine selection, and redirection CDI events;
- Bean Validation интеграция и exception mapping;
- Сигурност – предотвратяване на Cross Site Request Forgery (CSRF) и Cross-site scripting (XSS) атаки;
- Избор измежду множество технологии за View спецификация – JSP, Facelets, Freemarker, Handlebars, Jade, Mustache, Velocity, Thymeleaf, и други, както демонстрира референтната имплементация на проекта Ozark (https://ozark.java.net/).
Презентацията включва примерен демо проект, интегриращ разглежданите технологии – MVC 1.0, JAX-RS, CDI, BI.