SlideShare una empresa de Scribd logo
1 de 69
Jasoct
AS Project Lead
May 4, 2011
JBoss EAP / WildFly
State of the Union
Dimitris Andreadis
Engineering Manager
JBoss EAP/WildFly
About Me
JBoss AS 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 Engineering Manager
And before JBoss?
•7y experience in distributed systems (telcos, NMS/OSS)
•BSc/MSc Computer Science (Athens/Dublin)
dandreadis.blogspot.com
Agenda
• JBoss History
• The Path to EE6
• JBoss AS 7
• The Big Rename
• WildFly 8 and EE7
• JBoss EAP 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
Andiamo
Java EE 6
The Path to EE6
•JBoss AS 6.0
• Deliver faster on Java EE6
• Baking time for EE subsystems
• Measure interest in EE profiles
• Stepping stone for AS7
•New Stuff
• HornetQ (Messaging)
• Infinispan (Caching)
• Apache CXF (Web Services)
• Embedded Jopr Console
• mod_cluster
JBoss EAP / WildFly, State of the Union
A hard look at the mirror
• 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
JBoss EAP / WildFly, State of the Union
Getting our Mojo back!
• Major Goals
• Make it Smaller, Faster
• Improve Manageability
• Simplify Configuration
• Clean things up!
• Remove abstraction layers
• Remove legacy stuff
• Modularize
JBoss EAP / WildFly, State of the Union
JBoss EAP / WildFly, State of the Union
*A blazingly fast modular lightweight elegantly administrable
compliant application server with easy testing facilities – Carlo De Wolf, 2011
JBoss AS 7
JBoss AS 7 releases
• AS 7.0 – released Jul/2011
• EE6 – Web Profile (+JCA, +JAX-RS) certified
• AS 7.0.1 – released Aug/2011
• MDB support, JSR-88, JPA w. older Hibernate 3
• AS 7.0.2 – released Sep/2011
• JSF 2.1, @Asynchronous, PicketLink SSO, etc.
• AS 7.1 – released Feb/2012
• Full EE6, Clustering, etc.
• AS 7.1.1 – released Mar/2012
AS7 Key Features
• Fast and Lightweight
• Modular, OSGi enabled
• Unified, user focused configuration
• Multiple management interfaces
• Support for multi-node management
AS7 Architecture
MSC
JBoss
Modules
DMR Controller Threads
Core Infrastructure
Server Controller Service
Deployers VFS Jandex Reflect Cache Repository
Subsystems
Connector
Datasource
EE
EJB3
JMX
JPA
Messaging
Naming
OSGi
Remoting
SAR
Security
FSSecanner
Transaction
Web
WS
Weld
JAX-RS
JBoss 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
• JBoss MSC - Modular Service Container
Key attributes of MSC
Small, lightweight, and efficient
Highly concurrent & scalable state machine
Services are primarily interface based
Only two states, Up & Down
Multiple startup modes
•Active, Passive, On-Demand, Lazy, Never
Concurrent Service Container
Service Controller
Service Registry
Service Builder
Service Deps Value Listeners Injectors
So What?
#@*%ing fast!
http://community.jboss.org/wiki/AS7StartupTimeShowdown
Boot Time Results
Memory Comparison
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 
Modularity*
*The Class Path is Dead – Mark Reinhold, 2009
• Issues
• All jars always loaded, whether used or no
• Version conflicts, especially with servers libs
• Increased lookup/load time
• Hard to debug (big ball of mud)
• JBoss AS 5 introduced
module-like capabilities
• jboss-classloading.xml
Hierarchical Class Loading
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
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
modulesorghornetqmainmodule.xml
<module xmlns="urn:jboss:module:1.0" name="org.hornetq">
<resources>
<resource-root path="hornetq-core-2.2.11.Final.jar"/>
<resource-root path="hornetq-jms-2.2.11.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>
User Deployments
• Deployments are also modules (.ear, .war, etc.)
deployment.foo.ear
deployment.foo.ear.bar.war
deployment.foo.ear.bar.jar
• Cannot access server implementation details,
unless explicitly specified
META-INF/MANIFEST.MF
Dependencies: org.javassist, org.apache.velocity
Implicit Module Dependencies
Setup by the appserver/deployers automatically, e.g.
META-INF/ejb-jar.xml, @Stateless,
@Stateful, @MessageDriven
 import javaee.api module
@PersistenceUnit, @PersistenceContext,
<persistence-unit-ref>, <persistence-context-ref>
 import javaee.api module
 import org.jboss.as.jpa module
 import org.hibernate module
 import org.javaassist module
Management*
*Keeping Administrators Happy
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 Physical Topology
Filesystem Layout
jboss-7.1.x
bin
standalone.conf
standalone.sh
domain.sh
jboss-admin.sh
bundles
modules
standalone
configuration
standalone.xml
deployments
logs
data
Standalone Mode
Domain Mode
Command Line Interface
Standalone Mode JVM Parameters
OSGi Bundles
Standalone Unified Configuration
File System Deployment
Internal Data (includes repository)
Static JBoss Module Definitions
Filesystem Layout (cont)
jboss-7.1.x
domain
configuration
standalone.xml
host.xml
servers
server-one
logs
data
server-two
logs
data
Domain Wide Unified Configuration
Server “One” JVM instance data
Host Controller Configuration
Server “Two” JVM instance data
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
Dynamic Model Representation (DMR)
• Central Detyped Management API
•All management operations operate with/on DMR
•Strictly backwards compatible
• Represents simple and complex types
•int, long, big int, double, big dec, boolean, string, bytes, list,
object, property, expression
• Auto-converts like dynamic languages
• Self describing
• Convertible to/from JSON
• Also has a defined binary protocol (optionally b64)
Tx configuration snippet from standalone.xml
...
<subsystem
xmlns="urn:jboss:domain:transactions:1.1">
<core-environment>
<process-id>
<uuid/>
</process-id>
</core-environment>
<recovery-environment socket-binding="txn-
recovery-environment" status-socket-binding="txn-
status-manager"/>
<coordinator-environment default-timeout="300"/>
</subsystem>
...
…maps to Domain Model
...
"transactions" : {
"default-timeout" : 300,
"enable-statistics" : false,
"enable-tsm-status" : false,
"jts" : false,
"node-identifier" : "1",
"object-store-path" : "tx-object-store",
"object-store-relative-to" : "jboss.server.data.dir",
"path" : "var",
"process-id-socket-max-ports" : 10,
"process-id-uuid" : true,
"recovery-listener" : false,
"relative-to" : "jboss.server.data.dir",
"socket-binding" : "txn-recovery-environment",
"status-socket-binding" : "txn-status-manager"
},
http://wildscribe.github.io/JBoss AS7/7.1.1/subsystem/logging/index.html
Components*
*First Class Only!
JBoss EAP / WildFly, State of the Union
JBoss AS 7.1 Final
• 2 certified profiles (+ha variants +domain mode)
• Web++ (EE6 Web Profile + JCA + JAX-RS + JAX-WS +
Javamail + Remote Connectivity)
• Full Java EE6
• Server Secured, by default
• Enhanced management capabilities
• Enhanced Remote connectivity (+distributed tx)
• Better Clustering support, web and EJB replication,
(+experimental CDI replication)
The “Rename”
• 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
Renamed Projects
• JBoss Cache → Infinispan
• JBoss Messaging → HornetQ
• JBoss Transactions (Arjuna) → Narayana
• JBoss JCA → IronJacamar
• JBoss ESB → SwitchYard
• JBoss Portal + eXo→ GateIn
• JBoss Security → PicketBox
• …
JBoss AS Rename Timeline
• Oct/2012 – Rename Announced
• Name submission deadline Oct/14th
• Nov/2012 – Candidate Names & voting start
(Devoxx ‘12)
• BaseJump, WildFly, jBeret, Petasos, Jocron
• Apr/2013 – New name announced
(JUDCon ‘13 Brazil)
JBoss EAP / WildFly, State of the Union
V8 Update
WildFly 8 Goals
• Java EE7
• Single Instance Patching
• Role Based Access Control (RBAC)
• New Web Container (Undertow)
• Runtime Performance Improvements
Java EE7 Support
• JIRA Tracker
• https://issues.jboss.org/browse/WFLY-469
• 31 out of 33 EE7 updates complete
• Pending
• JSR-353 Batch Application API support
• JSR-196 Auth. API for Containers (JASPIC 1.1) support
EE7 Highlights – New Technologies
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 Technologies
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)
Single Instance Patching – Work in Progress
• WildFly/EAP is used on its own or as the base for
other projects/products (e.g. SwitchYard/SOA-P)
• Patching allows updating of libraries and configuration
files in an installation (a.k.a. identity)
• Patches come in the form of .zip bundles containing
updates and metadata.
• Multiple one-off patches can be applied but are
invalidated by the next point/CP release.
• Rollbacks are possible.
Administrative Access Control (RBAC)
• 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)
New WebServer - Undertow
• Blocking / non-blocking NIO based APIs
• Composition/handler based architecture
• Lightweight & fully embeddable
• Supports Servlet 3.1 & HTTP upgrade
Simple non-blocking handler
Undertow server = Undertow.builder()
.addListener(8080, "localhost")
.setHandler(new HttpHandler() {
@Override
public void handleRequest(final HttpServerExchange exchange)
throws Exception {
exchange.getResponseHeaders()
.put(Headers.CONTENT_TYPE,"text/plain");
exchange.getResponseSender().send("Hello World");
}
}).build();
server.start();
Alpha1 – May/2013
Alpha2 – June/2013
Alpha3 – July/2013
Alpha4 – Aug/2013
Beta1 – Sep/2013  We are Here
• Feature Complete
CR1 – Oct/2013
• TCK 100%
Final – Nov/2013
• Yuppie!
WildFly V8 – Release Roadmap
JBoss EAP*
*Professional Support from Professionals!
The Community JBoss AS (now WildFly)
vs. the Enterprise Application Platform (EAP)
• Community Project (WildFly)
- What used to be JBoss AS
- Sponsored by JBoss/Red Hat
- Allow innovation at a faster pace
• Enterprise Application Platform (EAP)
- Forks the community project at stable points
- Integrates with JBoss Developer Studio / JBoss Operations Network
- Rigorously tested (performance, scalability, SpecJ, etc.)
- Certified on multiple OS, JVM, DBs combinations
- Cumulative Patch cycles
- Supported for 5 + 2 years.
JBoss AS/WildFly vs JBoss EAP
6.0.0 – Jun/2012
6.0.1 – Dec/2012
6.1.0 – May/2013
6.1.1 – Sep/2013  We are Here
6.2.0 – Q1/2014
Alternate between Minor & Micro
releases every 3-4 months
EAP 6 – Release Roadmap
JBoss EAP / WildFly, State of the Union
Merci!
dimitris@redhat.com dandreadis.blogspot.com

Más contenido relacionado

La actualidad más candente

WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)Roman Kharkovski
 
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBaseHBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBaseCloudera, Inc.
 
Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례Hyoungjun Kim
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationRevelation Technologies
 
Apache Airflow in Production
Apache Airflow in ProductionApache Airflow in Production
Apache Airflow in ProductionRobert Sanders
 
Hive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it finalHive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it finalHortonworks
 
Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisDataWorks Summit
 
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...GetInData
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseenissoz
 
Data Engineer's Lunch #83: Strategies for Migration to Apache Iceberg
Data Engineer's Lunch #83: Strategies for Migration to Apache IcebergData Engineer's Lunch #83: Strategies for Migration to Apache Iceberg
Data Engineer's Lunch #83: Strategies for Migration to Apache IcebergAnant Corporation
 
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...HostedbyConfluent
 
IBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonIBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonejlp12
 
Dojo 02 : Introduction au noSQL
Dojo 02 : Introduction au noSQLDojo 02 : Introduction au noSQL
Dojo 02 : Introduction au noSQLSOAT
 
Sample Project Requirements Document – Library Blog
Sample Project Requirements Document – Library BlogSample Project Requirements Document – Library Blog
Sample Project Requirements Document – Library BlogALATechSource
 
Apache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARNApache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARNHortonworks
 
The Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
The Data Lake Engine Data Microservices in Spark using Apache Arrow FlightThe Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
The Data Lake Engine Data Microservices in Spark using Apache Arrow FlightDatabricks
 
High throughput data replication over RAFT
High throughput data replication over RAFTHigh throughput data replication over RAFT
High throughput data replication over RAFTDataWorks Summit
 
Learn More About Object Store | MuleSoft Mysore Meetup #9
Learn More About Object Store | MuleSoft Mysore Meetup #9Learn More About Object Store | MuleSoft Mysore Meetup #9
Learn More About Object Store | MuleSoft Mysore Meetup #9MysoreMuleSoftMeetup
 

La actualidad más candente (20)

WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)WAS vs JBoss, WebLogic, Tomcat (year 2015)
WAS vs JBoss, WebLogic, Tomcat (year 2015)
 
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBaseHBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
HBaseCon 2013: Apache HBase and HDFS - Understanding Filesystem Usage in HBase
 
Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례Presto, Zeppelin을 이용한 초간단 BI 구축 사례
Presto, Zeppelin을 이용한 초간단 BI 구축 사례
 
Learn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c Administration
 
Apache Airflow in Production
Apache Airflow in ProductionApache Airflow in Production
Apache Airflow in Production
 
Hive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it finalHive on spark is blazing fast or is it final
Hive on spark is blazing fast or is it final
 
Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache Ratis
 
ORACLE ARCHITECTURE
ORACLE ARCHITECTUREORACLE ARCHITECTURE
ORACLE ARCHITECTURE
 
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
 
Data Engineer's Lunch #83: Strategies for Migration to Apache Iceberg
Data Engineer's Lunch #83: Strategies for Migration to Apache IcebergData Engineer's Lunch #83: Strategies for Migration to Apache Iceberg
Data Engineer's Lunch #83: Strategies for Migration to Apache Iceberg
 
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
Designing Apache Hudi for Incremental Processing With Vinoth Chandar and Etha...
 
IBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonIBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparison
 
Dojo 02 : Introduction au noSQL
Dojo 02 : Introduction au noSQLDojo 02 : Introduction au noSQL
Dojo 02 : Introduction au noSQL
 
Fast analytics kudu to druid
Fast analytics  kudu to druidFast analytics  kudu to druid
Fast analytics kudu to druid
 
Sample Project Requirements Document – Library Blog
Sample Project Requirements Document – Library BlogSample Project Requirements Document – Library Blog
Sample Project Requirements Document – Library Blog
 
Apache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARNApache Ambari: Managing Hadoop and YARN
Apache Ambari: Managing Hadoop and YARN
 
The Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
The Data Lake Engine Data Microservices in Spark using Apache Arrow FlightThe Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
The Data Lake Engine Data Microservices in Spark using Apache Arrow Flight
 
High throughput data replication over RAFT
High throughput data replication over RAFTHigh throughput data replication over RAFT
High throughput data replication over RAFT
 
Learn More About Object Store | MuleSoft Mysore Meetup #9
Learn More About Object Store | MuleSoft Mysore Meetup #9Learn More About Object Store | MuleSoft Mysore Meetup #9
Learn More About Object Store | MuleSoft Mysore Meetup #9
 

Similar a JBoss EAP / WildFly, State of the Union

WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the UnionDimitris Andreadis
 
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
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Agora Group
 
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
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Kile Niklawski
 
Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Rohit Kelapure
 
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é
 
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.
 
JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 WebservicesJBug Italy
 
JBoss AS7 web services
JBoss AS7 web servicesJBoss AS7 web services
JBoss AS7 web servicesalepalin
 
Server Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio SoldanoServer Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio SoldanoJUG Genova
 
JBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesJBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesAlexis Hassler
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopArun Gupta
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012Alexis Hassler
 
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
 
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010Arun Gupta
 

Similar a JBoss EAP / WildFly, State of the Union (20)

WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
 
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.
 
Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011Andrei Niculae - JavaEE6 - 24mai2011
Andrei Niculae - JavaEE6 - 24mai2011
 
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
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann
 
AS7
AS7AS7
AS7
 
Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010Contextual Dependency Injection for Apachecon 2010
Contextual Dependency Injection for Apachecon 2010
 
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
 
JSF2
JSF2JSF2
JSF2
 
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
 
Jboss
JbossJboss
Jboss
 
JBoss AS7 Webservices
JBoss AS7 WebservicesJBoss AS7 Webservices
JBoss AS7 Webservices
 
JBoss AS7 web services
JBoss AS7 web servicesJBoss AS7 web services
JBoss AS7 web services
 
Server Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio SoldanoServer Day 2009: JBoss 5.0 by Alessio Soldano
Server Day 2009: JBoss 5.0 by Alessio Soldano
 
JBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuagesJBoss AS 7 : Déployer sur terre et dans les nuages
JBoss AS 7 : Déployer sur terre et dans les nuages
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 Workshop
 
JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012JBoss AS 7 - YaJUG - nov. 2012
JBoss AS 7 - YaJUG - nov. 2012
 
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 ...
 
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
 

Más de 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
 
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
 
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
 
7 secrets of successful opensource developers
7 secrets of successful opensource developers7 secrets of successful opensource developers
7 secrets of successful opensource developersDimitris Andreadis
 

Más de Dimitris Andreadis (10)

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
 
WildFly & WildFly Swarm
WildFly & WildFly SwarmWildFly & WildFly Swarm
WildFly & 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
 
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
 
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
 
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 AS7 Reloaded
JBoss AS7 ReloadedJBoss AS7 Reloaded
JBoss AS7 Reloaded
 

Último

Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechProduct School
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4DianaGray10
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingFrancesco Corti
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updateadam112203
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch TuesdayIvanti
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfInfopole1
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 

Último (20)

Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is going
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
Patch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 updatePatch notes explaining DISARM Version 1.4 update
Patch notes explaining DISARM Version 1.4 update
 
March Patch Tuesday
March Patch TuesdayMarch Patch Tuesday
March Patch Tuesday
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 
Extra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdfExtra-120324-Visite-Entreprise-icare.pdf
Extra-120324-Visite-Entreprise-icare.pdf
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 

JBoss EAP / WildFly, State of the Union

  • 1. Jasoct AS Project Lead May 4, 2011 JBoss EAP / WildFly State of the Union Dimitris Andreadis Engineering Manager JBoss EAP/WildFly
  • 2. About Me JBoss AS 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 Engineering Manager And before JBoss? •7y experience in distributed systems (telcos, NMS/OSS) •BSc/MSc Computer Science (Athens/Dublin) dandreadis.blogspot.com
  • 3. Agenda • JBoss History • The Path to EE6 • JBoss AS 7 • The Big Rename • WildFly 8 and EE7 • JBoss EAP 6
  • 4. 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
  • 6. The Path to EE6 •JBoss AS 6.0 • Deliver faster on Java EE6 • Baking time for EE subsystems • Measure interest in EE profiles • Stepping stone for AS7 •New Stuff • HornetQ (Messaging) • Infinispan (Caching) • Apache CXF (Web Services) • Embedded Jopr Console • mod_cluster
  • 8. A hard look at the mirror • 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
  • 10. Getting our Mojo back! • Major Goals • Make it Smaller, Faster • Improve Manageability • Simplify Configuration • Clean things up! • Remove abstraction layers • Remove legacy stuff • Modularize
  • 13. *A blazingly fast modular lightweight elegantly administrable compliant application server with easy testing facilities – Carlo De Wolf, 2011 JBoss AS 7
  • 14. JBoss AS 7 releases • AS 7.0 – released Jul/2011 • EE6 – Web Profile (+JCA, +JAX-RS) certified • AS 7.0.1 – released Aug/2011 • MDB support, JSR-88, JPA w. older Hibernate 3 • AS 7.0.2 – released Sep/2011 • JSF 2.1, @Asynchronous, PicketLink SSO, etc. • AS 7.1 – released Feb/2012 • Full EE6, Clustering, etc. • AS 7.1.1 – released Mar/2012
  • 15. AS7 Key Features • Fast and Lightweight • Modular, OSGi enabled • Unified, user focused configuration • Multiple management interfaces • Support for multi-node management
  • 16. AS7 Architecture MSC JBoss Modules DMR Controller Threads Core Infrastructure Server Controller Service Deployers VFS Jandex Reflect Cache Repository Subsystems Connector Datasource EE EJB3 JMX JPA Messaging Naming OSGi Remoting SAR Security FSSecanner Transaction Web WS Weld JAX-RS
  • 17. JBoss 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 • JBoss MSC - Modular Service Container
  • 18. Key attributes of MSC Small, lightweight, and efficient Highly concurrent & scalable state machine Services are primarily interface based Only two states, Up & Down Multiple startup modes •Active, Passive, On-Demand, Lazy, Never Concurrent Service Container Service Controller Service Registry Service Builder Service Deps Value Listeners Injectors
  • 23. 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 
  • 24. Modularity* *The Class Path is Dead – Mark Reinhold, 2009
  • 25. • Issues • All jars always loaded, whether used or no • Version conflicts, especially with servers libs • Increased lookup/load time • Hard to debug (big ball of mud) • JBoss AS 5 introduced module-like capabilities • jboss-classloading.xml Hierarchical Class Loading
  • 26. 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
  • 27. 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
  • 28. modulesorghornetqmainmodule.xml <module xmlns="urn:jboss:module:1.0" name="org.hornetq"> <resources> <resource-root path="hornetq-core-2.2.11.Final.jar"/> <resource-root path="hornetq-jms-2.2.11.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>
  • 29. User Deployments • Deployments are also modules (.ear, .war, etc.) deployment.foo.ear deployment.foo.ear.bar.war deployment.foo.ear.bar.jar • Cannot access server implementation details, unless explicitly specified META-INF/MANIFEST.MF Dependencies: org.javassist, org.apache.velocity
  • 30. Implicit Module Dependencies Setup by the appserver/deployers automatically, e.g. META-INF/ejb-jar.xml, @Stateless, @Stateful, @MessageDriven  import javaee.api module @PersistenceUnit, @PersistenceContext, <persistence-unit-ref>, <persistence-context-ref>  import javaee.api module  import org.jboss.as.jpa module  import org.hibernate module  import org.javaassist module
  • 32. 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
  • 34. Filesystem Layout jboss-7.1.x bin standalone.conf standalone.sh domain.sh jboss-admin.sh bundles modules standalone configuration standalone.xml deployments logs data Standalone Mode Domain Mode Command Line Interface Standalone Mode JVM Parameters OSGi Bundles Standalone Unified Configuration File System Deployment Internal Data (includes repository) Static JBoss Module Definitions
  • 35. Filesystem Layout (cont) jboss-7.1.x domain configuration standalone.xml host.xml servers server-one logs data server-two logs data Domain Wide Unified Configuration Server “One” JVM instance data Host Controller Configuration Server “Two” JVM instance data
  • 36. 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>
  • 37. Management APIs • Command Line Interface (CLI) • Remote Java API • HTTP/JSON API • GWT-based console • JMX mapping
  • 38. Dynamic Model Representation (DMR) • Central Detyped Management API •All management operations operate with/on DMR •Strictly backwards compatible • Represents simple and complex types •int, long, big int, double, big dec, boolean, string, bytes, list, object, property, expression • Auto-converts like dynamic languages • Self describing • Convertible to/from JSON • Also has a defined binary protocol (optionally b64)
  • 39. Tx configuration snippet from standalone.xml ... <subsystem xmlns="urn:jboss:domain:transactions:1.1"> <core-environment> <process-id> <uuid/> </process-id> </core-environment> <recovery-environment socket-binding="txn- recovery-environment" status-socket-binding="txn- status-manager"/> <coordinator-environment default-timeout="300"/> </subsystem> ...
  • 40. …maps to Domain Model ... "transactions" : { "default-timeout" : 300, "enable-statistics" : false, "enable-tsm-status" : false, "jts" : false, "node-identifier" : "1", "object-store-path" : "tx-object-store", "object-store-relative-to" : "jboss.server.data.dir", "path" : "var", "process-id-socket-max-ports" : 10, "process-id-uuid" : true, "recovery-listener" : false, "relative-to" : "jboss.server.data.dir", "socket-binding" : "txn-recovery-environment", "status-socket-binding" : "txn-status-manager" },
  • 44. JBoss AS 7.1 Final • 2 certified profiles (+ha variants +domain mode) • Web++ (EE6 Web Profile + JCA + JAX-RS + JAX-WS + Javamail + Remote Connectivity) • Full Java EE6 • Server Secured, by default • Enhanced management capabilities • Enhanced Remote connectivity (+distributed tx) • Better Clustering support, web and EJB replication, (+experimental CDI replication)
  • 46. • 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
  • 47. Renamed Projects • JBoss Cache → Infinispan • JBoss Messaging → HornetQ • JBoss Transactions (Arjuna) → Narayana • JBoss JCA → IronJacamar • JBoss ESB → SwitchYard • JBoss Portal + eXo→ GateIn • JBoss Security → PicketBox • …
  • 48. JBoss AS Rename Timeline • Oct/2012 – Rename Announced • Name submission deadline Oct/14th • Nov/2012 – Candidate Names & voting start (Devoxx ‘12) • BaseJump, WildFly, jBeret, Petasos, Jocron • Apr/2013 – New name announced (JUDCon ‘13 Brazil)
  • 51. WildFly 8 Goals • Java EE7 • Single Instance Patching • Role Based Access Control (RBAC) • New Web Container (Undertow) • Runtime Performance Improvements
  • 52. Java EE7 Support • JIRA Tracker • https://issues.jboss.org/browse/WFLY-469 • 31 out of 33 EE7 updates complete • Pending • JSR-353 Batch Application API support • JSR-196 Auth. API for Containers (JASPIC 1.1) support
  • 53. EE7 Highlights – New Technologies 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
  • 54. 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?)
  • 55. EE7 Highlights – Optional Technologies 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)
  • 56. Single Instance Patching – Work in Progress • WildFly/EAP is used on its own or as the base for other projects/products (e.g. SwitchYard/SOA-P) • Patching allows updating of libraries and configuration files in an installation (a.k.a. identity) • Patches come in the form of .zip bundles containing updates and metadata. • Multiple one-off patches can be applied but are invalidated by the next point/CP release. • Rollbacks are possible.
  • 57. Administrative Access Control (RBAC) • 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
  • 58. 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
  • 59. 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)
  • 60. New WebServer - Undertow • Blocking / non-blocking NIO based APIs • Composition/handler based architecture • Lightweight & fully embeddable • Supports Servlet 3.1 & HTTP upgrade
  • 61. Simple non-blocking handler Undertow server = Undertow.builder() .addListener(8080, "localhost") .setHandler(new HttpHandler() { @Override public void handleRequest(final HttpServerExchange exchange) throws Exception { exchange.getResponseHeaders() .put(Headers.CONTENT_TYPE,"text/plain"); exchange.getResponseSender().send("Hello World"); } }).build(); server.start();
  • 62. Alpha1 – May/2013 Alpha2 – June/2013 Alpha3 – July/2013 Alpha4 – Aug/2013 Beta1 – Sep/2013  We are Here • Feature Complete CR1 – Oct/2013 • TCK 100% Final – Nov/2013 • Yuppie! WildFly V8 – Release Roadmap
  • 63. JBoss EAP* *Professional Support from Professionals!
  • 64. The Community JBoss AS (now WildFly) vs. the Enterprise Application Platform (EAP) • Community Project (WildFly) - What used to be JBoss AS - Sponsored by JBoss/Red Hat - Allow innovation at a faster pace • Enterprise Application Platform (EAP) - Forks the community project at stable points - Integrates with JBoss Developer Studio / JBoss Operations Network - Rigorously tested (performance, scalability, SpecJ, etc.) - Certified on multiple OS, JVM, DBs combinations - Cumulative Patch cycles - Supported for 5 + 2 years.
  • 65. JBoss AS/WildFly vs JBoss EAP
  • 66. 6.0.0 – Jun/2012 6.0.1 – Dec/2012 6.1.0 – May/2013 6.1.1 – Sep/2013  We are Here 6.2.0 – Q1/2014 Alternate between Minor & Micro releases every 3-4 months EAP 6 – Release Roadmap