Showing posts with label scalable software. Show all posts
Showing posts with label scalable software. Show all posts

Friday, July 31, 2009

Open Services - The Only New Idea

Gone are the days that the DEC computer in the sales department won’t talk to the IBM in finance. Computers can talk to each other. But pulling an RSS feed into a system on a different server can still take time (and cost money).

What if applications talked to each other so easily, that you could expand your software by plugging on new pieces? Modern software design takes the first two foundations of scalability (open communication, robust expansion) and combines them.

The revolution in enterprise software has come from expanding complex systems, by developing task-specific pieces, which communicate easily. To grow, you develop applications to perform a particular service, or you buy them, and then someone plugs them in and they work.

Written by Keith Mitchell, Senior Developer at NSKinc

Enterprise and Architecture: Scalable Software

"Scalable software doesn’t blink when you add 10 users, doesn’t slow when you add 200,000 records, and won’t crash when you request from NSK 20 more features than it is currently doing."

Sometimes, “enterprise” software is simply software that has enough features for a large business. Microsoft SQL Server Enterprise is feature-filled. An average developer, faced with the challenge of writing a complex application, may believe “enterprise” means complex. But to a good developer, “enterprise” simply means “scalable”. Software which scales, expands as it is required to do so.

Enterprise means that when you program good user security on a database in accounting, and then put a similar database in another department, the two will be able to talk to one another, while still using that good security (instead of, in spite of that security).

Enterprise means that “3/14/2008” means “March 14” in New York, yet won’t crash a server in London because there’s no third day of the 14th month. Truly Enterprise software requires very high quality architecture—it needs a careful design, which is documented, and which has been well considered. Software which is architected, or designed, to be scalable, has three very important features.

Scalable software can talk to other software easily. Scalable software can be expanded easily. And scalable software is faster than it needs to be, or as fast as is presently possible with technology. Almost all the big buzzwords in business technology have to do with scalability.

Written by Keith Mitchell, Senior Developer at NSKinc