Many of my complaints (Sun Moves In Strange Ways) about Sun Microsystems 8 years ago were fixed by Oracle. Oracle Java Cloud is available, you can easily buy commercial support for WebLogic and even Java and Oracle’s hardware became easier to buy.

In November 2013 Oracle announced to quit the commercial support for GlassFish server and to continue with GlassFish v5 OpenSource as the Reference Implementation for Java EE 8.

There was no secret agenda and Oracle was transparent about their reasons — the overlap between GlassFish and WebLogic servers (see interview) was too big.

I’m not sure whether the impact of GlassFish commercial offering discontinuation was considered by Oracle's management. Until late 2013 GlassFish dominated my commercial Java EE projects. My clients became nervous and planned to migrate away from GlassFish. None of the projects migrated to WebLogic server, most migrated to wildfly, some JBoss (with paid support). Over time the payara server became more and more popular. Many large projects migrated from GlassFish to Payara. Some are paying for commercial support.

Oracle lost a considerable amount of potential customers to their direct competitors.

At the same time clients using WebLogic server became impatient. The slow Java EE WebLogic adaptation make them nervous. Finally, around JavaOne 2015 WebLogic 12.2.1 came with Java EE 7 support. Java EE 7 availability prevented migrations away from WebLogic. Newest Java EE 7 features became available and my clients kept using WebLogic server.

WebLogic 12.2.1 became a lean, capable server with good Java EE 7 support (Java EE 7 certified). Beyond the Java EE 7 support, WebLogic comes with interesting proprietary features, like multi-tenancy (an interesting feature with unfortunate name). With WebLogic 12.2.1 you can rely on the Java EE 7 API for the implementation of critical business logic and use the proprietary features (which are not specified in Java EE) to have a microservice-like deployments in production. It is also straight forward (and certified) to run WebLogic server on docker.

For unknown reasons, after JavaOne 2015 Oracle's involvement in Java EE 7 decreased. See e.g. statements in the public JCP archives: "...Our team is working on other assignments currently and the schedule to incorporate these components hasn't not been worked out yet. Sorry..." [https://java.net/projects/javaee-spec/lists/users/archive/2016-04/message/0] It seems like Oracle engineers are working on other assignments and have no dedicated time for Java EE 8 any more.

The Oracle’s silent, internal, re-focussing on other projects makes WebLogic clients nervous again. The larger the project, the more important becomes Java EE standard for portability. Usually no one switches between the servers during development, but server upgrades are usual. Maintaining the portability between server releases is critical. Proprietary features can become deprecated at every server release (see e.g. file services), but suddenly nothing can disappear from Java EE.

If I were Oracle, I would use Java EE as the killer marketing tool and not as a cost center. Standards become even more critical in the cloud, where vendor-dependencies are naturally higher.

At least in Europe, proprietary servers and services are a really hard sell.