you're a pretty fly for a wildfly
DESCRIPTION
Presentation of the new features in JEE7 and WildFly, JBoss open source applciation server.TRANSCRIPT
![Page 1: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/1.jpg)
You're pretty flyYou're pretty flyfor a WildFlyfor a WildFly
![Page 2: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/2.jpg)
●Emmanuel Hugonnet (@ehsavoie)Emmanuel Hugonnet (@ehsavoie)● Senior software developer, Red Hat Inc.Senior software developer, Red Hat Inc.● WildFly core developerWildFly core developer● WildFly Netbeans plugin developerWildFly Netbeans plugin developer
Self EsteemSelf Esteem
![Page 3: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/3.jpg)
Zeroturnaround.comZeroturnaround.com
![Page 4: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/4.jpg)
If we had to pick a If we had to pick a winnerwinner, it would be , it would be JBossJBoss. The only application server in the . The only application server in the group whose score group whose score never dropped below never dropped below a 4a 4
- - zeroturnaround.comzeroturnaround.com
![Page 5: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/5.jpg)
JBoss JBoss consistentlyconsistently performs performs very wellvery well in in each category which is why it also each category which is why it also shinesshines in the developer profiles exercisein the developer profiles exercise
- - zeroturnaround.comzeroturnaround.com
![Page 6: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/6.jpg)
![Page 7: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/7.jpg)
You're gonna go far, kidYou're gonna go far, kid
Understand the Understand the new featuresnew features of of WildFly 8WildFly 8 and revise some of the and revise some of the features features carry forwardcarry forward from from AS 7.x.AS 7.x.
![Page 8: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/8.jpg)
What is WildFly 8 ?What is WildFly 8 ?● Previously called “JBoss Application Server”Previously called “JBoss Application Server”● Upstream for Red Hat JBoss Enterprise Upstream for Red Hat JBoss Enterprise
Application Platform (JBoss EAP)Application Platform (JBoss EAP)● Fast, lightweight, manageableFast, lightweight, manageable● Developer friendlyDeveloper friendly● Supports Java EE standards and beyondSupports Java EE standards and beyond● Open sourceOpen source
![Page 9: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/9.jpg)
WildFly 8 Main FeaturesWildFly 8 Main Features● Java EE7 supportJava EE7 support● High performance web server High performance web server UndertowUndertow● Reduced port usageReduced port usage● Role Based Access ControlRole Based Access Control● AuditingAuditing● Automated patchingAutomated patching● Minimalistic "core" distributionMinimalistic "core" distribution
![Page 10: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/10.jpg)
Java EE 7Java EE 7
![Page 11: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/11.jpg)
Gone awayGone away
![Page 12: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/12.jpg)
DEMODEMO
![Page 13: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/13.jpg)
Why don't you Why don't you get a job ?get a job ?
![Page 14: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/14.jpg)
JSONJSON
![Page 15: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/15.jpg)
ConcurrencyConcurrency
![Page 16: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/16.jpg)
JAX-RS 2.0JAX-RS 2.0
![Page 17: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/17.jpg)
DEMODEMO
![Page 18: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/18.jpg)
JMS 2.0 (JSR 343)JMS 2.0 (JSR 343)
![Page 19: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/19.jpg)
DEMODEMO
![Page 20: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/20.jpg)
Java Transaction API 1.2 (JSR 907)Java Transaction API 1.2 (JSR 907)
● @Transactional@Transactional Transaction boundaries on CDI managed Transaction boundaries on CDI managed beansbeans
● @TransactionScoped@TransactionScoped CDI scope for bean instances CDI scope for bean instances scoped to the active JTA transactionscoped to the active JTA transaction
![Page 21: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/21.jpg)
CDI 1.1 (JSR 346)CDI 1.1 (JSR 346)● Automatic enablement for beans with scope annotation and Automatic enablement for beans with scope annotation and
EJBs EJBs ● ''beans.xmlbeans.xml' is optional' is optional● Bean discovery modeBean discovery mode
– allall: All types: All types– annotatedannotated: Types with bean defining annotation: Types with bean defining annotation– nonenone: Disable CDI: Disable CDI
● @Vetoed@Vetoed for programmatic disablement of classes for programmatic disablement of classes● Global ordering/priority of interceptors and decoratorsGlobal ordering/priority of interceptors and decorators
![Page 22: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/22.jpg)
Java EE 7 IDEJava EE 7 IDE
![Page 23: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/23.jpg)
Millions Miles AwayMillions Miles AwayUndertowUndertow● Flexible & high-performanceFlexible & high-performance● Blocking / non-blocking based on NIOBlocking / non-blocking based on NIO● Composition/handler based architectureComposition/handler based architecture● Lightweight & fully embeddableLightweight & fully embeddable● Supports Servlet 3.1 & HTTP upgradeSupports Servlet 3.1 & HTTP upgrade● mod_clustermod_cluster supported supported● http://undertow.iohttp://undertow.io
![Page 24: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/24.jpg)
Undertow BenchmarksUndertow Benchmarks
http://www.techempower.com/blog/2014/03/04/one-million-http-rps-without-load-balancing-is-easy/
![Page 25: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/25.jpg)
Undertow APIUndertow API
![Page 26: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/26.jpg)
Port ReductionPort Reduction● HTTP UpgradeHTTP Upgrade to reduce the number of ports in the to reduce the number of ports in the
default installation to just twodefault installation to just two– 80808080 for applications with JNDI, EJB & JMS multiplexed for applications with JNDI, EJB & JMS multiplexed– 99909990 for management, for both HTTP/JSON & Native API for management, for both HTTP/JSON & Native API
● Only overhead is the initial HTTP Upgrade Only overhead is the initial HTTP Upgrade request/responserequest/response
![Page 27: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/27.jpg)
RBACRBAC● Pre-defined administrative and privileged RolesPre-defined administrative and privileged Roles
– Monitor, Operator, Maintainer, Deployer, Administrator, Auditor, Monitor, Operator, Maintainer, Deployer, Administrator, Auditor, Super UserSuper User
● Roles is a set of PermissionsRoles is a set of Permissions● Permissions specify which Actions (lookup, read, write) Permissions specify which Actions (lookup, read, write)
are allowed on resourcesare allowed on resources● Users or Groups are defined in RolesUsers or Groups are defined in Roles
![Page 28: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/28.jpg)
Administrative Audit LoggingAdministrative Audit Logging
● Logging of connection/authentication eventsLogging of connection/authentication events● Logging of management operationsLogging of management operations● Log message as JSON recordsLog message as JSON records● Audit logging handlersAudit logging handlers
– Local fileLocal file– Syslog (UDP / TCP / TLS)Syslog (UDP / TCP / TLS)
![Page 29: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/29.jpg)
She's got issuesShe's got issuesAutomated patchingAutomated patching
● Allows libraries and configuration Allows libraries and configuration updates in an installationupdates in an installation
● Patches are zip bundles with updates and metadataPatches are zip bundles with updates and metadata● Multiple one-off patches can be applied; invalidated by Multiple one-off patches can be applied; invalidated by
the next point/CP releasethe next point/CP release● Rollbacks are possibleRollbacks are possible
![Page 30: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/30.jpg)
Minimalistic "core" distributionMinimalistic "core" distribution● 15 MB download15 MB download● Rich management layerRich management layer● Fully concurrent service container with advanced Fully concurrent service container with advanced
capabilitiescapabilities● Modular class loading which enables multi-tenancy of Modular class loading which enables multi-tenancy of
applicationsapplications● Pluggable hot deployment layerPluggable hot deployment layer● Built-in lightweight web serverBuilt-in lightweight web server
![Page 31: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/31.jpg)
Ixnay on the HombreIxnay on the Hombre
● Improved JDK8 compatibilityImproved JDK8 compatibility● Per-deployment security permissionsPer-deployment security permissions● RESTEasy 3RESTEasy 3● Hibernate searchHibernate search● New public clustering APINew public clustering API● Pruned: CMP, JAX-RPC, JSR 88Pruned: CMP, JAX-RPC, JSR 88
![Page 32: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/32.jpg)
In the CloudIn the Cloud
![Page 33: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/33.jpg)
The conspiracy of The conspiracy of Jboss AS 7Jboss AS 7
● Standalone and Managed DomainStandalone and Managed Domain● Centralized AdministrationCentralized Administration
– Command Line Interface (jboss-cli)Command Line Interface (jboss-cli)– Admin ConsoleAdmin Console– Configuration filesConfiguration files
![Page 34: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/34.jpg)
The kids aren't allrightThe kids aren't allrightDomainDomain● StandaloneStandalone: single independent instance: single independent instance● Managed domainManaged domain: manage multiple WildFly instances : manage multiple WildFly instances
from a single control pointfrom a single control point– Host controllerHost controller– Domain controllerDomain controller– Server groupServer group– ServerServer
![Page 35: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/35.jpg)
![Page 36: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/36.jpg)
Command Line InterfaceCommand Line Interface
● jboss-cli.shjboss-cli.sh||batbat● Connects to standalone instance or Domain controllerConnects to standalone instance or Domain controller● Interactive mode: *nix-style shellInteractive mode: *nix-style shell
– Contextual command and resource-tab completionContextual command and resource-tab completion
● Non-interactive mode: commands in filesNon-interactive mode: commands in files● High-level compound operationsHigh-level compound operations● Persistent changesPersistent changes
![Page 37: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/37.jpg)
Admin ConsoleAdmin Console
● SimpleSimple● FastFast● LightweightLightweight● Avoids XML configurationAvoids XML configuration● Single instance and domainsSingle instance and domains● Mostly configuration, basic monitoringMostly configuration, basic monitoring
– Not a Red Hat JBoss Operations Network replacement Not a Red Hat JBoss Operations Network replacement
![Page 38: You're a pretty fly for a WildFly](https://reader033.vdocuments.net/reader033/viewer/2022050905/549f0e8bac795947768b4950/html5/thumbnails/38.jpg)