Технология программирования. Часть 2
Методические указания к лабораторному практикуму
Покупка
Новинка
Тематика:
Программирование и алгоритмизация
Автор:
Вишневская Татьяна Ивановна
Соавтор:
Романова Татьяна Николаевна
Год издания: 2010
Кол-во страниц: 53
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
ВО - Бакалавриат
Артикул: 851487.01.99
Сформулированы задания для лабораторных работ по курсу «Технология программирования» с учетом особенностей разработки Web-приложений, даны пояснения и примеры. Для студентов, обучающихся по специальности «Информатика и вычислительная техника».
Рекомендовано Учебно-методической комиссией НУК ИУ.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н.Э. Баумана Т.И. Вишневская, Т.Н. Романова ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ Часть 2 Методические указания к лабораторному практикуму Москва Издательство МГТУ им. Н.Э. Баумана 2010
УДК 681.3.06 (076) ББК 32.973-018.2 В55 Рецензент Т.М. Волосатова В55 Вишневская Т.И. Технология программирования : метод. указания к лабораторному практикуму. – Ч. 2. / Т.И. Вишневская, Т.Н. Романова. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2010. – 46, [6] с.: ил. Сформулированы задания для лабораторных работ по курсу «Технология программирования» с учетом особенностей разработки Web-приложений, даны пояснения и примеры. Для студентов, обучающихся по специальности «Информатика и вычислительная техника». Рекомендовано Учебно-методической комиссией НУК ИУ . УДК 681.3.06 (076) ББК 32.973-018.2 c ⃝МГТУ им. Н.Э. Баумана, 2010
ПРЕДИСЛОВИЕ В последние годы растет необходимость программного обеспечения, предназначенного для работы в сети Internet (Web-приложений). Для создания Web-приложений используют различные информационные технологии. В первой части методических указаний «Технология программирования» [1] были предложены основные приемы моделирования сложных информационных систем с использованием языка визуального моделирования UML и рассмотрены вопросы объектно-ориентированного подхода к анализу и разработке программного обеспечения. Вторая часть методических указаний посвящена изучению особенностей полного инженерного цикла разработки Web-приложений на платформе Microsoft.NET. Практикум подготовлен для студентов специальности «Информатика и вычислительная техника», изучающих информационные технологии в рамках дисциплины «Технология программирования». Авторы выражают благодарность студентам факультета «Информатика и системы управления» МГТУ им. Н.Э. Баумана К.В. Бушминкину, А.В. Ребрикову, А.Н. Старостину за помощь в подготовке программных проектов по предложенной методике.
БАЗОВЫЕ СВЕДЕНИЯ О MICROSOFT .NET Введение в платформу .NET Компанией Microsoft разработана платформа .NET [2]. Она предоставляет средства для создания новых приложений и содержит большое число компонентов, обеспечивающих их работу. Платформа ориентирована и на обычные Desktop-приложения, и на Web-приложения, работающие через Интернет. Так, одним из способов взаимодействия приложений на платформе .NET является язык XML, позволяющий передавать данные в виде текстовых файлов, что соответствует транспортному протоколу HTTP. Платформа Microsoft .NET включает следующие составляющие: • .NET Framework — фундамент платформы, являющийся средой для создания, развертывания и запуска приложения; • .NET Enterprise-серверы — современные серверы Microsoft (например, SQL Server, BizTalk Server); • Visual Studio .NET — среду для разработки приложений; • Клиенты — системы, позволяющие обеспечить необходимую инфраструктуру для работы приложения .NET; • XML Web-службы — блоки, расположенные по всей сети Internet, с которыми могут взаимодействовать приложения, использующие язык XML. .NET Framework Как упоминалось, .NET Framework (MSF) представляет собой среду для создания, развертывания и запуска приложения [3]. Фактически MSF состоит из двух частей: библиотеки классов и общеязыковой среды исполнения Common Language Runtime (CLR). Библиотека классов включает следующие элементы: • классы, предназначенные для разработки Windows-приложений; • ADO.NET — технологию доступа к данным, реализуемую в виде набора классов; • ASP.NET — технологию разработки Web-приложения, т. е. набор классов, описывающих элементы управления, а также классы по управлению состоянием, защитой и функционированием Web-приложения в целом; • средства разработки XML Web-служб, содержащие классы, позволяющие обрабатывать файлы в формате XML и передавать их по сети. Common Language Runtime — набор утилит и служб со всеми необходимыми средствами создания и запуска приложений. Среда CLR служит для загрузки классов приложения в память, создания объектов этих классов, настройки работы приложения в заданном контексте, а также управления сборкой мусора. Она содержит также средства компилирования приложения на специальный промежуточный язык MSIL (Microsoft Intermediate Language). Откомпилированную программу можно переносить на любую платформу, поддерживающую 4
MSF. Приложения, написанные под MSF, не зависят от платформы и аппаратной части. Для того чтобы приложение работало, необходимо установить CLR на ту машину, где мы его используем. Кроме того, CLR позволяет создавать приложения из компонентов, написанных на разных языках программирования. Модель процессов .NET Framework Модель процессов определяет порядок проектирования и описывает жизненный цикл проекта. Она подразделена на пять четко определенных этапов: • создание общей картины приложения; • проектирование; • разработка; • стабилизация; • развертывание. Каждому этапу проектирования соответствует своя контрольная точка: • утверждение документа общей картины и области действия; • утверждение дизайна; • окончательное утверждение области действия; • подтверждение готовности к выпуску; • приложение развернуто. Технология распределенных объектов Многие достижения в области средств создания Web-приложений и других распределенных систем стали возможны благодаря объединению объектно-ориентированных методов и технологии распределенных систем [4], которое часто называют технологией распределенных объектов (Distributed Object Technology). Здесь объект — это модуль вычисления и распределения в гетерогенной многомашинной вычислительной среде. Названная технология использует два ключевых свойства объектов: их способность инкапсулировать как данные, так и операции в одном модуле вычислений, а также отделять интерфейс от реализации. С помощью Distributed Object Technology (DOT) можно распределить приложения по гетерогенной среде и выполнять каждый компонент на наиболее подходящей платформе. DOТ поддерживается промежуточным программным обеспечением (ПО). Промежуточное ПО — сервисное звено между приложением и базовой платформой (операционной системой и сетевыми программами). Оно предоставляет независимые от приложения услуги, которые дают возможность различным процессам идти на одной или нескольких платформах. Существуют разные типы промежуточного ПО. • CORBA (Common Object Request Broker Architecture) — технология построения распределенных объектных приложений. CORBA определяет стандартную архитектуру для ORBs (Object Request Brokers — брокеров объектных запросов), форму промежуточного ПО, управляющего связями между объектами в распределенной среде. Интерфейсы между объектами определяются с использованием языка описания интерфейсов (Interface Definition Language — IDL). Объекты могут реализовываться в разных языках, выполняться на разных аппаратных средствах и под управлением разных операционных систем. • COM — модель компонентных объектов (Component Object Model) и DCOM — распределенная модель компонентных объектов (Distributed Component Object Model). 5
Модели COM и DCOM ссылаются на спецификацию и реализацию технологии ORB, разработанной корпорацией Microsoft. COM позволяет взаимодействовать компонентам (объектам) на одном компьютере, в то время как DCOM поддерживает взаимодействие компонентов сети. Чтобы установить связь, компоненты должны соответствовать бинарной структуре. При этом они могут быть реализованы в разных языках, главное, чтобы придерживались бинарной структуры. • Java 2, Enterprise Edition (J2EE). J2EE поддерживает многоуровневую архитектуру приложений, основанную на использовании трех типов Java-компонентов: аплетов, сервлетов (включая JSP) и Enterprise JavaBeans. Спецификация J2EE определяет программные интерфейсы, J2EE-пpилoжeниe может быть развернуто в любой среде, которая реализует эту платформу. • СОМ+ — это расширение модели СОМ, представляющее собой как архитектуру объектно-ориентированного программирования, так и набор служб операционной системы. СОМ+ объединяет СОМ и сервер транзакций корпорации Microsoft (Microsoft Transaction Server — MTS), а также добавляет ряд таких новых возможностей, как организация очередей сообщений и обработка событий с подписью. ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ WEB-ПРИЛОЖЕНИЙ Web-приложения и распределенные системы В Web-приложениях обычно используется многоуровневая архитектура, включающая «внешнее» (клиентское) звено, управляемое Web-браузером, «внутреннее» звено с источниками данных (уровень информационных источников), а также один или несколько средних звеньев, которые обеспечивают функции Web-сервера и приложений. Именно по этой причине Web-приложения являются распределенной системой. Существуют четыре характеристики, отличающие локальные и распределенные вычисления, которые необходимо учитывать при разработке Web-приложения [4]: 1) латентность; 2) доступ к объектам; 3) частичный отказ по сети; 4) параллелизм. Латентность — в данном контексте разница во времени реакции между вызовом локальной и удаленной операции. Значение латентного времени зависит от скорости передачи данных по сети, затрат времени на работу промежуточного ПО и связь вследствие принадлежности объектов разным адресным пространствам. Разница может составлять четыре или пять порядков. Сложившуюся ситуацию невозможно значительно улучшить, поскольку ускорение будет скомпенсировано повышенным трафиком и дополнительными требованиями к ПО. Доступ к объектам, локальным или удаленным, предоставляется по-разному. К объектам, относящимся к одному и тому же адресному пространству, можно эффективно обращаться посредством указателей. Если объекты расположены в разных адресных пространствах, к ним получают доступ с помощью менее эффективных объектных ссылок. Различие способов доступа к локальным и удаленным объектам предполагает два выхода: • программист владеет информацией о местоположении объекта (локальный или удаленный) и принимает соответствующие меры, что усложняет задачу программирования; 6