Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика, программирование->Конспект
оптимальное представление для таких чисел. Теперь компилятор транслируя присваивание таких типов данных либо проверяет возможность такого присваивания...полностью>>
Информатика, программирование->Лекция
Основная задача распознавания образов состоит в преобразовании уже имеющегося изображения на формально понятный язык символов. Распознавание образов и...полностью>>
Информатика, программирование->Лекция
Устройства вывода графических изображений, их основные характеристики. Мониторы, классификация, принцип действия, основные характеристики. Видеоадапте...полностью>>
Информатика, программирование->Лекция
Форматы графических файлов. Понятие цвета. Зрительный аппарат человека, для восприятия цвета. Аддитивные и субтрактивные цвета в компьютерной графике....полностью>>

Главная > Конспект >Информатика, программирование

Сохрани ссылку в одной из сетей:

Программирование в сетях (курс лекций)

1. Введение. Архитектуры информационных приложений 3

1.1. Общая классификация архитектур информационных приложений 3

1.2. Основные технологии построения современных распределенных систем 18

1.3. Технология CORBA OMG 18

1.4. Технология J2EE Sun 21

1.5. Технология .NET 25

1.6. Сравнение CORBA, J2EE и .NET 28

2. Сетевое программирование и сетевые приложения 32

2.1. Обмен данными по сети 32

2.2. Обработка данных в системах клиент/сервер 32

2.3. Принципы обмена данными 32

2.4. Пример интерфейса прикладного программирования 33

2.5. Неформальное описание АРI-интерфейса 33

2.6. Определение АРI-интерфейса 34

2.7. Код приложения эхо-повтора 36

3. Взаимодействие типа «клиент-сервер» 41

3.1. Логическая трехзвенная модель Web-приложений 41

3.2. Различная физическая реализация логической модели 41

4. Интерфейс сокетов 45

4.1. Интерфейс прикладного программирования 45

4.2. АРI-интерфейс сокетов 45

4.3. Сокеты и библиотеки сокетов 46

4.4. Связь через сокеты и ввод/вывод в системе UNIX 46

4.5. Сокеты, дескрипторы и сетевой ввод/вывод 47

4.6. Параметры и АРI-интерфейс сокетов 47

5. Архитектура WWW 55

5.1. Общие сведения о протоколе HTTP 55

5.2. Формат HTTP-сообщения. 55

5.3. Клиентский запрос Client Request 57

5.4. Ответ сервера Server Response 59

6. Принципы гипертекстовой разметки. Структура документов HTML 61

6.1. Введение 61

6.2. Принципы гипертекстовой разметки. Структура документов 63

6.3. Использование таблиц в дизайне страницы 95

6.4. Фреймы 97

6.5. Формы 104

6.6. DHTML 106

7. Управление просмотром страниц Web-узла. JavaScript 118

7.1. Модель объектов JavaScript - объекты Navigator'а 118

7.2. Наследование кода скриптов различными страницами 124

7.3. Java, JavaScript и Plug-ins 125

7.4. Встраивание в HTML-документ 125

7.5. Примеры скриптов 127

8. Common Gateway Interface - средство расширения возможностей технологии World Wide Web 135

8.1. Механизмы обмена данными 135

8.2. Практика применения скриптов CGI 138

9. Технология ASP 140

9.1. Общее описание 140

9.2. Вывод 140

9.3. Ввод 140

9.4. Взаимосвязь между отдельными страницами 141

9.5. Управление приложением 142

9.6. Использование внешних компонент 142

9.7. Работа с базами данных 142

9.8. Методики программирования 143

10. Технология JSP 147

10.1. Обзор технологии 147

10.2. Преимущества сервлетов по сравнению с «традиционными» CGI 148

10.3. Страницы Java Server Pages 149

10.4. Преимущества JSP 150

11. Технология PHP 152

11.1. Введение в PHP 152

11.2. Возможности PHP3 152

12. Технология XML 156

12.1. Что такое XML-документ 156

12.2. Правила создания XML- документа 157

12.2. Просмотр XML - документов 160

12.3. Стилевые таблицы XSL 166

12.4. Documents Type Definitions (DTD) 177

12.5. Схемы данных 182

13. Технология ColdFusion 190

13.1. Введение 190

13.2. Возможности ColdFusion Server 191

13.3. ColdFusion Администратор 192

13.4. Возможности ColdFusion Studio 192

14. Web-сервисы 194

14.1. Общая характеристика технологии 194

14.2. Service-Oriented Architecture (SOA, сервисно-ориентированная архитектура) 196

14.3. Стек технологий веб-сервисов 200

14.4. Принципы взаимодействия веб-сервисов в рамках сервисно-ориентированной архитектуры 203

Приложение 1 206

Приложение 2 208

Приложение 3 210

Приложение 4 214

  1. Введение. Архитектуры информационных приложений

1.1. Общая классификация архитектур информационных приложений

В данном разделе приводится классификация возможных архитектур информационных систем. Мы начинаем с традиционных архитектурных решений, основанных на использовании выделенных файл-серверов или серверов баз данных. Затем рассматриваются варианты архитектур корпоративных информационных систем, базирующихся на технологии Internet (Intranet-приложения). Следующая разновидность архитектуры информационной системы основывается на концепции "склада данных" (DataWarehouse) - интегрированной информационной среды, включающей разнородные информационные ресурсы. Наконец, последняя выделяемая нами архитектура предназначена для построения глобальных распределенных информационных приложений с интеграцией информационно-вычислительных компонентов на основе объектно-ориентированного подхода.

Замечание по поводу терминологии. С терминологией в области информационных систем вообще, а русскоязычной терминологией в особенности дела обстоят неважно. Область информационных систем очень быстро развивается. Практически каждый год возникают новые технологии и архитектурные решения, для которых в маркетинговых целях придумываются оригинальные, привлекающие внимание названия, далеко не всегда точно отражающие смысл технологии и/или архитектуры. На самом деле, все подходы к организации информационных систем, рассматриваемые в этом курсе базируются на общей архитектуре "клиент-сервер". Различие состоит только в том, что делают клиенты и серверы. Тем не менее, чтобы не запутать читателя, далее мы вынуждены применять русскоязычные эквиваленты соответствующих англоязычных терминов.

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

1.1.2. Файл-серверные приложения

По всей видимости, организация информационных систем на основе использования выделенных файл-серверов все еще является наиболее распространенной в связи с наличием большого количества персональных компьютеров разного уровня развитости и сравнительной дешевизны связывания PC в локальные сети. Чем привлекает такая организация не очень опытных в области системного программирования разработчиков информационных систем? Скорее всего, тем, что при опоре на файл-серверные архитектуры сохраняется автономность прикладного (и большей части системного) программного обеспечения, работающего на каждой PC сети. Фактически, компоненты информационной системы, выполняемые на разных PC, взаимодействуют только за счет наличия общего хранилища файлов, которое хранится на файл-сервере. В классическом случае в каждой PC дублируются не только прикладные программы, но и средства управления базами данных. Файл-сервер представляет собой разделяемое всеми PC комплекса расширение дисковой памяти (рис. 1.1).

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

Конечно, основным достоинством является простота организации. Проектировщики и разработчики информационной системы находятся в привычных и комфортных условиях IBM PC в среде MS-DOS, Windows или какого-либо облегченного варианта Windows NT. Имеются удобные и развитые средства разработки графического пользовательского интерфейса, простые в использовании средства разработки систем баз данных и/или СУБД. Но во многом эта простота является кажущейся. (Как гласит русская пословица, "Простота хуже воровства", а здесь мы, как правило, имеем простоту на основе воровства программных продуктов для PC.)

Рис. 1.1. Классическое представление информационной системы в архитектуре "файл-сервер"

Во-первых, информационной системе предстоит работать с базой данных. Следовательно, эта база данных должна быть спроектирована. Почему-то часто разработчики файл-серверных приложений считают, что по причине простоты средств управления базами данных проблемой проектирования базы данных можно пренебречь. Конечно, это неправильно. База данных есть база данных. Чем качественнее она спроектирована, тем больше шансов впоследствии эффективно использовать информационную систему. Естественно, сложность проектирования базы данных определяется объективной сложностью моделируемой предметной области. Но, собственно, из чего должно следовать, что файл-серверные приложения пригодны только в простых предметных областях?

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

  • наличие транзакционного управления,

  • хранение избыточных данных (например, с применением методов журнализации),

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

В принципе, файл-серверная организация, как она показана на рисунке 2.1, не противоречит соблюдению отмеченных условий. В качестве примера системы, соблюдающей выполнение этих условий, но основанной на файл-серверной архитектуре, можно привести популярный в прошлом "сервер баз данных" Informix SE.

Длинноезамечание: Для сохранения четкости дальнейшего изложения нам необходимо несколько уточнить терминологию. Мы недаром написали "сервер баз данных" в кавычках применительно к СУБД Informix SE. При использовании этой системы копия программного обеспечения СУБД поддерживалась для каждого инициированного пользователем сеанса работы с СУБД. Грубо говоря, для каждого пользовательского процесса, взаимодействующего с базой данных создавался служебный процесс СУБД, который выполнялся на том же процессоре, что и пользовательский процесс (т.е. на стороне клиента). Каждый из этих служебных процессов вел себя фактически так, как если бы был единственным представителем СУБД. Вся синхронизация возможной параллельной работы с базой данных производилась на уровне файлов внешней памяти, содержащих базу данных. Условимся впредь называть такие СУБД не серверами баз данных, а системами управления базами данных, основанными на файл-серверной архитектуре (СУБД-ФС).



Загрузить файл

Похожие страницы:

  1. Сети ЭВМ и телекоммуникации

    Реферат >> Информатика
    ... является универсальным объектно-ориентированным языком программирования, как, например, C++. ... сложности [6]. В области программирования для Сети PHP — один из ... объектно-ориентированный интерпретируемый язык программирования, независимый от платформы. ...
  2. Сети следующего поколения. Конспект лекций

    Конспект >> Коммуникации и связь
    ... методологии проектирования телекоммуникационных сетей: организации сетей доступа, расчету нагрузки сетей доступа и транспортной. В ... трафика; единая коммуникационная и транспортная сеть для различных сетей доступа; сеть с распределенной архитектурой, где ...
  3. Сети связи и системы коммутации

    Шпаргалка >> Информатика, программирование
    ... Федерации сетей связи следующих категорий: сетей общего пользования (ОП), выделенных сетей, технологических сетей, сетей связи ...
  4. Современные языки программирования

    Реферат >> Информатика
    ... . Основные концепции языков программирования Стандартизация языков программирования Язык программирования может быть представлен в виде ... динамических веб-сайтов. Область применения программирования для Сети PHP — один из популярнейших ...
  5. Программирование (2)

    Реферат >> Информатика
    ... -х годов появляются непроцедурные языки логического программирования и программирования искусственного интеллекта (LISP [51, 122 ... достаточно давно этоР-технология программирования И. В. Вельбицкого [21], сети Петри [19], наконец, обычные ...

Хочу больше похожих работ...

Generated in 0.0016360282897949