JBoss 2015 – What a Year !

Screen Shot 2015-12-18 at 1.36.25 PM

I’ve been part of the Middleware (aka JBoss) team at Red Hat for almost 8 years now and I can say pretty unequivocally that 2015 was a huge year. Huge. Huge in terms of growth (the team, revenue, customers); huge in terms of the number of new initiatives and markets we’re taking on and huge in terms of product releases. I don’t plan to enumerate all the year’s achievements here – there are way too many, but I did want to cover a few of the more recent announcements.

xPaaS

The first major milestone we hit with our xPaaS initiative – xPaaS being short-hand for taking our existing middleware products and capabilities and making them first class citizens of the cloud – specifically taking them to cloud environments via OpenShift (Red Hat’s PaaS). This is something we started back in 2012 with JBoss EAP and JBoss EWS on OpenShift 1.0 . In the meantime, OpenShift has been through a significant rearchitecture with 3.0 – adopting de-facto industry standard container technologies like Docker and Kubernetes. With the recent roll-out of OpenShift 3.1 – we’ve added support for additional middleware services :

  • Integration Services – supported JBoss Fuse – connects applications to the data sources, systems and APIs they need.
  • Real-time Decision Services – supported by JBoss BRMS for authoring, managing and executing sophisticated business rules.
  • In Memory Data Grid Service – supported by JBoss Data Grid – our market-leading,  distributed, in-memory key-value store that can boost your application performance and scalability by orders of magnitude.

That’s in addition to the existing Application, Web and Messaging Middleware Services already available on OpenShift. During our xPaaS journey – One of the major design goals for us has always been that no matter where you run JBoss – it’s the same – doesn’t matter if you’re running in a virtualized environment, directly on a public IaaS like EC2 or in our OPenShift PaaS – it’s still JBoss and behaves just the same. Developing apps. for EAP or Fuse on EC2 is no different to developing them for bare-metal or OpenShift. Read more about xPaaS here.

Mobile

Red Hat Mobile Application Platform (RHMAP) 3.6 – Red Hat’s MBaaS (Mobile back-end as a Service) was also released this week – while not a major feature release – this does demonstrate continued momentum (after the Feed Henry acquisition just over a year ago) and integration with existing Red Hat JBoss technologies- specifically the Unified Push Service which was in development upstream at the AeroGear project before we acquired FeedHenry. You can find more about RHMAP 3.6 here.

JBoss EAP 7

Finally we released JBoss EAP 7.0 BETA last week. This is a significant release in every respect; the last major EAP release (EAP 6.0) was back in June, 2012 and EAP 6 is now about 8 months away from entering its long-term maintenance phase. Among the major features in EAP 7 are :

  • New high-performance web subsystem based on Undertow – supporting Servlet 3.1, WebSockets, HTTP Upgrade
  • New high-performance messaging subsystem based on Apache ActiveMQ Artemis – same searing performance as HornetQ but expanded protocol support and Artemis is now the standard message broker for all JBoss products.
  • Supports Java EE 7 – full and web-profile and Java SE 8.
  • Enhanced (JSR-352) batch support – including cluster support, management of batch jobs and IDE (JBDS 9.0) integration
  • Improved upgrade experience from previous versions of EAP / WildFly and better support for competitive migrations using Windup.

I written have a longer blog post dedicated to EAP 7 if you want more detail.

As always – you can download the BETA via the Red Hat Customer Portal or from JBossDeveloper if you don’t have access. Release notes are here. And you’ll need some developer tooling to go with that – JBDS 9.0 is available for download here.

Here’s to a busy and productive 2016 – it’s going to be huge !

 

JBoss EAP 7 BETA Available !

Screen Shot 2015-12-19 at 2.25.41 PM

Today Red Hat released JBoss EAP 7.0 BETA.  This is the culmination of a couple of years of hard work by the JBoss EAP team at Red Hat and the broader WildFly community. I would like to thank them for their dedication and hard work and offer congratulations on achieving another huge milestone and major step forward in establishing Open Source in the enterprise and JBoss EAP as the open source standard for Java EE.

JBoss EAP 7  is a significant release in every respect; the last major EAP release (EAP 6.0) was back in June, 2012 and after 4 minor feature releases and numerous patch releases, EAP 6 is now just 8 months away from entering its long-term maintenance phase. While EAP 6 will be fully supported for many years to come – all new development and new features will target EAP 7 and beyond.

While Java EE 7 brings a major set of new features to EAP 7 (see below) it’s only a small part of what defines JBoss EAP 7. There are many other major updates in the release to help us keep up with demands of our customers, industry trends and align with other Red Hat products and initiatives.

  • New high-performance web subsystem based on Undertow – supporting Servlet 3.1, WebSockets, HTTP Upgrade
  • Undertow can also be deployed standalone as a lightweight, scalable proxy / load-balancer.
  • Move from JacORB to the standard OpenJDK ORB
  • New high-performance messaging subsystem based on Apache ActiveMQ Artemis – same searing performance as HornetQ with expanded protocol support and Artemis is now the standard message broker for all JBoss products.
  • Support for Java EE 7 – full and web-profile and Java SE 8.
  • Enhanced (JSR-352) batch support – including cluster support, management (liste, start, stop, resume) of batch jobs and IDE (JBDS 9.0) integration
  • Improved upgrade experience from previous versions of EAP / WildFly and better support for competitive migrations using Windup.
  • Improved JNDI, EJB, JMS and WS interoperability between EAP 7 and older versions – useful for side-by-side upgrades.
  • Ability to manage EAP 6 domain hosts and servers
  • Improved management console; easier navigation, and much better support for large scale domain configurations.
  • Graceful shutdown – allows servers to quiesce without aborting in-flight requests or transactions

Also the following features are available as Technical Preview :

  • A new JGroups based DistributedWorkManager
  • Execute JavaScript (using JDK8’s Nashorn), access JNDI and invoke CDI and JPA EntityBeans from JavaScript
  • HTTP 2.0 – connection multiplexing, header compression and server push

Major enhancements to Java EE 7 include :

A more detailed refresher on  on Java EE 7 features here.

As always – you can download the BETA via the Red Hat Customer Portal or from JBossDeveloper if you don’t have access. Release notes are here. And you’ll need some developer tooling to go with that – JBDS 9.0 is available for download here.

Give the BETA a try and give the team some feedback.

 

Red Hat a leader in In Memory Data Grids (IMDGs)

Fast on the heels of the Forrester Report on Mobile Infrastructure Services where Red Hat’s Mobile Platform was positioned as a leader,  this week Forrester released a new report for In Memory Data Grids and again Red Hat is positioned as a leader.

As they say in the report “There Is No Better Way To Achieve Blazing Fast Performance At Scale” – something I’ve been saying since we released the first version of JBoss Data Grid a couple of years ago. Another way to think about this is that there’s no better way to ruin a perfectly decent user experience that having slow, un-responsive applications. In memory data grids offer a quick solution to this without the cost and risk of major application re-architecture.

As with all Red Hat products, Red Hat JBoss Data Grid is pure Open Source and is based on the upstream Infinispan project.

More information on Red Hat JBoss Data Grid here.

DevOpsDays DC 2015

Making the most of the calm before the storm that is Red Hat Summit, I raced up to Alexandria, VA for a few days to attend DevOpsDays DC 2015, hosted at the pretty stunning USPTO offices. I heard from the organizers they reached capacity 400+ and sold out within a few days.

IMG_2469

Interesting mix of neck beards and suits. And there were some very senior suits – eg. Mark Schwarz (CIO of USCIS) – he had a keynote but sat through pretty much *every* talk over the two days – he clearly thought that was a good investment. and I’m sure he’s a very busy guy. Very unscientific poll – 2/3rds of the people I spoke with were Ops (not Dev background) and about 50% were public sector (vs private).

The Public Sector companies / individuals who spoke at the show (or who I spoke with) were all bought into agile and DevOps (self selected group I guess) – huge possible gains for organizations working with / for the Gov. – huge challenges as well. On taht note, I recently came across this Wired article that provides some good insight into how Public Sector IT is changing.

Red Hat was probably the biggest company sponsoring – others were Ansible, Chef, Elastic, Puppet, Sonatype and a bunch of smaller companies (mostly public sector tech consulting)

Aside from Shawn Wells (Red Hat) co-preso. on OpenSCAP, the best talk was Joshua Corman (CTO at Sonatype) “Continuous Acceleration with a Software Supply Chain Approach”

tl;dr – open source usage is booming, becoming a higher priority target for hackers so more high severity CVEs than ever. Projects are often slow to react and release fixes, vendors are even slower and customers are even slower. Basically we’re all doing a bad job. Treat the software supply chain like Toyota do – fewer, better managed suppliers, higher velocity delivery pipeline (ie. DevOps). Ergo – use Maven to at least understand your dependencies.

Second best talk – Ken Johnson and Chris Gates “Devoops and how I hacked you”. tl;dr – don’t download and run random stuff from the internet unless you expect to get seriously pwned. Ran through popular OSS tools and outlined the most common exploits – pretty eye opening. You could have heard a pin drop if it weren’t for the noise of people txting their colleagues to check wether  X, Y and Z were patched and updated. Basic stuff – default , unencrypted passwords. Old versions with known, well advertised but fixed exploits. Adopt devops so it doesn’t have to take 6 months to roll out a new (secure) version of Jenkins, WordPress, Drupal, etc.

Schedule : http://devopsdaysdc2015.busyconf.com/schedule

Recordings : DevOps Day 2015 on Livestream

Breakouts :

I joined a couple of the Open Space breakouts but was more interested in seeing what was popular. Here are the top four :

  1. Docker overview – 50ppl – poll – who’s using in prod – just 2 – it was actually only 1 – the other was a pre launch startup
  2. CI / CD – 100% about Jenkins. Most of the questions about scaling and performance or resilience.
  3. Secure automation
  4. Burnout and suicide prevention (sadly)

All in a all a good value show – will definitely make the time next year – though I suspect they’ll need a bigger venue.

 

 

The death of bloated, heavyweight, monolothic enterprise Java …

… and the rise of the lightweight, agile, dynamic, modular Enterprise Java.

Java EE has long had the perception of being slow, bloated and monolithic. While the Java EE specification doesn’t prescribe a lightweight, modular implementation; neither does it preclude one. So the negative perception of Java EE is more to do with certain implementations than the standard itself. The two dominant commercial vendors of (Oracle and IBM) have, over the last 10 years, done a lot to re-enforce the perception that Java EE has to be complex, bloated and expensive. While at JBoss we’ve been pushing in a different direction for many years. Each of the last major release of JBoss AS has incrementally pushed modularity closer to an ideal where you only pay for what you need (in memory, complexity, CPU).

junk in the trunkPhoto Credit : “Junk in The Trunk”, zappowbang (CC, some rights reserved)

The latest version (JBoss AS 7) – which is also the underlying technology for Red Hat’s commercially supported product (JBoss EAP 6) has pushed the lightweight theme as far as to completely erode the difference between lightweight web containers (like Tomcat) and “heavyweight EE servers”. As far back as 2008 (through the advances in mobile devices and JBoss miniaturization) it’s been possible to run a full Java EE server on something as small as a smartphone; last year at Red Hat summit we ran the entire JBoss keynote demo (starts about 35min) on a cluster of cheap plug-top computers (far less powerful than today’s smartphone).

So it’s great to see IBM following our lead and pulling their own miniaturization stunt – Websphere running on a Rasberry Pi – very cool. Great to see IBM joining us to help change the perception of Java EE.

JBoss Data Grid – Making Big Data Work

Screen Shot 2012-04-13 at 10.11.51 AM.png  

This week Red Hat extended the Early Access program for JBoss Data Grid with the availability of the BETA – available to existing customer and future customers.

Traditional (typically relational) spinning-rust data stores have become one of the biggest economic and technical impediments to extracting the true value from the increasing amount of data that is available to organizations today.

JBoss Data Grid is a distributed, in-memory, fault-tollerant key-value store that is architected for large scale, mission critical applications. JBoss Data grid is built on the Infinispan open source project which is the natural evolution of JBoss Cache – which has been a core part of JBoss products for many years.

There’s a huge amount of activity around BigData and NoSQL as people look for more appropriate solutions to store, manage and analyze data – JBoss Data Grid and in-memory solutions in general provide orders-of-magnitude performance and scalability benefits without necessarily having to completely re-architect the data tier. The intrinsic distribution also provides a high-degree of fault-tollerance without the additional cost, complexity and overhead involved in traditional data stores.

So, give it a spin; and give us some feedback.

Red Hat is looking for some awesome Product Managers

Looking for a new challenge in a fast growing business ? Familiar with Java, JBoss and Open Source ? Able to kick competitor butt and have fun ?

Product Manager, JBoss User Experience (UXP) Mobile Platform

The Product Manager, JBoss User Experience (UXP) and Mobile Platforms Group is looking for a Product Manager, to be responsible for the overall product life cycle of Red Hat’s User Experience Platforms including Mobile and Portal. The Product Manager will be responsible for determining the market requirements for a successful product and driving the overall product strategy. This Product Manager will also work closely with the product development and engineering teams to determine product priorities and plan product releases and determine the product roadmap.

Sr Product Manager, JBoss Application Platforms

JBoss Enterprise Application Platform is the market leading platform for innovative and scalable Java applications. Integrated, simplified, and delivered by the leader in enterprise open source software. Responsible for the overall product life cycle of Red Hat’s application platform products marketed under the JBoss brand name. Responsible for determining the market and technical requirements for a successful product and driving the overall product strategy. Will work closely with product development to determine product priorities and plan product releases and determine the product roadmap.

Sr. Product Manager, JBoss Enterprise SOA

The Sr. Product Manager will be responsible for the overall product life cycle of Red Hat’s JBoss Enterprise SOA platform, Enterprise Service Bus, BPEL engine, related tooling and integration with related technologies. The individual will be responsible for determining the market requirements for a successful product and driving the overall product strategy. This person will work closely with product development and engineering to determine product priorities and plan product releases and determine the product road map.

JBoss EAP 6 BETA Q&A

Here follows answers to the the majority of the questions we had during the BETA webinars last week. I’ll add the remaining answers in he next few days. There were lots of questions so I’ve grouped them into categories – if you have additional questions or require more clarity, please leave a comment.

Note any mentions of specific features, component versions and dates in these answer are subject to change.

I’ll post the results of the EE 6 Poll in a separate post.

Finally some links referenced in the Webinars for you convenience :

The Webinar replay (will be available in a week or so)

Red Hat’s PaaS – OpenShift

EAP 6 BETA Download

EAP 6 BETA Documentation

The Q&A

Developer Tools

Q: the current JBDS 5 beta does not include EAP 6, when will it include EAP 6?

A: A brief time after EAP6’s GA date – JBDS will GA prior to EAP6 GA – so post EAP6 GA will be the first time for us to get them sync’d up. Between now and then, simply download both, it is easy to add EAP6 to JBDS5.

Q: Will Zip file with Maven artifacts be provided in EAP 6 distribution or it will be a separate deliverable?

A: It’s a separate download on the Support Portal.

Cloud

Q: does the openshift flex support postgresql database?

A: yes it does.

Migration

Q: What about the migration from EAP 5 to EAP 6, is it transparent, or is it different?

A. There are definitely some major differences in configuration and management but applications should be largely portable from EAP 4 / 5 to EAP 6. We have created a migration guide and we also offer migration services.

Q: Would you please spend a few word regarding the migration path for Seam applications that currently target the EAP 5 release?

A: We have documentation for how to make Seam 2.2 applications run on EAP6. Furthermore, we will be delivering Seam 2.3 which will maintain the Seam 2.2 programming model but allow you to take advantage of JSF2.

Q: Being already partners, is there a path or redhat offer to help poc’ing the migration from EAP 5 to EAP 6 ? Thanks

A: Red Hat Consulting have a full set of migration services.

General

Q: will you publish the questions/answers ?

A: Yes.

Q: When EAP 6 GA will be available?

A : Subject to the outcome of the BETA, performance and quality – we plan to release within the next 4 months.

Q: You said you wanted to make sure you don’t do a vendor lock in, but how do you make sure that other vendors won’t lock you in?

A: Avoid proprietary technologies (languages, frameworks, tools) that are only available from a single vendor. Choose open standards and open source. Ask yourself this question about your technology stack – if the (single source) vendor goes out of business or pushes their prices up significantly what is your contingency plan ?

Q: Any idea when the beta’s will become stable?

A: EAP 6 GA is planned within the next 4 months but we may distribute a second BETA release before that.

Q: Will the support Lifecycle of Jboss EAP 4.3 be extended because of the late release of Jboss EAP 6?

A : We have a an extended lifecyle program for EAP – contact your local Red Hat representative for more details.

Q: Pros-Cons Domain Architecture versus standalone Architecture : will you better support the first mode ?

A : They will both be fully supported. Domain mode if you want to run multiple instances for HA or scale-out and don’t have other management tools. Standalone mode if you’re developing or don’t want our management wiring to get in the way of other management tools you use or have developed.

Q: What are technical differences between EAP 6 and AS 7.1 ? ( management tools, fixes, deploy tools, etc ? )

A : At the point of the BETA the difference between AS 7.1.Final and EAP 6 BETA are pretty limited – some branding and some critical bug fixes. As we progress through the BETA and our testing we EAP 6 will start to diverge from the last available AS release and that divergence will continue as we start the maintenance stream for EAP 6. More information on our model here.

Q: when will the Jboss Training courses start covering EAP 6, most spefically, the JBoss Application Administration course (JB336)?

A: JB366 (JBoss EAP 6 Admin.) will be available at GA – in fact you’ll be ale to take the course at Red Hat Summit / JBoss World in June. We’re also developing a new core developer course for EAP 6 that will be available at GA.

Messaging

Q: Have you enable data replication to hornetQ in EAP 6

A: It’s being worked on upstream but not planned for EAP 6.0 GA. It is on the wish-list for EAP 6.1

Q: When will HornetQ implement AMQP?

A : There are no plans for HornetQ to implement AMQP. Red Hat has a separate messaging product (Red Hat Messaging) that does support AMQP – Red Hat Messaging can be used as an alternate JMS provider for EAP.


Core App Server

Q: Will EAP5 bootstrap be updated to be compatible with Java 7? Or do we need to upgrade to EAP6 in order move forward in Java?

A : The plan is to certify EAP 5 with Java SE 7 after the GA release of EAP 6 – so within the next 3-6 months.

Q: Does EAP 6 contain tomcat 7.

A : EAP 6 embeds a modified version of Tomcat 6 with support for many Tomcat 7 features.

Q: When is EWS expected to uptake Tomcat 7 ?

A : JBoss EWS 2.0 will support Tomcat 7 and will be available later this year.

Q: Is there any EJB 2.1 support?

A: Yes but definitely in maintenance mode – you should consider moving to EJB 3.1

Q: Downloaded beta 1, can’t seem to find a way to “install it as a service” for Windows. Is this going to be introduced later?

A : The Windows Service Wrapper didn’t make the BETA – it will be in the GA and in BETA 2 (if we do one).

Clustering / Caching

Q: Why do not integrate The full Infinispan product in EAP 6 (not only for 2nd level cache or session replication)?

A: A number of reasons. The cache instance used for Query caching and session replication is tuned for a specific use-case, enabling it for general purpose use would likely impact both session replication and query caching. We have decided to offer a separate product (JBoss Data Grid) that is specifically for use a a general purpose, in-memory key value store. It can be run in embedded mode and also standalone and satisfies a broader range of deployment topologies and designs.

Q: Is JBoss Data Grid announced for end-March derived from Infinispan project ? Or any other relation between them ?

A : Yes JBoss Data Grid is based on Infinispan.

Modules / Class-loading

Q: Can we replace class on demand on working instance, without redeploying?

A: Possibly. Not out of the box. You’d need something like JRebel or Stuart’s Fakereplace to make it work. And of course there are limits to what kinds of changes can be made with that sort of mechanism.

Q: Will you support to access a Java module inside of an EAR via JNLP?

A: Sounds like a cool idea, though you can probably do this already using simple servlets.

Q: Can we point to application classloader what jar version should it use when we have many version of the same jar?

A: It depends. If you have more than one version deployed as deployments, or your JARs are installed as modules (either with different names, or with the same names but different versions) then yes, you can choose which one to link to simply by using the right Class-Path or Dependency entry, or their jboss-deployment-structure.xml equivalents. We do not support more than one version of a JAR within the same EAR’s lib/ directory or within the same deployment, and each deployment can only refer to one version of a JAR. You can however have an EAR with two subdeployments in it, with each sub-deployment linking against a different version of the same JAR (as long as the conflicting dependencies are never brought into contact with each other).


Security

Q: What is the status of PicketLink in EAP6?

A : PicketLink is included and fully supported.

Q: Is there any internal API to confirm x.509 certificate validity.


We do not provide any internal API to perform the x509 validation. You can use the standard JDK Classes for that. Usage of X509 depends on the subsystem:

If you are using JSSE via the JDK, then you can install your own Trust Manager

For the Web subsystem, you can use CLIENT-CERT and use any of the x509 based login modules.

Management Questions

Q: Can the domain controller be started from the command-line interface (CLI) as well?

A: No – you have to start it manually (or run as a daemon / service)

Q: What kind of scripting tool will be available in EAP6 ? Can all the tasks can be performed via the scripting interface ?

A: JBoss CLI was cover in the BETA Webinar, there are some more details in the docs.

Q: Is JON 3 packaged with EAP6 then? or still separate?

A: All JBoss Enterprise Platforms have a managed option that include entitlement for JBoss ON; though the products have their own distribution / installation.

Q: Will EAP6.0 contain more streamlined patches/fixes and will there be a better way to apply patches instead of copying jar files at different locations ?

A : Local patching is scheduled for EAP 6.1

Q: Does EAP 6 CLI able to deploy a web app on many instances at once ?

A: Yes – the CLI is fully domain aware.

Q: Can we see/configure all application servers under domain controller from the admin console of “domain controller” ?

A : Yes there is a physical view of running instances within the domain.

Q: Where web console keeps our modification? Does it change the XML files or what?

A: Yes. Any config. modification made through the management APIs are persisted in the underlying confg. files.

Q: Would twiddle still be supported?

A: No – we no longer support Twiddle but you can use something like JConsole to get at the underlying JMX MBeans or use jboss-cli.

Q: Does jboss-cli compatible with previous Jboss EAP releases?

A: There was no equivalent to jboss-cli in previous release of JBoss EAP.

Q: Will Domain Controller introduce a single point of failure (either at runtime for applications or for management operations) ?

A: No it isn’t involved in application request flow. In fact it’s quite common to disable the management infrastructure in secure production environments. We chose not to encumber the Domain Controller with an overly complex HA design, when the simple solution is to re-start it if it fails – or run it as a daemon / service so it is auto-started.

Q: is it possible to use JON3 to make automated deployments of jboss applications?

A: Yes., more info. in the JBoss ON 3 Documntation.

Q: If we can change configuration of other instances remotly, can it be done in transactional way – I mean all of the node confirm the change, or none of them in case of some failure

By default, if you make an administrative change that affects multiple servers, the Domain Controller will apply it on all affected servers and will roll it back on all affected servers if it fails on any of them. This constraint can be relaxed when using the CLI by adding an additional header to the operation request that specifies a “rollout-plan”. Among other things, rollout plan can specify that a certain number or percentage of servers in a server group can fail to accept the change without triggering an overall rollback. (See “Operations with a Rollout Plan” on for some conceptual information about rollout plans.

JBoss EAP 6 BETA Webinar

ease-into-the-cloud.png

Join me next Wednesday 3/14 – I’ll be talking about how to get involved in the JBoss EAP 6 BETA program. World-wide-friendly times :

  • Wednesday, March 14, 2012 | 14:00 UTC / 9am (New York) / 2pm (Paris) / 6:30pm (Mumbai)
  • Wednesday, March 14, 2012 | 19:00 UTC / 2pm (New York) / 7pm (Paris) / 11:30am (Mumbai)
  • Thursday, March 15, 2012 | 01:00 UTC / 6:30am (Mumbai) / 9am (Singapore) / 12 noon (Sydney)

Sign-up for the free Webinar here.

With all the enthusiasm of cleaning up a dog turd …

… Heroku finally got around to supporting Java. But they couldn’t do it without first piling on some hate.

Why then, if Java is such a miserable platform to develop on would Heroku bother ?

Here are a couple of thoughts :

1. Huge Developer Base

201108261621.jpg

2. Massive Adoption

Screen Shot 2011-08-26 at 4.22.48 PM.png

3. Large, Active Ecosystem

Only Java gives developers such a broad range of tools, technologies and APIs – both commercial and open source. Only Java gives you Open Standard enterprisey features like Transactions, Object Persistence, Messaging, Security, Integration, scalability and high availability for when you need them.

Basically, most professional developers use Java (if they aren’t beholden to Microsoft that is) and they, to a degree, decide how to spend money on deployment and long-term care and feeding of applications. And Heroku, like any other company wants to make money.

But why would a professional Java developer choose Heroku given their very out of date and poorly informed opinion of Java ?

Surely – Red Hat’s OpenShift is a better choice ? Instead of whining about Java’s shortcomings over the years – Red Hat / JBoss has put a huge amount of energy in fixing Java’s shortcomings – and doing it in an open and collaborative way so the entire ecosystem can benefit. Red Hat has a deep understanding of Java technology and open collaboration – more than anyone else in the industry. OpenShift’s support for Java EE 6 is a recent example of this – we didn’t sit around complaining that Java EE didn’t fit with the new deployment paradigm that PaaS represents – we simply did what we had to do to make it work. And you can try it for free.

Finally, as Isaac makes clear, it’s time for the folks at Heroku to wise up about Java and maybe trade in their 2004 copy of “Beginning J2EE 1.4: From Novice to Professional” and have a look at some of the advancements in Enterprise Java over the last decade. Hey – Adam – leave a comment and I’ll buy you a new book 🙂