Livestreams Videos

Webinar Recording: Developing Web Applications with WildFly 8

The recording of our May 21st webinar, Developing Web Applications with WildFly 8, is now available on JetBrainsTV YouTube channel.

In this webinar, Arun Gupta gives an overview of the features available in WildFly, RedHat’s open-source application server, and shows you how to use them for building modern web applications through several live demos.

WildFly 8 (née JBoss Application Server) is Red Hat’s open source Java EE 7 compliant application server. It contains robust implementations of WebSocket, Batch, JSON, Concurrency, JMS2, JAX-RS 2, CDI 1.1, and all Java EE 7 technologies. Undertow is the new cutting-edge web server in WildFly 8 and is designed for maximum throughput and scalability, including environments with over a million connections.

Below are questions from our webinar answered by Arun and Andrey.

Q: How to transfer application from GlassFish to JBoss? What about JAAS?
A: If you are using pure Java EE application, then there’s no application migration required. However typically some configuration such as Data Source, JMS Resource, Security Realms, etc need to be explicitly migrated. This blog post is a great resource for migrating your applications from GlassFish to JBoss or WildFly. ZeroTurnaround published a great overview of the migration process at. 

Q: How to automatically deploy to a remote WildFly server?
A: There are multiple ways to deploy to a WildFly server:

  • jbss-cli.sh is a Command Line tool bundled with WildFly and can be connected to a remote host/port. jboss-cli.sh -c –controller=host:port
  • Web-based Admin Console can be accessed on the remote host/port: HOST:9990/console
  • FTP the archive to the “deployments” directory on the remote server
  • JBoss Developer Studio, IntelliJ IDEA, and NetBeans allow configuring a remote WildFly server and then allow deploying apps
  • Maven plugin can be configured to deploy to a remote host/port

Each of these options allow to deploy to a local or remote WildFly server by specifying host/port combination.

Q: How do you compare OpenShift with Jelastic for example?

  • Jelastic is only Java and PHP, OpenShift is truly polyglot with Ruby, PHP, Java, JavaScript, Python, Perl, Go. You can even create your own custom cartridge as well.
  • OpenShift, like any other Red Hat project, is fully open sourced at http://openshift.github.io/. Jelastic is not.
  • Jelastic trial period bombs out after a couple of weeks IIRC. OpenShift free plan does not expire and provide reasonable disk/memory resources.
  • OpenShift has a DIY cartridge mechanism which allows community to add support for their favorite frameworks. Jelastic is now partnering with Red Hat to offer a similar pluggable architecture on their infrastructure as well.
  • Personally, choosing the provider before logging in looks like too much detail being exposed at the user layer. OpenShift hides that from you.

Q: Is the administration tool the same for WildFly and JBoss EAP?
A: JBoss EAP 6.x was derived from JBoss AS 7.x, EAP 7 will be derived from WildFly. The code base from the community version (JBoss AS 7.x or WildFly) is used to create the EAP builds. The changes mostly pertain to performance enhancements/tuneups and bug fixes with ~99% feature similarity, including the admin console.

Q: If Java EE licensing and tooling is required to work with WildFly then the fact that this is open sourced loses a lot of its lustre. Is there a way to work with WF without licensing Java EE?
A: Java EE licensing is only for the vendors who want to implement Java EE specification. This allows them access to TCK so that they can claim compliance with Java EE. This, by no means, adds a barrier for end users. WildFly has been, and always will, remain 100% open source. Please use it in all your projects, for-profit and for non-profits.

Q: Why was Tomcat changed for Undertow in JBoss 8? What are the main benefits?
A: Explained at: http://undertow.io/documentation/faq.html. In addition, we’ve seen excellent scalability results with Undertow. Such as 1 million concurrent connections/second, as shown at http://www.techempower.com/blog/2014/03/04/one-million-http-rps-without-load-balancing-is-easy/

Q: Any advice about OSGI application development in WildFly environment and IntelliJ IDEA?
A: OSGi module is no longer available in WildFly by default. However the module can be downloaded and installed separately as explained at http://jbossas.jboss.org/osgi. As to IDE there is  the Osmorc plugin that to brings the OSGi support to IntelliJ IDEA.

Q: What’s the default JPA provider? Hibernate or I can choose?
A: Hibernate is the default persistence provider but others are configurable. Hibernate is also the most widely used persistence provider as shown in the recent report by Zero Turnaround, Java Tools and Technologies Landscape for 2014

Q: What options are there to use Java EE 7 with JSF and HTML5?
A: JSF 2.2 added support for pass-through attributes. This allows new data-* attributes or type=”email|number|phone” attributes to be specified on JSF elements. Without this passthrough attribute, these element are ignored as they do not have a corresponding UIComponent and HTML RenderKit defined. With this, they are passed as is to the generated HTML and then rendered appropriately with the HTML5 user agent such as Chrome browser. No other specific support for HTML5 was added to JSF.

Q: Is it possible to configure JBoss Forge to take specific dependencies?
A: New add-ons can specify the dependencies required for them. Existing commands use pre-defined dependencies. But this dependency resolution is very granular as a single dependency is added for cdi-setup, and similarly for constraint-setup, jpa-setup, faces-setup, etc.

Q: How can I access the jboss-cli in a REST way?
A: This is explained in the HTTP management API document.

Q: How to automatically deploy to a remote WildFly server from IntelliJ IDEA?
A: The deployment process in IntelliJ IDEA is the same for any application server. Once the artifact and the corresponding run configuration is configured you can run or debug your application via the Toolbar or menu Run. Here’s a detailed explanation.

Q: Will IntelliJ IDEA have the JBoss Forge integration similar to spring-roo integration?
A: Since v13 IntelliJ IDEA comes with the built-in Terminal tool window that enables you to run any command line utility right from the IDE. Running the JBoss Forge utility from the Terminal is very similar to accessing the Spring Roo tool window.

Q: Which version of IntelliJ IDEA is used in the demo and do I have to install any plugins to get the WildFly support in the IDE?
A: Arun used IntelliJ IDEA 13 in his demo. In fact IntelliJ IDEA comes with built-in support for WildFly and all other application servers, no additional plugins to install.

About the Presenter:

Matt EllisArun Gupta is Director of Developer Advocacy at Red Hat and focuses on JBoss Middleware. As a founding member of the Java EE team at Sun Microsystems, he spread the love for technology all around the world. At Oracle, he led a cross-functional team to drive the global launch of the Java EE 7 platform through strategy, planning, and execution of content, marketing campaigns, and program.

Keep up with IntelliJ IDEA news on IntelliJ IDEA Blog and on Twitter @IntelliJIDEA.

image description

Discover more