Добавил:
Меня зовут Катунин Виктор, на данный момент являюсь абитуриентом в СГЭУ, пытаюсь рассортировать все файлы СГЭУ, преобразовать, улучшить и добавить что-то от себя Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика / Теория / подготовка к ит.doc
Скачиваний:
28
Добавлен:
10.08.2023
Размер:
685.06 Кб
Скачать

36. Характеристика технологии «клиент-сервер».

«Клиент-сервер» это модель взаимодействия компьютеров в сети.

Как правило, компьютеры в такой конфигурации не являются равноправными. Каждый из них имеет свое, отличное от других, назначение, играет свою роль.

Некоторые компьютеры в сети владеют и распоряжаются информационно-вычислительными ресурсами, такими, как процессоры, файловая система, почтовая служба, служба печати, базы данных. Другие же компьютеры имеют возможность обращаться к этим службам, пользуясь услугами первых.

Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса, а компьютер, желающий им воспользоваться — клиентом. Модель «клиент-сервер» имеет вид:

Конкретный сервер определяется видом ресурса, которым он владеет. Так, если ресурсом являются базы данных, то речь идет о сервере баз данных, назначение которого обслуживать запросы клиентов, связанные с обработкой данных в базах; если ресурс файловая система, то говорят о файловом сервере, или файл-сервере, и т.д.

В сети один и тот же компьютер может выполнять роль как клиента, так и сервера. Этот же принцип распространяется и на взаимодействие программ.

Обработка информации данных строится на использовании технологии баз и банков данных. В базе информация организована по определенным правилам и представляет собой интегрированную совокупность взаимосвязанных данных. Такая технология обеспечивает увеличение скорости их обработки при больших объемах.

Обработка данных на внутримашинном уровне представляет собой процесс выполнения последовательности операций, задаваемых алгоритмом.

Реализация технологий «клиент-сервер» может иметь различия в эффективности и стоимости информационно-вычислительных процессов, а также в уровнях программного и технического обеспечения, в механизме связей компонентов, в оперативности доступа к информации, ее многообразии и т.д.

Получение разнообразного и сложного сервиса, организованного в сервере, делает работу пользователей более производительной и стоит пользователям дешевле, чем сложное программно-техническое оснащение многих компьютеров клиентов.

Технология клиент-сервер, как более мощная, заменила технологию файл-сервер. Она позволила совместить достоинства однопользовательских систем (высокий уровень диалоговой поддержки, дружественный интерфейс, низкая цена) с достоинствами более крупных компьютерных систем (поддержка целостности, защита данных, многозадачность).

В классическом понимании СУБД представляет собой набор программ, позволяющих создавать и поддерживать базу данных в актуальном состоянии. Функционально СУБД состоит из трех частей: ядра (базы данных), языка и инструментальных средств программирования.

Инструментальные средства программирования относятся к интерфейсу клиента, или внешнему интерфейсу. Они могут включать процессор обработки данных на языке запросов. Язык — это совокупность процедурных и непроцедурных команд, поддерживаемых СУБД. Наиболее употребительными языками являются SQL и QBE. Ядро выполняет все остальные функции, которые, включены в понятие «обработка базы данных».

Основная идея технологии клиент-сервер заключается в том, чтобы серверы расположить на мощных машинах, а приложения клиентов, использующих язык, — на менее мощных машинах. Тем самым будут задействованы ресурсы более мощного сервера и менее мощных машин клиентов.

Ввод-вывод к базе основан не на физическом дроблении данных, а на логическом, т.е. сервер отправляет клиентам не полную копию базы, а только логически необходимые порции, тем самым сокращая трафик сети.

Трафик сети — это поток сообщений сети. В технологии клиент-сервер программы клиента и его запросы хранятся отдельно от СУБД.

Сервер обрабатывает запросы клиентов, выбирает необходимые данные из базы данных, посылает их клиентам по сети, производит обновление информации, обеспечивает целостность и сохранность данных.

Основные достоинства систем «клиент-сервер» состоят в следующем:

  • низкая нагрузка на сеть (рабочая станция посылает серверу базы данных запрос на поиск определенных данных, сервер сам осуществляет поиск и возвращает по сети только результат обработки запроса, т.е. одну или несколько записей);

  • высокая надежность (СУБД, основанные на технологии «клиент-сервер», поддерживают целостность транзакций и автоматическое восстановление при сбое);

  • гибкая настройка уровня прав пользователей (одним пользователям можно назначить только просмотр данных, другим просмотр и редактирование, третьи вообще не увидят каких-либо данных);

  • поддержка полей больших размеров (поддерживаются типы данных размер которых может измеряться сотнями килобайт и мегабайт).

Однако системам «клиент-сервер» присущи также и недостатки:

  • трудность администрирования, вследствие территориальной разобщенности и неоднородности компьютеров на рабочих местах;

  • недостаточная степень защиты информации от несанкционированных действий;

  • закрытый протокол для общения клиентов и сервера, специфичный для данной информационной системы.

Для устранения указанных недостатков используется архитектура систем Интранет, сконцентрировавших и объединивших в себе лучшие качества централизованных систем и традиционных систем «клиент-сервер».

Рассмотрим основные виды технологии распределенной обработки данных.

1. Технология клиент-сервер, ориентированная на автономный компьютер, т.е. и клиент, и сервер размещены на одной ЭВМ.

По функциональным возможностям такая система аналогична централизованной СУБД. Ни распределенная обработка, ни распределенная СУБД не поддерживаются.

2. Технология клиент-сервер, ориентированная на централизованное распределение.

При использовании этой технологии клиент получает доступ к данным одиночного удаленного сервера, данные могут только считываться, динамический доступ к данным реализуется посредством удаленных транзакций и запросов, их число должно быть невелико, чтобы не снизилась производительность системы.

3. Технология клиент-сервер, ориентированная на локальную вычислительную сеть.

Эта технология характеризуется следующими особенностями:

  • единственный сервер обеспечивает доступ к базе;

  • клиент формирует процесс, отвечающий за содержательную обработку данных, их представление и логический доступ к базе;

  • доступ к базе данных замедлен, так как клиент и сервер связаны через локальную сеть.

4. Технология клиент-сервер, ориентированная на изменения данных в одном месте.

В случае применения этой технологии:

  • реализуется обработка распределенной транзакции;

  • удаленные серверы не связанны между собой сетью ЭВМ, т.е. отсутствует серверкоординатор;

  • клиент может изменять данные только в своей локальной базе;

  • возникает опасность «смертельных объятий», т.е. ситуация, когда задача А ждет записи, заблокированные задачей В, а задача В ждет записи, заблокированные задачей А.

Поэтому распределенная СУБД должна иметь средство контроля совпадений противоречивых запросов. Распределение данных реализует метод расчленения.

5. Технология клиент-сервер, ориентированная на измерение данных в нескольких местах.

В отличие от предыдущей технологии здесь имеется сервер-координатор, поддерживающий протокол передачи данных между различными серверами. Возможна обработка распределенных транзакций в разных удаленных серверах. Это создает предпосылки разработки распределенной СУБД. Реализуется стратегия смешанного распределения путем передачи копий с помощью СУБД.

6. Технология клиент-сервер, ориентированная на распределенную СУБД.

Она обеспечивает стратегию разбиения и дублирования, позволяет получить более быстрый доступ к данным. Распределенная СУБД обеспечивает независимость клиента от места размещения сервера, глобальную оптимизацию, распределенный контроль целостности базы, распределенное административное управление.

Во всех технологиях существуют два способа связи прикладных программ клиента и сервера баз данных: прямой и непрямой. При прямом соединении прикладная программа клиента связывается непосредственно с сервером базы данных, а при непрямом доступ к удаленному серверу обеспечивается средствами локальной базы. Возможно объединение обоих способов.

Использование технологии клиент-сервер позволяет перенести часть работы с сервера на ЭВМ клиента, оснащенную инструментальными средствами для выполнения его профессиональных обязанностей.

Тем самым данная технология позволяет независимо наращивать возможности сервера баз данных и совершенствовать инструментальные средства клиента. Недостаток технологии клиент-сервер заключается в повышении требований к производительности ЭВМ — сервера, в усложнении управления вычислительной сетью, а при отсутствии сетевой СУБД — в сложности организации распределенной обработки.

Под операционной средой сервера баз данных понимают возможности операционной системы компьютера и сетевой операционной системы.

Серверы баз данных рассчитаны на поддержку большого числа различных типов приложений. Для реализаций интерфейса с сервером базы данных можно использовать объектно-ориентированные средства, электронные таблицы, текстовые процессоры, графические пакеты, настольные издательства и другие информационные технологии.

37.

Интеграция информационных технологий – это и возможность использования различных классов ИТ внутри единой среды разработки, какой, например, является среда Delphi.

38. Автоматизация приложений MS Office (Word, Excel).

OLE - автоматизация позволяет практически полностью управлять работой объектов, существующих или вновь создаваемых пакетами Word и Excel из приложения Delphi. Причем трудности управления связаны не с Delphi, а со сложной иерархией указанных приложений. Доступ к объектам может осуществляться двумя способами:

  • переменные типа Variant (проще организовывать, но медленнее работает);

  • использование интерфейсов и переменных типа IDpatch (сложнее в использовании, но более высокая производительность).

Все константы Excel и Word можно найти в библиотеке его типов (воспользоваться для этого программой OleView из MicroSoft DDK или готовым модулем). Константы должны быть включены в предложение Uses.

Uses

ComObj,

XLConst, {Константы Excel}

WordConst; {Константы Word}

Таким образом, для обращения к информации из электронной таблицы Excel необходимо последовательно выполнить следующие шаги:

  • вызвать приложение;

  • создать или открыть рабочую книгу;

  • обратиться к нужному листу рабочей книги (при необходимости, создать лист);

  • обратиться к заданному диапазону ячеек (строке, столбцу) или к диаграмме;

  • при необходимости выполнить форматирование данных.

1.1. Для вызова приложения Excel нужно выполнить команду:

<Переменная Variant>:=CreateOleObject (‘Excel.Application');

Var VEx: Variant;

Begin

VEx:=CreateOleObject (‘Excel.Application');

End;

Следует учесть, что правильность и наличие функций, вызываемых во внешнем объекте и передаваемых в Delphi через переменные типа Variant, не могут быть проверены в ходе компиляции и не вызывают ошибок сбоя. Delphi достаточно наличия информации в заданной переменной. С точки зрения Delphi это вполне корректный код.

1.2.Для закрытия приложения необходимо выполнить команду:

<Приложение>. Application.Quit;

VEx.Application.Quit;

2.1. Команда, соответствующая созданию новой рабочей книги имеет вид:

<Приложение>. Documents.Add(xlWBatWorkSheet);

VEx.Workbooks.Add(xlWBatWorkSheet); // создается книга с 1 листом.

2.2. Команда, соответствующая открытию существующей рабочей книги, имеет вид:

<Приложение>.Workbooks.Open(<имя файла>).

VEx.Workbooks.Open('E:\EXDEL\ExDel.xls');

2.3. Для сохранения рабочей книги необходимо ввести полное имя (программно, в диалоге с пользователем) и воспользоваться командой:

<Приложение>.Application.ActiveWorkBook.SaveAs(<имя файла>);

Если файл нужно сохранить в текущей папке, можно воспользоваться функцией определения текущего каталога ExtractFilePath и запросить непосредственно имя файла.

Пусть переменная Name содержит имя файла, тогда программный код сохранения примет вид:

fileName:= ExtractFilePath(Application.EXEName)+Name+'.xls';

VEx.Application.ActiveWorkBook.SaveAs(fileName);

2.4. Для закрытия рабочей книги необходимо записать код:

<Приложение>.Quit.

VEx.quit.

3.1. Добавление нового листа в рабочую книгу происходит по команде:

<Приложение>.Worksheets.Add;

VEx.Worksheets.Add;

По умолчанию листу присваивается очередное имя "ЛистN".

3.2. Переименование листа выполняется по команде:

<Приложение>.<Книга>.<Лист>.Name:=<Имя>';

VEx.Workbooks[1].WorkSheets[1].Name:='Павлова';

3.3. Удаление листа выполняется по команде:

<Приложение>.<Книга>.<Лист>. Delete;

;

VEx.Workbooks[1].WorkSheets[3].Delet;

Удаление текущего листа:

VEx.Workbooks[1].WorkSheets[1].SelectedSheets.Delete.

При организации доступа к объектам нижнего уровня иерархии удобно использовать дополнительные переменные типа Variant.

Sheet: Variant;

Sheet:= VEx.Workbooks[1].Sheets.Item['Павлова'];

Такой способ усложняет и замедляет работу программы, но упрощает работу с переменными, а поскольку приложение Excel нельзя назвать быстрым и эффективным, оптимизация приложений не даст эффекта!

4.1. Обращение к ячейкам рабочего листа, т.е. обмен данными с электронной таблицей, происходит аналогично вышеописанной работе со StringGrid.

Команды вида:

<Приложение>.<Книга>.<Лист>.Cells[I,J]:=<Переменная>;

<Переменная>:=<Приложение>.<Книга>.<Лист>.Cells[I,J];

обеспечивают обмен информацией между переменной и заданными ячейками рабочего листа.

Sheet.Cells[3,4]:= 'Проверка';

Для обращения к диапазону ячеек используется объект Range, в котором просто указывается диапазон ячеек.

Обращение к строкам и столбцам идет через объекты Rows и Columns.

RR= Sheet.Range[‘A1:B10’];

Sheet.Range[‘C1:D10’].Formula:=’=rand()’;

4.2. Построение диаграмм.

Вспомните, как Вы строили диаграммы, работая с процессором электронных таблиц Excel. Вызвав Мастер Диаграмм, Вы сообщали ему:

тип выбранной Вами диаграммы (по умолчанию - гистограмма);

диапазон ячеек, содержащих ряды данных и подписи к диаграмме;

дополнительные подписи к диаграмме;

место расположения диаграммы;

дополнительно самостоятельно форматировали диаграмму в соответствии с Вашими вкусами и рабочими потребностями.

Эти же действия Вам предстоит проделать и в Delphi, управляя из программы соответствующими макросами Excel.

Создание диаграммы на листе Excel под управлением Delphi здесь приводится в виде программного кода с необходимыми комментариями.

Var

VEx,Sheets,AR: Variant ; // AR - диапазон выбранных ячеек

Begin

// В текущую книгу Excel добавляется пустой лист

//(по умолчанию "Диаграмма1")

VEx.Workbooks[1].Sheets.Add(,,1,xlChart);

// В AR заносится диапазон данных- ячейкиA2:A7 с листа "Данные"

AR := Sheets.Item['Данные'].Range['A1:A7'];

// При создании новой диаграммы автоматически создается

// и связанный с ней объект Series (ряд)

// Несколько объектов Series могут вместе составить объект SeriesCollection

// Ранее заданный диапазон - первый ряд данных

VEx.Sheets.Item[1].SeriesCollection.Item[1].Values := AR;

// Новый диапазон

AR := Sheets.Item['Данные'].Range['B1:B7'];

// Каждый новый ряд добавляется в диаграмму методом Add.

Vx.Sheets.Item[1].SeriesCollection.Add(AR)

// Определяется тип диаграммы xl3dPie - круговая диаграмма

// Выбрана 3-мерная гистограмма с распределением по рядам и категориям

Sheets.Item[1].ChartType := xl3DColumn;

//В диаграмму добавлен персонифицированный заголовок

Sheets.Item[1].ChartTitle.Characters.Text="Павлова".

Форматирование диапазонов данных Excel.

Прежде всего, следует установить указатель на диапазон, а затем выбрать из состава констант Excel те, которые отвечают за нужные Вам параметры форматирования.

Columns.Range.Column[3].ColomnWidth:=7; // Ширина столбца 7 позиций

Columns.Range.ColorIndex:=1; // Цвет ячеек диапазона - черный

Индекс цвета ячеек следующий:

1 - черный

2 - белый

3 - красный

4 - зеленый

5 - синий

6 - желтый

7 - лиловый

8 - циановый

и т. д

//Установить шрифт "Arial Cyr" белого цвета; полужирный; размер -14

Columns.Range.Column[3].Font.Color:=ClWite;

Columns.Range.Column[3].Font.Bold:=True;

Columns.Range.Column[3].Name:="Arial Cyr";

Columns.Range.Column[3].Size:=14;

Word

Работа по автоматизации Word аналогична автоматизации Excel.

1.1. Вначале следует создать экземпляр приложения Word, для чего выполнить команду:

<Переменная Variant>:=CreateOleObject ('Word.Application').

Var VWd: Variant;

Begin

VWd:=CreateOleObject ('Word.Application');

End;

1.2. Для закрытия приложения необходимо выполнить команду:

<Приложение>. Application.Quit;

VWd.Application.Quit;

2.1. Команда, соответствующая созданию нового документа имеет вид:

<Приложение>. Documents.Add();

VWd. Documents.Add();

2.2. Команда, соответствующая открытию существующего документа имеет вид:

<Приложение>. Documents.Open(<имя файла>);

VWd. Documents.Open(E:\Pavlova\Word\ отчет.doc);

2.3. Для сохранения документа необходимо ввести полное имя (программно, в диалоге с пользователем) и воспользоваться командой

<Приложение>.Documents.Item(N).SaveAs(<имя файла>);

Vw.Documents. Item(1).SaveAs(edit1.text);

2.4. Для закрытия рабочей книги необходимо записать код

<Приложение>.Quit;

VWd.quit;

3.1. Добавление нового абзаца текста

<Приложение>.Documents. Item(N). Paragraphs.Add;

for i:=1 to 6 do VWd.Documents.Item(1).Paragraphs.Add;

3.2. Установить курсор на текущий абзац текста

<ПеременнаяVariant1>:=<ПеременнаяVariant>.Documents. Item(1). Range.

Var AR, VWd: Variant;

Begin

AR:=VWd.Documents.Item(1).Range

AR.Text:='ОТЧЕТ О РАБОТЕ '.

Пример. Создать программу, предназначенную для вывода в документ Word информации, задаваемой программно.

var

nata: textfile;

Vw,AR: variant;

implementation

Uses

ComObj, WordConst;

{$R *.DFM}

Begin

// Создание документа в Word (приветы - работа со щрифтами)

Vw:= CreateOleObject('Word.Application'); // Создание OLE объекта

Vw.Visible := True; // Отразить документ Word поверх формы Delphi

Vw.Documents.Add; // Создан пустой лист документа WORD

AR:=Vw.Documents.Item(1).Range; // Первый абзац документа

AR.Text:='Delphi приветствует Word'; // Первая строка

for i:=1 to 5 do

Vw.Documents.Item(1).Paragraphs.Add; // Добавили 5 пустых строк

// Переход к 3-му абзацу (2-я строка текста)

AR:=Vw.Documents.Item(1).Paragraphs.Item(3).Range;

// Шрифт "Times New Roman" жирный курсив, размер 22 красного цвета

AR.Font.Name:='Times New Roman';

AR.Font.Size:= 22;

AR.Font.Italic:= True ;

AR.Font.Bold:= True

AR.Font.Color:= clRed;

AR.Text:='Студенты 3 курса ПИ год '+edi1.text;

// 5-ый абзац, 3-я строка ввода

AR:=Vw.Documents.Item(1).Paragraphs.Item(5).Range;

AR.Font.Name:= 'Arial'; AR.Font.Bold:=False;

AR.Font.ColorIndex:=1;

AR.Text:='Преподаватель Павлова Н.И.';

// Файл сохраняется под именем, заданным в edit2 (указать полный путь!)

Vw.Documents.Item(1).SaveAs(edit2.text);

Vw.quit; // Закрыть документ WORD