Post on 07-Aug-2015
transcript
WildFlyWildFlyFormerly JBoss AS
Community project with goals of fraquent releasesand rapid innovation
Upstream for JBoss EAP
Fast, lightweight, manageble runtimeSupports Java EE7 and beyound
Open source, community driven projectVersion 9 coming soon!
Cloud enabled
HTTP/2HTTP/2
Reduction in page load time
GoalsGoals
No changes in network infrastructureNo changes in website content
HTTP/2HTTP/2
Binary protocol with request framing
DesignDesign
Multiplexed - many prioritized streams interleavedin one TCP connectionHeader compressionServer push - server is able to push data to a clientbefore it has asked for it
HTTP/2HTTP/2
Although not required by specification majorbrowsers require HTTP/2 to use TLS connectionswith ALPN extension
WildFly
Configuration:
configure server's security realminstall ALPN jar
Server suspendServer suspend
Server can be suspendedAfter suspend operation is executed new requestsare rejected but running requests are able to finishtheir work
Suspend operation ends when either all requestsfinish or timeout is extendedUsage example: graceful shutdown, configurationchangesServer can be resumed - request processing startsimmediately
Server suspendServer suspend
:suspend(timeout=x)
Management operationsManagement operations
:resume:shutdown(timeout=x):read-attribute(name=suspend-state)
Codebase splitCodebase split
The base architecture of WildFly has been fullyseparated, and is now versioned separately from thefull platform https://github.com/wildfly/wildfly-corewildfly full - subsystems implementing EEfunctionality https://github.com/wildfly/wildflyWe provide tooling to faciliate building WildFlyextensions and composing them into a server
wildfly webwildfly web
new servlet-only distributionadds Undertow and namingsubsystems on top of wildfly-core
http://undertow.io
with all capabilities provided by coreuseful for applications that prefer to use their ownframeworks
Feature packFeature pack
Jar describing server extensionConsist of modules and subsystems configurationsand content filesLightweight - no jars includedCan depend on other feature packs
Build by maven plugin based on configuration fileDuring build all module dependencies are checked
Server provisioningServer provisioning
Feature packs are used by provisioning library tocreate a serverThe library can be used in standalone mode or beembedded in maven pluginMerges modules, configuration and content filesfrom all feature packsCan provision thick or thin server
Example: REST distributionExample: REST distribution
Users can use above tools to provision server withonly those parts of WildFly that are necessary intheir use caseExample: lightweight server, based on wildfly-web, with ability to deploy RESTful applications
WildFly SwarmWildFly Swarm
tool for building runnable fat-jars with embeddedWildFlycreated jars can contain only necessary parts ofWildFlybuild using maven pluginmicroservices friendly
WildFly as loadbalancerWildFly as loadbalancer
httpd based loadbalancer
mod_clustermod_cluster
Dynamic configuration of httpd workersServer-side load balance factor calculationFine grained web-app lifecycle control
WildFly as loadbalancerWildFly as loadbalancer
WildFly can now be used as front end mod_clusterbased load balancer
One tool can be used to manage front and backendserversMore efficient communication protocols, such asHTTP/2, can be used
Offline CLI supportOffline CLI support
Ability to embed a WildFly process inside the CLIprocessUsage: management of the server using CLIcommands, without having a running server
Switch to OpenJDK ORBSwitch to OpenJDK ORB
Downstream project of OpenJDKBetter interoperability with the JVM ORB and theJava EE RI
ReferencesReferences
WildFly , ,
JBoss EAP 6.4 Quickstarts
http://wildfly.org http://github.com/wildfly@WildflyAs
http://www.jboss.org/products/eaphttps://github.com/wildfly/quickstart