本培训是关于 Wildfly 10 所使用的技术体系
包含了 Java EE 规范和Wildfly应用服务器本身的内容
本文是技术大纲内容,具体的培训内容在分小节培训资料中
2016/1 Wildfly 10 发布
2016/5 EAP 7 发布,基于Wildlfy 10开发
新一代的红帽商业支持版本,完整的JavaEE 7 规范实现
Java实现的事件驱动 Web 容器
借鉴 Nginx 设计思路
NIO 网络底层实现机制
同时支持阻塞和非阻塞IO模型
支持Websocket和HTTP/2
Wildfly9时,从Wildfly服务器分离出来
不再和JavaEE规范实现代码耦合
对于JBoss其他项目,如Keycloak,core是一个坚实的基础服务器架构
小尺寸28M
方便开发人员开发和部署基于Servlet的应用
配合部署Spring框架的应用
重新构建安全基础架构
替代原有PicketBox+JAAS的组合作为wildfly安全核心
可配置的SSL
若干子系统的优雅停机方案
服务器临时挂起
极大的改进了可用性
标准安装对外端口减少为两个,更好的适应云端部署
应用端口 8080
管理端口 9990
Web Console的加强和改进
Cli控制台的加强
Web, EJB, Hibernate等多处支持集群能力
EJB中SFSB和MDB的池化得到加强,配置更方便
前半部分为Spring框架直接采用的EE规范,或者是完全支持的
后半部分是Java EE中分布式相关,和Spring竞争的一些规范
2013年6月发布
包含30多项规范集合
支持Websocket,以及更多的异步改造
加入Batch规范,但Cache没来得及加入
Java Web开发的基石
Servlet规范的重要接口,Http协议的映射。
无状态网络请求和拦截模式,监听接口。
Context上下文,Session带入状态信息,服务端处理的几种方式
异步处理方式,对通用web服务器的线程模型的改进
规范定义的打包方式和插件机制
Servlet 4.0规范加入HTTP/2支持的展望
信息发布时代的网页模板技术,JSP是Servlet的延伸
JSP渲染引擎的分析
其他模板工具,Freemarker和Thymeleaf
EL表达式语言
MVC经典设计模式,各个层次的职责
正在设计中的规范,会成为Java EE8的组成,Ozark是RI参考实现
和 Spring MVC的对比分析
Rest基于HTTP的语义级别无状态协议,面向资源定义,考虑幂等性,互联网应用友好
传递信息方式,格式文本json/xml,通用解析工具,DOM/SAX/Stax解析方式对比
GET/POST/PUT/DELETE方法,接口设计原则,语义可读性
HATOES状态传递方式
JaxRS规范和API讲解
多种环境可用,JavaSE/Servlet
JaxRS Client
异步处理方式
基本WebService规范,SOAP,WSDL,UDDI
WebService架构和SOA相关标准
WebService由RPC技术演变而来,不成功的原因分析,适用的场景。
前身JaxRPC
JaxWS和JAXB规范,核心API
JDK自带的JaxWS工具
HTTP协议之上的二进制双向传输
Upgrade协商过程,浏览器和服务器如何处理
和客户端JS之间的互动过程
JDBC API分析,连接状态
常用连接池特性
iBatis等框架介绍
JPA是持久对象和关系模型在内存中的映射,正确使用的场景
Entity及操作,对象之间关系表示
JPA查询接口分析
Metadata和Metamodel
数据库的事务能力和JPA事务封装
JTA API
分布式事务
并发大敌,事后一致性优化系统整体效率
消息总体结构,消息头,消息体的设计
消息的发送和接收,加解密,压缩
连接管理,消息队列管理
XML和二进制消息
JMS1.1接口
JMS2.0版本的改进和优化
STOMQ协议介绍
AMQP协议介绍
EJB的历史演进,程序员的误解
EJB3的新生,EJB规范的庞大集合分析
SLSB/SFSB/MDB/Sington/Timer,企业应用设计不可缺少
EJB的线程安全模型和企业级特性
远程EJB的有用之处和无奈,EJBLite的用武之地
微服务和EJB在设计上的相通之处
DI规范
CDI是DI规范针对企业应用开发的扩展
CDI规范详解,Scope/Stereotypes/LifeCycle/Decorator/Event/Portable extensions
CDI是揭示了对象间关系本质的规范
AOP是设计模式还是设计思路
JavaEE中的规范,BeanValidation和Inteceptor公有规范
Java JDK和JavaEE实现AOP的多种方法,代码编译/类加载/运行时
JNDI命名服务概念和实现
JNDI在JavaEE中重要的地位
LDAP介绍和映射到JNDI
JavaEE中,安全信息在对象上下文中传递
JAAS框架介绍以及在JavaEE中的应用
Web层的安全介绍
EJB层的安全介绍
JCA层的安全相关接口
理解JSF体系结构,请求处理和状态传递,生命期处理过程
构建Web应用,使用JSF自定义的基本Tag
应用ManagedBeans/CDI Beans处理业务逻辑
应用EventListener/Validator/Convertor
如何创建组合UI
Java EE规范定义的Concurrency能力
各个规范中的异步改进点
对于系统效能提高的分析
JCA规范和API讲解
同外部系统连接,传递上下文信息,提供事务/安全等能力
现实应用场景,连接池,遗留系统连接
Map和Cache相同和不同之处
缓存数据的驱逐和过期
分布式缓存是互联网应用的重要基础服务
JCache API接口设计
规范API说明
实现分析
类OSGi模块化项目
负责类加载和隔离,并发加载能力
module文件层次
Ioc是软件设计模式总结的必然产物
Spring诞生和设计原则,xml文件为直观的对象组合方案
充分应用Java的annotation,Guice框架分析
异步并发轻量级Ioc框架
内核状态改变
代码分析
Controller
JBossDMR和ModelNode
JBoss Cli
Server服务器整体架构
服务器启动过程分析
内置服务分析
DeploymentFramework架构分析
war/ear部署过程
扩展定义自己的包进行部署
子系统挂接结构分析
子系统范例分析
如何开发自己的子系统
域模式管理多个节点和统一部署
域模式的服务和架构分析
启动流程和通信交互分析
Web控制台界面
GWT图形框架
控制台代码结构
对控制台进行扩展
线程池原理
项目代码分析
Web, EJB等模块使用线程池
线程池调优
XNIO项目,基于Java NIO的异步网络框架
JBossRemoting代码分析
RPC技术综述
Wildfly-Elytron项目
SASL和SSL的支持
JDK安全能力
系统的主要调优关键点
GC分析
Heap dump分析
历史发展及内核演变
JNDI命名约定,和子系统schema
配置文件和部署方式
配置方法和调优
数据源高可用支持
上游JCA实现项目Ironacamar分析
按照Nginx架构设计的新一代Web容器
异步事件驱动模型
Wildfly web子系统
反向代理的配置使用
架构分析和Core API说明,同步和异步调用
强大灵活的配置方式
CacheStore接口和几种实现,File/JDBC/LevelDB
事务处理和锁定并发模型
运行模式,集群配置方法。Replication/Distribution,原理分析
高效的HotRod接口,Rest接口,Memcached接口
作为Hibernate二级缓存和WebServer的Session manager
查询接口,和Lucene配合使用
Infinispan的集群支持,Web,EJB等
配合mod_cluster实现高级集群功能
域模式的集群和容错能力
NamingServer的实现分析
分布式和高可用服务器
对比ZooKeep等分布式服务能力
Resteasy实现分析
代码范例解析
集成到Wildfly中
ORM产品,ActiveRecord和贫血充血设计方法之争
Hibernate的高级特性
二级缓存提升效率和避免误用
Hibernate OGM介绍
Weld是CDI规范参考实现,代码分析
介绍Seam2
Apache Deltaspike项目是CDI扩展集合
CDI和EJB,CDI和SpringFramework的区别和相关分析
集成到Wildfly中
设计思路和架构分析
自有API使用说明,使用管理接口
网络连接管理,LinuxAIO使用
文件存储设计原理和实现
消息流控制,拥塞管理
事务处理
集群,高可用的配置和实现分析
集成到Wildfly中
CXF核心架构,Bus/Messaging/Inteceptor/Feature
前端编程模型,代码优先/WSDL优先,provider/Dispatch,动态客户端技术
数据绑定DataBinding, JAXB/XMLBeans
传输协议,HTTP,JMS
服务模型ServiceModel和绑定Binding
WS-*标准的支持
在Wildfly中的集成应用
Session实现分析
MDB实现分析
池化能力
本地和远程的区别
单件和Timer EJB实现分析
对JTA/JTS的支持
Corba事务能力
分布式事务
集成到wildfly
PicketBox项目分析
BouncyCastle应用说明
集成到wildfly中
各个模块的安全相关配置