Researchers at Gartner dropped something of a bomb on the enterprise Java community just before the holidays in the form of a new report in which analysts claim, among other things, that Java EE is fading from relevance and those responsible for modernizing enterprise application infrastructure should "develop a strategy to deal with the obsolescence of Java EE and other three-tier application frameworks."
Entitled "Market Guide for Application Platforms," the report was authored by veteran industry watcher Anne Thomas and contributing analyst Aashish Gupta. As Gartner defines them, application platforms provide runtime environments for app logic and manage the life cycle of an app or app component. And they typically come with development, monitoring, management, and admin tools.
In their report, Thomas and Gupta allege that Java EE has not kept pace with architectural trends and digital business initiatives requiring new features and capabilities in application platforms. Those responsible for modernizing app infrastructure, they advise, should "retain Java EE servers for existing legacy applications, but use lighter-weight Java frameworks for digital business application development projects or evaluate other language platforms."
The analysts point to a decline in commercial Java EE platform revenues in 2015 as evidence of "a clear shift in the application platform market." They expect fewer than 35 percent of all new business applications to be deployed in Java EE app servers by 2019.
The report's authors do allow that Java continues to be the industry's most popular programming language, but claim that Java developers are demonstrating a clear preference for lightweight frameworks over Java EE. They also acknowledge Oracle's effort to produce a new version of Java EE with "long-overdue features," but argue that, by the time Java EE 8 is released in late 2017, it will already be two or three years behind the times.
"Java EE is not an appropriate framework for building cloud-native applications," they conclude. "Even Oracle and IBM recognize this fact. Both vendors have shifted their strategic application platform investments to PaaS and specialized platform technologies."
I heard from a lot of people in the enterprise Java community about this report. Reza Rahman, the former Oracle Java EE evangelist now leading the Java EE Guardians, said he found the quality of the research and analysis in the report "shocking."
"The most shocking is just how out of date Gartner's views of Java EE are," he told me. "They are clearly talking about technology from the J2EE era, old-school WebLogic and WebSphere, and ignoring everything that has happened in the evolution of Java EE since version 5. For years now, people have been demonstrating at conferences in front of thousands of people how Java EE is one of the most productive platforms out there. But Gartner seems to have decided to brush aside all that, ignoring all the work vendors have put into the platform. The WebSphere Liberty Profile, for example, is vastly different from the WebSphere of the J2EE days; you couldn't get a more lightweight runtime if you tried."
Rahman reminded me that the Java EE Guardians curate "surveys from trusted sources" on their Web site that track Java EE trends. "Those surveys show that Java EE and its APIs continue to be the most widely used in the industry," he said. "The claims that Gartner is making are actually contrary to the known data that we have."
Simon Maple, developer advocate at Java toolmaker ZeroTurnaround, sent me an e-mail in which he addressed several of the report's assertions. The claim that "Java EE has not kept pace with modern architectural trends," for example, is relatively meaningless, he said, when you understand that a standards-based ecosystem like the one supporting Java EE will never be as fast-changing as the non-standard alternatives. And for many people, that's a good thing.
"A standards-based approach means they are able to pick from a number of vendors who use the same model, with limited migration pain," Maple said. "Standards can also provide a sustainable future for a technology as many major organizations adopt and support them."
It's also true that Oracle's "one year of silence on the future of Java EE" was a significant, non-technical contributor to the platform's recent snail-pace evolution, he said. But that silence has been broken (thanks in no small part to the Guardians), and the technical gap between Java EE 7 and Java EE 8 is closing. More importantly, Oracle has strengthened the future of Java EE by committing to the delivery of both microservices and cloud capabilities in Java 8 and Java 9, and by unveiling the roadmap to delivery of Java EE 8 in 2017 and Java EE 9 a year later.
"This refocus to modern architectural trends and faster paced delivery will put Java EE in a much stronger position with modern needs," Maple said, "particularly when paired with standards. The delivery of individual JSRs which comprise the full Java EE version can easily be added to application servers, such as the modular IBM Liberty Profile, without the need to wait for the full umbrella version of Java EE 8 or 9. As a result, it's much faster for application servers to bring this value to market than ever before.
For what it's worth, internal sources at Oracle tell me that the company is really (no really) going to deliver the often-delayed Java EE 8 later this year, and, in fact, is putting the necessary resources behind a 2018 release of Java EE 9. If the latter happens, it would be a record for any steward of enterprise Java, past and present.
Chicago-based developer, blogger, and author Josh Juneau also thought the report missed the marked when it referred to "the obsolescence of Java EE."
"The opposite is actually happening," he said in an e-mail. "Although Oracle took a year off and delayed Java EE 8, things are coming back on track now, and we should be seeing real progress towards Java EE 8 soon. Moreover, the report leads one to believe that Java EE is not positioned very well for developing microservices or for the cloud. That is not accurate, as there are a number of great solutions for developing Java EE microservices. The key is that these APIs are not yet standardized and made part of Java EE proper. That's okay though, because in time we will work through the kinks of developing microservices and standardize on a great API. The same goes for cloud and configuration.
"Java EE moves at a slower pace than solutions from vendors such as Pivotal," Juneau added, "as it should. The point behind Java EE is not to be on the bleeding edge of technology. Rather, it is to be using solid, tried-and-true standard solutions."
Maple admits that the Gartner analysts' statement that "Java EE is not an appropriate framework for building cloud-native applications" is "a reasonable evaluation of the current Java EE position."
"However, the future releases of Java EE do consider this a key area of its future direction," he added. "Unfortunately, the report doesn't go into any depth on this future path, nor the increased pace at which Oracle aims to deliver it. I think it's irresponsible not to mention these, or take them into account when using terms like 'the obsolescence of Java EE.'"
Ondrej Mihályi, a Java EE trainer, consultant, and Senior Services Engineer at Payara Services in the Czech Republic, sent me an e-mail just before Christmas with his reaction, which started with "Wow!" and ended with his observation that the Gartner analysts "irresponsibly provide obsolete information about the Java EE platform."
"They base most of their statements on a very traditional and old-school way of building and running Java EE applications in 3-tier architecture, using Oracle WebLogic and IBM WebSphere servers as a reference," he said. "There is clearly much more in Java EE than these two, and even IBM offers another, highly modular WebSphere Liberty Profile server as an alternative to their flagship product. Other vendors and projects, like WildFly Swarm, sponsored by Red Hat, or Payara Micro, derived from Oracle-sponsored GlassFish Server, prove that Gartner's claim that 'Java EE is a framework for building three-tier client/server applications' no longer reflects the reality."
Mihályi expands his argument on his blog. He concludes it with this paragraph:
"Rather than listening to Gartner, ask architects or experts whom you trust for recommendations based on their experience -- or, simply see for yourself and compare. If you explore beyond the 'traditional' Java EE servers mentioned by Gartner, you will realize that Java EE is already suitable for designing cloud-native applications. The Java EE platform, with its full ecosystem, provides flexible ways to run applications and is easily extensible for any current trends, as well as any future trends to come."
Others have blogged about this report, including Red Hat product manager John Clingan on his "Middle-Me" blog. He offers a detailed analysis of the report, and concludes: "My primary issue with the Gartner report is that it seems to completely ignore the advancements that Java EE vendors have made beyond the traditional Java EE APIs and runtimes, nor mention the MicroProfile efforts to develop microservices APIs for traditional Java EE developers."
Prague-based Java developer Pavel Pscheidl offers "A quick reaction to hate on Java EE in Gartner report" on his blog. (It's actually not all that quick, which is good.) In his conclusion, he invites the Gartner analysts to join him for a "quick online talk." "In a matter of minutes, I can create a microservice-architecture-driven application deployable and easily scalable in the cloud," he writes. "The very thing you claim Java EE is not capable of."
I also invited Thomas and Gupta to respond to all this, but have not yet heard from them. When/if I do, I'll let you know what they have to say.
UPDATE (1/4/17): Mark Little, vice president of engineering at Red Hat and JBoss CTO, has posted a thoughtful and unique take on the Gartner report on his blog. Little allows that Java EE will likely "pass into history" eventually, but in the short-to-medium term, "it will evolve and continue to influence the next generation of technologies, just as the dinosaurs became the birds and aspects of CORBA evolved into J2EE." But he criticizes the report's lack of evidence for its assertions and failure of insight. Its authors offer "one subjective statement after another, with no real attempt to justify them," he writes. And the report "fails miserably to differentiate between Java EE as a standard and the various implementations." Another must read on this issue.
Posted by John K. Waters on 01/03/2017 at 12:30 PM0 comments
Reza Rahman delivered the opening keynote at App Dev Trends 2016 (part of Live 360!) Tuesday morning, giving attendees a deep, contextual history of enterprise Java and issuing something of a call to arms.
"If we are going to ensure the future of enterprise Java, we must remain alert, stay engaged, and participate in the community. You have to do these things anyway, of course, but it's more important now than ever. Java EE is a maturing technology. If we don't reenergize it now, as a community, the investment in this technology we have made over the years will go away."
Rahman emerged as a pivotal figure in the enterprise Java world earlier this year, starting with his departure from Oracle, where he had served as Java EE Evangelist, over concerns about what he perceived to be the company's neglect of enterprise Java. Shortly after resuming his consulting work for CapTech, a national IT management consulting firm, Rahman and a group of concerned Java community members launched the Java EE Guardians, and promptly published a petition aimed at Oracle executives.
Rahman's keynote, entitled "You Are the Future of Enterprise Java!" was an apt exploration of a dynamic technology evolution presented within the context of recent developments. It focused on what's inside Java EE 8 and how it got there, and explored the critical role Java EE and APIs currently play in maintaining the health of the entire Java and IT ecosystem.
But at a fundamental level, his presentation was about a community. "The process of defining the scope of Java EE 8 was the most community-opinion-driven process in the history of the platform," he told me in an earlier interview. "In fact, it was the community that helped to smooth the many bumps along the road to Java EE 8 for the entire IT industry."
To a question from a skeptical audience member about how important the Java community really is to the future of Java EE, Rahman offered a hypothetical scenario with the largely Microsoft-centric conference in mind.
"In a worst-case scenario, we -- the Java EE community -- could say, forget about Oracle and let's all just stand behind the MicroProfile project and move the technology ahead together," he said. "But imagine this happening in the Microsoft world. If Microsoft were ever to decide to divest itself from .NET -- and I'm not saying they ever would—you would have no one to respond, no one who could leverage the strength of a community to get them to change their minds.
"All of what has happened in the past year -- the founding of the Java EE Guardians and the MicroProfile, Oracle's response to our actions, etc. -- to me, is a validation that the Java ecosystem works. In fact, I'd say that this is the worst fire drill that we could have gone through, proving out what differentiates us from all the other technologies out there; that this is not an autocracy, but a dynamic system with multiple layers of control. Even with all our recent belly aching and strife, we are still fundamentally one of the strongest ecosystems around."
AppDevTrends is part of the popular Live! 360 uberconference, underway this week at Loews Royal Pacific Resort at Universal Orlando. We're running side-by-side with Visual Studio Live!, SQL Server Live!, Office/SharePoint Live!, Modern Apps Live!, and TechMentor. Videos of some of the other keynotes from the show are available here.
Be sure to say "hi" if you see me at the show, and follow the latest updates on my twitter.
Posted on 12/06/2016 at 4:13 PM0 comments
The election results are in! No, not that election. I'm talking about the 2016 Fall Executive Committee (EC) election of the Java Community Process (JCP).
Each year roughly half the seats of the 24-member EC are up for ratification/election. The EC oversees the work of the Expert Groups that define Java specifications, essentially guiding the evolution of Java. The committee picks the JSRs that will be developed, approves draft specs and final specs, approves Technology Compatibility Kit (TCK) licenses, approves maintenance revisions and occasionally defers features to new JSRs, approves transfer of maintenance duties between members, and provides guidance to the Program Management Office (PMO).
In other words, who sits on this committee matters.
"This was the strongest slate of candidates since I've been in the job," JCP chair Patrick Curran told me when I caught up with him at the Devoxx Belgium Conference last week. (Thank you, Skype.) "It was really competitive this year."
This is also the first election held under the new JCP 2.10 rules, which, among other things, created two new seats on the committee for unaffiliated individuals. The new Associate Member seats are part of an ongoing effort by the JCP to get more Java jocks involved in the process. The JCP recently introduced Associate Membership, again, aimed at individuals who want to contribute to a Java Specification Request (JSR). There's no employer approval required and Associate Members get to vote for the two new Associate EC seats.
There are now three JCP membership levels: the new Associate level; the Partner level, which is for Java User Groups and other non-profit organizations; and Full Membership, which is for "legal entities who wish to join Expert Groups, lead JSRs, and/or vote or serve on the Executive Committee."
Curran says the JCP's recent recruitment effort has drawn several hundred new members in the past few months, largely in the Associate category. Although Associate membership doesn't include full JCP benefits, it does provide developers with an opportunity to build their reputations, Curran said.
"Previously the only way to participate in the JCP and get public recognition was to be on an Expert Group," he said. "Now, Associate members who participate, say, through the Adopt-a-JSR program or their local Java User Group, can get formal recognition for their work."
The JCP, of course, is the standards-development organization for Java. The organization has been making some serious changes over the past few years through a project called JCP.Next, and the new seats were part of that effort. JCP 2.10 reclassified two the existing Elected seats to provide for this new type of EC membership. The current EC was formed through JSR 355, which merged the SE/EE EC and the ME EC. The JCP continues to wrestle with the challenge of revising the Java Specification Participation Agreement (JSPA), which Curran has called "big and scary."
Today, the EC comprises 16 Ratified Seats, 6 Elected Seats, and the 2 new Associate Seats, as well as a permanent seat held by Oracle America, the official steward of Java. The Ratified Seats are filled by Full Members nominated by the PMO; the Elected and Associate Seats are filled by members nominated by Full and Partner Members.
So who got elected this time around?
The first two Associate Members of the EC are Java champion and enterprise software architect Ivar Grimstad, who is a member of the Expert Group for JSR 368 and JSR 372, and a member of the NetBeans dream team; and software architect and designer Werner Keil, who serves as senior test automation engineer at ING-DiBa, and who has contributed his insights to this blog more than once.
I reached out to EC member and London Java User Group leader Martijn Verburg, whose organization was also re-elected this year. I asked him about the EC's goals for the coming year, and he got back to me via e-mail.
"Our next immediate goal is to work with Oracle and OpenJDK to better align the open source model of development that is Java today (where everything is out in the open) with the requirements of the standards body (needing point in time specifications for purposes of IP flow as much as anything else)," he said. "There have already been some useful early stage discussions, but we'll have to wait for a few weeks before we can publicly comment. This will be an important step to helping Java get released more often."
The complete election results are available online here.
Last year I talked with Patrick Curran about the JCP, and one of his comments bears repeating here:
"The strength of the JCP is the fundamentally simple model of a group of interested experts defining specifications through a formal process that includes public review and oversight by an Executive Committee (EC). The process has always been flexible enough not to define exactly how the Expert Groups should do their work. This has permitted a natural evolution (with a little help and direction from the EC in the form of revisions to the Process) from the early days of relatively private deliberations by representatives of large corporations to the current, much more open and collaborative model. It's a Community Process, and that's its strength."
Posted by John K. Waters on 11/15/2016 at 3:52 PM0 comments
The debut of AppDev Trends 2016, our first-ever industry conference, is less than a month away! We're part of the very popular Live! 360 conference, scheduled for Dec. 5-9 at Loews Royal Pacific Resort at Universal Orlando. This is a multi-conference event that includes Visual Studio Live!, SQL Server Live!, Office/SharePoint Live!, Modern Apps Live!, TechMentor -- and us.
We've been planning this thing for nearly a year, and we've put together an awesome schedule of sessions and keynotes. As I mentioned in a previous post, we're bringing something to this event that's been largely missing in years past: serious Java. Reza Rahman, one of the chief drivers behind the Java EE Guardians, is giving our keynote, and a number of well-known Java experts will be leading sessions.
I had the pleasure of hosting a webcast last month, in which one of our presenters, Kito D. Mann, gave attendees a taste of the three sessions he will be leading at the Orlando event.
Kito is principal consultant at Virtua Inc.
, where he specializes in enterprise application architecture, training, development, and mentoring with JavaServer Faces, HTML5, portlets, Liferay, and Java EE technologies. He's also the editor-in-chief of JSFCentral.com
, co-host of the Enterprise Java Newscast
, and author of JavaServer Faces in Action
. And he's served in expert groups of the Java Community Process
and is one of the founding members of the Java EE Guardians.
Like I said: serious Java.
Kito is a popular and frequent speaker and session leader. His talks and presentations have been on the agendas of ... well ... a bunch of other conferences we need not mention here. The important thing is, he'll be leading three sessions at AppDev Trends 2016:
- PrimeFaces 6: Modern UI widgets for Java EE, which covers the core PrimeFaces components and the key new features in PrimeFaces 6.
- Full Stack Java with JSweet, Angular 2, PrimeNG and JAX-RS, which explores how to build an application using modern front-end technologies using Java for both the front-end and back-end.
- Who's Taking out the Garbage, which takes a deeper look at how Garbage Collection works in the JVM.
I talked with Kito at the end of the webcast about a couple of his sessions.
PrimeFaces, the open-source UI component library for JavaServer Faces (JSF), has become a de facto standard for JSF component libraries. Version 5 was a major update, and version 6 had 345 new features components and enhancements. Is this tech on track, and what would you like to see in the next update?
It's definitely on the right track. What amazes me is that something so mature and with so many features that there's still more to add. If you look at 6.06, which just came out, it has things like a brand new text editor, and some enhancement to the exporter, which is a popular feature used for exporting PDF and CSV files. One of the things I've worked with the PrimeTek team on a lot over the last few years is accessibility. There's probably still a bit of work left to do there, but really not that much. And I'd also like to see a little more functionality around the exporter.
I loved the slide of the guy from Columbia you used to underscore the global popularity of PrimeFaces. How do you account for that popularity?
Among other things, it came out right around the same time as JSF 2 -- which was a huge upgrade -- and so it didn't have any of the baggage associated with older versions of JSF. It came right out of the gate with support for all the new JSF 2 features. Also, a lot of it has to do with Cagatay Civici (the founder of PrimeFaces), who is an awesome guy, and just really fast. He's all about constantly developing and putting stuff out there.
I though what you said about Angular being the 800-pound gorilla of Web development, especially given the big rewrite that is Angular 2, was very interesting. How would you characterize the impact of this rewrite?
I'm amazed at the number of people already working with it, especially since it just came out, and it kept breaking some compatibility between release candidates, which I'm not used to seeing. You had people asking, do I rewrite in Angular 2 or do I move to another framework. Hopefully now it's pretty stable in terms of the API. And a lot of people are going to stick with it, because it has a lot of backing and it's a really powerful framework.
The entire webcast is available now online.
Posted by John K. Waters on 11/09/2016 at 10:13 AM0 comments
8.2 became generally available last week, marking the last release under Oracle's stewardship. Big O's proposal
to hand off the open source development environment, tooling platform and application framework to the Apache Software Foundation
(ASF) has been accepted. Next stop: the Apache Incubator Project
The ASF Incubator Project is the official entry path for projects and code bases whose supporters want them to become part of the ASF. It's where those projects are vetted to make sure they comply with the ASF legal standards and their support communities adhere to the ASF's guiding principles.
This release of what the community is already calling Apache NetBeans comes with a number of fixes and enhancements. Topping the list is an improved Java profiler, which includes new SQL Queries profiling modes, which enable profiling calls from Java processes to databases using a JDBC connection. The profiler displays a live list of executed SQL queries with times and execution counts, including the invocation paths, Oracle's Jiri Sedlacek explained in a blog post. Filtering based on statement type, command type, and related tables is available, and the collected data can be saved to a snapshot for offline analysis.
All SQL queries are displayed, regardless of the target database, Sedlacek wrote, and the profiler now enables coloring of results based on user-defined filters. "This is especially useful for the SQL call trees, but works in all profiler views," she wrote. The defined filters can be also easily added to results filters or instrumentation filters.
The list of key features in the NetBeans IDE 8.2 release also includes:
- ECMAScript 6 support
- NodeJS enhancements
- Oracle JET support enhancements
- PHP7 support
- Docker support
- New editor multicaret features
- New pinnable watches feature
- C/C++ enhancements
Although NetBeans is already open source, moving it to a neutral place like Apache, with its strong governance model, is expected to help get more contributions from various organizations. For example, large companies are using NetBeans as an application framework to build internal or commercial applications and are much more likely to contribute to it once it moves to neutral Apache ground. At the same time, though Oracle will relinquish its control over NetBeans, individual contributors from Oracle are expected to continue contributing to NetBeans after it has been contributed to Apache, together with individual contributors from other organizations, as well as self-employed individual contributors.
The wiki also provides the very long list of Initial Committers to the project.
NetBeans has been dual licensed (CDDL + GPL v2 with Classpath Exception), but will be migrated shortly to the current Apache license.
Posted by John K. Waters on 10/10/2016 at 9:32 AM0 comments
I am deeply bummed that I had to miss the NetBeans party at the Tonga Room and Hurricane Bar in San Francisco on Saturday night. The 71-year-old tiki bar's cocktails are legendary. And it would have been great to talk with the JavaOne attendees IRL about this Apache NetBeans business.
Fortunately, Geertjan Wielenga, principal product manager in Oracle's Developer Tools group, and Bill Pataky, VP of product management for Oracle's PaaS, Mobile Software and Developer Tools groups, gave me a call.
It was Wielenga who announced Oracle's proposed contribution of the venerable Java IDE to the Apache Software Foundation, via the ASF's Incubator Project. As I reported earlier, the open source project will be called Apache NetBeans, and will, as Wielenga wrote, "continue to primarily focus on providing tools for the Java ecosystem, while also being focused on tools for other ecosystems, languages and technologies...."
Wielenga reminded me that moving the NetBeans development platform is going to require some heavy lifting. More than 30 NetBeans repositories must be moved from the NetBeans.org Mercurial source control manager to Apache's repository (Git or Subversion).
"This is going to be one of the largest projects Apache has ever had to deal with," he said. "They're excited about it, but it's going to be quite a bit of work figuring out how things match up."
The process of sorting out the licensing and IP issues is going to take some time, too, Pataky pointed out. Oracle has a number of products that depend on NetBeans, including the Oracle Developer Studio, and even the JDeveloper IDE shares a lot of code with NetBeans.
"When Sun open sourced NetBeans 16 years ago, open source had a very different role in the enterprise," he said. "Sun set itself up as a benevolent dictator, and did a fairly good job of building a community over the years. But that model is pretty stale, and the community is asking for a broader role. Our solution was to open up the governance model."
Oracle has resources (people) committed to NetBeans through the NetBeans 9 release, Pataky said. More than two dozen oracle employees are included on the initial committers' list (which, BTW, includes James Gosling, the Father of Java).
"We will be adding additional folks to that list once we get through initial process with Apache," Pataky said.
There's a dot-dot release in the offing, Pataky said, but NetBeans 9 is likely to be the first official Apache NetBeans.
"We are committed to NetBeans for the foreseeable future, and we're welcoming the many community members, large and small, to take a much larger role in the planning and building of releases through NetBeans 9 and beyond."
I also heard from one of the proposed committers on that list: Martijn Verburg, CEO of jClarity and co-leader of the London Java Users' Group. "It looks like Oracle has a large number of committers on the initial list," he said in an e-mail, "so I'm hopeful that with that core strength and extra community contributions, NetBeans will continue to add value to the ecosystem."
NetBeans has a solid following, Verburg noted, ranking behind only IntelliJ and Eclipse among popular Java development environments. But that third-place spot means the IDE is unlikely to be a major commercial success for Oracle.
"However, it makes sense for Oracle, as the stewards of Java, to continue supporting NetBeans and open up the door to more contributions from the outside to help keep the Java IDE tooling ecosystem competitive," Verburg said. "The community certainly should be happy after years of campaigning to have NetBeans and other important parts of the Java ecosystem put into a software foundation where it's treated more as a public service or utility than a single vendor's product."
IDC analyst Al Hilwa sees Oracle's decision as one that will have positive consequences for the Java community, and for the company. "Oracle has gotten a lot of undeserved flack around NetBeans," he said in an -email, "even though they have continued to evolve it and share it internally with JDeveloper, and even though it has, in fact, gained more users in the last few years. Apache is a highly respected open source foundation with a solid governance model, and so I expect NetBeans to be even more popular as a result of this move. A battle of IDEs, including Eclipse, JDeveloper, and IntelliJ, is always a good thing for a programming language, as it is a mark of the size of the community."
I also heard from Forrester analyst Jeffrey S. Hammond: "NetBeans has long had a close following, so it will be interesting to see if that community blossoms under an Apache governance model," he said. "From Oracle's perspective, this could be construed as another step in slimming down commitments to Java in terms of the tools they directly support that target the languages. Supporting multiple IDEs (JDeveloper, Eclipse and NetBeans) always seemed like an expensive proposition to me. This move may end up being a win-win for the community and Oracle, assuming there's a community ready and willing to keep up support."
The NetBeans community is larger than ever, with approximately 1.5 million active users, worldwide, according to the NetBeans Web site.
Here's hoping there are enough tiny pink umbrellas for all their Mai Tais.
Posted by John K. Waters on 09/19/2016 at 4:44 PM0 comments
In March we announced that ADTmag is participating this year in the very popular Live! 360 conference, scheduled for December 5-9 at Loews Royal Pacific Resort at Universal Orlando. This multi-conference conference comprises Visual Studio Live!, SQL Server Live!, Office/SharePoint Live!, Modern Apps Live!, TechMentor and now AppDev Trends 2016. We don't have the exclamation point in our title, but we're as excited as if we did.
We're especially thrilled to announced our keynote speaker: Reza Rahman. As regular readers of this column know, Rahman has been one of the chief drivers behind the Java EE Guardians and an expanding effort to encourage Oracle to give enterprise Java the attention it deserves and to preserve the overall interests of the Java EE community.
I first spoke with Rahman shortly after he left his position as Java EE evangelist at Oracle in March. "Java EE is very much key to the overall server-side Java ecosystem, and maybe even the health of Java itself," he told me. "Without core investments from Oracle into Java EE, there's a very large part of the ecosystem that will be severely weakened."
A lot has happened since then: the Guardians published their charter, launched a public website, and published a petition aimed at Oracle executives. Google won its "fair use" argument against Oracle's charge that it infringed on a copyright of 37 Java APIs. Oracle shut down the java.net and kenai.com collaborative Web sites. And another effort to support enterprise Java, the MicroProfile.io project, got underway.
And between now and our show in December: JavaOne, during which Oracle has promised to provide "a very well-defined proposal for the next version of the Java EE specification."
Rahman's keynote, entitled "You Are the Future of Enterprise Java!" couldn't be more timely. (Notice that he got into the spirit of the conference with his own exclamation point!) And I can't think of a better speaker to present it.
Rahman has been working with enterprise Java since its inception, developing on almost every major application platform, from Tomcat to JBoss, GlassFish, WebSphere, and WebLogic. He implemented the EJB container for the Resin open source Java EE application server, and he has served as a member of the Java EE, EJB, and JMS expert groups of the Java Community Process (JCP). He also co-authored EJB 3 in Action (with Debu Panda and Derek Lane), and contributes to a number of industry publications. He's also a winner of the JavaOne Rock Star Speaker award.
"Java EE remains one of the most important technologies for global IT," Rahman said in an email. "It has come a long way since J2EE and has grown to become highly community-centric. Indeed, the process of defining the scope of Java EE 8 was the most community-opinion-driven process in the history of the platform. In fact, it was the community that helped to smooth the many bumps along the road to Java EE 8 for the entire IT industry."
Rahman's keynote will tell that unique story, focusing on what's inside Java EE 8 and how it got there, and exploring the critical role Java EE and APIs currently play in maintaining the health of the entire Java and IT ecosystem. And perhaps most importantly, he will attempt to answer the question, What do we need to do now to move enterprise Java forward?
Our goal was to tweak the ingredients of an already great conference with dash of Java and some sessions specifically aimed at ADTmag readers, and I think we've succeeded. This is a show you won't want to miss. Find out more here.
Posted by John K. Waters on 09/14/2016 at 12:12 PM0 comments
The annual JavaOne conference, which kicks off on Sunday (Sept. 18), looks to be chock-a-block with sessions, workshops and keynotes, and I'm expecting significant news from the Oracle Java team and tons of third-party product announcements. One of the best components of this consistently great conference, in my opinion, is NetBeans Community Day, which focuses on what continues to be one of the industry's favorite open source IDEs.
As the no-frills NetBeans Day Web site puts it, "The NetBeans team, NetBeans Dream Team, and NetBeans community will share highlights of how the NetBeans ecosystem has evolved, the work that developers around the world are doing with NetBeans IDE, what's new and noteworthy in NetBeans IDE 8.2, and together we'll explore what's up ahead in the coming period."
The speaker lineup includes NetBeans community members from around the world -- from Serbia to Burkina Faso (a country I confess I haven't actually heard of). Two of my personal favs will be presenting: Arun Gupta, VP of developer advocacy at Couchbase and founder of the U.S. chapter of Devoxx4Kids, and the Father of Java himself, James Gosling, now applying his considerable experience to the challenges of writing software for an unmanned ocean robot at Liquid Robotics . There are some juicy-looking sessions on Java 9 and Jigsaw, open-source tools for teaching Java, so-called DukeScript, Big Data, MVC 1.0 and more.
One session that caught my eye is being presented by Gluon's Johan Vos (CTO) and José Pereda. The session, "Java Mobile and Embedded Development with Gluon and NetBeans," promises to show "how the flow between writing a Java application and deploying it on mobile and embedded devices is extremely easy with NetBeans and the Gluon plug-in."
Gluon is the company that stepped in to fill a serious mobile-development gap left when RoboVM was acquired
by Xamarin, which was then acquired by Microsoft. The end of development and distribution of that ahead-of-time (AOT) compiler and runtime library for Java was later announced on the RoboVM Web site
Gluon provides plug-ins for the leading Java IDEs (including, of course, NetBeans), that allow Java developers to build apps for Android and iOS using a single code base. In June, the company unveiled the Gluon VM, which it bills as a high-performance virtual machine that leverages the OpenJDK class libraries and supports Java 8 and 9 on Android and iOS. The Gluon VM can operate in three modes: interpreter, just-in-time (JIT) compilation and AOT compilation. The VM is the foundation of the company's Gluon Mobile and Gluon CloudLink products.
Gluon is run by serious Java Jocks, so I'd expect this to be a great session. Catch it and the other promising NetBeans sessions on Sunday, Sept. 18, in Rooms 102 and 104 in Moscone South.
Posted by John K. Waters on 09/13/2016 at 6:09 AM0 comments
In its ongoing effort to make its workings as transparent as possible, the Executive Committee (EC) of the Java Community Process (JCP) publishes the minutes of its meetings. The Aug. 9 minutes are online now, and though these kinds of documents tend to provide reliably dry reading, this one proved to be a real page turner for anyone interested in the future of Java EE. (Or would have been if it were, you know, printed on paper.)
A couple of things caught my eye: Anil Gaur, Oracle group vice president with responsibility for Java EE and WebLogic Server, reportedly gave a short presentation on Oracle's Java EE strategy. As recorded in the minutes, he talked about how enterprise programming styles are changing to focus on apps deployed in the Cloud via modular runtimes, and how "we," by which I'm presuming he meant Oracle, would like the future of Java EE to be "viable to the next generation of applications."
Elsewhere in the minutes, JCP Chair Patrick Curran reportedly talked about a meeting he'd had with Oracle execs "on the subject of relations between OpenJDK and the JCP." Curran reported that Mark Reinhold, chief architect of Oracle's Java Platform Group, "had argued that much of the process required by the JCP was duplicative and unnecessary, and that Mark had even suggested that Expert Groups added little value to OpenJDK's existing processes."
We've been hearing predictions like Gaur's that the future of enterprise Java is in the cloud for a while now, and I continue to hear about the uncertain future of the JCP. But felt the need for some elaboration, so I reached out to some Java EE mavens to see what they had to say.
EC member and London Java User Group leader Martijn Verburg attended that meeting (virtually). "I think Anil is echoing the overall market trend for cloud based applications and services, with a subset of that trend being microservices and serverless," he told me via e-mail. "That is, less and less applications will be developed for on premise, requiring the sort of transactions support and connectivity with traditional on-premise systems. For example, with today's Java EE you have standards for Batch processing, transactions, persistent messaging with JMS and so forth.... So that means Java EE needs to evolve and produce standards around service discovery, configuration, logging, JSON processing, and binding, etc., and be less about heavyweight messaging, transactions and so forth."
On the subject of the future of the JCP, he added that he expects it to be "alive and well for some time yet."
"I think the community at large wants to see standards around Java in order to make long terms plans based on the technology," he said, "so the JCP should remain, or some other standardization effort would, I think, naturally take its place."
I also heard from Mike Milinkovich, executive director of the Eclipse Foundation, another EC member listed among the attendees. "Java EE was originally designed for on-premise IT infrastructure," he said. "As more IT moves to public and private cloud infrastructures, Java EE needs to change. Enabling Java to support multi-vendor standards for elastic scalability and DevOps-style deployment models will be key to its future success."
He, too, felt the JCP had a few miles left on it. "I don't think the JCP is going anywhere," he said. "Open source is great, but OpenJDK only provides a single implementation. The team there is effectively building a single product, not a multi-vendor standard and an ecosystem. That may be inconvenient for some Java platform developers, but I am confident that Oracle's executive management understands how important the JCP is to the success of Java as a platform. Without the JCP there could be no WebSphere or JBoss or J9 or Zulu."
EC member Werner Keil, also on hand for the meeting, acknowledge the shift of Java EE 8 toward the Cloud, but argued that that change is not necessarily based on Oracle's recent interests. "Several members of the Java EE Umbrella [Expert Group] repeatedly asked for better support of what once was called 'multitenancy' (aka being able to serve multiple clients/tenants in the cloud more easily)," he said via e-mail. "It took until the Java EE 8 release train (or even beyond) to get those voices heard. Well, it also took till Java SE 8 to get lambdas and 9 to get modularity, first intended at least for Java SE 7."
On the JCP vs. OpenJDK question, Keil said: "Despite the 'Open' in its name, OpenJDK isn't more open than the Open Handset Alliance or .NET Foundation, while the JCP… is a vendor-neutral industry body…. To [paraphrase] Orwell, Oracle isn't 'more equal' than others in the JCP, while they're a lot more equal in OpenJDK. Not everything is rosy and efficient there, either. For example: Project Kona was announced during a BOF last year at JavaOne, and yet, as you can see from its repository, there has been no activity since before JavaOne, and some parts are even inactive for almost two years now."
I also touched base with Josh Juneau, a Chicago-based app developer, blogger and author. He wasn't at the EC meeting, but he's a thoughtful industry watcher who, like me, could read the minutes.
"The foundation of the JCP relies upon the community-centric approach that involves many different voices, and not just those of the big players," he said in an e-mail. "The community, including vendors, developers, and user groups alike, need to have the ability to help steer the direction of enterprise Java, because there are so many different pieces to the enterprise puzzle. One company cannot have all of the answers in this space, so if the JCP were taken out of the decision making and the evolution of Java EE in the future, I feel that it would make Java EE a less healthy platform for development. It would force the vendors and developers to change the way they did business based upon one company's idea of what the enterprise should look like. However, if Mark's statement was not addressing the removal of the JCP process, but rather a revision, then I could understand his position a bit more. Perhaps Mark has different ideas for how the process should be executed. That said, we need the JCP in place, whether in its current form or in a revised format, where the community still has just as much influence."
Surely everyone who reads this blog knows that the JCP is the group that certifies Java specifications, and the EC is charged with guiding "the evolution of Java." What might not be such common knowledge -- and what I want to acknowledge here -- is how hard the JCP has been working since Oracle acquired Sun Microsystems and took over the stewardship of Java to rework some of its knottier components. It started in late 2013 with Java Specification Request (JSR) 348, which was all about transparency, participation, agility, and governance. That JSR was approved without much fuss, and a year later, the JCP sought to merge two ECs -- the Java SE/Java EE committee and the ME committee -- under JSR 355. That plan was also approved.
Posted by John K. Waters on 08/24/2016 at 10:18 AM0 comments