Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
7_05070201-Programne_zabezpechennya_avtomatizov...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
112.94 Кб
Скачать

Lesson 2

Read the text: Challenges of Networked Software

In theory, developing software applications that use concurrent and networked services can improve system performance, reliability, scalability, and cost-effectiveness. In practice, however, developing efficient, robust, extensible, and affordable concurrent and networked applications is hard, due to key differences between stand-alone and networked application architectures.

In stand-alone application architectures, user interface, application service processing, and persistent data resources reside within one computer, with the peripherals attached directly to it. In contrast, in networked application architectures, interactive presentation, application service processing, and data resources may reside in multiple loosely-coupled host computers and service tiers connected together by local area or wide area networks.

A network of X-terminals and 'thin client NetPCs' is an example of a networked system architecture. In this environment, user interface presentation is handled by a display service on end-user hosts. The processing capabilities are provided by host computer(s) on which all or part of application services run. Access to persistent resources is mediated by one or more network file servers. Other services, such as naming and directory services, time services, HTTP servers, and caches and network management services, can run in the network and provide additional capabilities to applications.

There are three common reasons to adopt a networked architecture:

Collaboration and connectivity. The explosive growth of the Web and e-commerce exemplify one of the most common reasons for networking: the ability to connect to and access vast quantities of geographically-distributed information and services. The popularity of the instant messaging and 'chat rooms' available on the Internet underscores another common networking motivation: staying connected to family, friends, collaborators, and customers.

Enhanced performance, scalability, and fault tolerance. The performance and scalability of a networked architecture may be enhanced by taking advantage of the parallel processing capabilities that are available in a network. For example, multiple computation and communication service processing tasks can be run in parallel on different hosts. Similarly, various application services can be replicated across multiple hosts. Replication can minimize single points of failure, thereby improving the system's reliability in the face of partial failures.

Cost effectiveness. Networked architectures yield decentralized and modular applications that can share expensive peripherals, such as high-capacity file servers and high-resolution printers. Similarly, selected application components and services can be delegated to run on hosts with specialized processing attributes, such as high- performance disk controllers, large amounts of memory, or enhanced floating-point performance.

Although networked applications offer many potential benefits, they are harder to design, implement, debug, optimize, and manage than stand-alone applications. For example, developers must address topics that are either not relevant or are less problematic for stand- alone applications in order to handle the requirements of networked applications. These topics include: Connection establish3ment and service initialization; Event demultiplexing and event handler dispatching; Interprocess communication (IPC) and network protocols; Primary and secondary storage management and caching; Static and dynamic component configuration; Concurrency and synchronization. These topics are generally independent of specific application requirements, so learning to master them helps to address a wide range of software development problems.

Exercise 1. Learn the following words and word-combinations:

fault tolerance, to replicate, failure, reliability, peripherals, benefit, requirements, concurrent services

Exercise 2. Answer the questions:

1) What is an example of a networked system architecture?

2) What are the processing capabilities provided by?

3) How can communication service processing tasks be run?

4) How may the performance and scalability of a networked architecture be enhanced?

5) What topics must developers address?

Exercise 3. Pick out all international words from the text.

Exercise 4. Match the abbreviations with their meanings and translate into Ukrainian:

1) HTTP

a) interprocess communication

2) IPC

b) a network personal computer

3) NetPC

c) hypertext Transfer Protocol

Exercise 5. Compose a story on one of the topics (up to 100 words):

1) Collaboration and connectivity.

2) Cost effectiveness.

3) Speak about networked and stand-alone applications.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]