Thursday, March 4, 2010

characteristics that an analyst examines when choosing or defining the deployment environment.

Analysts must consider the configuration of computer equipment, operating systems, and networks that will exist when the new application system is deployed.

• Configuration of

-Computer hardware
-System software
-Networks
-Development tools

> Development environment – programming languages, CASE tools, and other software used to develop application software

>Java and Visual Studio .NET are examples

>Application deployment environment decisions limit development tool choices
• Operating system environment
• Database management system (DBMS)
• Distributed software standard

• Existing environment generally considered and compared with proposed environment

Deployment Environment Characteristics to Consider

• Compatibility with system requirements
• Compatibility among hardware and system software
• Required interfaces to external systems
• Conformity with IT strategic plan and architecture plans
• Cost and schedule

Defining the Application Deployment Environment

• Centralized Systems
• Distributed Computing
• The Internet and Intranets
• Development and System Software Environments
• The Environment at Rocky Mountain Outfitters


Defining the Application Deployment Environment
Application deployment environment: The configuration of computer equipment, operating systems, and networks for the new system.

In selecting an appropriate solution, analysts need to first consider the application deployment environment. By application deployment environment, we mean the configuration of computer equipment, operating systems, and networks that will exist when the new application system is deployed. The client and users of the new system are obviously most interested in the functions of the application itself because they need it to carry out the business of the organization. However, the application does not function in a vacuum. There must be a stable environment of supporting components to enable it to execute successfully. If the environment is not suitable and stable, then the application will not function. An important part of any project is defining and ensuring that the application deployment environment is defined, developed, and deployed so that it is stable. The following sections describe various alternative processing environments.


Centralized Systems
Centralized mainframes are generally used for large-scale batch processing applications. Such applications are common in industries such as banking, insurance, and catalog sales. Information systems in such industries often have the following characteristics:

• Some input transactions do not need to be processed in real-time (e.g., out-of-state checks delivered in large nightly batches from central bank clearinghouses).
• On-line data entry personnel can be centrally located (e.g., a centrally located group of telephone order takers can serve geographically dispersed customers).
• Large numbers of periodic outputs are produced by the system (e.g., monthly credit card statements mailed to customers).
Any application that has two or three of these characteristics is a viable candidate for implementation on a centralized mainframe.
Single Computer Architecture

As its name implies, single computer architecture places all information system resources on a single computer system and its directly attached peripheral devices. Users interact with the system via simple input/output devices that are directly connected to the computer. Single computer architecture requires that all system users be located near the computer. The primary advantage of single computer architecture is its simplicity.

Clustered and Multicomputer Architectures

A clustered architecture employs a group (or cluster) of computer systems to provide needed processing or data storage and retrieval capacity. Computers from the same manufacturer and model family are networked together. Similar hardware and operating systems allow application programs to execute on any machine in the cluster without modification. In effect, a cluster acts as a single large computer system. Often there is one computer that acts as the entry point to the system. The other computers in the system function as slave computers and are assigned tasks by the controlling computer.

A multicomputer architecture also employs multiple computer systems, but hardware and operating systems are not required to be as similar as in a clustered architecture. Hardware and software differences make it impractical to move application programs from one machine to another. Instead, a suite of application programs and data resources is exclusively assigned to each computer system. Even though this architecture is similar to a distributed configuration (discussed in the next section), we classify it as a centralized system since it functions as a single large computer.

Clustered architecture: A group of computers of the same type that have the same operating environment and share resources.

Multicomputer architecture: A group of dissimilar computers that are clustered together.

Distributed Computing
Components of a modern information system are typically distributed across many computer systems and geographic locations. For example, corporate financial data might be stored on a centralized mainframe computer. Personal computers in many locations might be used to access and view periodic reports as well as to directly update the central database. Such an approach to distributing components across computer systems and locations is generically called distributed computing.

Distributed computing: The approach to distributing a system across several computers and locations.

Computer Networks

A computer network is a set of transmission lines, specialized hardware and communication protocols that allow communication among different users and computer systems. Computer networks are divided into two classes depending on the distance they span. A local area network (LAN) is typically less than one kilometer in length and connects computers within a single building or floor. The term wide area network (WAN) can describe any network over one kilometer, though much greater distances spanning cities, countries, continents, or the entire globe are typically implied.

Computer network: A set of transmission lines, equipment and communication protocols to permit sharing of information and resources.

Local area network (LAN): A computer network where the distances are local such as in the same building.

Wide area network (WAN): A computer network across large distances such as a city, state, or nation.

There are many ways to distribute information system resources across a computer network. Users, application programs, and databases can be placed on the same computer system, on different computer systems on the same LAN, or different computer systems on different LANs. Application programs and databases can also be subdivided and each distributed separately.

Client-Server Architecture

Client-server architecture is currently the dominant architectural model for distributing information system resources. Client-server architecture divides information system processes into two classes - client and server. A server computer manages one or more system resources and provides access to those resources through a well-defined communication interface. A client computer uses the communication interface to request resources, and the server responds to those requests. Software that implements the communication interface is usually called middleware.

Router: A piece of equipment that is used to direct information within the network.

Server computer: A computer that provides services to other computers on the network.

Client computer: A computer that requests services from other computers on the network.

Middleware: Computer software that implements communication protocols on the network and helps different systems communicate.

N-Layer Client-Server Architecture

An information system application program can be divided into a set of client and server processes or layers. This approach to client-server architecture is sometimes called three-layer architecture.

Data layer: The layer on a client-server configuration that contains the database.
Business logic layer: The part of a client-server configuration that contains the programs that implement the program logic or the application.
View layer: The part of the client-server configuration that contains the user interface and other components to access the system.
Three-layer architecture: A client-server architecture that contains the three layers of view layer, business logic layer, and data layer.
N-layer architectures or n-tiered architectures: A client-server architecture that contains n layers.

Middleware: Computer software that implements communication protocols on the network and helps different systems communicate.

Enterprise application development (EAD): An approach to developing information systems for enterprise-wide deployment in a distributed fashion.

The Internet, Intranets, and Extranets

The Internet and World Wide Web are becoming increasingly popular frameworks for implementing and delivering information system applications. The Internet is a global collection of networks that are interconnected using a common low-level networking standard—TCP/IP (Transmission Control Protocol/Internet Protocol). The World Wide Web (WWW), also called simply the Web, is a collection of resources (programs, files, and services) that can be accessed over the Internet by a number of standard protocols. The Internet is the infrastructure upon which the Web is based. In other words, resources of the Web are delivered to users over the Internet.

Internet: A global collection of networks that use the same networking protocol--TCP/IP.

World Wide Web (WWW): A collection of resources such as files and programs that can be accessed over the Internet using standard protocols.

An intranet is a private network that uses Internet protocols but is accessible only by a limited set of internal users (usually members of the same organization or workgroup). The term also describes a set of privately accessible resources that are organized and delivered via one or more Web protocols over a network that supports TCP/IP. An intranet uses the same protocols as the Internet and Web but restricts resource access to a limited set of users. An extranet is an intranet that has been extended to include directly related business users outside the organization (e.g., suppliers, large customers, and strategic partners). An extranet allows separate organizations to exchange information and coordinate their activities, thus forming a virtual organization.
Intranet: A private network that is accessible to a limited number of users, but which uses the same TCP/IP protocols as the Internet.
Extranet: An intranet that has been extended outside of the organization to facilitate the flow of information.
Virtual organization: A loosely coupled group of people and resources that work together as though they were an organization.
Virtual private network: A network with security and controlled access for a private group but built on top of a public network such as the Internet.
The Internet as an Application Platform

Internet and Web technologies present an attractive alternative for implementing information systems. Another alternative for implementing remote access for buyers is to construct an application that uses a Web browser interface. Such an application executes on a Web server and is accessible from any computer with an Internet connection. Buyers can use a web browser on their laptop computer and connect to the application via an Internet service provider wherever they’re currently located.

Implementing an application using the Web, an intranet, or an extranet has a number of advantages over traditional client-server approaches to application architecture including wide accessibility, low-cost communication, and widely implemented standards.

Of course, there are negative aspects of application delivery via the Internet and Web technologies including security, reliability, throughput, and volatile standards.

B2B and B2C Applications and Hubs

With the widespread growth of e-commerce, there are many other alternative uses for the Internet. In business-to-business (B2B) relationships, companies such as RMO can also use the Internet to develop relationships with its suppliers. RMO’s suppliers can use Web browser technology to check their inventory levels and automatically replenish them at RMO when order points are reached.

A new type of company has also come into existence to support higher levels of e-commerce. Currently, RMO sends its buyers out to visit different suppliers and establish contracts and purchase agreements. However, this function, too, can be done electronically. One approach to finding suppliers is through a company that acts as an aggregator or an electronic exchange. In this situation, equipment and materials suppliers register with the aggregator, which then acts as a broker to help buyers and sellers get together.

Similar concepts apply in business-to-consumer (B2C) relationships. Many companies have Web sites to promote and sell their own products. However, electronic storefronts are also appearing to provide a centralized shopping location for consumers. Thus, a company like RMO may have its own Web presence, but it may also sell its products through cybermalls and other electronic distributors.

Development and System Software Environments
The development environment consists of the standards and tools that are in use in the organization. For example, specific languages, CASE tools, and programming standards may be required. The system software environment includes operating systems, network protocols, database management systems, and so forth. In some projects, the development and system software environment may be open to choice. In other situations, they must conform to the existing environment. In either case, an important activity of the analysis phase is to determine the components of the environment that will control the development of the new application system.

The important components of the development and system software environment that will affect the project are the language environment and expertise, existing CASE tools and methodologies, required interfaces to other systems, the operating system, and the database system.

References:

ocw.kfupm.edu.sa/user/MIS30103/08IMCh%20notes.doc
hercules.gcsu.edu/~adahanay/cbis3210/Chapter%208-reviewQ.doc
people.stfx.ca/rpalanis/415/lecture/08.ppt