A few days ago, I published an article on ReadWrite about trends that are destined to change the future of enterprise software. The article includes 14 trends that we consider relevant consider its maturity in the industry.
- enterprise hardware
- the industrial Internet of Things
- applications powered by the blockchain
- proactive analytics
- 3D printing
- enterprise marketplaces
- domain-specific data science
- augmented reality in industrial settings
- mainstream machine learning
- drone platforms
- next-generation cybersecurity
- platforms for microservices
- the Docker ecosystem
- new application-development platforms for the enterprise
The feedback from the article has been awesome including a few people that didn’t miss the opportunity to remind me other important trends that I missed or questioning some of the included ones ;) In that sense, I thought it would be a good idea to expand on some of the trends highlighted in the article and provide more context about why I think they will be foundational to the next generation of enterprise software solutions.
Let’s start with a trend that I think is long overdue in enterprise software:
The Need for a Third Application Development Platform for the Enterprise
For the last fifteen years, the enterprise IT space has relied on two main application development platforms: .NET and J2EE. While other platforms like Ruby on Rails or Python has certainly gained some adoption in the enterprise, their market share remains relatively small compared to the adoption of .NET and J2EE. After almost 2 decades of developing solutions almost exclusively in two platforms, there are a number of factors conspiring to facilitate the emergence of a third application development platform in the enterprise.
Despite the numerous innovations in the .NET and J2EE platforms, their dominance in the enterprise IT space can be partly attributed to its commercial channels. For the last 2 decades, the combination of Microsoft and J2EE vendors like IBM, Oracle, Tibco, etc accounted for a large percentage of enterprise IT deals. However, many of the factors that established the dominance of .NET and J2EE have either disappeared or changed and, at this point, I believe enterprise IT can benefit from the emergence of a third enterprise-ready application development platform.
Better Application Models for the Cloud
Today, many enterprise IT applications are being developed using cloud platforms such as Azure, Bluemix or AWS. In those infrastructures, the level of support for new application development platforms like NodeJS, Python or Ruby is as good, if not sometimes better than J2EE and .NET. This level of support removes some of the concerns in terms of enterprise-ready tooling that has traditionally blocked open source application development platforms from entering the enterprise.
Optimized for Mobile Applications
Mobile application development is becoming a relevant item in any CIO’s agenda. In the mobile space, platforms like NodeJS have become the platform of choice for enabling backend APIs used by mobile applications. In that sense, many organizations building mobile applications or using mobile platforms are already leveraging platforms like NodeJS instead of traditional J2EE or .NET stacks.
The Emergence of Enterprise Open Source
Open source technologies are becoming more prevalent in the enterprise. Movements like the big data platforms or mobile application development stacks are vastly dominated by open source solutions. Typically, open source server stacks provide a great support for platforms like NodeJS, Python or Ruby in the form or SDKs, samples etc. Consequently, as more organizations embrace open source server platforms they are likely to leverage technologies other than .NET or J2EE for building applications in that platform.
A New Generation of Developers and Professional Services Agencies
As application development stacks like NodeJS and Python continue gaining momentum with the developer communities, more and more developers are likely to favor those stacks instead of traditional .NET or J2EE platforms. Is not a surprise that many of the modern software development agencies are actively hiring developers with skills in prominent open source application development platforms like NodeJS, Ruby or Python. Those agencies are actively evangelizing the benefits of those platforms in enterprise IT settings and playing and important role in the adoption of those new application development platforms in the enterprise.
The Enterprise Software Startup Channel
The explosion of innovation in the enterprise software startup scene is forcing big organizations to start embracing technologies from early stage startups in order to stay competitive. Many of the most innovative enterprise software startup platforms leverage application development stacks other than .NET and J2EE. As a result, many enterprise IT organizations are starting to indirectly leverage those platforms as part of broader enterprise software solutions.
Is NodeJS the One?
Without getting into predictions, is hard to talk about the emergence of a third application development platform without talking about potential candidates. From the existing platforms in the market, NodeJS seems to have all the ingredients to become relevant in the enterprise.
Today, NodeJS enjoys a vibrant development community and is the platform of choice of many enterprise software startups. Additionally, NodeJS is widely supported by all enterprise cloud and mobile platforms and is being slowly adopted by some of the top professional services agencies in the world.
While getting to the level of dominance that .NET and J2EE enjoy in today’s enterprise IT environment is going to require more than the aforementioned factors, I believe NodeJS has a very strong opportunity to become a third application development platform in the enterprise.