Sergey Nivens - Fotolia

What happened to Java in 2017? Here's a comprehensive list

Java developers face new technology challenges regularly, but in 2017, the bar was raised. We've rounded up our top 10 Java stories from 2017 in case you missed anything.

If you want to know where Java is headed in 2018, it helps to look at what we were talking about last year. From the cutting edge -- IoT, blockchain security and AI -- to the "we're still trying to get it right" discussions on Waterfall and Java performance, these are the topics that readers of TheServerSide read, commented on and debated about the most when it came to Java in 2017. These are sure to continue to be hot topics as this year unfolds.

10. The rise of Java microservices

Why are microservices popular all of a sudden? Any developer who worked with Java in 2017 and beyond might remember service-oriented architecture (SOA), which found some popularity but never revolutionized the way organizations built complex applications. Well, that's exactly what Java microservices apps can do -- with the help of Docker containers and DevOps. When organizations build complex applications on discrete and independent parts -- microservices -- instead of one monolithic process, it's much easier for developers and admins to change an application without compromising the whole. Thanks to Docker and DevOps, Java developers can now fully take advantage of microservices.

9. Innovation in industrial IoT

The industrial internet of things (IIoT) trend continued for big businesses in 2017, especially those specializing in manufacturing and distribution. Consumer IoT understandably creates the most hype. Smart houses might be all the rage in the not-too-distant future, and startups indeed have the flexibility to embrace an Agile approach. It's big businesses, though, that have the assets to incorporate new IIoT capabilities into existing processes and dramatically boost operational efficiency. We saw with Java in 2017 that large organizations will always struggle with internal inertia that manifests as resistance to change, but with an established link between implementation and business benefits, IIoT could become a new hotbed for innovation.

8. Waterfall vs. Agile: It's not over yet

It's easy to forget, but sometimes, when Waterfall and Agile square off, Waterfall still wins. When starting out on a project, it's essential to choose a process that works for the organization and situation at hand, and therefore, it's important to know when to still apply Waterfall. Waterfall is still the most time-tested method for software development. Waterfall works. When you need to get something done right the first time, the deliberate pace and structure of Waterfall are actually assets. When you're releasing and updating software in a wide scope -- think 12,000 apps across one ecosystem -- having teams in lockstep ensures you'll deliver a product that, like Waterfall, works.

7. Solving Java performance issues

Even though Java and JavaScript are two of the most popular and powerful programming languages, performance can still be an issue, especially with mobile devices. JavaScript that doesn't efficiently allocate resources can weigh down an application. That's why developers should chase the most efficient solutions, and even remediate their code, when peak efficiency can't be achieved. But it doesn't stop with churning out lean code. To maintain top-level Java and JavaScript performance, you need to keep up with your application after production with monitoring and observation. Tom Nolle looked at how Java developers kept their code -- and their applications -- running at top shape.

6. How deep learning AI accelerates domain-driven design

What if, one day, a supervisor asks you to review 2 million lines of legacy code? When that day finally came for Steven Lowe, then a principal consultant at ThoughtWorks Inc., he thought he had an answer. Lowe thought it might be possible to visualize this batch of complex code in a way that could easily target areas of concern. His early software visualization efforts, though, didn't yield this sort of clarity. One promising technique was to apply deep learning AI to software virtualization models. And analyzing software structure was just one way that developers using Java in 2017 employed deep learning tools to reinforce code development.

5. Women and tomorrow's technology

What would the tech world look like without insightful leadership from innovators like Jony Ive, Elon Musk and the sorts regularly featured in lists of the top influential leaders in tech right now? These influential leaders -- and this probably doesn't come as a shock -- are predominantly male. The question shouldn't be: Where would we be without the entrepreneurial gumption of folks like Ive and Musk? But rather: Where can we go when women leaders in tech -- like Meg Whitman and Valerie Freeman -- find the recognition to change the future of technology?

4. Addressing the challenges of modern-day data science

Getting things done with data science means crafting a story out of the numbers and statistics.

What does bread mold have to do with image processing? Dr. Meltem Ballan's unusual data source was the talk of the floor at the 2017 Dallas Data Science Conference. Hosted by the Data Science Association, a number of presentations gave the next generation of data scientists a glimpse of how data can impact and drive business decisions. How might the knowledge students learn in the classroom fit in the real world of business? Getting things done with data science means crafting a story out of the numbers and statistics. Attaching data and tech to a business problem is an essential skill for data scientists, now and in the future.

3. JavaScript and TypeScript skills in demand

JavaScript usage is still growing. It's accessible and runs virtually everywhere. And according to Burke Holland, the ES6 standard has fixed many of the gripes developers had with the earlier versions. In a recent Q&A with Holland, a developer advocate at Progress, TSS parsed new trends in enterprise web development and looked at Java in 2017. Holland explained how these recent shifts in JavaScript, TypeScript and component-oriented, front-end web apps have created room for new development skills. It's important to know what sort of skills traditional developers will need to succeed in this new component-oriented environment. And when the best practices are as simple as "learn TypeScript," developers have a straightforward place to start.

2. Atlassian tools spur DevOps adoption

Atlassian knows DevOps tools. And in adding new features to Bitbucket and Bamboo, it's giving developers the tools to improve DevOps security and reliability. The software development toolmaker is not only empowering large organizations to adopt DevOps, but it's expanding their existing toolchain to make collaboration easier. Atlassian is making it easier for large organizations to uproot silos and scale their transformation up. New features added to the Bitbucket Server, Data Center 5.0 and Bamboo 6.00 will give developers more control over the development and build processes. Atlassian is betting that changing the way teams work is the best way to achieve sustainable DevOps.

1. How blockchain security is driving digital transformations

While bitcoin has certainly popularized blockchain, it hasn't done much to educate IT professionals on blockchain security. Blockchain technology was originally developed in the financial sphere. It eliminated the need for third-party verification in transactions by creating a distributed database or ledger whose authenticity was verified by the data itself. It's a virtual clearing house for commercial cooperation without mediation. And for those operating in that sphere, that's meant security. It's generally accepted that bitcoin has never been hacked. This may not seem like a key to mobile security, but the notion of autoverified collaboration could improve mobile security. Adopting blockchain in mobile security could fundamentally change security in digital transformations.

Dig Deeper on Front-end, back-end and middle-tier frameworks

App Architecture
Software Quality
Cloud Computing