The beginning of the year is often conducive to formulating predictions about the most significant trends to expect in the coming year. Along with a discussion about programming languages predictions that took place on Lambda the Ultimate, a number of other posts popped up trying to outline trends for IT industry, web and enterprise software development.
Samuel Greengard tried back in November 2008 to outline what technologies he expects to help companies improving efficiency and effectiveness in challenging crisis times of 2009. Many of these trends are closely linked to the expansion of Web, and of Web 2.0 in particular:
- Expansion of SaaS beyond traditional business applications due, for instance to cloud computing;
- Increasing mobility thanks to wireless technology;
- Virtualization and portability of data to support mobility but also to cut storage costs;
- Social networking on top of Web 2.0 tools that “has become a way […] to leverage enterprise knowledge, customer-based business intelligence and more”;
- Web and video collaboration that are expected to be adopted by a majority of companies by the end of 2010.
Even though Greengard also mentions some trends that are less directly related to Web, i.e. security, risk and compliance issue, document management and e-discovery as well as project management concerns, he highlights that we are moving towards “an increasingly Web-centric [and connectivity dependent] computing model” since Web 2.0 provides tools “making it easier to manage data, tasks and business processes” and “further enabling mobility and more seamless access to pertinent information”.
Going along the same lines, Dion Hinchcliffe, a business strategist very implicated in evolving the thinking around Web 2.0 in the enterprise, suggested 8 predictions for Enterprise Web 2.0 in “a particularly inauspicious economic climate” of this year. He talks about SaaS, cloud computing, social networking, mobile platforms and devices, virtualization and portability... but he also predicts some evolution in SOA field, expecting "mashup technologies to be front and center with this transformation as well as the closely related Web-Oriented Architecture (WOA) as Web 2.0/SOA convergence continues unabated." From a less technical perspective, Dion thinks that “the economic climate will at long last drive major advances towards aligning IT with business” and that “the massive changes in the business landscape [would] create new 2.0 business opportunities” because of the emergence of "innovative new players" in field that haven't been yet really touched by Web 2.0, such as finance and real estate.
.
More recently, Dion Hinchcliffe went beyond Web and came to suggest an overview of “10 Must-Know Topics for Software Architects in 2009”, providing for most of them links to some more in-depth examples and insights. Here are the trends that he believes to gain momentum and to provide value in 2009:
1. Cloud Computing, which will be a “ground zero for the next generation of the famous OS platform wars” and, more generally speaking, “an architectural advance that will almost certainly change a great deal about the software business in the near future.”
2. Non-relational databases, e.g. CouchDB, Simple DB and Scalaris, that offer a promising alternative to the shortcomings of relational databases, such as “low ceilings to the scale” and "abstraction impedance, which not only can create a lot more overhead when programming but also hurts run-time performance."
3. Next-generation distributed computing that will allow to "process huge amount of data that are now common in modern software systems.”
4. Web-Oriented Architecture (WOA) that Dion believes to “align better to the way the network” and be “a much better way to create service-oriented architecture for almost all requirements, resulting in more supple and resilient software that is less difficult and expensive to build and maintain.”
5. Mashups, that are “extremely common in the consumer space” and would finally be ready “for prime-time in business”.
6. Open Supply Chains via APIs which is an “extremely powerful model for cross-organization SOAs” that require addressing issues such as “security, governance, scalability, and ease-of-consumption”. According to Hinchcliffe, this becomes increasingly important since “opening up [one’s] business in a scalable, cost-effective manner as a platform for partners to build up on is one of the most powerful business models of the 21st century.”
7. Dynamic Languages that enable "a large boost in productivity” due to the "trade-off in run-time performance”. Moreover, newer dynamic languages are “extremely Web-friendly” and many frameworks built on top of them “bring the latest best practices and design patterns, something that is not happening as frequently with older platforms.”
8. Social computing that will find its place in enterprise architectures since “the value of social systems is generally much higher than non-social systems”.
9. Crowdsourcing and peer production architectures that could respond to the need of open business models increasingly deployed on Web for “software architectures that can support this including architectural models for harnessing collective intelligence, moderating it, aggregating it, and protecting it and the users that provide it”.
10. New Application Models that start emerging with “Facebook applications, next-generation mobile apps […], the increasing prevalence of widgets and gadgets, the trend in the atomization of software” that are precursory of times when “micro-applications which have to contend both with scale and with being useful and secure while embedded in other applications” will be “increasingly on the radar”.
Dion Hinchcliffe believes that these are technologies and approaches that, breaking into mainstream, will help providing solutions to “unique challenges due to scale, performance, or feature set” of systems that are being built today. He thinks that “the software architecture business has gotten rather exciting again” and it is now up to “us to begin the lengthy process of taking many of these ideas into our organizations and integrating them into our thought processes and architectural frameworks and bringing them to bear to solve problems and provide value”.