Scalability « Design « Java Articles

Home
Java Articles
1.Build Deploy
2.Class
3.Core Library
4.Data Types
5.Database JDBC
6.Design
7.Development
8.File Input Output
9.Graphics Desktop
10.J2EE Enterprise
11.J2ME Wireless
12.JVM
13.Language
14.Library Product
15.Network
16.Security
17.SOA Web Services
18.Test
19.Web Development
20.XML
Java Articles » Design » Scalability 
Todd Hoff's High Scalability Blog is a destination for developers tasked with building Web apps that scale. One of the blog's best features is its extensive list of site profiles, which reveal the architectural decisions (and revisions) that support Web 2.0 success stories like Amazon, eBay, and Twitter. In this podcast Andrew Glover picks Hoff's brain about scalability tactics like sharding, parallelization, and caching. The two also discuss the challenge of building scalable Web sites that support cloud computing, or service-level architectures, where traffic comes in over APIs. In the end, Hoff gives his insight into why Java isn't necessarily first choice for building sites that scale big, and tips for what to do if you -- like LinkedIn and Fotolog -- decide to use Java anyway.

Owen Taylor talks about GigaSpaces and how to achieve linear scalability in your processes in this thought-provoking interview. The GigaSpaces technology is wrapped in the OpenSpaces specification, a community effort that supports stateful, transactional context instead of a read-only model like Google's, and it's implemented as a set of Spring abstractions for easy integration with best-practice programming techniques. One of the main goals of OpenSpaces is to provide a set of tools that's adequate for garden variety applications as well as massive, enterprise-class deployments with equal ease. Owen wraps this brief presentation with a discussion of co-location and partitioning for scaling applications. This interview was done at JavaZone 2007, and you can find Owen's presentation slides here.

Open Terracotta provides Java applications with a runtime environment that allows developers to trust critical parts of heap as reliable and capable of scaling through shared access across multiple machines. The technology hinges on a clustering server that keeps a shared view of objects across JVMs. The key question around scalability of a Terracotta-based application can only be answered by analysis of the architecture and the alternatives.

Andy Hunt: One reason programming is hard in general is that you have to zoom in and out to different levels of detail. You might be groveling around in low-level bits and pointer arithmetic, then zoom out to an abstraction that's close to the business domain. You're always bopping back and forth. That's hard. It's much easier if the user gives you business rules in their domain language. It's easier if you don't have to map the business rules down to very low levels, like a compiler would do. Dave and I are big on using automation. That's why the computer is there. I am very against any technology that requires me to act like a compiler. If I can do a task with a couple of macros that match what the user is saying, as Dave suggested, hey that's a win. Let the compiler take it to the next step. Don't make me do that. Allowing me to stay at a high level is to me the real big advantage of domain languages.

The emerging infrastructure of smart devices and computers interconnected by networks represents a new environment for software--an environment that presents new challenges and offers new opportunities to software developers. Java is well suited to help software developers meet challenges and seize opportunities presented by the emerging computing environment, because Java was designed for networks. Its suitability for networked environments is inherent in its architecture, which enables secure, robust, platform- independent programs to be delivered across networks and run on a great variety of computers and devices.

Java's architecture facilitates the creation of platform-independent software, but also allows you to create software that is platform-specific. When you write a Java program, platform independence is an option.

w___ww._j__a___va__2_s__._c__o___m_ | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.