IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Webinar Recording: Developing Web Applications with WildFly 8
Last wednesday we had a great webinar with Arun Gupta about developing web applications with WildFly, the Red Hat’s open-source application server. In case you’ve missed it, here’s the recording:
In addition to showcasing WildFly Arun gives a general overview of JBoss Middleware, shows JBoss Forge, and also demonstrates how easy it is to deploy OpenShift applications from IntelliJ IDEA.
UPDATE:
Check out the questions you asked during the webinar below answered by Arun and me:
How to transfer application from GlassFish to JBoss? What about JAAS?
If you are using pure Java EE application, then there is no application migration required. However typically some configuration such as Data Source, JMS Resource, Security Realms, etc need to be explicitly migrated. http://wildfly.org/news/2014/02/06/GlassFish-to-WildFly-migration/ is a great resource for migrating your applications from GlassFish to JBoss or WildFly. ZeroTurnaround published a great overview of the migration process at: http://zeroturnaround.com/rebellabs/abandon-fish-migrating-from-glassfish-to-jboss-or-tomee/.
How to automatically deploy to a remote WildFly server?
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.
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.
Is the administration tool the same for WildFly and JBoss EAP?
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.
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?
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.
Why was Tomcat changed for Undertow in JBoss 8? What are the main benefits?
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/
Any advice about OSGI application development in WildFly environment and
IntelliJ IDEA?
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.
What’s the default JPA provider? Hibernate or I can choose something else?
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: http://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-for-2014/10/
What options are there to use Java EE 7 with JSF and HTML5?
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.
Is it possible to configure JBoss Forge to take specific dependencies?
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.
How can I access the jboss-cli in a REST way?
This is explained at https://docs.jboss.org/author/display/AS71/The+HTTP+management+API
How to automatically deploy to a remote WildFly server from IntelliJ IDEA?
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. The detailed explanation is available at http://confluence.jetbrains.com/display/IntelliJIDEA/Application+Servers
Will IntelliJ IDEA have the JBoss Forge integration similar to spring-roo integration?
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.
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?
Arun used IntelliJ IDEA 13 Ultimate in his demo. In fact IntelliJ IDEA Ultimate comes with built-in support for WildFly and all other application servers, no additional plugins have to be installed.
Feel free to share the feedback here in comments as well as suggest a topic for the next webinar.
Stay tuned, and develop with Pleasure!