We all know what buzz is: It's noise. And here at InfoWorld, one of our self-appointed tasks is to extract the signal from that noise, to separate the stuff valuable to IT professionals from that which is popularly considered a big deal.
This mandate is the inspiration behind InfoWorld's list of top 10 emerging enterprise technologies of 2009. We believe this is an amazing time in IT, with a swarm of new technologies that have the potential to reduce costs, change the way we work, and open up new frontiers. So we decided to brush aside the high-level trends trumpeted by analysts and ask ourselves: Which enterprise technologies shipping now, but not yet widely adopted, will have the greatest impact?
[ See InfoWorld's top 10 emerging technologies of 2009 in our slideshow. ]
The result is the collection of actual, vapor-free technologies you find here. In case you're wondering, we used no scientific method in our selection process (other than drawing on the endeavors of the InfoWorld Test Center for inspiration). Our list is based entirely on the collective judgment of InfoWorld editors and contributors.
We have purposely avoided specific product mentions or recommendations, because we have set our sites on long-term potential rather than current implementation (for the year's best products, check our next Technology of the Year Awards, for which the 2010 edition is only six weeks away). If it's your job to concoct your organization's technology strategy and decide where to place your bets, then our top 10 emerging enterprise technologies is for you.
[ For recommendations on the best enterprise products, check out InfoWorld's Technology of the Year Awards. ]
Narrowing down the candidates to the final 10 wasn't easy, especially after we received so many excellent responses to the call for nominations we made in September. We don't expect you to approve of all of our selections. In fact, if history is any guide, a certain number of you will disagree violently with our conclusions.
Well, that's what article comments are for. We welcome your input and invite you to join the discussion. But if you're looking for broad pronouncements on "the cloud" or other fashion statements, allow us to refer you to the latest edition of Gartner's Hype Cycle. Everyone else: Read on.
10. Whitelisting
Keeping up with malware signatures is becoming unsustainable. In 2008, for example, Symantec put out more antivirus signatures than it did in the company's previous 17 years of existence. Not only are there more viruses, worms, and Trojans, but an increasing number have the ability to morph into variations that avoid signature detection or cloak themselves using encryption.
Ultimately, the only answer to the increasing proliferation and sophistication of malware may be whitelisting, where the only executables that can run on a system are known, good executables.
[ In the InfoWorld Test Center review "Whitelisting security offers salvation," Roger Grimes tries out five whitelisting products and turns up a clear winner. ]
Whitelisting starts with a clean, malware-free image of a desktop or server. Then whitelisting software is run to uniquely identify files using one or more cryptographic hashes. Thereafter, monitoring agents on managed systems flag the presence of any executables not on the hash list or prevent them from running. Most companies distribute standard system images across the enterprise, so whitelisting can be an extremely efficient way to lock down security.
Some whitelisting software can fingerprint and block a wider range of files than executables, including scripts and macro modules, and even write-protect any text or configuration file. The latter is useful for noting unauthorized modifications, such as the changes that many malware programs make to the DNS Hosts file.
Obviously, whitelisting requires a cultural shift. In many enterprises today, users still have some measure of control over what they run on their own desktop or laptop computers. But due to the relentless ramp-up in new and smarter malware -- and the increased involvement of organized crime in malware-based attacks -- whitelisting may be our only hope in the losing battle over enterprise security.
-- Eric Knorr
9. Cross-platform mobile app dev
The iPhone boom has brought many things to programmers beyond the urge to simulate bodily functions with apps like iFart. The most enduring legacy is familiarity with Objective C, a language first introduced with Steve Jobs' NeXT Computer in 1988.
If you're a Java programmer, learning Objective C means figuring out how to handle memory allocations for yourself. If you're a JavaScript jock, you must grasp the concept of a compiler. There is no other choice if you want to write code that can be downloaded by millions of iPhone owners.
[ For a deeper look at mobile app dev, check out Peter Wayner's Test Center articles, "The cross-platform option: Web apps for smartphones" and "iPhone development tools that work the way you do."]
The days of the iPhone being the only attractive game in town are fading fast, though, as developers check out the competition. Android and BlackBerry phones speak Java. Nokia's Symbian OS runs many languages, including several versions of C and C++. Numerous developers look at this stew and see a common theme: All of the phones come with Web browsers, which, in turn, speak HTML, JavaScript, and CSS. Palm's new Pre wants its apps written in these Web languages from the start.
So why not start with something simple written in the languages spoken by every Web developer? When I built Web versions of my book, "Free for All," I added a special markup that let the iPhone install the Web page as if it were a regular app. All of this code will work on other WebKit-enabled browsers, like the one in Android, and it's not hard to make it work on the BlackBerry.
Some dev kits are moving beyond the browser to provide better access to deeper corners of the API. Appcelerator's Titanium Architecture, Nitobi's PhoneGap, and the LiquidGear fork of PhoneGap build apps for the major platforms that are ostensibly native but rely upon creating an embedded version of the browser. Most of the important logic is crafted in JavaScript, which runs inside the embedded browser. The code has access to the accelerometer and the GPS even though it's just JavaScript.
Others are porting popular languages like Ruby. The Rhomobile tool, for instance, embeds a complete Ruby interpreter and Web server inside your app so that you can write everything in Ruby. The folks at Apple forced them to remove the eval function because it hurt their ability to completely test each app, but aside from that, it's like building a Web site in Ruby. The code runs on the major platforms.
All of these approaches are surprisingly good -- if you're not looking for superfast performance or perfection. Game developers can use the accelerometer with these apps, but only to build simpler, two-dimensional games that don't need access to the deepest levels of the video hardware. Fonts and layouts are sometimes just a bit different from platform to platform, and this can be annoying. But if your requirements are simple and you already know Web development languages, these approaches are much easier than learning Objective C.
For enterprises, cross-platform app dev eliminates a key barrier to developing and deploying mobile applications developed in-house. It's difficult to mandate that all employees use the same smartphone, and even if you could, coding your apps for a specific platform locks you in. With cross-platform app dev, you can write it once -- without having to learn the quirks of a specific platform -- and run it across many devices. At last, widespread deployment of mobile enterprise applications may become a reality.
--Peter Wayner
8. Hardware power conservation
We all know the "two kinds of green" cliché: Save the planet and save money by reducing power consumption. The technologies to accomplish that dual purpose have already found their way into servers, desktops, and other hardware, but in some cases, the benefits will accrue only as better software support emerges.
More efficient power supplies, along with hard drives that reduce speed or shut themselves off when they aren't needed, are delivering the goods right now. But in order to "park" inactive cores and motherboards or other components that go to sleep, multicore CPUs generally need to be told to do so at the OS or application level.
[ Policy and practices play an even bigger role in power conservation than hardware. See InfoWorld's "10 power-saving myths debunked." ]
Power supplies are the simplest way to save energy. They need no software support and produce a double savings; they waste less electricity in the AC-to-DC conversion process and produce less heat -- reducing the power required for cooling. The 80 Plus certification program, funded by a consortium of electric utilities, provides incentives for manufacturers to produce power supplies that are at least 80 percent efficient, a jump from old units that went as low as 50 percent -- that is, only 50 percent of the power reaches the motherboard. The other 50 percent generally dissipates as heat.
Several storage vendors produce hard drives that can spin down or power off when not in use. Most of the systems shipping now limit the functionality to slowing down drives, since the time required to spin up or shut down a drive is longer than most applications support. There are generally three levels of power savings, each conserving more power and requiring more time to return to full functionality; think of them as slow, slower, and off. The first state can be recovered from in 1 to 2 seconds and the second in less than 30 seconds, while recovery from the powered-off state can take as long as two minutes. The latter causes problems with most applications, so most vendors don't use it.
The latest CPUs support core parking, powering down cores that aren't needed when loads are light. The feature is supported in Windows 7 and Windows Server 2008 R2. It's most useful in servers that are intermittently loaded or lightly used outside of business hours. A two-, four-, six-, or eight-core processor can shut down all but one core and still respond to requests, and return to full functionality if the load on the single core increases beyond a set limit.
Motherboards and add-ons such as network interface cards are introducing the capability to power down components when not in use. For example, some motherboards, particularly laptop systems, support two video systems: one built into the motherboard and one discrete. The built-in adapter uses less power, while the discrete one offers higher performance. The motherboard can switch between the two as necessary to offer either power savings or high performance.
Network interface cards can shut down when the network is not in use, and other components are adding similar capabilities. But until these features are supported by the operating system -- and, in some cases, individual applications -- they are of little use. It's great to have a NIC that powers itself down, but you need an operating system that can power the thing up again.
-- Logan Harbaugh
7. Many-core chips
The major processor vendors have hit the wall with clock speed. Each new increment in clock ticks draws so much additional power, any true performance boost incurs the wattage and heat output of, say, an electric iron.
So the manufacturers have switched from a single-lane autobahn to multilane highways -- that is, from a single, fast core to multiple slower cores that execute code in parallel. Breakneck speed is no longer the holy grail of computing. Instead, it's total throughput.
Chips with multiple cores consume less power, generate less heat, and complete work very efficiently. On servers, they are exactly what IT likes. Today, for example, an Intel Nehalem processor has four cores, each of which can run two threads simultaneously, so on a quad-processor system -- an inexpensive box -- 32 threads can run simultaneously. Five years ago, only mainframes and very high-end servers could deliver that kind of scalability. Today, it's run-of-the-mill.
[ The benefits of multicore hardware depend on multithreaded software. See Andrew Binstock's Test Center article, "Windows 7 on multicore: How much faster?" ]
Multicore chips have had less impact on desktop computing, due to the lack of applications that can make good use of the parallel resources -- not to mention the lack of programmers skilled in writing multithreaded desktop software. That's changing, however, especially in workstation applications and in graphics apps aimed at power users.
The next decade will see an explosion of cores in new chips. This era, dubbed "many core" -- a term that refers to more than eight cores -- is set to break out shortly. Intel, for example, has already shown working demos of a chip from its Tera-scale project that contains 80 cores and is capable of 1 teraflop using only 62 watts of power. (To put that in perspective, note that a system capable of 18 teraflops would qualify for the current list of the top 500 supercomputers.)