wild(fly) far and away...• jboss as 6 , as7 java ee 6 • wildfly 8, 9, 10 java ee 7 . project vs...
TRANSCRIPT
![Page 1: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/1.jpg)
Jasoct AS Project Lead May 4, 2011
Wild(Fly) far and away The evolution of the JBoss Application Server Dimitris Andreadis Sr. Engineering Manager Red Hat JBoss EAP/WildFly
twitter: @dandreadis
![Page 2: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/2.jpg)
How it all started? (for me*)
*http://dandreadis.blogspot.ch/2014/10/10-years-on-red-pill.html
![Page 3: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/3.jpg)
JBoss AS/EAP, WildFly Fan(atic)
•2001, JBoss User
•2003, JBoss Committer
•2004, JBoss Full-time Core Developer
•2006, JBoss AS Lead (v3.2.8+, v4.0.4+, v4.2.x, 5.0.x)
•2009, JBoss AS Engineering Manager
•2013, JBoss EAP/WildFly Sr. Engineering Manager
And before JBoss?
•7y experience in distributed systems (telcos, NMS/OSS)
•BSc/MSc Computer Science (Athens/Dublin)
about.me/dandreadis
![Page 4: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/4.jpg)
Agenda
• Enterprise Java
• JBoss AS History
• WildFly Update
![Page 5: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/5.jpg)
Enterprise Java
![Page 6: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/6.jpg)
Application Servers
• Provide a runtime for mission-critical applications
• Solve the Many (clients) to Few (resources) problem
• User code doesn't have to deal with
• Security
• Transactions
• Threading
• Pooling
• Caching
• Connectors
• Messaging
• Clustering
• …
![Page 7: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/7.jpg)
J2EE Timeline
• JPE (May 1998)
• Java Professional Edition project announced at Sun
• J2EE 1.2 (Dec 1999)
• JNDI, Servlet, JSP, EJB, JMS, JTA, JDBC, RMI-IIOP, etc.
• J2EE 1.3 (Sep 2001)
• JCA, JSTL, JAAS, (EJB 2, Servlet 2.3, JSP 1.2, JDBC 2)
• J2EE 1.4 (Nov 2003)
• JFS, JAXP, JAX-RPC, JAXR, JMX, (EJB 2.1, Servlet 2.4, JSP 2.0, JCA 1.5, etc.)
![Page 8: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/8.jpg)
Java EE Timeline
• Java EE 5 (May 2006)
• Annotations based EJB3/JPA, JAX-WS, SAAJ, …
• Java EE 6 (Dec 2009)
• JAX-RS, CDI, Bean Validation, Managed Beans, Interceptors, Web-Profile, pruning process
• Java EE 7 (Jun 2013)
• WebSockets, JSON, Async Servlet, NIO, Batch, Concurrency utilities, JMS 2, JDBC 4, (-CMP, -JSR88), etc.
• Java EE 8 (WIP, expected 2017)
• HTTP/2, SSE, JCache, JSON-B, MVC (-EJB 2, - IIOP), etc.
![Page 9: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/9.jpg)
Java EE Value Proposition
• Comprehensive set of Standard APIs
• Implementations to backup those APIs
• Extensively Tested & Certified to work together
• Backward & Forward Compatibility guarantees
• Reasonable Portability across vendors
![Page 10: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/10.jpg)
Java EE Concerns
• Memory and Disk Footprint
• Container Complexity
• Start-up Speed
• Testability
![Page 11: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/11.jpg)
JBoss AS History
![Page 12: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/12.jpg)
(E)JBoss
• An Open Source J2EE* Server
• Founded by Marc Fleury in 1999
• Backed by a community of developers
• Yet Another Java AppServer (out of 30+)
*J2EE -> Java EE == Java Enterprise Edition
![Page 13: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/13.jpg)
What made JBoss special?
• Open Source
• Commercial Servers at $10k - $100k+
• LGPL licensed
• Freely Use/Distribute/Embed
• Change JBoss => contribute changes back
• Developer friendly
• Easy installation : unzip and run!
• Hot deployment, no pre-compilation steps, etc.
• Innovative design
• Lightweight, modular, dynamic
![Page 14: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/14.jpg)
What made JBoss special?
• Open Source
• Commercial Servers at $10k - $100k+
• LGPL licensed
• Freely Use/Distribute/Embed
• Change JBoss => contribute changes back
• Developer friendly
• Easy installation : unzip and run!
• Hot deployment, no pre-compilation steps, etc.
• Innovative design
• Lightweight, modular, dynamic
*http://burrsutter.blogspot.ch/2007/07/beginning.html
![Page 15: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/15.jpg)
Architectural Innovations
The JBoss MicroKernel
• A lightweight component framework that wires together a set of Services
• Services are de-coupled, invocations are routed through an internal bus
![Page 16: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/16.jpg)
Architectural Innovations
Aspect Oriented Design (since 2001!)
• Interceptor chain created at run-time using Dynamic Proxies
![Page 17: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/17.jpg)
Architectural Innovations
Instant Clustering
• Nodes discover each other using multicast
![Page 18: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/18.jpg)
JBoss AS Timeline
2007 2006 2005 2004 2003
JB
oss V
ers
ions
Time
JBoss AS 4.0.0 – 4.0.5
JBoss AS 4.2.0 – 4.2.3
JBoss AS 5: 5.0.0.GA, 5.0.1.GA
JBoss AS 3.2.0 – 3.2.8
JBoss AS 5.1
2009 2008
J2EE 1.3, JDK 1.3
JMX MicroKernel Architecture
J2EE 1.4 certification
JTS, JDK 1.4
JEE 5.0 compatible,
not certified (95% pass)
JDK5.0, EAP 4.2 basis
JavaEE 5 certification, JDK5 & 6
MicroContainer Architecture
2010 2011
JBoss AS 6.0, 6.1
JBoss AS 7.0, 7.0.1, 7.0.2
JavaEE 6 Web Profile, JDK6
JavaEE 6 Web Profile, JDK6/JDK7
Modular Service Container Architecture
2012
JBoss AS 7.1, 7.1.1
JavaEE 6 Full Profile, JDK6/JDK7
Complete Clustering Support, EAP6 basis
JSF-Based Console, EAP5 basis
Red Hat Acquisition
![Page 19: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/19.jpg)
Project vs EE spec
• JBoss AS 2 J2EE 1.2
• JBoss AS 3 J2EE 1.3
• JBoss AS 4 J2EE 1.4
• JBoss AS 5 Java EE 5
• JBoss AS 6 , AS7 Java EE 6
• WildFly 8, 9, 10 Java EE 7
![Page 20: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/20.jpg)
Project vs EE spec vs Product
• JBoss AS 2 J2EE 1.2
• JBoss AS 3 J2EE 1.3
• JBoss AS 4 J2EE 1.4 EAP 4
• JBoss AS 5 Java EE 5 EAP 5
• JBoss AS 6 , AS7 Java EE 6 EAP 6
• WildFly 8, 9, 10 Java EE 7 EAP 7
*Red Hat JBoss Enterprise Application Platform (EAP)
![Page 21: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/21.jpg)
WildFly vs JBoss EAP
![Page 22: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/22.jpg)
JBoss AS Kernel Taxonomy
• JBoss AS 2.x, 3.x, 4.x
• JBoss JMX MicroKernel
• JBoss AS 5.x, 6.x
• JBoss MC - MicroContainer
• JBoss AS7.x, WildFly 8.x, 9, 10
• JBoss MSC - Modular Service Container
![Page 23: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/23.jpg)
A hard look at the mirror (2010)
• Typical Pain Points
• Excess baggage (legacy subsystems and abstractions)
• Boot time & memory footprint
• Embeadability/testability
• Administration options
• Modularity
• It’s “free and it doesn’t suck” not enough anymore
![Page 24: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/24.jpg)
Getting our Mojo back!
• Major Goals
• Make it Smaller, Faster
• Improve Manageability
• Simplify Configuration
• Clean things up!
• Remove abstraction layers
• Remove legacy stuff
• Modularize
![Page 25: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/25.jpg)
![Page 26: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/26.jpg)
![Page 27: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/27.jpg)
AS7 Innovations - MSC
Modular Services Container (MSC)
• Small, lightweight, and efficient
• Highly concurrent & scalable state machine
• Multiple startup modes
•Active, Passive, On-Demand, Lazy, Never
Concurrent Service Container
Service Controller
Service Registry
Service Builder
Service Deps Value Listeners Injectors
![Page 28: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/28.jpg)
Innovations – JBoss Modules Small, lightweight, and efficient
•Highly concurrent class loading
•Fast with O(1) dependency resolution
“Pure” modular class loading
•Modules only see what they import
•Including JDK classes
External module definitions
•Don’t have to break open the JAR
![Page 29: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/29.jpg)
Modular Class Loading
• A graph of Class Loaders, not a tree
• Modules delegate to one another as peers
• A module imports modules it directly uses
• Transitive dependencies are hidden, by default
• Different module versions may co-exist
![Page 30: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/30.jpg)
modules\org\hornetq\main\module.xml
<module xmlns="urn:jboss:module:1.0" name="org.hornetq">
<resources>
<resource-root path="hornetq-core-2.2.10.Final.jar"/>
<resource-root path="hornetq-jms-2.2.10.Final.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.jms.api"/>
<module name="javax.resource.api"/>
<module name="org.jboss.jts"/>
<module name="org.jboss.netty"/>
</dependencies>
</module>
![Page 31: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/31.jpg)
So What?
![Page 32: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/32.jpg)
#@*%ing fast!
http://community.jboss.org/wiki/AS7StartupTimeShowdown
![Page 33: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/33.jpg)
Boot Time Results
![Page 34: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/34.jpg)
Memory Comparison
![Page 35: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/35.jpg)
@#$% fast: How is it done?
• Concurrent startup/deployments
• Faster resource lookup/classloading
• Annotation indexing
• Caching of reflection metadata
• Lazy loading of (some) services
• StAX based descriptor parsing
• Starting from scratch
![Page 36: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/36.jpg)
Two Operational Modes
Standalone
•Traditional JBoss single JVM server
•Management facilities IN-VM
•No lifecycle management (only shutdown)
Domain
•Multi-JVM, multi-server model
•Management coordinated by Domain Controller Process
•Multiple server instances (JVMs) per Host
•Full lifecycle managed by Process Controller
![Page 37: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/37.jpg)
Domain Mode
![Page 38: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/38.jpg)
User-focused Configuration <bean name="TransactionManager" class="com.arjuna.ats.jbossatx.jta.TransactionManagerService"> <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=TransactionManager", exposedInterface=com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean.class, registerDirectly=true)</annotation> <annotation>@org.jboss.managed.api.annotation.ManagementObject(name="TransactionManager",componentType=@org.jboss.managed.api.annotation.ManagementComponent(type = "MCBean", subtype = "JTA"),targetInterface=com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean.class) </annotation>
<property name="transactionTimeout">300</property>
<property name="objectStoreDir">${jboss.server.data.dir}/tx-object-store</property>
<subsystem xmlns="urn:jboss:domain:transactions:1.0"> <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/> <core-environment socket-binding="txn-socket-process-id"/> </subsystem>
![Page 39: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/39.jpg)
Management APIs
• Command Line Interface (CLI)
• Remote Java API
• HTTP/JSON API
• GWT-based console
• JMX mapping
![Page 40: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/40.jpg)
1st Class Components
![Page 41: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/41.jpg)
WildFly Update
![Page 42: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/42.jpg)
• JBoss Application Server (the project)
• JBoss Company (jboss.com)
• JBoss Community (jboss.org)
• JBoss Projects (e.g. JBoss Cache)
• JBoss Product Line (EAP, SOA-P, etc.)
JBoss Name Overload
![Page 43: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/43.jpg)
![Page 44: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/44.jpg)
V8 Recap
![Page 45: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/45.jpg)
WildFly 8 – Features*
• 100% Java EE7 certified (Web & Full profiles)
• plus CDI 1.2, WebSockets 1.1
• High Performance Web Server (Undertow)
• Port reduction (8080, 9990)
• Update Infrastructure
• Role Based Administration (RBAC)
• Audit Logging
*WildFly 8.0 Final – Feb/2014
![Page 46: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/46.jpg)
EE7 Highlights
![Page 47: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/47.jpg)
EE7 Highlights – New Techs
JSR-352 Batch Applications for the Java Platform
•Runtime & Artifact API, XML-based Job specification lang.
JSR-236 Concurrency Utilities for JavaEE
•Executor, Scheduled Executor, Thread Factory, Context
JSR-353 Java API for JSON Processing (JSON-P)
•Parse, transform and query JSON data
JSR-356 Web Sockets support
•Annotation driven endpoints and lifecycle callbacks
![Page 48: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/48.jpg)
EE7 Highlights – Spec. Updates
JSR-345 EJB 3.2, plus Interceptors 1.2, Annotations 1.2
•Misc. improvements
JSR-340 Servlet 3.1
•Non-blocking I/O, HTTP upgrade, etc.
JSR-342 JMS 2.0
•Shared topic subs, delayed delivery, async send, etc.
JSR-344 JSF 2.2
•HTML 5, FaceFlows, Stateless Views, Resource lib contracts
JSR-322 JCA 1.7
•Activation name for msg endpoints (WTF?)
![Page 49: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/49.jpg)
EE7 Highlights – Optional Techs
Removed in WildFly 8
•EJB 2.1 Entity Beans (CMP/BMP)
•JAX-RPC (API for XML-based RPC)
•JAXR (API for XML Registries)
•JSR-88 (Deployment API)
• it has re-surfaced in JSR 373 (JSR-77 successor) JavaTM EE Management API 2.0
![Page 50: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/50.jpg)
New WebServer - Undertow
• Blocking / non-blocking NIO based APIs
• Composition/handler based architecture
• Lightweight & fully embeddable
• Supports WebSockets, including JSR-356
• Supports Servlet 3.1
• HTTP upgrade
http://undertow.io/
![Page 51: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/51.jpg)
Undertow – Embedded Server
![Page 52: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/52.jpg)
Port Reduction
• HTTP Upgrade allow us to reduce the number of ports in the default installation to just 2:
• 8080 – for applications with JNDI and EJB multiplexed
• 9990 – for management, for both HTTP/JON & Native APIs
• The only overhead is the initial HTTP Upgrade request/response.
![Page 53: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/53.jpg)
Updating an installation
• Preserves configuration and deployments
• Can be applied offline or on a running server
./bin/jboss-cli.sh
[disconnected /] patch apply /wildfly-8.2.0.Final.patch
[disconnected /] quit
patch rollback --reset-configuration=true
patch --help
![Page 54: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/54.jpg)
Administrative Access Control
• Administrative users can be mapped to Roles
• Role = set of Permissions
• Permission:
• Action (access, read/write config, read/write runtime)
• Set of Constraints (target)
• Sensitive resource type, attribute or operation
• Sensitive data
• Audit Resource
• Application Resource
![Page 55: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/55.jpg)
Roles
Monitor – reads non sensitive configuration and state
Operator – Monitor + start/stop server & queues
Maintainer – Operator + deploy Apps & Queues
Deployer – Maintainer + config Apps
Administrator – Maintainer + system config - audit logging
Auditor – Monitor + audit logging config
SuperUser - Everything
![Page 56: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/56.jpg)
Administrative Audit Logging
• Logging of connection / authentication events
• Logging of management operations
• Log Message as JSON Records
• Audit Logging Handlers
• Local file
• Syslog (UDP / TCP / TLS)
![Page 57: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/57.jpg)
V9 Update
![Page 58: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/58.jpg)
WildFly 9 – Features*
• Core/Full Split and Servlet-only distribution
• Front-end load balancer with mod_cluster support
• Undertow HTTP/2 & SPDY support
• Graceful shutdown (suspend(timeout)/resume)
• Switching to the JDK ORB from JacORB
• Offline CLI Mode
• etc.
*WildFly 9.0 Final – Jul/2015
![Page 59: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/59.jpg)
WildFly-Core
Base Runtime for WildFly server includes
• Modular class loading
• Modular Service Container
• Unified management, including domain mode
• Basic deployment architecture
• CLI for management
• Logging
• JMX
MSC JBoss
Modules DMR Controller Threads
Core Infrastructure
Server Controller Service
Deployers VFS Jandex Reflect Cache
Repository
![Page 60: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/60.jpg)
WildFly-Web
• Servlet-Only distribution
• Undertow and Naming added
Include your own frameworks
![Page 61: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/61.jpg)
WildFly distro extensions
WF-Full ~380 services
![Page 62: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/62.jpg)
WF-Servlet distro extensions
WF-Servlet ~100 services
![Page 63: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/63.jpg)
WF-Core distro extensions
WF-Core ~58 services
![Page 64: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/64.jpg)
Experimental: wildfly-swarm*
Turn your .war into a fat jar with just enough of the WildFly Runtime to support your use case
• Include the wildfly-swarm-plugin in your pom.xml
• Declare any dependencies on: Undertow, JAX-RS, Naming/JNDI, Transactions, Messaging, Datasources, Logging, Weld/CDI, MSC Security
*http://wildfly.org/news/2015/05/05/WildFly-Swarm-Released/
![Page 65: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/65.jpg)
Experimental: wildfly-swarm
[ Write your own main() to override default configuration and reference it in your MANIFEST.MF ]
Voila!
java –jar myapp-swarm.jar
(boots in < 1sec)
![Page 66: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/66.jpg)
WF/Undertow as Load Balancer
• Full Java solution controlled centrally
• Implements mod_cluster
• HTTP, HTTP/2, AJP
http://blog.eisele.net/2015/01/developer-interview-di-11-stuart-douglas-about-wildfly9-undertow.html
![Page 67: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/67.jpg)
HTTP/2 (vs HTTP/v1.x)
Primary goal of HTTP/2 is to reduce latency and make efficient use of the TCP connection.
![Page 68: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/68.jpg)
Undertow HTTP/2 support
HTTP/2 characteristics
• Binary Framing
• Request/Response multiplexing
• Header compression (HPACK)
• Stream prioritization
• Server Push
• HTTP Upgrade or NPN/ALPN*
Undertow implements HTTP/2 (& SPDY)
*requires special JDK8 setup
![Page 69: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/69.jpg)
JSR-369 Servlet 4.0
Brings HTTP/2 Support to Java EE8
• Server Push
• Stream Prioritization
• Request/Response Multiplexing
JEP 110: HTTP/2 Client
• Basic Protocol Support in Java SE 9
• new HTTP client API that implements HTTP/2 and WebSocket, and can replace the legacy HttpURLConnection API
http://stackoverflow.com/questions/10480122/difference-between-http-pipeling-and-http-multiplexing-with-spdy
![Page 70: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/70.jpg)
Server Push with Undertow
http://undertow.io/blog/2015/03/25/Server-Push.html
or use the Undertow Learning Push Handler
• learns which requested resources are requested per page and pushes them proactively
![Page 71: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/71.jpg)
Graceful Shutdown
• Essentially suspend(timeout) / resume()
• Allow active sessions/requests/in-flight-tx to complete
• After suspend the server may be restarted
• Action per subsystem may vary
• Reject new requests (HTTP Error 503 - Service unavailable)
• Clustering could fail over sessions
• mod_cluster could notify load balancer
• …
![Page 72: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/72.jpg)
V10 Update
![Page 73: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/73.jpg)
Alpha1 – May/15th
Alpha2 – Jun/2nd
Alpha3 – Jun/16th
Alpha4 – Jun/30th
…bi-weekly
CR1 – Sep/2015 We are Here
CR2 – Sep/2015
Final – Oct/2015
WF 10 – Roadmap
![Page 74: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/74.jpg)
WF10 Features
• WildFly Core v2
• Require Java 8+
• HornetQ ActiveMQ Artemis
• JMS Graceful Shutdown
• HA Singleton Deployments
• Improved UI for large domains
• Hierarchical Profiles
• Offline CLI for Domain Mode
• Server-side JavaScript support (Undertow.js)
![Page 75: Wild(Fly) far and away...• JBoss AS 6 , AS7 Java EE 6 • WildFly 8, 9, 10 Java EE 7 . Project vs EE spec vs Product • JBoss AS 2 J2EE 1.2 • JBoss AS 3 J2EE 1.3 • JBoss AS](https://reader036.vdocuments.mx/reader036/viewer/2022071509/6129d907be8f9430ca467525/html5/thumbnails/75.jpg)
http://wildfly.org/joinus/