home
NEWS       BLOGS       FORUMS       NEWSLETTERS       RESEARCH       EVENTS       DIGITAL LIBRARY       CAREERS  
Network Computing Network Computing Powered by InformationWeek Business Technology Network

IMMERSE YOURSELF:

SOA

  |

Data Center

  |

802.11n

  |

Data Privacy

  |
APO  |

Virtualization

  |

NAC

  |

Security

  |

Network Mgmt

  |

Enterprise Apps

  |

Storage & Servers



Methodology Overview: Planning and Modeling
February 8, 1999

Methodology Overview: Planning and Modeling

3.3 Application Planning–The First Iteration

3.3.1 Overview

The purpose of application planning is to align the application (re)engineering with business goals. Several methodologies have been developed for this planning process initiated with the "classical" information systems planning methodologies such as the following:

l IBM's Business Systems Planning [IBM 1978], and [Zachman 1982]

l Rockart's Critical Success Factors [Rockart 1982]

l Nolan's Stage Model [Nolan 1973]

Extensions of these methodologies have been reported such as the BSP extensions by Blokdijk and Blokdijk [Blokdijk 1987], and homegrown methodologies [Meyer 1996], [Highsmith 1987], [Hulfnagel 1987], and [Mushet 1985].

Of particular interest are the business process reengineering (BPR) approaches that align IT with business [Boar 1994], [Henderson 1990], [Keen 1993], [Luftman 1996], and [Venkatraman 1984] and the Internet related strategies [Cronin 1996]. Extensive discussion of BPR and planning methodologies is beyond the scope of this book (the aforementioned references should be reviewed for details). However, the following key BPR principle will guide our discussion: You should use information technology to improve the performance of a business and cut costs by redesigning work and business processes from the ground up instead of simply automating existing tasks.

This principle should be the driver as you go through the activities of the planning iteration (i.e., analysis, architectural trade-offs, implementation issues, and deployment/support considerations). Table 3.1 casts these activities into planning steps and Figure 3.3 ties these generic planning steps into a procedure. We will discuss these steps in the following subsections.

Table 3.1 Application Planning Checklist

Activities

Steps

Analysis

Step 1. (a) Establish business drivers

(b) Solicit high-level requirements

(c) Analyze business opportunity

Architecture

Step 2. (a) Investigate application architecture approaches

(b) Choose the most appropriate application engineering/reengi- neering strategy

Step 3. (a) Assess IT infrastructure needed

(b) Choose the most appropriate IT infrastructure

Implementation

Step 4. Investigate implementation issues (i.e., skill, resources, time, and money needed to implement)

Deployment and support

Step 4. (continued)

l Estimate effort needed to deploy and support

l Outline costs (pitfalls) and benefits (promises)

l Evaluate if costs are worth the benefits

Based on the results of the planning iteration, and any other relevant information, an initial important decision is made: given a business opportunity, should a new application be developed (application engineering), should existing applications be reengineered, or should a mixture of engineering/reengineering be used? This decision may be revised in later iterations as we develop a better understanding of the problem and the various trade-offs. However, this decision will help us to outline a rough project plan that specifies:

l Goals and objectives of (re)engineering

l Expected benefits and risks

l Main steps, the deliverables, and time lines

l Key staff assignments, i.e., the roles and responsibilities of internal IS staff as well as external consultants and systems integrators

This plan is used to define the next iterations and to decide how much effort will be spent in engineering versus reengineering. Keep in mind that planning does not need to take a long time, it just needs to be done. In my own experience, I have found that preparation of a response to each RFQ (request for quotation) essentially goes through the planning steps.

Figure 3.3 Overall Planning Procedure

3.3.2 Step 1: Identify Business Drivers and Establish
High-Level Requirements

Application (re)engineering is an expensive and risky undertaking. The purpose of this step is to understand and analyze the basis and business motivation for this effort before fully launching it. Although different business drivers motivate application (re)engineering the following broad categories represent many business drivers:

l Business process reengineering (for example, BPR of healthcare industries has initiated many new applications to be developed and many legacy applications to be reengineered [Gambon 1996]).

l New services or business opportunities (for example, a large number of companies are building new Web-based applications to take advantage of the new opportunities created due to the explosion of Internet) [Cronin 1996].

l To gain and maintain competitive edge (for example, many companies are investigating electronic commerce to gain competitive edge in this rapidly growing area [Adam 1996].

l To align IT with business (for example, many companies are reevaluating their IT services and aligning them with the business [Luftman 1996]).

In addition to business drivers, you need to develop an understanding of the business requirements that drive the technical requirements (Figure 3.4). In particular, you need to identify the organization and the processes that will be served by the applications and develop an "end-user" profile that shows the characteristics of the user community (e.g., decision support versus operational support users, novices versus "power users"). You also need to identify the main customers and stakeholders who will benefit from the proposed applications. In addition, these requirements should capture:

l Business goals in terms of short-term and long-term goals of the FMO (Future Mode of Operation)

l The main stakeholders who will benefit from the effort

l The business problems with PMO (Present Mode of Operation)

l Funding sources and limits

l Time frame

Keep in mind that these requirements are very high level (also known as "thin" requirements) and are meant to help you assess readiness for (re)engineering. These requirements should be between 20 to 30 statements and must not include screen layouts and other programming details (all that comes later).

After identifying and clearly understanding the business drivers and high-level requirements, you should analyze the opportunity by posing questions such as the following:

l Are we doing the right things? (For instance, can the information technologies help us to reshape our future? Are our information services providing us competitive edge? Will they help us to administer our business objectives? Will they enable us to adapt to unexpected changes?)

l Are we doing things right? (Are we minimizing the unit costs for each information service? Is the value of information service worth the cost?)

l Are we heading in the right direction? (Are we listening to our customers and paying attention to their information services needs? Are we aware of the changing market and government conditions?)

l What are the services we are good at and what are the services we need to improve/ discontinue? (Are we sinking too much money into older technologies? How confident are we about the new technologies?)

As a result of these questions, an overall strategy can be established that defines a short and long range vision for the applications and services under consideration. It is the responsibility of management to develop and present a clearly defined and doable vision. Unfounded visions and too many visions ("vision of the day") cause serious problems. Announcing a vision is not enough; continued and visible support from management is essential for the success of a strategy [Henderson 1990], and [Luftman 1996]. One possible approach to achieve these objectives is to get the information technology experts involved early in the planning process. These experts can help in making the vision realistic and then work as agents and supporters during the implementation stages.

Figure 3.4 Business Requirements Drive the Technical Requirements

3.3.3 Step 2: Investigate Application Architecture Approaches

Given an understanding of the business drivers and high-level requirements that conform to an overall business strategy, the next challenge is to architect a solution approach that could satisfy these requirements. Specifically, you need to answer questions such as the following:

l Should an off-the-shelf package be used to satisfy the requirements?

l Should a new application software be developed from scratch and use existing databases?

l Should a new database be developed that is accessed from existing application software?

l Should a new user interface (Web interface) be developed while utilizing the existing databases and application software?

l Should the entire application be developed from scratch (i.e., new user interfaces, new application code, new databases)?

The answer depends on how new is the business undertaking, what already exists in your organization, what is available as a commercial off-the-shelf package, and how flexible is the existing system. In general, we can analyze these decisions based on the following three factors:

l Databases. Are new databases needed or can the existing databases do the job? For example, several existing databases of legacy systems contain valuable information (customer information) that is needed by new applications.

l Business functions. Are new business functions needed or can the existing business be invoked and used to satisfy the requirements? For example, many existing applications have code that performs regularly used business functions such as generating bills, checking inventory levels and crediting/debiting accounts. The question is: Can this code be reused?

l User interfaces. Are new user interfaces needed or can the existing user interfaces do the job? The user interfaces is an area of considerable activity at present due to the popularity of Web browsers. In many cases, Web interfaces are being developed for existing applications even if the current user interfaces are quite good. This is motivated by the desire of organizations to use Web browsers as the primary source for accessing all information.

Figure 3.5 shows how these three factors can be used to systematically generate application engineering/reengineering choices. Evaluation of these choices is a time-consuming, yet an essential, aspect of contemporary application engineering/reengineering practice. Broadly speaking, the choices are a mixture of purchasing off-the-shelf packages, developing new application components from scratch, and interfacing of new components with the existing, in many cases, legacy systems.

Purchasing off-the-shelf applications is a viable solution when new databases and new functions are needed. This strategy, if feasible, is by far the most attractive. Consequently, it must be considered as the first choice. For example, if a human resource (HR) application is needed and the requirements seem to be satisfied by an off-the-shelf HR system from a vendor, then this package should be evaluated seriously. The key evaluation criteria are:

l Will this package satisfy the current as well as future requirements?

l Will this package scale well?

l What is the current user experience base?

l Does it conform to the infrastructure standards?

In many cases, some or all portions of an application (databases, application code, user interfaces) need to be developed. For example, it is possible that the requirements can be satisfied by engineering (designing, developing, and deploying) a new database that is accessed by off-the shelf packages or end-user tools such as spreadsheets, data browsers, and report writers (e.g., data warehousing applications). If new application code needs to be developed, then we can assume that the new application code will be developed as an object-oriented C/S application. In a few cases, all components of new applications need to be developed. Part II of this book (Chapters 4 through 7) discuss these issues in detail.

 

Figure 3.5 Application Engineering/Reengineering Approaches

Database

Needed

Business

Functions Needed

User

Interface Needed

Potential Application Engineering/Reengineering Choice

New

New

New

Buy a new system

New

New

New

Develop a new system from Scratch

Existing

New

New

Develop new application code and user interface (e.g., Web)

New

Existing

New

Develop a new user interface that invokes existing code

New

New

Existing

Develop new databases and application code

Existing

Existing

New

Develop new user interface (e.g. Web) to access existing (legacy) applications

Existing

New

Existing

Invoke new application functions from existing user interface

New

Existing

Existing

Develop a new database that is accessed from existing application code and user interfaces

Existing

Existing

Existing

Use existing application. May require some reengineering if the existing application is too old.

Legend:

l Unshaded rows: need entirely new application (application engineering)

l Lightly shaded rows: need a combination of new and existing (application reengineering)

l Dark shaded row: need to reuse existing application only

Note that most real-life situations require a combination of engineering/reengineering.

Reengineering (redesign, migration, interfacing) of existing, in many cases legacy, applications is an important aspect of IT practice at present. For example, it may be possible to satisfy the requirements by reengineering (i.e., interfacing and migrating) the existing databases. Access to enterprise data, especially legacy data, from a diverse array of tools and applications residing on a variety of platforms and interconnected through different network technologies is of key importance in most enterprises. In particular, many Web-based tools need to access enterprise data. In several cases, the requirements can only be satisfied by re-architecting and migrating the existing legacy applications that are old, unstructured, and monolithic. Choice of an appropriate approach depends on several factors such as business value of the legacy system and its technical value (see Figure 3.6). We will discuss the legacy application reengineering issues in Part III of this book (Chapters 8 through 11).

 

Figure 3.6 Legacy Application Analysis (Source: [Sneed 1995])

3.3.4 Step 3: Assess and Plan Infrastructure Architectures

IT infrastructure (platform) planning is concerned with determining the most appropriate technology needed to develop and deploy the application systems. Examples of such infrastructures are the Intranets that provide Web services in corporate private networks; factory networks that connect many manufacturing devices to cell and area controllers, and "Extranets" that connect many businesses (healthcare industry participants). IT infrastructure planning is a much more challenging and crucial task than network planning. This is because the diverse applications in business, engineering, and manufacturing written in different software/database formats that reside on heterogeneous computing devices need to be interconnected through different communication media by using a variety of communication software packages.

Specifically, the main infrastructure capabilities (middleware, network services, local computing services) needed to support applications that must be carefully examined in the planning iteration. (See Figure 3.7.) The IT infrastructure becomes increasingly important as you iterate through the system life cycle (i.e., planning iteration only concentrates on high level issues that could be "show stoppers" while the first release must go through detailed considerations such as the exact version of middleware needed). The details depend on the type of applications being engineered/reengineered. For example, legacy data access requires a different type of infrastructure than a Web-based distributed object application.

Basically, the entire IT infrastructure should appear as a tightly integrated environment that provides a range of networking, database, transaction management, remote messaging, naming, directory, security, and other services needed by the applications. The key question is: How can we put all these pieces together into a functioning IT infrastructure that can support the variety of services and applications needed by the modern enterprises? The following iterative steps are suggested as a starting point:

l Analyze the requirements for infrastructure

l Architect the infrastructure services

l Implement the infrastructure services

l Deploy and support the infrastructure services

Table 3.2 summarizes the main activities in each stage of the methodology introduced in Section 3.2 for the infrastructure services. The rows of this table show the four generic activities (i.e., analysis, architecture, implementation, deployment) and the columns represent the three classes of infrastructure services (i.e., middleware, network, local).

As discussed previously, infrastructure issues are beyond the scope of this book and were briefly introduced in Chapter 2. A detailed procedure for selection and evaluation of OCSI infrastructure can be found in the companion book [Umar 1997, Chapter 9].

Figure 3.7 Conceptual View of Infrastructure Role

 

Table 3.2 Summary of Infrastructure Considerations

Stage

Middleware

Network Services

Local Computing Services

Analysis

Specification and analysis of requirements for middleware services

Specification and analysis of requirements for network services

Specification and analysis of requirements for local computing services

Architecture

Select proper middleware (e.g., Web services, distributed objects, distributed data middleware)

Select proper network products (e.g., communication technologies, interconnectivity devices)

Select proper local computing products (e.g., database managers, operating systems)

Implementation

Select new vendor products and/or upgrade existing ones

Select new vendor products and/or upgrade existing ones

Select new vendor products and/or upgrade existing ones

Deployment and support

Examine and investigate deployment and support considerations

Examine and investigate deployment and support considerations

Examine and investigate deployment and support considerations

3.3.5 Step 4: Cost/Benefit Analysis

3.3.5.1 Overview

The main purpose of cost/benefit analysis is to compare the business benefits with the estimated time, money, computing, and human resources needed for the proposed application engineering/reengineering. The key idea is to determine if the proposed engineering/reengineering is cost-beneficial and if the risks are manageable. You must clearly understand the risks and payoffs before launching an effort, because engineering of new and reengineering of existing applications is not risk free. Although it is fashionable to jump on the latest technology bandwagon, many new technologies need to prove themselves in large scale mission critical situations and demonstrate business payoffs. Object-oriented, client/server, Internet-based technologies are no exception.

Costs and benefits of emerging technologies such as object-oriented, client/server, Internet (OCSI) environments is tricky. In general, most new technologies are accompanied by euphoric claims of benefits/promises with a deaf ear (typically for two to four years) to costs/pitfalls. To some extent, this "positive wave" is natural because the real costs and pitfalls are revealed only after some hands-on experiences have been accumulated. In recent years, this happened with client/server (C/S) systems. We do not know the real costs and benefits of OCSI at the time of this writing due to its newness. However, we can review the results of C/S computing and extrapolate some results to learn some lessons. Towards this goal, the costs and benefits of C/S computing are reviewed in Sections 3.3.5.2 and 3.3.5.3.

The client/server technology wave hit us all around 1992 as a cure for all the evils of the old mainframe-based systems. Many C/S success stories have been reported in the trade journal since 1992. However, there have been numerous failures, albeit not well documented (see the sidebar in Chapter 1 "Failures–Lessons from the Client/Server Wave"). Here is the main lesson: There will be successes as well as failures in OCSI implementations, but failures will rarely be publicized and will come to surface a few years after the initial wave (usually at the beginning of the next wave).

Cost/benefit analysis of IT, in general, is fuzzy and subjective. The main idea is to be realistic in your expectations about benefits and costs. Since costs (and risks) are facts of life, you need to determine the strategies that maximize business benefits and minimize/manage costs and risks. Survey of a large number of case studies has indicated that successful application engineering/reengineering efforts exploit the promises of new technologies but carefully understand and manage the risks while the others do not (see Figure 3.8). What precisely are the promises and pitfalls of OCSI applications from what we know at this point? See the sidebar in Chapter 1 "Why Object-Oriented Client/Server Internet-based Applications: Promises and Pitfalls." We will visit these issues in more detail in Chapter 4.

3.3.5.2 Estimating Costs of Client/Server

A few surveys for the costs/benefits of C/S computing have been published (see the sidebar "Sources of Information for Client/Server Costs/Benefits"). For example, a Gartner Group [Dec 1995] report analyzed costs for C/S computing (see Table 3.3). The main findings of this analysis are:

l Hardware/software costs represent only 15 to 20 percent of total cost

l Labor costs represent the largest expense (70 to 75 percent of the total costs are labor)

l Total cost per client is about $50K for five years

Dec [1995] also includes a report card on C/S computing. Basically, the report card gives C/S computing failing grades on lowering costs (costs go up), higher availability (C/S systems tend to fail more often), and serviceability (too many components to service). However, the grades for rapid deployment and better scalability are better (B and C, respectively).

 

Figure 3.8 Recipes for Success and Failure

 

 

Table 3.3 How Much Do Client/Server Systems Cost? (Source: [Dec 1995])

 

Small Organization

Large Organization

Configuration

Single site

20 clients

One PC-based server

One LAN administrator

250 remote sites with servers

5,000 clients

Legacy and new enterprise servers

83 end-user support staff

55 application developers

Centralized management

Total Costs

Total five-year C/S cost: $1,016,000

Cost per client = $50,000

Total five-year cost: $241,800,000

Cost per client: $48,400

Cost Breakdown:

72% of the cost is labor

41%: End-user labor

15%: End-user support

72% of the cost is labor

41%: End-user labor

15%: End-user support

Many costs are hidden and are not apparent initially in C/S projects. For example, middleware costs per mainframe is about $200K, and per PC cost is about $500K. Installation of a large scale C/S system involving, for example, 1000 desktops could easily cost 0.5 million dollars. Distributed applications also require many software licenses at many computers, thus potentially increasing the software costs.

The initial axiom of one server machine per application has not resonated very well. According to a study conducted by the University of California at Berkeley’s School of Business, every $1,000 spent on server hardware/software needs to be matched with $9,000 of management and maintenance costs [Jenkins 1995]. Owing to this, many organizations have started using powerful servers that can house many applications (i.e., more centralization).

While estimating costs, intangibles need to be considered. Examples of these intangibles are increases in interdependencies and points of failure, concerns for security and integrity control, and many management/support issues. We will visit these issues in Chapter 4.

Costs of migration to OCSI should be evaluated very carefully (we will visit this issue in Part III of this book). Basically, the potential of big savings for application migration to OCSI is there, but keep in mind that the mainframe costs are dropping. In addition, many hidden costs are hard to control/quantify, because significant costs shift to consulting and training. Full cost savings can only be realized if the mainframes are retired completely and the expected payoffs do not happen right away (many efforts take three to four years with payoffs in the last year). In addition, many people issues arise, because traditional IS staff and users may resist (new skills are usually needed) and responsibilities shift to end users. The bottom line: hardware cost savings alone are not enough for transitions and should not be used as the key business drivers.

In summary, it has been found that C/S increases total costs due to the following reasons:

• End-user effort in learning and operating desktops is higher

• End-user help desks require more support

• Many hidden costs at end-user sites (e.g., middleware) emerge

• Distributed applications are more complex

 

Guidelines for Cost Estimation

Over the last 20 years, many cost estimation techniques for information systems have been suggested. Despite a great deal of work, most cost estimates in information systems are based on heuristics and guidelines. Lederer and Prasad [Lederer 1992] suggest the following nine guidelines for better cost estimation, with numerous examples:

l Assign the initial estimating task to the final developers.

l Delay finalizing the initial estimate until the end of a thorough study.

l Anticipate and control user changes.

l Monitor the progress of the proposed project.

l Evaluate proposed project progress by using independent auditors.

l Use the estimate to evaluate project personnel.

l Computing management should carefully study and approve the cost estimate.

l Rely on documented facts, standards, and simple arithmetic formulas rather than guessing, intuition, personal memory, and complex formulas.

l Do not rely on cost estimating software for an accurate estimate.

3.3.5.3 Estimating Benefits of Client/Server

Most benefit surveys are not quantitative. Benefits typically occur in the end-user departments and not in the corporate IT departments (thus they are difficult to understand and quantify). Frequently mentioned benefits of C/S technology will be discussed in Chapter 4 and include:

l Better organizational fit (decentralization and local autonomy)

l Improves competitiveness (e.g., presence in new markets)

l Improves customer service quality, and responsiveness

l Supports business restructuring

l Allows faster development of new applications

l Improves flexibility of services

l Easier access to corporate data

l Improves end-user productivity

l Reduces training time due to GUI

l Allows exploitation of new technology

The introduction of C/S technologies has in general strengthened the position of IT departments because some of the functionality and budget dollars have shifted to the IT departments away from the central MIS departments. (A Gartner Group 1996 report indicates that the annual revenue for decentralized functions will jump from 2.3 percent to 6.8 percent between 1994 to 1999 and will reduce from 2.0 percent to 1.6 percent for the centralized functions in the same time period.) However, the central MIS departments are not extinct–their role has changed to more enterprisewide consultation, integration, and management [Grygo 1996].

 

Sources of Information for Client/Server Costs/Benefits

l Datamation supplement "Client/Server: The Business Advantage," June 15, 1994.

l Dec, K., "Client/Server–Reality Sets in," Gartner Group Briefing, San Diego, February 22—24, 1995.

l DePompa, B., "Corporate Migration: Harder Than It Looks," Information Week, December 4, 1995, pp. 60—68.

l "Dirty Downsizing," Computerworld, Special Report, August 10, 1992.

l "Enterprise Client/Server: Can We Get There from Here?" Gartner Group Briefing, July/August 1994.

l Grygo, E., "Upper Hand," Client/Server Computing, August 1996, pp. 34—42.

l Jenkins, A., "Centralization Strikes Again," Computerworld Client/Server Journal, August 1995, pp. 28—31.

l Liana, A., "Controlling Costs for Downsizing," IBM Internet Journal, June 1994, pp. 34—39.

l Moad, J., "Client/Server Costs: Don’t Get Taken for a Ride," Datamation, February 15, 1994, pp. 34—38.

l Simpson, D., "Are Mainframes Cool Again?" Datamation, April 1997, pp. 46—53.

l Standish Group Conference on Client/Server Failures.
See http://www.standish.com.

l "Where Do Client/Server Apps Go Wrong?" Datamation, January 21, 1994, p. 30.

In general, C/S benefits are scattered outside the IS department such as:

• Flexibility in handling business changes

• End-user control increases

 


Go Home | Page 1 | 2 | 3 | 4 | 5 Next Page


Print This Page


e-mail E-mail this URL





Ready to take that job and shove it?

Function:

Keyword(s):

State:
SPONSOR
RECENT JOB POSTINGS
CAREER NEWS
Go beyond Google and get vertical. These specialized search sites will help you find the business information you need -- fast.

Ari Balogh was named to the post of chief technology officer as the companys for a "realignment" of employees.










InformationWeek U.S. IT Salary Survey 2008
Salaries for business technology professionals are falling. Here's what you need to know in order to make good hiring decisions and personal career choices. Download Today
 
ROLLING RIGHT ALONG
Follow key Network Computing Reviews from conception to completion. This Week: Holistic APM.



Network Computing Reports Emerging Enterprise Podcast Series: Secrets to Success








TechSearch


Microsite of the Week


Powerful Information at Your Fingertips



InformationWeek Business Technology Network
InformationWeekInformationWeek 500InformationWeek 500 ConferenceInformationWeek AnalyticsInformationWeek CIO
InformationWeek EventsInformationWeek ReportsInformationWeek MagazinebMightyByte and SwitchDark Reading
Digital LibraryIntelligent EnterpriseInternet EvolutionNetwork ComputingNo JitterPlug Into The Cloud
space
Techweb Events Network
InteropVoiceConWeb 2.0 ExpoWeb 2.0 SummitEnterprise 2.0 ConferenceMobile Business ExpoSoftware ConferenceCSI - Computer Security Institute
Black HatGTECEnergy CampMashup CampStartup Camp
space
Light Reading Communications Network
Light ReadingLight Reading EuropeUnstrungLight Reading's Cable Digital NewsConstantinopleInternet EvolutionPyramid Research
Heavy ReadingLight Reading Live!Light Reading InsiderEthernet ExpoOptical ExpoTeleco TVTower Technology Summit
space
Financial Technology Network
Advanced TradingBank Systems & TechnologyInsurance & TechnologyWall Street & TechnologyAccelerating Wall StreetBank Systems & Technology Executive SummitBuyside Trading SummitInsurance & Technology Executive Summit
space
Microsoft Technology Network
MSDN MagazineTechNetThe Architecture Journal
space


App Infrastructure   |   Messaging & Collaboration   |   Network & Systems Mgmt   |   Network Infrastructure   |   Security  |   Storage & Servers   |   Wireless   |   Enterprise Apps
About Us  |  Contact Us  |  Site Map  |  Technology Marketing Solutions  |  Advertising Contacts  |   Briefing Centers
Copyright © 2008  United Business Media LLC  |  Privacy Statement  |  Terms of Service  |  Your California Privacy Rights