As companies move quickly into the realm of digital transformation in an effort to profoundly improve performance and expand their application’s reach, developers require new ways to design, build, manage, and communicate as software is developed and deployed. Oracle proved at JavaOne 2017 that the organization is taking the right steps to drive digital transformations as they unveiled and demonstrated an impressive portfolio of developer tools and cloud-related services.
Digital transformation technologies
Which technologies drive digital transformations at Larry Ellison’s company? Within Oracle’s own teams, thousands of developers use Slack. At JavaOne 2017, Buster Benson, Slack’s Head of Platform Product, took the stage to explain why, describing Slack as both a messaging platform and an operating system for work that’s typically used internally. But even slack is starting to be digitally transformed. “We are starting to test the boundaries and also help you expand Slack to other companies with the launch of shared channels and internationalization,” said Benson. Because of the interdependent nature of the service-full ecosystem, enabling greater communication between companies would be a significant and beneficial achievement that would help drive digital transformations.
With its emphasis on collaboration, conversation, and contextual decision making, Benson pointed out that Slack hopes to improve human to human as well as human to software communication. “Larger companies are using hundreds if not thousands of different kinds of software every day. You might be the person who uses the terminal or text editor or a design app or a ticketing system. You might use that really deeply.” Said Benson. “We’re not trying to change that. We are just trying to take the other 997 products, and give it an interface that’s light and usable. Present it in a way that doesn’t require you to follow a link or enter a password, bringing that content into the conversation in human-friendly way.”
With Slack’s ability to pull in content from many different sources and display it directly in the feed, users can interact with more systems than ever through a single interface, reducing context switching and other activities that tend to degrade productivity. For companies that want exponential gains in performance, it starts with making things easier for people on the ground.
New tools drive digital transformations
Further driving digital transformations is deep learning and artificial intelligence programs that can interact with IoT devices, smartphones and various other technologies that can capture data, whether it is binary, textual or even imagery. Oracle honed in on this trend in many of the live demos they ran during keynote speeches at OracleWorld and JavaOne 2017.
In one OracleWorld demonstration, Oracle developers built a service could take a photo of a license plate, send it to a microservice on the back-end, get data back with history from providers such as Carfax, and respond to the user in seconds with information on vehicle mileage, suggested price, and more. In order for this to work, a multitude of disparate services must be integrated together, but open APIs make doing so increasingly easier. “If you look at how the new generation is building applications, they are really thinking about APIs first in terms of how the interactions will be rather than the functionality,” said Amit Zavery, Senior Vice President of Fusion Middleware and PaaS Development at Oracle.
To help drive digital transformations that are API based, new tools like Apiary are emerging to help make service integrations easier. Apiary allows developers to design, document, mockup, and test APIs quickly and easily. It addresses a recurring problem in software development. “In the past, many times I would build an API that nobody wants to use. I didn’t stop to think why they want that API or what they need it for,” said Jakub Nesetril, Oracle VP of Product Development and API Services. “With Apiary, you can document an API up front, get a mock server to prototype your API, and give that API to somebody to try to use it before you go down the route to developing.” Beside getting early feedback, this approach ensures that documentation is already in place and doesn’t have to be reverse engineered at the end.
From AI and deep learning to the API creation tools that help facilitate application integration, there are a number of new and exciting tools emerging that are helping to drive digital transformations. If anything can be learned from OracleWorld and JavaOne 2017, it’s that continuing to build these digital transformation tools is a top priority for big technology firms like Oracle.
While today’s popular digital transformation tools have expanded the possibilities presented by analytics, social, IoT, and mobile, there’s also an underlying factor that can’t be ignored. Businesses can only transform fast enough if their underlying infrastructure is built to keep up.
So how are vendors helping provide the digital transformation tools that organizations require in order to move into the modern digital age? Apparently, data, information and analytics is an important part of the puzzle. “Data is to this century what oil was to the last—a catalyst of innovation and a revolutionary leader of change,” said Michael Greene, Intel’s VP of System Technologies and Optimization during his JavaOne 2017 keynote. “This is a total transformation across technology, moving from a compute-centric to a data-centric world.” For Intel, when it comes to digital transformation tools, it all comes down to speed, scale, and smarts.
“Performance is everything in a world where the difference between days and months can mean the success or failure of a business,” said Greene as he announced the new Intel Xeon scalable processors that are designed to work across a wide range of digital transformation tools involving 5G, cloud, networking, storage, and analytics. Key benefits include supporting more VMs, much faster cryptographic hashing, double the AI power, and a 3X increase Big Data optimization with Hadoop and Spark. Greene described this as the largest generational gain in performance in the last decade, along with the fact that there are features in the Java SE 9 release that are designed to take advantage of this fresh generation of infrastructure.
Scaling to address digital transformation challenges
And the performance of low level infrastructure like processing units, along with the ability for environments like Java SE 9 to take advantage of this infrastructure, because the vast amounts of data modern enterprises are generating is placing a great deal of stress on existing digital transformation tools. “From large data centers to the billions of device sensors on the edge, the data generated are growing at an exponential rate creating a couple of challenges,” said Greene. “First, data must be stored and accessed quickly if you want to turn valuable data into business insights. Second, massive transaction volumes require a much more flexible and scalable application architecture.”
But despite the daunting challenges the gargantuan amount of data modern enterprise systems create poses, there are advocates out there ready to assure the public that modern digital transformation tools are ready to tackle even the most difficult problems.“We are running about one hundred thousand Java Apps and one million instances,” said King Sum Chow, Chief Scientist at Ali Baba Systems Software. In Chow’s JavaOne 2017 keynote speech, he assured all of us that building distributed Java Services on top of the Java SE isn’t that hard. In fact, Java has proven itself as a reliable platform for creating and deploying Java based microservices that can operate and scale independently. But the Java platform doesn’t exist within a vacuum. Chow reiterated Greene’s sentiment that fast and reliable hardware is also an important piece of the puzzle when building digital transformation tools. “The better the hardware performance, the more creative we can be in delivering better and faster services. We are also interested in learning how to use the system memory in our applications.”
Digital transformation tools and AI
So what is the final result when fast and reliable hardware makes it possible for digital transformation tools to consume massive amounts of data? Apparently, all digital transformation roadmaps eventually lead to deep learning and artificial intelligence plays. “AI will be the tool that harnesses and converts a flood of data into powerful insights and smarter decisions,” said Greene. “Increasingly, these insights will be made not only by people but by machines themselves. Society’s being transformed on a spectacular scale. Machines that sense, reason, and act can accelerate solutions to large scale deployments.”
Regardless of which technology partners enterprises rely on to supply their infrastructure, these three factors of achieving greater speed, scale, and smarts are certain to play a role in moving digital transformation into the next generation. And as digital transformation tools evolve to match the increasingly capable hardware that drives them, new opportunities for consuming, interpreting and learning from the various data points applications generate will continue to emerge and subsequently change the digital landscape forever.
Digital transformation and cloud offer opportunities, not redundancy, for CIOs and software developers, said California Department of Conservation CIO Catherine Kendall. “It’s a great time to be a developer,” she said during an Oracle OpenWorld customer panel on digital transformation projects this week. Thanks to cloud services, she said, it’s a good time to be a CIO, too.
“IT is an untapped resource of business knowledge,” said Kendall. “We sometimes know the business rules, regulations and laws better than anybody because we’re partnering in it.”
Kendall’s positive attitude about IT pros’ changing roles was a highlight of the informal press room discussion. Here’s how she sees IT playing an important role in digital transformation projects.
Some IT pros see digital transformation as a top-down project and a possible job security threat. So, said Kendall, it’s important to convey developers’ their importance to the business and the opportunities coming from digitization.
“Digital is about the business and IT together as one, regardless of the methodology, whether you’re using Agile, waterfall or [other] methodologies,” Kendall said. “IT needs to be part of the business plan, not just the secondary budget.”
Holistic teamwork is critical in digital transformation, because it is all about the end user, about the customer. “We need to get the developers out [front] more, because they offer a wealth of information,” said Kendall, a former programmer herself. Developers are the technology enablers who help businesses reach customers in ways that are usable and frictionless.
Developers know more about the business than other stakeholders at the project table, Kendall said in our brief conversation after the session. They have gathered customer requirements, studied user experience and user interface design and made sure that technologies don’t clash with governance and compliance issues.
Making IT a fundamental player at the digital transformation project table is a huge cultural change. “IT has always been the one-off,” Kendall said. “The IT guys are on a lower floor. They don’t come out a lot.”
Developers need to step up to their new responsibilities in business initiatives. “We [have to] come further across the table to learn the business,” said Kendall. “I think the developer now has to be more of a hybrid, instead of code-slinging.” She wants her IT team to feel comfortable at the table to speak up and suggest other approaches.
Developers aren’t the only ones who now have a seat at the digital transformation project table. Cloud computing, said Kendall, “is giving CIOs a seat at the table from a business perspective.” CIOs will have to reinvent themselves, using cloud’s capabilities as an initial piece in transforming business.
When cloud first came out, Kendall thought it was just a rebranding of on-demand. She quickly discovered its value. For example, just the storage capacity offered by cloud services is a game-changer for CIOs. “We can pull data from the USGS, weather services, economic data…and we don’t have to worry about infrastructure investment. We are now in a position where we are not constrained,” she said. “I don’t have to sit there and say, ‘No. No, we can’t do that.’ Now it’s about imagining possibilities, imagining what we can do.”
For all players in IT, digital transformation is a means to focus on delivering the best results to customers. “That’s what has transformed us,” she concluded. “That’s the opportunity.”
Editor’s note: Catherine Kendall was also a co-presenter in a general session, “Data and Analytics Power Your Success,” at Oracle OpenWorld 2017.
“In a digital transformation project, what are pain points commonly felt by the development group?” That’s the question I put to Tata Consultancy Services’ (TCS) Global Head Sunder Singh prior to his Oracle OpenWorld/JavaOne session, “Building Smarter Enterprises.” Here’s his response, in which he identifies and discusses five digital transformation challenges.
1. “Simplification comes at a price,” said Singh. Developers and development teams who do not have the ability to unlearn and learn quickly will not thrive in a digital transformation project.
“It’s the mantra to move away from complex, time-consuming processes to simplification,” said Singh. DevOps teams must have the self-realization that the current complex way of doing things is costing time and money and will eventually cost the company its very existence. Singh warns that developers must learn to “simplify or perish.”
2. It’s not easy for IT pros to look at the organization holistically, which is a must in digital transformation projects. Digital transformation impacts the entire organization from IT to line-of-business, said Singh. “Some people think digital is cloud while others think digital is for the front office only,” he explained. Certainly, digital transformation can be enabled by cloud, but it’s not the only component, and neither should the front office be the only focus.
Developers can’t work separately from the organization anymore. A digital transformation project encompasses social, mobile, cloud, analytics, AI, IoT and more and all in an integrated fashion. “All employees must be brought into the change and be provided with the right skills, behaviors and resources to accept and embrace the change,” Singh said.
Failure to do a digital transformation project holistically throughout the organization will lead to “continually playing the catch-up game,” Singh said. “We will keep doing it in parts, building and rebuilding.”
In digital transformation, traditional IT roles will evolve from operational focused to an approach focused on how the application will deliver business value. “There needs to be change management support for implementing new KPIs to help enable the adoption of the new role,” Singh said. “This operational change management should extend from the board room to every employee impacted by the change.”
3. Executing a digital transformation project in an agile manner is key to success, said Singh. “Adoption of agile, not in a silo but enterprise-wide, [is needed for] responsiveness in a manner to get the products and offerings out to get the first mover advantage is the key,” he said.
In conclusion, Singh noted that resistance to change is futile. Digital disruption is now and will remain the norm for businesses. “The organization’s culture and way of working for decades is being disrupted,” Singh said. Developers must go with this flow and find their roles in the new digital business paradigm.
As things get better, they often get slower, making better things worse. Far too often, that’s how things work in the tech sector, which is why I’m glad to see the architects of Java SE 9 bucking this trend in the latest full version release.
When I think about application performance, I think back to the days when I played my Atari 2600 as a kid. I’d shove in the Space Invaders cartridge and the only delay between clicking the on switch and engaging with the aliens was the speed of light traveling between the television set and my eyes. I stopped playing video games when Sony improved the gaming console so much that any time my Dig Doug died, I’d have to wait a minute and a half while the CD-ROM spun and the Fygars reloaded. Video games got better, and because of that they got slower, which made them worse than they were before. Even today, I long for the performance of an Atari 2600.
It’s a demoralizing cycle that asserts itself in a variety of areas of the tech sector. My 8 gig Android phone is unusable after the latest OS update. Windows 10 won’t even install on my old Lenovo laptops which run just fine with XP. And even if I bought a new phone, a new desktop and a new laptop with the most expensive hardware Fry’s Electronics is wiling to sell me, none of it would boot up as fast as my old Atari.
I doubt that an Atari 2600 was the inspiration as Oracle’s language architects worked on Java SE 9, but it may as well have been, because Java SE 9’s new module system is making Atari-like performance a real possibility.
Atari-esque performance and Java SE 9
The highlight of every JavaOne keynote happens when Oracle’s chief language architect Mark Reinhold takes the stage. Reinhold doesn’t talk in superlatives as do most other keynote speakers. Reinhold talks Java and always shoots straight about where we are in the evolution of the language. At JavaOne 2017, Reinhold demonstrated Java SE 9’s evolution beyond the simple classpath model and into an age of module isolation. It’s easy to tell that the Java language team is proud of this achievement.
The evolution of Java SE 9
Now there’s a plethora or reasons to be excited about modularity’s introduction, but in my opinion, Project Jigsaw’s greatest contribution to Java SE 9 is the fact that it not only makes software development with the JDK better, but it makes the applications we develop faster as well.
During his JavaOne 2017 keynote, Reinhold engaged in a little live coding in which a simple, module based Java SE 9 application was created. The whole thing was deployed to Docker and when the 261 meg container was run, the compulsory Hello World message was displayed. That was impressive in itself, but what ensued immediately following this little demonstration can only be technically described as witchcraft.
After the first Docker build, Reinhold remade the container but employed the new Java SE 9 tool JLink. “Java finally has a linker,” said Reinhold. “It’s an optional step, but it’s a very important one.” Using JLink, any of the 26 modules that the JDK has been divided into that aren’t used by the application get pruned away. The resulting recompilation using JLink created a new container that impressively tipped the scales at just under 39 megs.
With Java SE 9, Reinhold has not only delivered a better JDK, but he’s also delivered a system that can be configured to be faster and have a much smaller footprint as well. They haven’t just improved the functionality of the Java SE 9 platform, but at JavaOne 2017 they’ve shown how they’ve improved upon important non-functional aspects of it as well.
Prognosticating about Java SE 9 performance
Now I should be careful to draw a line between a container’s footprint and actual performance. I’ve deployed plenty of Java applications to WebSphere servers hosted on big, bare metal behemoths, and I doubt the presence of an unused Swing package sitting on the file-system inside of the JDK ever had a big impact on the performance of my e-commerce apps. But a module system does allow for a variety of tricks, such as the lazy loading of components, that developers can start taking advantage of in their code. And being able to move smaller Docker images across the network when updates happen or patches need to be applied will have a real, measurable impact on the performance of administrative and infrastructure tasks. The benefits of the Java SE 9 environment’s newfound modularity will assuredly reach far and wide.
It was an uphill battle getting Project Jigsaw finalized, ratified and packaged into the Java SE 9 platform before the Java community descended upon San Francisco for the JavaOne 2017 conference, but Reinhold and the rest of the Java language team made it happen. It’s an impressive feat, and it’s one for which they are deservedly proud.
You can follow Cameron McKenzie on Twitter: @cameronmcnz
Customers have high expectations of applications today, demanding personalized experiences, super-fast responsiveness and business value with each transaction. That pressure is one of the top drivers for businesses to initialize digital transformation projects, according to Tata Consultancy Services (TCS) experts Sunder Singh and Kallol Basu. Another is the speed of IT innovation, which has been and is enabling automation of all business processes, said the TCS consultants from Oracle OpenWorld 2017 in San Francisco this week.
In our recent conversation, the TCS duo explained the following three key reasons why businesses should start doing digital transformation projects. Kallol is the TCS Oracle Practice transformation change management consultant, and Singh is the global head, Oracle Practice, Enterprise Solutions. Here at Oracle OpenWorld/JavaOne, Singh is a co-speaker in the sessions, “Building Smarter Enterprises” and “Driving Speed, Scale and Efficiency.
Three drivers for digital transformation projects
#1: Customer expectations: Rising customer expectations include demands of more personalized experience, faster response and the desire to always feel valued at each touch point of their journey, according to Basu. Singh noted that it is now the norm for human and machine interaction to be simple, intuitive, cheap and fast. “Companies are transforming themselves to fit into the so-called norm and or de facto standards of user experience,” Singh explained.
Basu sees digital transformation placing people back at the heart of the company. “The silo mentality is not suited to digital transformation, which relies on openness and a transversal approach.
#2: Increasing reliance on and capabilities of data analytics: Analytics allow businesses to put their fingers on the pulse of the customer, said Basu. Singh adds: ”The power of machines to manage the velocity, variety and volume of data like never imagined before opens up new art of possibilities for analytics and insights in a hyperconnected world.”
#3. Computing has put business competition in hyperdrive: IT has increased a company’s ability to compete as traditional boundaries vanish allowing for new competitors to enter the market, according to Singh. Technology advancement and the availability of storage, computers and network at a throw away price – better, cheaper and faster. This has opened up a plethora of possibilities.
“With digital and cloud, one can start a business with practically nothing from anywhere at any time and usurp your very existence,” said Singh. “The entry barrier is gone. Heavy capex and years of lead time to start business is gone.”
What about your business?
Are there other reasons why your company has started or is planning a digital transformation project? Or, is digital transformation not on your agenda? Or, have your companies automation projects already made it what is known as a Digital Business?
Last year’s JavaOne conference generated quite a bit of excitement with the discussion of many of the new Java SE 9 features. But this year’s event is already proving to be more groundbreaking. From making every aspect of Oracle’s Java EE open source to introducing Functions as a Service, each speaker in the opening keynote brought a little more excitement to the crowds gathered in San Francisco, California.
An open Java SE 9
The biggest announcements during the keynote were the intention to make the Eclipse Foundation the new steward of Java EE. All the elements of the commercial version of the Oracle JDK will become available in the Open JDK as well, giving developers unprecedented access to features that were previously available only to the enterprise elite. In addition, Oracle committed to stepping up the speed of releases. According to Mark Reinhold, Chief Architect of Java, the new timeline of releasing every six months instead of every few years accomplishes a couple of goals. “It helps us move forward and do so faster.” But speed isn’t the only focus. “Features go in only when they are ready. If a feature misses a current release, that’s OK. Because it’s only six months to the next one. It’s fast enough to deliver innovation at a regular pace, and slow enough to maintain high levels of quality.”
A nimble Java SE 9
According to Mark Cavage, VP of Product Development at Oracle, Java SE and Java SE 9 offer over 100 new features and streamline the JVM with better support for containers that will allow the platform to evolve in new ways. “You can get just enough Java and just enough JVM to right-size the JVM for a cloud world.” Niklas Gustavsson, Principal Architect at Spotify, spoke about how his organization has gradually shifted more and more of its services to Java as the need to scale its cloud-based offering has grown with its user base.
With 140 million active users and 3 billion streaming songs per day, the service had to handle 4 million requests to the backend per second. Over time, Spotify shifted more and more of its services from Python to Java. Better stability and scalability were just two benefits. But transparency was just as important. With the JVM, “We could observe what was happening in runtime in two ways: collecting runtime metrics on the platform itself or profiling the service while running in production.” Spotify deliberately used a microservices architecture to make it easier to shift to Java piece by piece as it made sense to do so. This approach allowed them to scale each service separately to meet the needs of a wide range of user behaviors and ensured that any outages were well-contained.
Containers and serverless architecture
Kubernetes was championed by Cavage as the optimal open-source container option for the Java community. Heptio CEO Craig McLuckie spoke in more detail about the ability of containers to simplify operations “Containers are hermetically sealed, highly predictable units of deployment with high portability.” With the use of dynamic orchestration technology, much of the work of operations can be automated. Craig also pointed out that containers, in a sense, may spell the demise of middleware as it currently exists, separating it into two different layers with containers on one side and application level libraries on the other. And flexibility is inherent. As well as containers and the cloud work together, McLuckie pointed out that this pairing is optional since Kubernetes could just as easily be deployed on premises.
On the developer side, going serverless was highlighted by Mark as “a Compute abstraction that takes away all notion of infrastructure from the user/developer.” It could be applied to many different use cases from compute to DB to storage, allowing developers to focus on functions and services that meet business needs.
Functions as a Service
FaaS was showcased in the form of the Oracle FN project headed by VP of Product Development, Chad Arimura. This three-pronged technology starts with the FaaS platform which should allow developers to build, deploy, and scale in a multi-cloud environment—while running FN locally on their laptop. The Function Development Kit (FDK) was the second part of the puzzle, “It allows developers to easily boostrap functions and has a data binding model to bind the input to your functions to common Java objects and types.” The FDK is Lambda compatible and has Docker as its only dependency. The FN Flow system is the final piece, enabling developers to build higher level work flows and orchestrate functions in complex environments. Arimura showed off Oracle’s commitment to open source with a few mouse clicks at the end of his presentation, providing the whole world with access to the project.
More to come…but hard to top this year
The keynote ended with a review of some of the same features discussed in 2016, with Jigsaw and Project Panama receiving substantial attention. The Amber project for right-sizing language ceremony was mentioned and will no doubt be showcased at next year’s JavaOne. Another contender is the Loom project which is still in the discussion phase. While each new conference reveals fresh features, it will be difficult to beat the excitement of having unlimited access to every aspect of Java SE 9.
What’s trending at JavaOne 2017? A simple way to tell is to search through the conference catalog and take note of the various sessions that are overbooked and no longer adding attendees to a wait-list. Taking that approach, here’s a quick look at a few of the sessions that JavaOne 2017 attendees will be missing out on if they weren’t savvy enough to register early for a seat.
Lambdas still loom large at JavaOne 2017
A few years ago, when Java 8 came around, everyone was excited about the fact that Lambdas were finally being shoehorned into a full version release. This year, it looks like everyone is getting around to actually using them, as not even an 8:30am start on a Monday morning is scaring people away from Java Champion José Paumard’s Free Your Lambdas session.
Introductory and advanced reactive design
Every time I’ve talk to my good friends at either Payara or Lightbend, they’re flogging the merits of reactive development and design. Continuing to spread the word, Lightbend’s Duncan DeVore will be joining up with IBM’s Erin Schnabel to provide an Introduction to Reactive Design, while Payara’s Ondrej Mihalyi and Mike Croft will be stepping it up a notch by tag-teaming a hands-on lab entitled Traditional Java EE to Reactive Microservice Design.
Interestingly, these hands-on labs are taking place at the Hilton by Union Square, a good ten-minute walk from the main conference grounds located in the Moscone Conference Center. In years past, the whole conference took place in a cluster of hotels next door and across the street from the Hilton. This year, everything but the hands-on labs takes place alongside Oracle OpenWorld at Moscone.
Romancing the Java 9 stone
The conference is called JavaOne, so it comes as no surprise to discover that a session entitled JDK 9 Hidden Gems would play to a packed house. Back in the Moscone West building, Oracle’s JVM Architect Mikael Vidstedt and Intel Corporation’s Senior Staff Software Engineer Sandhya Viswanathan will avoid the Java 9 hype by skipping over big ticket items like Project Jigsaw and Java 9’s multi-jar deployment capabilities and instead, according to the syllabus, “talk about JDK 9 optimizations spanning support for larger vectors with enhanced vectorization, optimized math libraries, cryptography and compression acceleration, compact strings, new APIs with associated optimized implementation, and many more features that help big data, cloud, microservices, HPC, and FSI applications.” To a Java aficionado, a session description like that is more tempting than candy is to a baby. Here’s hoping they can get through as many of those topics as possible in the time allotted.
Keeping Roy Fielding’s dream alive
Java developers continue to take a keep interest in developing RESTful web services, as e-Finance’s enterprise architect Mohamed Taman’s session entitled The Effective Design of RESTful APIs will be running at capacity. Speaking about more than just the development of RESTful APIs in the enterprise sphere, Taman’s session addresses how to create multi-channel RESTful web services that interact seamlessly with IoT components, embedded devices, microservices and even mobile phones. Roy Fielding would no doubt be pleased.
Boyarsky demystifies JUnit 5
And finally, it should be noted that if you want to meet with popular CodeRanch Marshall Jeanne Boyarsky, you’re not going to be able to do it by walking in at the last minute on her hands-on session about solid software testing practices, because that Hilton attraction is emphatically overbooked. Co-presenting with enterprise software architect Steve Moyer, this hands-on session is entitled Starting Out with JUnit 5.
I’m actually surprised that a session on JUnit would go to max capacity. It’s hard enough to get developers to write good JUnit tests at the best of times, let alone attend a technical session on the topic at a time when the beer garden calls. I’m postulating that Boyarsky’s reputation and online persona is responsible for packing the house. Or, it could be due to the fact that the session’s syllabus reads more like a fear inducing warning than a simple overview: “The difference between JUnit 4 and 5 is far bigger than the difference between 3 and 4. JUnit 5 is almost up to the GA release, so it is high time to learn about next-generation JUnit.”
So that’s what’s trending today at JavaOne 2017. It’s largely what you’d expect from a group of forward thinking software engineers. It’s a matter of learning about new topics like reactive design, getting the most out of the language features from both JDK 8 and Java 9, learning how to write RESTful APIs that will integrate multi-channel devices, and finally, learning how to write tests to make sure that any code that gets written is reliable and robust. As I said, it’s pretty much what you’d expect from this JavaOne 2017 crowd.
You can follow most of these speakers on Twitter, and you probably should:
- Java Champion José Paumard’s: @josepaumard
- Lightbend’s Duncan DeVore: @ironfish
- IBM’s Erin Schnabel: @ebullientwork
- Payara’s Ondrej Mihalyi (@omihalyi) and Mike Croft (@croft)
- Oracle’s Mikael Vidstedt: @MikaelVidstedt
- e-Finance’s Mohamed Taman: @_tamanm
- The CodeRanch’s Jeanne Boyarsky (@jeanneboyarsky)
You can follow me, Cameron McKenzie, too: @cameronmcnz
When static code analysis tools identify a bug in the production code, there are two approaches organizations can take. The sensible one is to put a software developer or two on the problem and implement an immediate bug fix. The other option is to assemble the software team, debate the relative risk of not addressing the problem, and then choose not to do anything about the issue because the reward associated with doing so isn’t commensurate with the risk. You’d be surprised how often teams choose the latter approach.
The dangers of risk assessment
“Many organizations have an effective process for identifying problems, but no process for remediation,” said Matt Rose, the global director of application security strategy at Checkmarx. “Organizations do a lot of signing off on risk. Instead of saying ‘let’s remediate that’ they say ‘what’s the likelihood of this actually happening?'”
Sadly, the trend towards cloud-native, DevOps based development hasn’t reversed the this trend towards preferring risk assessment over problem remediation. The goal of any team that is embracing DevOps and implementing a system of continuous delivery is to eliminate as many manual processes as possible. A big part of that process is integrating software quality and static code analysis tools into the continuous integration server’s build process. But simply automating the process isn’t enough. “A lot of times people just automate and don’t actually remediate,” said Rose.
The bug fix benefit
There are very compelling reasons to properly secure your applications by implementing a bug fix. The most obvious is that your code has fewer identifiable issues, giving software quality tools less to complain about. “It doesn’t matter whether a bug is critical or non-critical. A bug is a bug is a bug. If you don’t act upon it, it’s not going to go away.”
“Many organizations have an effective process for identifying problems, but no process for remediation. Organizations do a lot of signing off on risk.”
-Matt Rose, the global director of application security strategy at Checkmarx.
The other benefit is the fact that the process of addressing a problem and coding a bug fix is actually an educational experience. Developers get informed of the problem, realize how a given piece of code may have created a vulnerability, and then they are given the opportunity to re-write the given function so that the issue is eliminated. “Working on vulnerabilities that are in your application and are real-world to you is going to teach you how not to make the same mistakes over and over again.”
So skip the risk assessments. If there’s a problem in your code, implement a bug fix. That will eliminate the risk completely.
If JavaOne 2017 is your first time attending the conference, it will serve you well to follow some advice and insights from a veteran attendee of the JavaOne and OpenWorld conferences.
The first piece of advice, for which it is currently far too late to act upon, is to make sure you’ve got your hotel booked. Barry Burd wrote a JavaOne article for TheServerSide a couple of years ago that included some insights on how to find a last minute hotel in San Francisco that isn’t obscenely far from the venue, although given the limited availability when I did a quick search on Expedia earlier this week, I’d say you’d be lucky to find a hotel in Oakland or San Jose for a reasonable price, let alone San Francisco.
Schedule those JavaOne 2017 sessions
For those who have their accommodation booked, the next sage piece of conference advice is for attendees to log on to the JavaOne 2017 session scheduler and reserve a seat in the sessions you wish to attend. Adam Bien’s session on microservices, Java EE 8 and the cloud is already overbooked. The Java platform’s chief architect Mark Reinhold’s talks on Jigsaw and Java modules already has a wait list, and the ask the Java architects session with Oracle’s Brian Goetz and John Rose is at capacity. The longer you wait to formulate your schedule, the fewer the sessions you’ll have to choose from.
When choosing session, I find the speaker to be a more important criteria for discernment than the topic. Most speakers have a video or two up on YouTube of them doing a presentation. Check those videos out to see if the speaker is compelling. An hour can be quite a long time to sit through a boring slide show. But an exciting speaker can make an hour go by in an instant, and if you’re engaged, you’re more likely to learn something.
Skip the Oracle keynotes
One somewhat contrarian piece of advice I’m quick to espouse is for attendees to skip the Oracle keynotes, especially the morning ones. That’s not to say the keynotes are bad. But getting to the keynotes early enough to get a seat is a hassle, and you can’t always hear everything that’s being said in the auditorium. A better alternative is to stream the keynote from your hotel room, or better yet, watch the the video Oracle uploads to their YouTube channel while you’re eating lunch.
But here’s why keynotes can take away from your JavaOne 2017 conference experience. For example, if you attend Thomas Kurian’s Tuesday morning keynote on emerging technologies and intelligent cloud applications, you’d miss Josh Long and Mark Heckler’s session on reactive programming with Spring 5. Actually, there’s a bunch of other sessions going on at that time, ranging from Martijn Verburg’s talk on surviving Java 9 to Stuart Marks’ talk on Java collections. If anything interesting gets said about new trends or technologies in a keynote, it’ll be covered extensively by the tech media. The same can’t be said for the nuggets of understanding that can be panned from attending a good JavaOne session.
Enjoy the party
The other big piece of advice? Enjoy San Francisco, especially if it’s your first time in the city. It’s the smallest alpha city in the world, but it is an alpha city. There are plenty of parties, meet-ups and get-togethers you’ll find yourself invited to, and it’s worth taking up any offers you manage to get. Having said that, keep an eye on how much gas you have left in the tank at the end of the day, because you want to be able to make it to all of the morning sessions you’ve scheduled for yourself.
If it’s your first time attending, I assure you that you’ll have a great time at JavaOne 2017, and with the new layout bringing JavaOne 2017 closer to the Oracle OpenWorld conference, this event should be better than any of the others in the memorable past. San Francisco is a great city, and the greatest minds in the world of modern software development will be joining you in attendance.