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. 새로운 기능


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을 사용하는지 안하는지는 크롬 브라우저 플러그인으로 확인 가능