SlideShare a Scribd company logo
1 of 63
WildFly App Server
State of the Union
Dimitris Andreadis
Sr. Engineering Mgr
Red Hat JBoss EAP / WildFly
twitter: @dandreadis
How it all started? (for me*)
*http://dandreadis.blogspot.ch/2014/10/10-years-on-red-pill.html
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
Agenda
• WildFly pre-History
• WildFly V8 Recap
• WildFly V9 Update
• WildFly Swarm & V10
WildFly*
pre-History
*the server once called JBoss Application Server
JBoss AS Timeline
20072006200520042003
JBossVersions
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
20092008
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
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
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)
WildFly vs JBoss EAP
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
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
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
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
modulesorghornetqmainmodule.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>
So What?
#@*%ing fast!
http://community.jboss.org/wiki/AS7StartupTimeShowdown
Boot Time Results
Memory Comparison
@#$% 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 
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
Domain Mode
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.jb
oss.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>
Management APIs
• Command Line Interface (CLI)
• Remote Java API
• HTTP/JSON API
• GWT-based console
• JMX mapping
1st Class Components
JBoss Name Overload
• 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.)
Why Rename JBoss?
V8 Recap*
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
EE7 Highlights
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
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?)
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 
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/
Undertow – Embedded Server
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.
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
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
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)
V9 Update
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
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
WildFly-Web
• Servlet-Only distribution
• Undertow and Naming added
Include your own frameworks
WildFly distro extensions
WF-Full ~380 services
WF-Servlet distro extensions
WF-Servlet ~100 services
WF-Core distro extensions
WF-Core ~58 services
WildFly Swarm*
*WildFly broken apart
Microservices
Perfect Storm!
Applications &
Services
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/
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)
V9 Update
(cont.)
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
HTTP/2 (vs HTTP/v1.x)
Primary goal of HTTP/2 is to reduce latency and make
efficient use of the TCP connection.
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
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
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
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
• …
V10 Update
Alpha1 – May/15th
Alpha2 – Jun/2nd
Alpha3 – Jun/16th
Alpha4 – Jun/30th
…bi-weekly
CR1 – Sep/2015
CR2 – Sep/2015
CR3 – Oct/2015
CR4 – Today?  We are Here
Final – Nov/2015
WF 10 – Roadmap
WF10 Features
• Requires Java 8+
• HornetQ  ActiveMQ Artemis
• Hibernate 5
• JMS Graceful Shutdown
• HA & MDB Singleton Deployments
• Improved UI for large domains
• Hierarchical Profiles
• Offline CLI for Domain Mode
• Server-side JavaScript support (Undertow.js)
with hot reloading
http://wildfly.org/downloads/
http://wildfly.org/joinus/

More Related Content

What's hot

Never Upgrade Again With Siebel Innovation Packs
Never Upgrade Again With Siebel Innovation PacksNever Upgrade Again With Siebel Innovation Packs
Never Upgrade Again With Siebel Innovation PacksJerome Leonard
 
Netmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW ArchitectureNetmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW ArchitectureChris Changmo Yoo
 
BGP (Border Gateway Protocol)
BGP (Border Gateway Protocol)BGP (Border Gateway Protocol)
BGP (Border Gateway Protocol)NetProtocol Xpert
 
WebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overviewWebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overviewChris Sparshott
 
Multi-Cloud Global Server Load Balancing (GSLB)
Multi-Cloud Global Server Load Balancing (GSLB)Multi-Cloud Global Server Load Balancing (GSLB)
Multi-Cloud Global Server Load Balancing (GSLB)Avi Networks
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
 
Troubleshooting BGP
Troubleshooting BGPTroubleshooting BGP
Troubleshooting BGPAPNIC
 
Chapter 14 : vlan
Chapter 14 : vlanChapter 14 : vlan
Chapter 14 : vlanteknetir
 
Telecommunication network architecture
Telecommunication network architectureTelecommunication network architecture
Telecommunication network architectureTapio Meskanen
 
Websphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsWebsphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsBiju Nair
 
Network Function Virtualization : Overview
Network Function Virtualization : OverviewNetwork Function Virtualization : Overview
Network Function Virtualization : Overviewsidneel
 
NFV management and orchestration framework architecture
NFV management and orchestration framework architectureNFV management and orchestration framework architecture
NFV management and orchestration framework architecturesidneel
 
Exchange server.pptx
Exchange server.pptxExchange server.pptx
Exchange server.pptxVignesh kumar
 
IBM WebSphere Application Server (Clustering) Concept
IBM WebSphere Application Server (Clustering) ConceptIBM WebSphere Application Server (Clustering) Concept
IBM WebSphere Application Server (Clustering) Conceptejlp12
 
WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsMaarten Smeets
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack NetworkingIlya Shakhat
 
Network Function Virtualization : Infrastructure Overview
Network Function Virtualization : Infrastructure OverviewNetwork Function Virtualization : Infrastructure Overview
Network Function Virtualization : Infrastructure Overviewsidneel
 
PLNOG 13: Emil Gągała: EVPN – rozwiązanie nie tylko dla Data Center
PLNOG 13: Emil Gągała: EVPN – rozwiązanie nie tylko dla Data CenterPLNOG 13: Emil Gągała: EVPN – rozwiązanie nie tylko dla Data Center
PLNOG 13: Emil Gągała: EVPN – rozwiązanie nie tylko dla Data CenterPROIDEA
 

What's hot (20)

Never Upgrade Again With Siebel Innovation Packs
Never Upgrade Again With Siebel Innovation PacksNever Upgrade Again With Siebel Innovation Packs
Never Upgrade Again With Siebel Innovation Packs
 
Jboss Tutorial Basics
Jboss Tutorial BasicsJboss Tutorial Basics
Jboss Tutorial Basics
 
Netmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW ArchitectureNetmanias L2,L3 Training (5) L3 SW Architecture
Netmanias L2,L3 Training (5) L3 SW Architecture
 
BGP (Border Gateway Protocol)
BGP (Border Gateway Protocol)BGP (Border Gateway Protocol)
BGP (Border Gateway Protocol)
 
WebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overviewWebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overview
 
Multi-Cloud Global Server Load Balancing (GSLB)
Multi-Cloud Global Server Load Balancing (GSLB)Multi-Cloud Global Server Load Balancing (GSLB)
Multi-Cloud Global Server Load Balancing (GSLB)
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
Troubleshooting BGP
Troubleshooting BGPTroubleshooting BGP
Troubleshooting BGP
 
Chapter 14 : vlan
Chapter 14 : vlanChapter 14 : vlan
Chapter 14 : vlan
 
Telecommunication network architecture
Telecommunication network architectureTelecommunication network architecture
Telecommunication network architecture
 
Websphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentalsWebsphere MQ (MQSeries) fundamentals
Websphere MQ (MQSeries) fundamentals
 
Network Function Virtualization : Overview
Network Function Virtualization : OverviewNetwork Function Virtualization : Overview
Network Function Virtualization : Overview
 
Samba
SambaSamba
Samba
 
NFV management and orchestration framework architecture
NFV management and orchestration framework architectureNFV management and orchestration framework architecture
NFV management and orchestration framework architecture
 
Exchange server.pptx
Exchange server.pptxExchange server.pptx
Exchange server.pptx
 
IBM WebSphere Application Server (Clustering) Concept
IBM WebSphere Application Server (Clustering) ConceptIBM WebSphere Application Server (Clustering) Concept
IBM WebSphere Application Server (Clustering) Concept
 
WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck Threads
 
OpenStack Networking
OpenStack NetworkingOpenStack Networking
OpenStack Networking
 
Network Function Virtualization : Infrastructure Overview
Network Function Virtualization : Infrastructure OverviewNetwork Function Virtualization : Infrastructure Overview
Network Function Virtualization : Infrastructure Overview
 
PLNOG 13: Emil Gągała: EVPN – rozwiązanie nie tylko dla Data Center
PLNOG 13: Emil Gągała: EVPN – rozwiązanie nie tylko dla Data CenterPLNOG 13: Emil Gągała: EVPN – rozwiązanie nie tylko dla Data Center
PLNOG 13: Emil Gągała: EVPN – rozwiązanie nie tylko dla Data Center
 

Viewers also liked

WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.Dimitris Andreadis
 
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionJBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionDimitris Andreadis
 
WildFly BOF and V9 update @ Devoxx 2014
WildFly BOF and V9 update @ Devoxx 2014WildFly BOF and V9 update @ Devoxx 2014
WildFly BOF and V9 update @ Devoxx 2014Dimitris Andreadis
 
Desktop|Embedded Application API JSR
Desktop|Embedded Application API JSRDesktop|Embedded Application API JSR
Desktop|Embedded Application API JSRAndres Almiray
 
Apresentação wild fly-semrevisao
Apresentação wild fly-semrevisaoApresentação wild fly-semrevisao
Apresentação wild fly-semrevisaoRogerio Fontes
 
Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8Dimitris Andreadis
 
Java micro-services
Java micro-servicesJava micro-services
Java micro-servicesJames Lewis
 
Productivity Tips for Java EE and Spring Developers
 Productivity Tips for Java EE and Spring Developers Productivity Tips for Java EE and Spring Developers
Productivity Tips for Java EE and Spring DevelopersSimon Maple
 
Introduction to Wildfly 8 - Marchioni
Introduction to Wildfly 8 -  MarchioniIntroduction to Wildfly 8 -  Marchioni
Introduction to Wildfly 8 - MarchioniCodemotion
 
WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7George Gastaldi
 
Security enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakSecurity enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakCharles Moulliard
 
JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.Eduardo Medeiros
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouDavid Delabassee
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Javatdc-globalcode
 
Microservices Platforms - Which is Best?
Microservices Platforms - Which is Best?Microservices Platforms - Which is Best?
Microservices Platforms - Which is Best?Payara
 

Viewers also liked (20)

WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
 
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the UnionJBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the Union
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
WildFly BOF and V9 update @ Devoxx 2014
WildFly BOF and V9 update @ Devoxx 2014WildFly BOF and V9 update @ Devoxx 2014
WildFly BOF and V9 update @ Devoxx 2014
 
Desktop|Embedded Application API JSR
Desktop|Embedded Application API JSRDesktop|Embedded Application API JSR
Desktop|Embedded Application API JSR
 
Apresentação wild fly-semrevisao
Apresentação wild fly-semrevisaoApresentação wild fly-semrevisao
Apresentação wild fly-semrevisao
 
JBoss AS7 Reloaded
JBoss AS7 ReloadedJBoss AS7 Reloaded
JBoss AS7 Reloaded
 
Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8Introduction to Role Based Administration in WildFly 8
Introduction to Role Based Administration in WildFly 8
 
WildFly & WildFly Swarm
WildFly & WildFly SwarmWildFly & WildFly Swarm
WildFly & WildFly Swarm
 
Java micro-services
Java micro-servicesJava micro-services
Java micro-services
 
Productivity Tips for Java EE and Spring Developers
 Productivity Tips for Java EE and Spring Developers Productivity Tips for Java EE and Spring Developers
Productivity Tips for Java EE and Spring Developers
 
Introduction to Wildfly 8 - Marchioni
Introduction to Wildfly 8 -  MarchioniIntroduction to Wildfly 8 -  Marchioni
Introduction to Wildfly 8 - Marchioni
 
WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7WildFly Swarm: Criando Microservices com Java EE 7
WildFly Swarm: Criando Microservices com Java EE 7
 
Security enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & KeycloakSecurity enforcement of Java Microservices with Apiman & Keycloak
Security enforcement of Java Microservices with Apiman & Keycloak
 
JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.JBUG Brasil - Desvendando as features do WildFly.
JBUG Brasil - Desvendando as features do WildFly.
 
Javantura v4 - (Spring)Boot your application on Red Hat middleware stack - Al...
Javantura v4 - (Spring)Boot your application on Red Hat middleware stack - Al...Javantura v4 - (Spring)Boot your application on Red Hat middleware stack - Al...
Javantura v4 - (Spring)Boot your application on Red Hat middleware stack - Al...
 
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to YouHTTP/2 Comes to Java - What Servlet 4.0 Means to You
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
 
TDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps JavaTDC2016SP - Trilha DevOps Java
TDC2016SP - Trilha DevOps Java
 
Javantura v4 - Keycloak – instant login for your app - Marko Štrukelj
Javantura v4 - Keycloak – instant login for your app - Marko ŠtrukeljJavantura v4 - Keycloak – instant login for your app - Marko Štrukelj
Javantura v4 - Keycloak – instant login for your app - Marko Štrukelj
 
Microservices Platforms - Which is Best?
Microservices Platforms - Which is Best?Microservices Platforms - Which is Best?
Microservices Platforms - Which is Best?
 

Similar to WildFly AppServer - State of the Union

Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Kile Niklawski
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGMarakana Inc.
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyWASdev Community
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1WSO2
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationTomcat Expert
 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012alepalin
 
Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Andries Inzé
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsnick_garrod
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsnick_garrod
 
JUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
JUDCon London 2011 - Elastic SOA on the Cloud, Steve MillidgeJUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
JUDCon London 2011 - Elastic SOA on the Cloud, Steve MillidgeC2B2 Consulting
 
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para TiGustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para TiSoftware Guru
 
Java EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConJava EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConLudovic Champenois
 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011hbraun
 
12 Things About WebLogic 12.1.3 #oow2014 #otnla15
12 Things About WebLogic 12.1.3 #oow2014 #otnla1512 Things About WebLogic 12.1.3 #oow2014 #otnla15
12 Things About WebLogic 12.1.3 #oow2014 #otnla15Frank Munz
 
Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Rohit Kelapure
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresMichel Schildmeijer
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Skills Matter
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Arun Gupta
 

Similar to WildFly AppServer - State of the Union (20)

Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1
 
Introduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 PresentationIntroduction to Apache Tomcat 7 Presentation
Introduction to Apache Tomcat 7 Presentation
 
As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012As7 web services - JUG Milan April 2012
As7 web services - JUG Milan April 2012
 
Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be Kabir Khan on AS6 at JBUG.be
Kabir Khan on AS6 at JBUG.be
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applications
 
SHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applicationsSHARE 2014, Pittsburgh CICS and Liberty applications
SHARE 2014, Pittsburgh CICS and Liberty applications
 
JUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
JUDCon London 2011 - Elastic SOA on the Cloud, Steve MillidgeJUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
JUDCon London 2011 - Elastic SOA on the Cloud, Steve Millidge
 
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para TiGustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
Gustavo Garnica: Evolución de la Plataforma Java y lo que Significa para Ti
 
Java EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseConJava EE 6, Eclipse @ EclipseCon
Java EE 6, Eclipse @ EclipseCon
 
Liberty Deep Dive
Liberty Deep DiveLiberty Deep Dive
Liberty Deep Dive
 
One daytalk hbraun_oct2011
One daytalk hbraun_oct2011One daytalk hbraun_oct2011
One daytalk hbraun_oct2011
 
12 Things About WebLogic 12.1.3 #oow2014 #otnla15
12 Things About WebLogic 12.1.3 #oow2014 #otnla1512 Things About WebLogic 12.1.3 #oow2014 #otnla15
12 Things About WebLogic 12.1.3 #oow2014 #otnla15
 
Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010
 
Oracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy featuresOracle WebLogic 12c New Multitenancy features
Oracle WebLogic 12c New Multitenancy features
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
 

More from Dimitris Andreadis

Turn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly SwarmTurn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly SwarmDimitris Andreadis
 
Secrets of Successful OpenSource Developers, Ignite Session @ Devoxx 2014
Secrets of Successful OpenSource Developers, Ignite Session @ Devoxx 2014Secrets of Successful OpenSource Developers, Ignite Session @ Devoxx 2014
Secrets of Successful OpenSource Developers, Ignite Session @ Devoxx 2014Dimitris Andreadis
 
7 secrets of successful opensource developers
7 secrets of successful opensource developers7 secrets of successful opensource developers
7 secrets of successful opensource developersDimitris Andreadis
 

More from Dimitris Andreadis (7)

Turn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly SwarmTurn you Java EE Monoliths into Microservices with WildFly Swarm
Turn you Java EE Monoliths into Microservices with WildFly Swarm
 
Secrets of Successful OpenSource Developers, Ignite Session @ Devoxx 2014
Secrets of Successful OpenSource Developers, Ignite Session @ Devoxx 2014Secrets of Successful OpenSource Developers, Ignite Session @ Devoxx 2014
Secrets of Successful OpenSource Developers, Ignite Session @ Devoxx 2014
 
Devoxx 2013, WildFly BOF
Devoxx 2013, WildFly BOFDevoxx 2013, WildFly BOF
Devoxx 2013, WildFly BOF
 
2012 Devoxx - JBossAS BOF
2012 Devoxx - JBossAS BOF2012 Devoxx - JBossAS BOF
2012 Devoxx - JBossAS BOF
 
jboss.org-jboss.com
jboss.org-jboss.comjboss.org-jboss.com
jboss.org-jboss.com
 
7 secrets of successful opensource developers
7 secrets of successful opensource developers7 secrets of successful opensource developers
7 secrets of successful opensource developers
 
JBoss AS / EAP and Java EE6
JBoss AS / EAP and Java EE6JBoss AS / EAP and Java EE6
JBoss AS / EAP and Java EE6
 

Recently uploaded

Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 

Recently uploaded (20)

Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 

WildFly AppServer - State of the Union

  • 1. WildFly App Server State of the Union Dimitris Andreadis Sr. Engineering Mgr Red Hat JBoss EAP / WildFly twitter: @dandreadis
  • 2. How it all started? (for me*) *http://dandreadis.blogspot.ch/2014/10/10-years-on-red-pill.html
  • 3. 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
  • 4. Agenda • WildFly pre-History • WildFly V8 Recap • WildFly V9 Update • WildFly Swarm & V10
  • 5. WildFly* pre-History *the server once called JBoss Application Server
  • 6. JBoss AS Timeline 20072006200520042003 JBossVersions 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 20092008 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
  • 7. 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
  • 8. 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)
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. modulesorghornetqmainmodule.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>
  • 19. @#$% 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 
  • 20. 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
  • 22. 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.jb oss.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>
  • 23. Management APIs • Command Line Interface (CLI) • Remote Java API • HTTP/JSON API • GWT-based console • JMX mapping
  • 25. JBoss Name Overload • 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.) Why Rename JBoss?
  • 26.
  • 28. 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
  • 30. 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
  • 31. 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?)
  • 32. 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 
  • 33. 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/
  • 35. 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.
  • 36. 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
  • 37. 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
  • 38. 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)
  • 40. 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
  • 41. 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
  • 42. WildFly-Web • Servlet-Only distribution • Undertow and Naming added Include your own frameworks
  • 46.
  • 50. 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/
  • 51. 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)
  • 53. 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
  • 54. HTTP/2 (vs HTTP/v1.x) Primary goal of HTTP/2 is to reduce latency and make efficient use of the TCP connection.
  • 55. 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
  • 56. 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
  • 57. 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
  • 58. 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 • …
  • 60. Alpha1 – May/15th Alpha2 – Jun/2nd Alpha3 – Jun/16th Alpha4 – Jun/30th …bi-weekly CR1 – Sep/2015 CR2 – Sep/2015 CR3 – Oct/2015 CR4 – Today?  We are Here Final – Nov/2015 WF 10 – Roadmap
  • 61. WF10 Features • Requires Java 8+ • HornetQ  ActiveMQ Artemis • Hibernate 5 • JMS Graceful Shutdown • HA & MDB Singleton Deployments • Improved UI for large domains • Hierarchical Profiles • Offline CLI for Domain Mode • Server-side JavaScript support (Undertow.js) with hot reloading