站内搜索: 请输入搜索关键词
当前页面: 图书首页 > How to be a Successful Technical Architect for J2EE Applications

Chapter 8: Network Architecture - How to be a Successful Technical Architect for J2EE Applications

Team LiB
Previous Section Next Section

Chapter 8: Network Architecture

Overview

The primary goal for network architecture with respect to J2EE applications is to provide the foundation for three important features: security, scalability, and high availability. Although technical architects typically are not responsible for configuring the network, they should understand the features provided by the network architecture to determine what they need to add directly to an application.

The technical architect is responsible for ensuring that applications don't breach the company's security infrastructure. Security in most companies is a centralized function and is treated as a network infrastructure issue. Despite this, the architect must understand what the company infrastructure provides and ensure that any application developed doesn't do anything to circumvent the security architecture in place. For example, with most security architectures I'm aware of, it's technically possible for the application to use a generic ID to provide users access to information for which they're not personally authorized.

The technical architect is responsible for application scalability. Scalability refers to the ability of your site to handle an increasingly large number of users. Although server hardware and network infrastructure provide a platform that makes scaling possible, application design is as much a contributing factor to scalability as the underlying hardware configuration.

The technical architect is responsible for application availability. The term high availability describes a site that is always available for use and has minimal downtime. While the server and network infrastructure may provide such features as clustering and automatic fail-over, faulty application design can defeat these features and can make applications unavailable.

Developers who have come up through the ranks as programmers usually have little exposure to networking and network architecture. Because the architecture for J2EE applications typically involves multiple servers, and because I routinely get enough basic networking questions from senior developers, this chapter begins by defining some key networking terms and goes on to explain, by example, the basic functioning of a network.

In addition, the chapter describes and provides examples of two generic architectures commonly used for J2EE applications: one for security and the other for scalability and availability. Understanding your network architecture also helps you identify where a problem is occurring.

Readers who already understand networking basics might want to skip to the section titled "Security."


Team LiB
Previous Section Next Section