Yearly Archives: 2013

DevNation: Announcing New Conference for Open Source and Polyglot Developers

2013 is almost done and lets finish it with a big celebration!

Announcing the birth of a new conference – DevNation, an open source polyglot conference for application developers. There will be sessions, labs, hackfests, panels, and much more.

devnation-logo

Dates: April 13-17, 2014
Venue: Moscone Center, San Francisco
Website: devnation.org
Twitter: @DevNationConf
Hashtag: #DevNation14

As Andrew mentioned in his blog, this conference is:

A unification and expansion of individual events we’ve had in the past (e.g. JUDCon, CamelOne, Developer Exchange).  Our modus operandi:

  • Grow open source
  • Cater to a highly-technical audience of software and maintenance engineers
  • Extend our reach to communities outside Red Hat’s sphere of influence

There are no set “themes” or “tracks” but here is general guideline on what we are looking for:

  • Enterprise application development
    (e.g. concurrent, multi-user applications with data stores, security, transactions)
  • Front-end development
    (e.g. display technologies, client-side scripting and layout, templating engines)
  • Mobile development
    (e.g. Android, iOS, Cordova, HTML5 for mobile)
  • Big data
    (e.g. RDBMS and NoSQL, persistent storage and associated computational problems with large data stores)
  • Application integration
    (e.g. Service-oriented architecture)
  • DevOps and continuous delivery
    (e.g. build and deployment environments, administration and management)
  • Performance and tuning
    (e.g. analysis and techniques to get the best out of your applications)
  • Platform development
    (e.g. C++ and *nix applications)
  • Cool stuff
    (Any helpful bits you’d love to share with your peers)

What are the critical dates to remember ?

  • December 23, 2013: CFP Opens
  • January 15, 2014: CFP closes
  • February 2014: Speaker notifications sent
  • February 12, 2014: Agenda posted
  • April 13 – 17, 2014: DevNation

All speakers not only get a full conference pass but also one night of hotel stay!

Some of the invited speakers include:

  • Mike Milinkovich from Eclipse Foudation
  • Chris Aniszczyck from Twitter
  • Markus Eisele prominent Java EE architect and blogger
  • Gavin King, creator of Ceylon programming language, CDI spec lead, Seam, Hibernate

I will be there and would love to see you there!

Submit your paper now!

WildFly 8 CR1 on OpenShift (Tech Tip #7)

OpenShift-logo

OpenShift is Red Hat’s PaaS platform and comes in three flavors:

  • Origin is the Community PaaS offering. You can explore the community-driven open source upstream of OpenShift. Join the community.
  • Online is the Public PaaS offering. Host your applications in the public cloud with automated provisioning, management, and scaling of applications. Sign up for free.
  • Enterprise is the Private PaaS offering. Leverage PaaS in your own data centers and private cloud. Request evaluation.

With 1.5m+ total apps created, 2400 apps created each day, 2100 new users each week, OpenShift provides the best PaaS experience for Java with JBoss EAP, Tomcat, Jenkins, Maven, Eclipse, MongoDB, MySQL, and a whole variety of pluggable cartridges. OpenShift provides great velocity by providing support for devops, Node.js, Ruby, Mobile, NoSQL. In addition it also offers stability by offering multi-tenancy, security, auto-scaling, no lock-in, and Red Hat Enterprise Linux.

OpenShift was the first PaaS to offer support for WildFly, naturally! As WildFly CR1 was released recently with 100% Java EE 7 TCK passing, the developer cartridge has been updated as well.

Lets take a look at how to get started with WildFly CR1 using the CLI tools. Alternatively, Web Console or IDE can be used as explained in Getting Started Guide.

  1. Install the client: sudo gem install rhc
  2. Setup your environment: rhc setup
  3. Create your application as shown
    And now you have your first application running on OpenShift and deployed on WildFly. Console should show the following output:

openshift-console-techtip7

The application is now accessible at:

http://mywildfly-milestogo.rhcloud.com and looks like:

wildfly-openshift-mainpage-techtip7

Port forwarding can be enabled by issuing the following command:

Now WildFly’s wonderful admin console is accessible at http://localhost:9090 and is automatically redirected to your instance running on OpenShift.

You can also get some more details about the service at:

http://mywildfly-milestogo.rhcloud.com/snoop.jsp

Do you want to try deploying one of the Java EE 7 samples on this application now ? May be a WebSocket one 😉

WildFly 8 CR1 is now available!

First release candidate of WildFly 8 is now available!

wildfly8-cr1

Read more details in Jason’s blog announcing the release

Main highlights:

  • Java EE 7 TCK is now 100% passing … yay!
  • High-performance web server for maximum throughput and scalability (undertow.io)
  • All protocols multiplexed over two ports: 8080 for application and 9990 for management. CR1 still has three ports, will be two by final.
  • Management Role Based Access Control and Auditing
  • Simplified application of patches
  • New minimalistic “core” distribution (14MB) is ideal for framework authors to build their own application runtime over WildFly
  • Improved JDK8 compatibility
  • 387 issues resolved since Beta1
  • Lots of components updated
  • Integration with NetBeans, IntelliJ IDEA, JBoss Tools

Watch the following webinar to learn more about WildFly 8:

Download wildfly-8.0.0.CR1.zip or associated source code and build it yourself. Use Tech Tip #1 to get started!

Don’t forget to check out tons of Java EE 7 samples/tests and help us increase the coverage by contributing. The current test suite has 242 tests running in CI.

Here are some additional useful resources:

  • Release Notes
  • Documentation
  • Glossary
  • WildFly project page
  • WildFly issue tracker
  • WildFly user forum
  • WildFly wiki
  • WildFly source

NetBeans 8 and WildFly 8 (Tech Tip #6)

Announcing the availability of WildFly support in NetBeans 8 nightly builds!

Wildfly_logo

netbeans-dev-techtip6

Disclaimer: WildFly plugin provides very basic functionality as of now and is evolving rapidly to support broader feature set. It is purely for testing purpose at this time.

Many thanks to Emmanuel Hugonnet for contributing the plugin and constant support from NetBeans team, especially Geertjan Wielenga in making this possible.

How to get started ?

  1. Download NetBeans 8 nightly. Worked on existing NetBeans 7.4 as well, see instructions below.
  2. Go to “Tools”, “Plugins”, “Available Plugins”, search on “wildfly” to see the updated screen:wildfly-plugin--netbeans-techtip6click on “Install”. Follow the prompts to complete the installation.
  3. In NetBeans, go to “Services”, right click on “Servers”, select “Add Server…” to see:wildfly-server-configure-techtip6Click on “Next>”.
  4. Install or build WildFly following Tech Tip #1. Click on “Browse…” next to “Server Location…” and select the location of WildFly. For example, I used “/Users/arungupta/workspaces/wildfly/build/target/wildfly-8.0.0.Beta2-SNAPSHOT” on my machine.wildfly-server-instance-techtip6

    Click on “Next>”.
  5. Take the defaults as shown:wildfly-instance-props-techtip6and click on “Finish”. Now you can see WildFly configured in NetBeans:

    wildfly-server-techtip6

  6. Right-click on the newly added server and select “Start”:wildfly-start-techtip6to see an output something like:

    “09:51:29,191 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Beta2-SNAPSHOT “WildFly” started in 2039ms – Started 184 of 232 services (78 services are lazy, passive or on-demand)”

    in the output console.

That’s all it takes to configure WildFly 8 in NetBeans 8!

Trying to run a simple sample showed the following window:

netbeans-server-one-time-techtip6

I particularly like this feature as it does not “corrupt” my Maven files or generate any IDE-specific files.

Do you want to try running Java EE 7 samples/tests and hands-on lab on WildFly from NetBeans ? File plugin bugs at NetBeans Bugzilla and use “WildFly” component.

Note, although this plugin can be installed in NetBeans 8 out-of-the-box, but you can configure an additional Update Center in earlier versions of NetBeans and use “http://deadlock.netbeans.org/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz” URL. This is how I hacked my NetBeans 7.4 installation and added support for WildFly there.

Get your wheels churning and try your WildFly applications running from NetBeans 8.

New Webinar on Jan 8: WildFly for Innovation, Red Hat JBoss EAP for Commercial Support

jan8-2014-webinar-banner

On November 4, 2013, Oracle announced that its GlassFish Server 4.x with commercial Java™ EE 7 support won’t be released. If you’re a production user of GlassFish, your options are to take a risk by continuing on an unsupported platform or to migrate your applications elsewhere.

It has always been a good time to consider Red Hat, but now all the more so. WildFly and Red Hat® JBoss® Enterprise Application Platform is an excellent, compelling, and feature-rich alternative to GlassFish and Oracle WebLogic.

In this webinar, I will:

  • Introduce Wildfly and JBoss EAP.
  • Compare and contrast Wildfly and JBoss EAP with Oracle GlassFish and WebLogic.
  • Look at cost considerations.

Date: Jan 8, 2014
Time: 16:00 UTC | 11:00 am (New York) | 5:00 pm (Paris) | 9:30 pm (Mumbai)

Register Now!

Make sure to invite a friend or a colleague!

Devoxx 2013 Parleys Channel : Java EE Talks and Red Hat Projects Session Replays

Devoxx 2-13 Parleys Channel is now released, a week before Christmas. All the talks, quickies, interviews are available for you to enjoy!

devoxx2013-parleys

Antonio and I gave a university session on Java EE 7 and the replay is now available in two parts:

Replay of my Java EE 7’s WebSocket API talk is also available:

Here is my brief interview on about 2 months old position at Red Hat:

In general, there were lots of talks on Java EE …

And some talks on Red Hat projects …

And some of my favorites …

I like doing running streaks but with these many fresh talks from Devoxx, I guess a parleys streak is looking very likely. A presentation a day and get reborn every day :-)

Getting Started with JBoss Tools and WildFly (Tech Tip #5)

JBoss Tools 4.1.1 and JBoss Developer Studio 7.1 were released 2 days ago. This release is built on top of Eclipse Kepler 4.3.1, came in less than 6 months from the previous one, has 500+ bug fixes and some nice  features.

  • Improved hybrid mobile tooling with support for Apache Cordova using Aerogear
  • More support for OpenShift 2.0
  • Content assist on Angular.js attributes and resource content

What is the difference between JBoss Tools and JBoss Developer Studio ?

JBoss Tools is a set of plugins for Eclipse that complements, enhances and goes beyond the support that exists for JBoss and related technologies in the default Eclipse distribution.

JBoss Developer Studio is a fully bundled Eclipse distribution which not only includes the majority of JBoss Tools but also all its needed dependencies and 3rd party plugins allowing for an easy one-click and no-fuss installation.

If you are into doing your own bleeding edge Eclipse plugin assembly, JBoss Tools is for you; if you are more into having something that “Just Works” then JBoss Developer Studio is the way to go.

I took JBoss Tools for a ride and tried Java EE samples on WildFly. Here are the steps for the same:

  1. Downloaded Eclipse IDE for Java EE Developers. Ignore this step if you already have Eclipse Kepler 4.3.1 for Java EE.
  2. Drag and Drop the button in Eclipse to install the tools . There are other usual methods to install as well but I found this extremely convenient.Dropping the button shows the following screen:jboss-tools-install-techtip4

    Follow the instructions to complete the installation. Restarting the Eclipse shows the following screen:

    kepler-main-screen-techtip4

    And that shows a successful installation.

  3. Click on the “Servers” tab, click on “Click this link to create a new server…”jboss-servers-techtip4Select “WildFly” and click on “Next>”. Use Tech Tip #1 to install WildFly locally on your machine. Specify the WildFly location on next screen:

    wildfly-location-techtip4

    Click on the second “Browse…” button to select an appropriate profile. Click on “Finish” to complete WildFly installation.

  4. Right-click on the selected server and click on “Start” to start WildFly.wildfly-log-techtip4
  5. Check out Java EE samples and import them in Eclipse. Select any project, right-click on it and select “Run on Server”. Choose the WildFly server to see the output as:

jboss-tools-browser-techtip4

And now you’ve a Java EE 7 sample running on WildFly using JBoss Tools!

Here are some resources:

  • JBoss Developer Studio Getting Started Guide
  • New and Noteworthy features
  • Ask a question on forums, @jbosstools, or file an issue on JIRA

Have fun!

JUDCon India 2014: FREE conference pass for JBUG/JUG Leaders and Java Champions

JUDCon (JBoss Users and Developer Conference) is a series of developer conference around the world and allows:

  • Attendees to talk and collaborate with leaders in the JBoss community
  • JBoss project leads and engineers to learn from the end users
  • Attendees to meet JBoss core developers in a casual setting
  • Have fun and feel inspired

It is the world’s biggest JBoss focussed developer conference. You have the opportunity to learn about different JBoss projects and products:

  • Java EE 7 hands-on lab using WildFly
  • Public, private, and hybrid PaaS deployment platform using OpenShift
  • Mobile application development using AeroGear
  • Comprehensive tooling support using JBoss Tools
  • Business logic integration platform with Drools
  • High performance messaging platform using A-MQ
  • Many others …

After having successful events for past two years, JUDCon India 2014 is coming back to Bangalore, India – only bigger and better.

judcon-india-2014

Dates: Jan 30-31, 2014
Venue: MLR Convention Center, Bangalore (brand new)
Agenda (more sessions to be added)

Make sure to register now and save 33% with the early bird discount!

IMPORTANT: All JBoss User Group leaders, Java User Group leaders, and Java Champions are offered a complimentary pass to any of the JUDCons. Drop a note on this blog and I’ll help you connect with the right set of folks.

Here are some other channels to stay engaged with us …

@JBossDeveloper
JBoss User Groups on Google+
JBoss Developer Community on Google+

Come to share, engage, and learn!

I’ll be there along with Pete Muir and Andrew Rubinger and we’d love to see you there!

Come and Play! with Java EE 7 – JavaOne 2013 Session

Antonio Goncalves and I gave a code-driven talk at JavaOne 2013 showcasing how to build a Java EE  7 web application with:

  • HTML5 front ends with responsive design
  • Sexy graphical components
  • Manageable REST interfaces
  • Easy asynchronous processing
  • Reliable messaging
  • Transactional databases

All this within 58 minutes.

The session replay is now available:

The source referred in the talk is available at github.com/agoncal/agoncal-sample-javaee.

IntelliJ IDEA 13, Java EE 7 and WildFly (Tech Tip #4)

IntelliJ IDEA 13 was recently released – download now!

intellij-idea13

What’s New provide a comprehensive list of new features in this release, and there are plenty! Needless to say the features that I’m most excited about is Java EE 7 and WildFly support.

Here are some of the highlights for Java EE 7 in IDEA 13:

  • Support for JavaServer Faces 2.2 including a rich set of coding assistance features for flows, actions, contracts, pass-through attributes, and more.
  • Improved navigation, code analysis, and diagrams for injected beans, including Context and Dependency Injection 1.1 annotations and beans.xml configuration.
  • New JAX-RS 2.0 and WebSocket annotations are supported with additional code completion and analysis for path parameters; improved REST Client tool window (now with authorization capabilities and requests history.)
  • Advanced coding assistance for Batch Processing jobs definition, including specific code completion, navigation, code analysis, and many more.
  • Easier project configuration: no need to download or configure Java EE libraries if they are bundled with application server you’re using. This was my personal pet peeve for the longest time and is very clean now.

Andrey Cheptsov (from JetBrains), Antonio Goncalves (a very famous Java person 😉 and myself did a webinar a few days ago highlighting some of these capabilities. A replay of the webinar is now available:

Here is a quick tutorial and a playlist of videos that show the Java EE 7 features in detail:

WildFly 8 Beta2 snapshot can be easily configured as well:

techtip4-wildfly8-beta2-snapshot-idea13

Here are some additional videos for you to get started:

  • How to import Java EE 7 samples from GitHub,
  • How to test RESTful web applications using REST Client tool window,
  • How to debug WebSockets,
  • And finally how to configure Java EE 7 using Gradle.

A fully imported Java EE 7 samples repo is shown below:

tectip4-javaee7-samples

IntelliJ has definitely matured a LOT since I tried it first a few years ago. Congratulations to the entire team for a release well done, especially Andrey who really listened to all the feedback and Philip Torchinsky (ex-colleague and a friend) who triggered my interest back in IntelliJ.

Note that Java EE support is only available in Ultimate Edition, not the free Community Edition. Compare the feature sets between the two here. Both the bundles are available for download here.

Also note, IDEA 13 still requires JDK 6 for retina display although there is a hack available for JDK 7.

JBoss EAP 6.2 is Now Available: RBAC, Patching, Administrative Audit Logging

Red Hat JBoss EAP 6.x is a fast, secure, powerful middleware platform built upon standards, and compliant with Java EE 6 specification. It integrates JBoss Application Server 7 with high-availability clustering, powerful messaging, distributed caching, and other technologies to create a stable and scalable platform. It boasts of innovative modular and cloudy-ready architecture, powerful management and automation, and world class developer productivity.

JBoss EAP 6.2 is now available – download now!

New features in this release are listed here. The main highlights are:

  • Role Based Access Control (RBAC):  Provides an administrator with the ability to assign users or groups to roles with defined permissions to EAP management interfaces. By providing “separation of duties” for management users, JBoss EAP 6.2 makes it easy for an organization to spread responsibility between individuals or groups without granting unnecessary privileges. More details here.
  • Patching: Management operations to install patches, roll-back patches, and report patch state have been implemented. These operations enable users to install CVE, single, and cumulative patches in JBoss EAP 6.2 releases and beyond. The operations are exposed in the CLI, Native, and HTTP management interfaces. The operations will be exposed in the console in a later release.
  • Administrative Audit Logging: New configuration options for logging of administrative actions such as logging of all connection and authentication events, logging of all admin operations through any of the administrative interfaces, collection of time, user, interface, originating ip and more. Management access to the audit log configuration can be scoped to Auditor role defined in RBAC configuration.

A comprehensive documentation for all EAP releases is available here.

Here are some useful references for JBoss EAP 6.2 to get started:

  • Installation Guide
  • Release Notes
  • Development Guide
  • Administration and Configuration Guide
  • Migration Guide (from JBoss EAP 5.x)
  • Security Guide

You can also download a development-only binary from jboss.org/products/eap.

Unlock yourself from from the shackles of closed source proprietary application servers. JBoss EAP Comparison Calculator shows how JBoss EAP saves 90+% costs over WebLogic and WebSphere.

Download JBoss EAP 6.2 and try it today! #OnlyJBoss

Red Hat at JavaLand : Java EE 7, Enterprise Testing using Arquillian, JBoss Way

Java conference in a theme park ? How will I explain that to family and friends ? But I’ve spoken at many such venues which are difficult to explain. This one is definitely first of its kind :-)

javaland-logo

JavaLand (Mar 25/26, 2014) is the event created by the Java community for the Java community. This is definitely going stir the interest of German Java developers. I was fortunate to be selected amongst 100 submissions from 18 countries. After speaking in 37 countries, this will be my first speaking engagement in Germany.

The conference venue is Phantasialand, a theme park in Brühl, Germany, and is exclusively reserved for the attendees for two days of the conference.

Here are the announced sessions to be presented by Red Hat speakers:

  • 50 new features of Java EE 7 in 50 minutes: Arun Gupta
  • Testing the Enterprise Layers: The ABCs of Integration Testing: Andrew L Rubinger
  • Building Modern Applications using JBoss and OpenShift: Pete Muir

There is lots of good content at the conference. But attendees will have to strike a balance between them and Black Mamba, Colorado Adventure, Talocan, JUMP!, River Quest, Mystery Castle, and Fantissima – this is going to be a tough call 😉

I’ll be staying at Hotel Matamba in Africa. Where will you be – Fantasy, Berlin, Mexico, China town or Mystery ?

Hotels within the theme park are selling out fast, make sure to register rather promptly. You can also consider coming with your family and there are deals available.

Java EE Samples Github Organization: Java EE 7 Samples and Hands-on Lab already moved

After 737 commits, 15 contributors, 134 tests, its time for github.com/arun-gupta/javaee7-samples to move to github.com/javaee-samples/javaee7-samples. Similarly Java EE 7 hands-on lab is also moved from github.com/arun-gupta/javaee7-hol to github.com/javaee-samples/javaee7-hol.

Octocat

Java EE samples organization is a new GitHub organization, instead of a personal repo, and will provide a common ground for everybody in the community to contribute.

Moving these two repos to an organization opens up room for growth. If you have any Java EE 6/7 samples, tests, applications, hands-on lab or any other guides then feel free to transfer/create a new repository and contribute. This new organization would provide a common ground for all app server vendors like Red Hat, Oracle, IBM and Tomitribe to contribute. Independent consultants and every body else is welcome to contribute content too.

This will be a new central location for all samples around Java EE – truly showing the power of Community Powered Innovation!

Ready to contribute ?

  • Arquillian Hackergarten provide instructions on how to contribute unit tests to Java EE 7 Samples. WildFly and GlassFish CI jobs polls the workspace every 15 minutes.
  • Convert Java EE 7 hands-on lab to AsciiDoc by assigning an issue to yourself.

This will be one organization to rule them all :-)

Thanks to Aslak Knutsen, the Arquillian man, for the nudge!

JBoss EAP 6 Clustering Reference Architecture

JBoss Enterprise Application Platform 6 (EAP 6) is a fast, secure and powerful middleware platform built upon open standards and compliant with the Java
Enterprise Edition 6 (Java EE) specification. It allows horizontal scaling by distributing the load between multiple physical and virtual machines and eliminating a single point of failure.

Want to learn how to stands up two EAP 6 Clusters, each set up as a separate domain, one active and another passive, to eliminate any downtime due to maintenance and upgrades ?

jboss-eap6-clustering-reference-architecture

Red Hat Reference Architecture Series (@RedHatRefArch) announced the availability of a new reference architecture for you!

Download JBoss EAP 6 Clustering reference architecture.

This reference architecture demonstrates EAP 6 Cluster capabilities, including replication of various session types, configuration and setup. Several technologies are covered, including:

  • Red Hat’s JBoss EAP 6.1
  • Apache Web Server
  • HTTP / Stateful session replication
  • JPA 2nd level cache
  • HornetQ cluster and CLI

Automated Java/CLI scripts are used to automatically build out two clusters of three nodes, each as a managed domain. Each node includes one live and two backup HornetQ servers using message replication to provide redundancy. Cache invalidation enables second-level caching of JPA entities, while session replication is used for HTTP and stateful session beans.

In the meanwhile, WildFly 8 is coming along well and will provide full Java EE 7 compliance. It will be released in the next few weeks. Now is a good time to download WildFly and try your applications on it. A subsequent version of WildFly will be the basis for JBoss EAP 7.

Tech Tip #1 shows you how to get started with WildFly. github.com/arun-gupta/javaee7-samples provide a comprehensive set of Java EE 7 samples that run on WildFly. And if you are interested in creating tests for these samples, follow the steps in Devoxx 2013 Hackergarten and send a pull request.

JBoss EAP enables you to consume open source software with comfort. Use open source today with the reliance that a commercial support will be available when you need it!

Introduce Java Programming to Kids – JavaOne 2013 Session

Oracle has released a new batch of JavaOne 2013 sessions. I gave several sessions and couple of them were released in the first batch. And this batch released the session I gave with Jim Weaver on Introduce Java Programming to Kids.

The recording is now available on parleys:

Learn from our experience of using Scratch, Greenfoot, Alice, JavaFX, Minecraft, and a bunch of other tools. You should also check out Devoxx4Kids effort which provide a wide range of materials and allow you to be a “cool mom” or a “cool dad” :-)

Don’t forget to rate the talk!