Digital Java EE 7 and Development Handbook Double e-Book Promotion Offer

February 2nd, 2016 No comments

My publisher, Packt Pub, has very kindly proposed a promotional offer for both of my Java EE 7 e-books. You can get a copy of Digital Java EE 7 and Java EE 7 Developer Handbook now.



OFFERBuy either of the eBooks for 50% off and a 50% off on the purchase of both the e-Books together

You have until the 1st March 2016 to take advantage of this offer. Get them whilst they are hot! That is the whole of the month of February to get involved, get into it with Java EE 7. You know it makes sense!

On Packt Pub website, add the books to your shopping cart and in the checkout process apply the promotion code: XENONIQUE50 to get the discount.

See here or:

Also stay tuned for more announcements soon.





Categories: Book, JavaEE, javaee7, Writing Tags:

Skill Up Offer with Digital Java EE 7

December 22nd, 2015 Comments off

Until 2016, every single PacktPub eBook including Digital Java EE 7 is available for just £4 (GBP) [$5 USD ]! This is a Packt Pub Special Offer!

Digital Java EE 7 Web Application Development

Front cover of my book

Merry Christmas




Categories: Book, Development, JavaEE Tags:

Whether using Spring Framework or not , why we are going to lose?

November 30th, 2015 Comments off

A couple of fays again, on the Twitter sphere, I saw blog post by Sam Atkinson called Why I hate Spring. This blog entry was written well over a year ago in 2014, but then DZone actually picked up on it and published it. Atkinson is developer actually at the time of writing is travelling around the world. So he must have been very surprised at the social media in his personal views.

Mr Atkinson article touches on several interesting issues in current Java enterprise application design: XML configuration and compile time safety, magic incantations, imports of other Spring application context files and software complexity. I will briefly examine each of these in this blog post.

I was not surprised by XML configuration, but then J2EE 1.3 had a horrible experience of manipulating EJB XML mapping files and so did Hibernate persistance earlier on. Eventually, Java SE 5 annotations and the Java EE 5 specification helped to change things around. The ideas of CONVENTION-OVER-CONFIGURATION from Ruby on Rails helped to move Java onto the next phase. Spring Framework was earlier to the OSS market with workable dependency injection container implementation in 2002 and 2003. At the time J2EE 1.3/1.4 was horrible mess of container managed session EJB and deranged concept of entity EJB. There was no standard DI framework, and Spring’s competitors were Pico Container, the much older Apache Avalon (Now Closed) framework and even Struts 1.x framework. Years later from 2006, Java EE came along and provided Context and Dependency Injection (CDI) 1.0 with strong type safety at compile time. CDI was too late for thousands of businesses that adopted Spring Framework and at the time most of them where battling with migration from Java 1.4 (J2EE 1.4) to Java 5 and/or 6. The biggest issue ten years ago was keeping mission critical applications running in either a WebLogic Server 7/8 or IBM WebSphere 5/6 application server. So the state of the art was already broken for several years. Spring Framework had it own DI container and yet Java EE 6 also featured a DI container and never the twain will ever meet up.

When it was first conceived Dependency injection was already mind-twist even way back in 2003, it took a lot of thought to understand the common issues of object-oriented systems. Chief amongst them was the testability of applications and selection of alternative implementations for Java object. By giving up control of the instantiation of Plain Old Java Objects (POJOs) to a foreign framework was very unusual at the time. After the water had broken the levy, every engineer, then, pushed classes and implementations over to the framework, well maybe that was a mistake that we pay for now in the present. The magic incantation of which beans are injected and at what application layer was great when the software works, however it was a nightmare to figure out, like Sam Atkinson opined, when you were chasing a bug and refactor some other team’s set of dependencies with Spring Framework. Add to the usual PEOPLE-WARE issues of BIT-ROT and inside investment banking culture of softwre development, SILO DIVISION engineering, then Spring Framework and other application framework were always going to lose at some point.

Sam Atkinson alluded to typical LAYERING issue of large application code bases, especially when the source code is split over hundreds. or occasionally, thousands of engineers, testers and architects inside organisations. Spring Framework already had peculiar feature since version 1.0 to modularises application context files by placing different beans definitions inside different Maven projects. The concept was great to keep bean definitions close to the module that defined and used them. Maybe this philosophy was great for application with small enough set of Maven projects, once the organisation defined a hundred projects with bean definitions, this trick became the nightmare to control. [Let’s not forgot that is the state of the art now.] Combined with magic incantation, layering and delegation of multitude Spring beans in scores of related application context, probably did cause Sam Atkinson a massive cognitive overload. However, this is not strictly a Spring Framework, but rather the application of EVERYTHING IS A NAIL issue.

Finally, software complexity is the bane of many businesses and the effects of building a sufficiently large application and having to then to decipher it, distill it down and eventually replace it might lead to people having a CORONARY. Perhaps the biggest complexity project inside Java is the modularisation of the JDK itself by Oracle and Sun Microsystems and that one does not use a dependency injection container at all. Atkinson talked about the probable fallacies with Spring Boot as a framework around a framework and being possibly dangerous. He is correct in this idea, because Java EE does not (yet) have a standard API or JSR about fully embedded application server infrastructure. [Antonio Gonclaves and others, including myself, have pleading for such API “One Container to Rule Them All” to be brought into existence more than once.] There are uncertain paths if you going down this path with the likes of WildFly Swarm, because your tool chain and development mechanics might not support you all the way. For example, your IDE may not be able to achieve Hot JVM class reloading or be able contribute much to front-end page content changes. These so-called container-less solutions rely on the concept of applications that already are modularised into separate components. If your application is a humongous BEHEMOTH then turning it in to embedded application server application is not going to help in anyway. You have instead serious work to do before reaching the first rung of the ladder of micro-services like attempting to unknit the spaghetti projects and Maven dependencies within your own organisation. The failure is to understand how a large scale Spring Framework application is just the symptom of the illness and not the diagnosis.

Why are we going to lose? Or may be question is why are we just losing it now? The hardest problem inside software engineering is figuring out what to do with LEGACY SOFTWARE and DREAMSCAPING. Most engineers know something about the concept of legacy software and technical debt. It is tremendously hard to write applications that are bug free, flexible and agile; and robust with supremely maintainability. Most technical senior management have either forgotten or do not believe in the effects on legacy. Then, there are the dreams that recruitment companies, sometimes company businesses sell to us, the engineers, designers and architects. Most of the nine to ten million Java developers are the constant baits of the so-called GREENFIELD. Unless you work in a startup company right a very beginning, there really no such thing as this humble green lawn. Even when an existing business spawns out a SKUNK work team and promises that you will not have to work with Legacy, in a couple of weeks, or a couple months, guess what? You will hit the wall of integration between the new fangled system and the older legacy system. At the heart of Sam Atkinson passionate cries of frustration with Spring Framework, the fault is in the architectural design of the applications. The vast majority systems out there in the real world of corporate are BROWNFIELD, please don’t let a recruitment consultant kid you on. He, himself, said that he had not time to train, coach and/or mentor other developers inside his organisation, because of that older directive TIME-TO-MARKET. The moral of the story is, is that there is no moral, except that we are on a MOVING-TECHNOLOGY-FEAT, beating down on Spring Framework, so what? We can beating down Java EE or PHP, Ruby and Scala. If we cannot control our instincts, time pressures and designs, good old human nature is going to seep into our application, and we can attempt to achieve 100% code coverage, write the best functional tests with Cucumber, JBehave, we will still have broken applications in years to come. Software is software, we lose most of the time, and sometimes we win. It’s just extremely difficult when, where and how to achieve this grand ambition.


Digital Java EE 7 Course [Professional Learning][Milton Keynes]

November 27th, 2015 Comments off

Digital Java EE 7 Course

2 Day Course 2016

Date: ( The dates on the first half of 2016)
Venue: Milton Keynes

Agenda: To Be Decided (TBD)
Details: TBD ( I envision the course with reflect content from both of my books. This course will be more on the front-end of Java server side development.)
Price: TBD

This course is a paid for and for professionals and, therefore, it is not free.

The actual details of the course will be determined. There are important requirements like the date and times of the year 2016, the price to charge and how often I can run it. I also need to fit around my current contractual engagements. I will, however, cover a great deal of the material from my recent book, Digital Java EE 7. I will be running the training personally.

If you are interested this early on, please leave a message here or chuck me an email (peter dot pilgrim at gmail dot com) and I will keep you up-to-date.


Categories: Java, JavaEE, javaee7, Milton Keynes, Training Tags:

Thanksgiving 50% off sale promotion for my Digital JavaEE 7 book

November 26th, 2015 Comments off

Hi All

My publisher, Packt Pubishing, has very kindly organised a 50% off sale promotion for my latest book Digital JavaEE 7 Web Application Development.



To take advantage of this fabulous offer, follow this link [opens a new tab on the Packt Pub offer web site].

Actually, the Thanksgiving sale is from the 26th to the 30th of November, where the entire catalogue of e-books and videos is offered for 50% off. So hurry!




(Twitter, Facebook *DONE*)

Categories: community, Digital, javaee7, Network, Writing Tags:

JavaOne 2015 in Pictures (Part 2)

November 6th, 2015 Comments off

Shout outs

This year at JavaOne 2015, these are the shout-outs, in no particular order:

  1. Victor Leonel Orozco
  2. Kota Fujita
  3. Pratik Patel
  4. Alexis Lopez
  5. Jorge Vargas
  6. Naoko Hamamoto
  7. Harold Ogle
  8. Heather Vancura
  9. Sooyol Yang
  10. Ivar Grimstad
  11. Shlomi Ben Haim
  12. Werner Keil
  13. Ixchel Ruiz and Andres Almiray
  14. Fred Simon
  15. Csaba Toth
  16. Jenny Heckler
  17. Mark Heckler
  18. Oscar Sierra
  19. Amelie Eiras
  20. David Blewins
  21. Joel Neely
  22. Susan Duncan
  23. Alison Murdock
  24. Cesar Hernandez
  25. Zoran Sevarac
  26. Ed Burns
  27. Mattias Karlsson
  28. Hirosh Ito
  29. Frank Greco
  30. Freddy Guime
  31. Wolf Helzle
  32. Bruno Souza
  33. Yara Senger and Vinicius Senger
  34. Kevin Nilson and Andy Nilson
  35. Gail and Paul Anderson
  36. Dianne Marsh
  37. Kirk Pepperdine
  38. James Ward
  39. Margo Davis
  40. Roberto Cortes
  41. Dalibor Topic
  42. Todd Costella
  43. Murat Yener
  44. Andy Gumbrecht
  45. Gertjan Wielanga
  46. Tori Wieldt
  47. George Saab
  48. Mohamed Taman
  49. Arun Gupta
  50. Sharat Chandler
  51. Daniel de Oliveria
  52. Gerrit Grunwald
  53. Badr El Hauori
  54. Jeff Genender
  55. Alex Theedon


This is the photo visitation of my blog around the JavaOne 2015 conference, which is the twentieth edition.


The audience is listening. When you speak at JavaOne, this will be your audience. So come strong, be prepared and primed ready to deliver your talk to these people!


Bruno! Is our Java Mascot, going to cut the cake or not? In case you are wondering, the puppet is a Brazilian finch called Juggy, named after the community of Java User Groups.


View from the Cityscape Hilton Tower level 45


The Nullpointer sisters (L) Susan and (R) Alison


Now it is my turn to cut the cake at the JCP party. I didn’t actually cut it, though.


The cake is in all of its splendour


When you are JavaOne speaker, you must make time for your attendees to ask pertinent questions about session, or you can simply swap business cards!


Null pointers performing at Duke’s cafe on the closed off Mason Street next to the Hilton hotel. Ed Burns was singing with Alison backing up. I’m took a timeout, because I didn’t know the song well enough.




We have to give the Oracle Java executives our full support: (L) George Saab and (R) Sharat Chandler. Without them we probably would not have a JavaOne conference to attend.



More Nullpointer goodness: (L) Frank Greco, (C) Freddy Guime and (R) Ed Burns


Alison sings


(L) Zoran Severnac, (C) Susan and (R) Alision and I still taking a break from this song.


Give the drummer some! Cesar is holding the rhythm sticks in style.


The whole Null Pointer band – a job well done after Thursday community keynote. From left to right: Ed, Zoran, me, Susan, Cesar, Mattias Karlson, Freddy, Hiroshi Ito and kneeling down is Frank Greco …. – Apologies to Alison


JavaOne 4 Kids of the future. Here is inspiration that you can make it in the Java ecosystem.


Community key note






What happens behind the scenes, backstage, at a massive JavaOne keynote in the Moscone Center?



Well you get to me Duke, the Java mascot, of course!


Let’s do it all again, next year, lads!


It’s time to toss or propel the JavaOne tee-shirts from the stage with James Gosling.


Cedric Champeau’s Groovy DSL in 2016 technical session


At the Tomitribe residence, who is holding court or setting up now?


My first book, Java EE 7 Developer Handbook was still selling in the conference bookstore.



Ed Burn’s 16 years of JavaOne conferences from year 2000 to 2015. Terrific!


As only Oracle can,!


San Francisco’s Golden Gate Bridge, I have to love it!


I think that I reached the limit for a photo blog post entry! Enjoy! See you next year #JavaOne2016!


+PP+ :)

JavaOne 2015 in Pictures (Part 1)

November 6th, 2015 Comments off

This is the photo visitation of my blog around the JavaOne 2015 conference, which is the twentieth edition.


Java Leader’s breakfast exhibition in Sunady morning.


San Francisco, late autumn whatever your style.


Java Keynote at the Moscone Center


On User Group Sunday, Bruno Souza grabbed Java leaders, champions, including myself to be part of an impromptu panel answering questions about Java eco-system


Effective enthusiasm


The very talented Mr. Ed Burns of the Null Pointers band, JavaServer Faces specification lead, picking on the Ukelele. In the background, there is Zoran


Joe Darcy is talking about JDK 9 Modularity Tools


Linda De Michel tells the audience about Java EE 8 umbrella specification


Josh Long of Pivotal software and I. We were at the post JavaOne gathering at the TomiTribe residence.


A interview Mohammed Taman (R) by Heather Vancura (L)


A interview for the Null Pointers band members. To my right with Freddy Guime, founding band member and leaders and furthest right is Cesar Hernandez


Ignite sessions with Kevin Nilsson (centre), Stephen Chin (L) and Keith Combs (R)


Cityscape 46 in the Hilton Tower at night for the annual JCP party


Andy Gumbrecht of Tomitribe conducts his Ignite talk


Patrick Curran cuts the 20th year Birthday cake at the JCP party


Null pointers band – interview I: (L) Me, (C) Freddy Guime, and (R) Cesar


Null pointers band – interview II


A nice NAO robot in the exhibition hall, Oracle Demogrounds


The MVC 1.0 conference technical session with (R) Ivar Grimstad and (L) Santiago Pericasgeertsen


Hanging out with the Tomitribe crew. To my right is Amelia Eiras, above us is Roberto Cortes


Netbeans Dream Team member on user group Sunday


I took at selfie with Tori Wiedlt, formerly of Oracle and now with New Relic


Frank Greco, fellow Java Champion, New York Java User Group, the amazing lead guitarist of the Null Pointers. Power solo



Nullpointer’s Hirosh Ito sings Green Day’s Basket Case and plays the bass guitar


Mattias Karlson drums on the set


Ed burns on the keyboards


Help me! I think this lady is called Tamao Nakahara (?) and her Ignite presentation was called “Women inside IT: Coding with Grace”


Grace refers to the Admiral Grace Hopper, one of the first modern computer programmers who coined the term, “debugging”.


Sir Elton John, a very real and genuine rock star legend at the Oracle Appreciation Event


Same again, bartender!


Peter Lawrey, expert in very high performance Java computing, getting down at the JCP party and the Nullpointers


See part 2

PS: There was no post JavaOne California driving tour, this year. I stayed just for a week in San Francisco.



JavaOne 2015 – The Twentieth Edition Ten Takeaways

November 5th, 2015 Comments off

We have just had the twentieth edition of JavaOne in San Francisco. This would be my twelfth attendance in unbroken series since 2004. What are the biggest lessons that potentially shed a light into the Java’s future.

Modularisation struggle

It has taken almost nine years from the first mention of modules at Java 2007, or rather by the time that JDK 9 is released in September 2016 as general availability. In fact, it will be 11 solid years, ever since JSR 277 the Java Module System. When we think about this effort, it will be more a decade of activity and thought (See Stanley Ho’s original announcement). Oracle’s modularisation of the JDK effort requires a biography of its own. Perhaps, Mark Reinhold, will get around to writing it one day, may be as the mythical man-month of the 21st century. It is frightening to think rewriting, effectively, Java so that it follows HIGH COHESION and LOOSE COUPLING took almost decade. Everyone else not in the JDK engineer should be extremely scared, especially if the business that you are involved in, has it own humongous mountain of TECHNICAL DEBT. Many institution cannot afford to upgrade, rewrite and reorder legacy classes, packages, let alone modules. Indeed, the cost of maintainability is about to go astronomical for those businesses that struggle under the weight and remain entrenched with Classic Java (JDK 1.0 to 7.0) For Oracle, they had no choice to pay the entire cost of development, design and architecture for the benefit of the entire Java platform and community in order to move forward to better and greater deads in the future. Oracle ought be immensely congratulated when we do reach JDK 9 GA in 2016.

Modularisation and our the future

Modularisation of applications and JDK is the new proverbial no brainer – I do believe Java and the practicing developer, designer and architect community have a LINE-IN-THE-SAND (aka DEMARCATION POINT or DISRUPTION LAYER), which we will pass through in 2016.  A modular system can change faster than the JDK platform. If Project Jigsaw is designed correctly, then you no longer have to contend with CORBA or the old fashion IBM derived java.util.Date and java.util.Calendar. In theory, you ought to be able to replace these module services and remove them if they are unnecessary. If you do not need Swing, then that module can go, same for JavaFX and AWT for server only deployment. Whilst backwards compatibility for Java platform is guaranteed, then it means opportunity for experimentation and new ideas. For recruitment sector, I predict, in 2017, JDK 9 will be CAMEL’S BROKEN BACK. I believe nobody will want to touch Java SE 7 or before (Classic Java) with a barge pole when they can move ahead quicker.  The top engineers will look at your job specification and run hundred miles if there is even an hint of classic Java there. You can offer £1000 per day for 6 months, but who seriously would go through technical debt and attempt to re-modularise ancient Java code, when the next women in the business down the road, is cracking on with the modern modular Java frameworks, gaining considerable experience, moving ahead of the pack, building the next greatest thing on JDK 9. On the other hand, Modularisation does not solve the technical debt, mountains or hill of it. If your business’s mission critical software is an unassailable ball of mud, then you will continue suffer the debt unless there is Agile change of behaviour. I think this is reason why the Oracle JDK 9  team want us to be the early-access early adopters in order to test their enterprise software as much as possible.

Enhanced push for Java into the cloud

At JavaOne 2015 there were a lot ideas and conference talks on Micro services and building Cloud enterprise applications.  The exhibition had a few cloud vendors like JElastic, Red Hat, Pivotal and CloudFoundry. Oracle released its own long-awaited cloud offering called the Oracle Java Cloud.  Ironically, their PaaS solution offers server clustered with Oracle Coherence, which used to be called Tangasol. Cameron Purdy, a very recent ex-Vice President of Oracle, created this early distributed grid and caching solution and, actually, one of his advocates, Brian Oliver, came to the JAVAWUG BOF 26 back in 2007 and gave a talk on Coherence.

Kubernetes and Docker

Arun Gupta was one of three technical speakers who discussed Kubernetes (Google’s cluster of Linux containers). There is new terminology. Pods are collocated group of Docker container that share an IP and storage volume. A Service is a single, stable name for a set of pods, also acts as load balance. A Label name value pair is assigned to a pod. Unofficially, the old application server marketing wars between LIGHTWEIGHT versus HEAVYWEIGHT, which usually took the mode of Java EE versus Spring, took a back seat at this JavaOne conference. If you happen to use Docker or Vagrant and configuration management tools such Chef or Puppet, you probably would spit on the old argument, because if you are stopping and (re-)starting a virtual machine that is configured from Soup to Nuts with a deployment profile, you could not care how light or how heavy WildFly server is? It is more important to know that WildFly 8.2 can be launched with said ACME.WAR already deployed, and the HTTP Undertow module is attached to a  secret port 4123 that is mapped externally port 80 on some virtual machine. You no longer care how large the WAR file actually is, if the WAR file is 10MB or is 1MB.

Dreaming of micro-services

Dianne Marsh’s talks about NetFlix dev ops were completely full. Many people are thinking about these ideas, I suspect that few, very few have the business support, let alone acumen, inside their organisations to actually practice these ideas. Micro services requires  operational teams that work at cross function and usually across divisions. SILO-DRIVEN ENGINEERING, which can found in many traditional USA and UK investment banks, other large commercial institutions,  retail organisations, digital design agencies are an anathema to Micro services. So keep on dreaming if you are fortunate or unfortunate to be a working part of these … The best you could hope is not Microservices at all, but you can rethink your MONOLITH and attempt to get to COMPONENTISED APPLICATION, and if you can get to this point in your enterprise architecture, then you should be able to get a MODULARISED MONOLITH, which is better than a (spaghetti built) MONOLITH.

Scala and Groovy

– there were less alternative JVM languages talks this year. I went to the Apache Spark talk with Ted Malaska, which was very interesting. I also attended Cedric Champeau’s Domain Specific Languages talk in Groovy.

JavaFX progressively mobile friendly

JavaFX was business as usual on the desktop – Surprisingly, there was no keynote innovations around JavaFX at this year’s conference, which showed off new functionality. However, JavaFX adoption is stronger than before, because Swing is on maintenance mode for several years. Gluon are investing in mobile cross-platform support for JavaFX. Gluon has taken over the effort to port JavaFX applications to iOS and Android. For the desktop, JavaFX probably needs rich text editing components. For the mobile, there is JavaFXPorts. I suspect the next huge chunk of the work for this software team is help with the JavaFX 3D and the media libraries.

JavaScript impact

There was some support for JavaScript programming on the client side with AngularJS. In my own talk Digital Java EE 7, I demoed an AngularJS case worker application and there was another competing talk on AngularBeans, mixing AngularJS with JSF. Oracle also announced there own JavaScript Extension Toolkit, which is based on Knockout.js, JQuery, JQuery UI and RequireJS. Kito Mann had a talk on Polymer web components. Of course, there was also Nashorn technical sessions for those business interested in running JavaScript on the JVM server side.

Container-less builds

People are interested in definitely into Spring Boot and may be WildFly Swarm, precisely for the same reasons that they might be sold on Microservices.   The big difference, obviously, is the technical support around Hot JVM class reloading and  dynamic resources. This should not be surprising that these extension solutions go against the investment in WAR deployment in application servers, although the exception to the rule is Play Framework with Scala (and Java). IDE such as JetBrain’s IDEA 15 and Netbeans 8.1 allow interactive and experimental development through HOT changes. dvelopers can make reasonable changes to Java code and more important change CSS, page viewS and JavaScript files without having to restart the application. With Micro services and their close brethren Containerless builds in WildFly Swarm and Spring Boot this high interactive mode (I’m channeling in Bret Victor – Inventing on Principle here) is taken away. In the case of WildFly Swarm, the biggest issue is their no such thing as an exploded-dynamically-reloadable ShrinkWrap  implementation yet, which would allow JVM reloading of classes and web resources. The only way round it is to possibly write applications in the APPLE-IDIOMATIC-SPLIT-TEAMS-SECRET methodology. The user interface design team develop a new front-end that just has a responsibility to show a list of products by title, headline, graphic and description. The server side teams writes the remote endpoint services to query the database. The front and back team agree on a REST API or web interface, but they no clue about the products themselves or descriptions. They will test with mock data. The executive will fill the product database just before the launch with the Apple iPhone Invisible Edition 5150 and all of the relevant information, headlines, titles, hero graphics, comps, descriptions and prices to go with it. This is a great solution for Apple, because it is a Kool-Aid company,  it is not so good for smaller teams, small medium enterprises and even one-man (and one- woman 😉 bands, because more often than not, you want a full stack solution that you can entirely play with it from front to back and vice versa. Containerless then are great for RESTful endpoints and server. Code Hale’s DropWizard showed us how to get us there, but there are not so good for web front-end work in Java (yet).

James writes Java

Mike Duigou’s talk James Writes Java: What I Have Learned by Reading James Gosling’s Code [CON3563] – this was a fantastic session. I’m glad I saw this live, because it reminded me of notion not to become complacent in my coding. James Gosling absolutely continues to stretch his coding with knowledge that he is gained. There is also room for improvement.



Java has another 20 years of life at least. It is possible to have a career  working entirely on the Java platform from 23 (Graduate Junior engineer) to 63 years old (Chief Architect of ACME / PEABODY and still code). I think that this is certainly achievable. It is the other industry practices outside of the Java programming language and JVM that will have profound effects on this ecosystem. Hardware is going to scale up and across. The JVM will have to cope with 1TB RAM and garbage collections. Indeed, this is the next growth area for the JVM engineering team. JDK 10 should hopefully see Value Types to help with memory allocation. On the server side, cloud is still the new frontier, because it still unsure how blue collar Java developers will decide on the value for the cloud.

On the user experience side, JavaFX has given the rich client interface an extension of life. JavaScript is great for web browsers and HTML5, CSS elements, but for heavy duty graphics animations, sound and media rendering, a rich client is a must for applications. Maybe there is a LONG-TAIL in native mobile development after all, Java and JavaFX can only sit on top of the two supposedly insurmountable WALL GARDENS of LOCKED-IN platforms. If it Java is sitting, creeping along and lurking just there, then that opportunity might come along, which it does every once in a while, and make its move. However, it will take dedicated enthusiast and small Agile innovative start-up companies to keep up the pressure and ensure that UNIVERSALITY for mobile development continues. I believe there is a chance, because mobile chip sets are going to get exponentially better over 10 years. It will be interesting to see where JavaFX and other JavaScript bridging solution move us in a few years time, let alone 20 years.

The huge opportunity is the Java MODULE system. It is the ultimate DESIGN-FOR-REPLACEMENT feature not within the Java programming, but into the Java Virtual Machine and JDK distribution. Will we, developers, designers and architect, use it for good? Will we use it in the modification of SOLID? Or will we abuse it somehow? Modularity probably lies in two opposite ends of the ruler, at different scales: the Internet of Things and Micro-services distributed application modules. The future is difficult to predict in terms of hardware and software. The only thing that we can do is get involved, get into it, and keep pushing the envelope. Let’s enjoy the ride.




Arun Gupta for Refactor your Java EE Applications with Microservices and Containers (CON1700)


Rafael Benevides (L) and Antoine Durandt (R)



Stephen Chin soldering at Raspberry Pi and the Oracle Demogrounds and JCP Hackergarten



Badge 2015


This is for Kevin Nilson, a fellow Java Champion and Googler. Kevin’s son is speaking at the Ignite session at JavaOne 2015!


JavaOne 2015 CON5211 Digital Java EE 7

November 5th, 2015 Comments off

By sheer luck, the magic of UPS managed to deliver a consignment of books on the morning of the very last day of the conference exposition. Where I was of sullen disposition, I had had my hopes dashed, suddenly there was resurgence of faith, when I saw the tracking numbers at 9:37Am and the said books delivery to th Java Community Process ( JCP) in Santa Clara. All we had to do, get a staff member and pick them up from the JSP office and bring them to San Francisco. Harold of the JCP was the main man, who drove all the way.

I had a book signing on Wednesday in the Hackergarten at 2:30pm. The books went fast, so quick that they were all gone before the start of the next technical sessions at 3pm.

It was a very happy ending to final underline 18 months of work. This was crossing the finishing line in style at the top Java conference in the world.

My conference session on Thursday was reasonably well attended given the time. Here is the slide deck for CON5211 Digital Java EE 7 with JSF Conversations, Flows, and CDI Scopes.



Sadly, this was one of the conference sessions that were not recorded this year, and therefore it will not be possible view on demand. in 2014 , all  conference sessions at JavaOne were recorded and then processed with Parleys, the deal between Oracle and Parleys obviously came to an end and never extended.


I specially thank Heather Vancura for supporting the book signing since last year. I also thank Naoko Hamamota for the business liaison between Packt Pub and the JCP, and Harold.



Harold Ogle from the JCP  




Heather Vancura of the JCP Management Office



Naoko Hamamota



Beverley from the Boston Globe gets a second signed book




Categories: California, Conference, JavaOne, technology Tags:

JavaOne 2015 continues and Java will live forever (… well maybe a LONG-TAIL)

October 28th, 2015 Comments off

Okay. Maybe I am being over dramatic in the title. I do believe that Java, the ecosystem, the community, the virtual machine and the mother programming language will be around for a long time to come.

  1. What can deflect from it? Postulating in my hotel room with a lot time, in between adding finesse to my talk, I think that it will be a supreme disruptive technology that is going to usurp Java. Twenty years of Java is amazing. It is amazing investment and also technical innovation mountain. Some may view it as a massive debt, other protagonists will see it is as security.
  2. What may disrupt the Java drive train? JavaScript, not really. It is going to be long time for JavaScript to become multiple thread, dynamic and gigabyte memory, garbage collection machine. Indeed, this issue of size is where Java is a little bit of vulnerable. Java will have to content with RAM sizes in a few years that happily marshall a terabyte of memory. It will also need the scale down in other direction for the Internet of Things. This is why MODULE and AGGREGATES are critical requirements and achievements for the entire Java platform. If we can get through the JIGSAW it will be like going through the looking glass and we will be within ALICE’s WONDERLAND.
  3. If anything is going to be a Java Killer, then it will be LEFT-FIELD. I don’t think it will be SWIFT even if Apple decides to open source the language and make it cross platform. Programming language is not the issue in 2016. In the year, 1995, It was programming C and forgetting to call the free() standard library call after it was assigned with malloc(). Java was the LEFT-FIELD in 1995, because no one suspected a few supremely critical ideas to be pushed together (COMPOSED in term of SOFTWARE).  Portability was achieved through byte-codes and a virtual machine, networkability was achieved through Java standard library (JDK), and security was achieved through a sandbox of Netscape Applet. Back in 1995, these were hard things to achieve. I can remember to every company that I joined, I had a copy of MyStringUtils.c, MyLinkedList.c, MyHashTable.c. Standard libraries were so flipping important back then, and now we take the Java SDK to advantage, gracious heart, and we say in unison “Meh!” Quite rightfully so.  So the next generation Java thing or killer will be something out there that we don’t expect based on the problems that we have today.
  4. I wish that you readers, who are not at JavaOne, can see the Star7 video with James Gosling.  The video is from 1992 (c) Sun Microsystems. Gosling had the full sign-off and support from Scott McNealy to develop and innovate a product. The video shows James manipulating a touch screen of about 7 inches, with an old fashion brick GSM antenna. This is a looping video of Project Green, which eventually become Oak, which became the Java platform. Oracle is showing off the video  in the 20 years of Java exhibition in Parc 55. The database giant should put that video on YouTube. End of.
  5. It was great singing with the Null Pointers band last night at Duke’s party. Susan and Alison were great. The whole band Frank, Cesar, Zoran, Ed, and Freddy were outstanding. We rocked the house!
  6. No to the security guy at the Tradition Bar, who asked me for a photo Id. Do I look like 17 years old? Really. Sort it, man!
  7. Yes to the Piano man (Frank O’Connor) at Lefty O’Doul’s Irish bar/restaurant on 333 Geary St. Props to Rob and Jeff too!
  8. Great session by Ed Malaska on the Apache Spark with Java and Scala. He made this so-called Big Data processing look fun and easy to understand. I shall be looking at your RDDS, Direct Acyclic Groups and your Mapping flows and Reducing flows.  Scala does shorten the developer programming API by quite a bit. You need to see the inferred types revealed explicitly, behind the code.
  9. JDK 9 Language and Tooling Features with Joe Darcy was also good. The early access builds are worth checking out now, because there is a high quality. In fact, you should at least try it today. Also in the next expected build post JavaOne, the RPEL will make an official debut. Yes, finally Java will have JSHELL, a READ-PROCESS-PRINT-LOOP.  Teachers in education, start rejoicing, because Java will be easy to teach. Oracle should definitely throw up a JavaFX wrapper around the JSHELL. Oh yes. May be the GLUON team can make a mobile version wrapper on a native device.
  10. I had a chance to catch with the Java EE 8 MVC specification team and caught the last part of this lunch time talk. MVC now has a Redirect Scope instead of the much discussed Flash Scope. They renamed the map collection to Redirect Scope in order to avoid confusion with the Flash scope in JSF. Moreover, the form validation seems to be on track.
  11. Bumping into fellow Java Posse Round Up people, really warmed my heart. Todd Costella, Fred Simons, Dianne Marsh, James Ward and Joel Neely.
  12. I have to run to a session…. *TBD*
  13. Somebody asked me earlier this morning about “What is this BOUNDED-CONTEXT that you speaketh?” (See below)

Star 7

Frank O’Connor


Eric Evans: What I’ve learned about DDD since the book

Please do invest in the original DDD book not the distilled texts, even though it is a bit dense. You have to read parts of it several times over, but once you understand, it is enlightening.

Have a terrific Wednesday.




(*yes I am aware of spelling mistake. You are getting this prose almost LIVE)