1. 개요
JBoss EAP 6가 JBoss AS7을 기반으로 했다면, EAP 7는 WildFly (http://sarc.io/index.php/was/324-about-widfly-10-1) 10을 기반으로 하고 있다. 그리고 Java EE 인증을 받은 제품이다. 물론 Web Profiles 뿐 아니라 Full Profiles 인증을 받았다.
WildFly 10 기반이기 때문에 Java SE 8 이상을 필요로 한다. 물론 Oracle JDK, OpenJDK 모두 좋다.
2. 차별화된 장점
- 가볍다.
- 빠르다.
- 각종 자원을 덜 쓴다. (메모리, CPU, 네트웍, 포트 등)
- 단일 구성 파일.
- 보안 기능 강화.
- 관리 콘솔 강화. (로그 뷰어 기능, DataSource Template - 위저드 방식)
- Graceful Shutdown. (모든 요청 처리 이후에 중지)
- 개발 생산성 향상. (w/ Jboss Developer Studio)
3. EAP 6에서 삭제된 서브시스템들
- CMP
- JAXR
- Threads
- OSGi
4. 새로운 기능
- WebSocket (NIO를 기반으로 바이너리 전송) : http://sarc.io/index.php/java/185-html-websocket
- JSON 1.0
- Concurrency 1.0
5. 마이크로서비스화
- wildfly-swarm
- jar 파일 하나로 WAS/응용을 모두 담는다.
6. Tomcat
더 이상 Tomcat을 내장하고 있지 않다. (EAP 6까지만..)
이제 Servlet Container는 Undertow를 내장한다. Servlet 3.1, HTTP/2.0, WebSocket(JSR-356) 등등.. 또한 기존 웹 서버의 로드 밸런싱 역할도 대신한다. Multiplexing 방식에 의해 사용하는 포트도 대폭 줄었다. (기본 8080, 9090이라고 보면 됨), 또한 Servlet 4.0 (Tech Preview)...
Undertow에 대한 내용은 http://undertow.io/ 에서 확인해 보자.
메세지는 기존의 HornetQ와 ActiveMQ가 ActiveMQ-Artemis로 통합됐다. https://activemq.apache.org/artemis/ 에서 확인해 보자. (http://sarc.io/index.php/miscellaneous/671-soa-mci-eai-esb)
위에서 잠시 언급한 바와 같이 포트를 덜 쓴다. 애플리케이션 포트 8080과 관리 포트 9090만 쓴다. 고 강조한다. (그런데 ajp는?)
7. HTTP/2.0 (w/ Undertow)
- 바이너리 포맷으로 송수신
- 서버 Push (기존에는 stateless 방식이기 때문에 보내고 받고만 됨)
- 헤더 압축 기능 (HPACK)
- HTTP/2.0을 사용하는지 안하는지는 크롬 브라우저 플러그인으로 확인 가능