2412

Иновационные информационные технологии

Конспект

Инновационные исследования

Факторы, оказывающие сдерживающее влияние на процесс становления рынка программных продуктов. Технология ASP. Объекты ADO. Пакетная модификация. Перемещение между записями в результирующем множестве ADO. Специальные значения свойства ADO Recordset.

Русский

2013-01-06

96.36 KB

4 чел.

1.Новые информационные технологии

Технологии, связанные с информационным обеспечением процесса управления называют новыми информационными технологиями.

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

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

• Автоматизации проектирования, оперативного планирования и управления промышленным производством;

• Автоматизация организационного управления 

 

2.Рынки информационных и коммуникационных технологий. Мировой рынок и рынок стран бывшего СССР. 

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

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

Мировой рынок.

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

По объему производства рассматриваемый сектор занимает вторую позицию в перечне крупнейших отраслей мировой промышленности (табл. 1) после туристической отрасли. Это свидетельствует о высоком потенциале информационных технологий.

Уровень развития ИКТ тесным образом связан с производством валового внутреннего продукта и инвестициями в каждой отдельной стране. Совершенствование микроэлектронной основы ВТ, периферийных устройств и ПО вызывает изменения в областях их использования. 

Рынок стран бывшего СССР

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

3. Основные факторы, оказывающие влияние на экономику предприятий, связанных с эксплуатацией ВТ и ПО.

Выделим основные факторы, оказывающие влияние на экономику предприятий, связанных с эксплуатацией ВТ и ПО.

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

Второй фактор характеризует массовое использование ПЭВМ, которые существенным образом изменили структуру парка ЭВМ. Большой набор ППП для ПЭВМ, ориентированных на пользователей-непрофессионалов, дал возможность бывшим пользователям ВЦ решать задачи на своих рабочих местах.

Третий фактор относится к изменению формы собственности. Кооперативное движение сыграло определенную положительную роль в деле насыщения рынка современной BE, в первую очередь ПЭВМ, и ПО.

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

4.Факторы, оказывающие сдерживающее влияние на процесс становления рынка программных продуктов.

На процесс становления рынка программных продуктов сдерживающее влияние оказывают следующие факторы:

1. Падение промышленного производства, инфляция, низкий курс конвертации и др.

2. Несоответствие между материальным уровнем пользователей и новыми техническими и программными средствами.

3. Общая экономическая отсталость.

4. Отсутствие инфраструктуры рынка.

5. Нетерпимое положение в области соблюдения авторских прав на интеллектуальную собственность. 

7. Виды и состав сетей, программное обеспечение ЛВС

Сетью называется совокупность компьютеров или рабочих станций (PC), объединенных средствами передачи данных.

Современные сети можно классифицировать по различным признакам:

  1.  по удаленности компьютеров,
  2.  топологии, назначению,
  3.  перечню предоставляемых услуг,
  4.  принципам управления (централизованные и децентрализованные),
  5.  методам коммутации (без коммутации, телефонная коммутация, коммутация цепей, сообщений, пакетов, дейтаграмм),
  6.  видам среды передачи
  7.  и т.д.

В зависимости от удаленности компьютеров сети условно разделяют на:

  1.  локальные и
  2.  глобальные.

Глобальные сети различают четырех основных видов:

  1.  городские,
  2.  региональные,
  3.  национальные и
  4.  транснациональные.

Программное обеспечение локальных вычислительных сетей

Независимо от того, в какой сети работает некоторый компьютер, функции, установленного на нем ПО, условно можно разделить на две группы:

управление ресурсами самого компьютера (в том числе и в интересах решения задач для других компьютеров) и

управление обменом с другими компьютерами (сетевые функции).

Собственными ресурсами компьютера традиционно управляет ОС. Функции сетевого управления реализует сетевое ПО, которое может быть выполнено как в виде отдельных пакетов сетевых программ, так и в виде сетевой ОС (СОС). 

9. Информационные системы в Интернет и Интранет

Обработка информации в среде Интернет существенно отличатся от обработки информации в ЛВС и, тем более, на отдельном компьютере. Перечислим наиболее важные из них:

  1.  Большая протяженность коммуникационных линий, что сказывается на временных характеристиках обмена. Кроме того. Большая удаленность лишает смысла загрузку программ с одного компьютера на другой и не позволяет выполнять пересылку больших объемов данных в реальном масштабе времени, как в сетевых СУБД локальных сетей.
  2.  Взаимодействие распределенных элементов ИС происходит с помощью обмена пакетами или сообщениями. Отдельные программные компоненты ИС могут быть одного или различных производителей. В последнем случае особую роль приобретает решение проблемы поддержки стандартов на сетевые протоколы и на язык SQL.
  3.  Сеть Интернет отличает от других глобальных сетей то, что по масштабам она больше всех других сетей (объединяет другие сети) и принципы ее организации оказывают существенное влияние на использование в сети баз данных.

 

8.Методы доступа к данным

Доступ к общим данным

При обслуживании обращений к данным средства управления БД должны обеспечивать по крайней мере два основных метода доступа:

  1.  монопольный
  2.  и коллективный..

Монопольный доступ обычно используется в двух случаях:

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

Во-вторых, когда производятся ответственные операции с БД, не допускающие других действий, например, изменение структуры БД.

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

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

 

10. Этапы развития ИС

1. В мэйнфреймах вычислительные ресурсы, хранимые данные и программы обработки информации сконцентрированы на одной ЭВМ. Основным средством доступа был алфавитно-цифровой терминал (дисплей), управляемый ЭВМ. Вся обработка информации и подготовка ее к выдаче выполнялись на центральной ЭВМ

С терминалов, как правило, в машину передавались коды нажатия клавиш или содержимое буфера экрана, а обратно на терминал - пересылались отображаемые экраны с соответствующими кодами управления отображением.

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

Системы типа клиент-сервер имеют следующие достоинства:

  1.  Высокая надежность и живучесть;
  2.  Легкость масштабирования;
  3.  Качественный пользовательский интерфейс;
  4.  Возможность одновременной работы с несколькими приложениями;
  5.  Высокие характеристики оперативности обработки информации.

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

3. Корпоративные системы Интранет, в отличие от систем клиент-сервер, ориентированы не на данные, а на информацию в ее окончательном и пригодном для использования неквалифицированным пользователем виде.

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

  1.  На сервере порождается информация, пригодная для использования, а не данные (например, в случае СУБД - записи БД);
  2.  При обмене между клиентской и серверной частями используется протокол открытого стандарта, а не какой-то конкретной фирмы;
  3.  Прикладная система находится на сервере, и поэтому для работы пользователя на компьютере-клиенте достаточно иметь программу-навигатор (могут быть и другие решения, когда часть обработки производится на компьютере-клиенте).

В случае, когда источником информации в Интернет и интранет являются БД, имеет место взаимодействие компонентов WWW и традиционных СУБД. 

 

11.Архитектура клиент- сервер

Модели архитектуры клиент-сервер

При построении распределенных ИС, работающих с БД, широко используется архитектура клиент-сервер. Ее основу составляют принципы организации взаимодействия клиента и сервера при управлении БД.

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

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

Понятие архитектуры клиент-сервер в системах управления предприятием связано с делением любой прикладной программы на три основных компонента или слоя. Этими тремя компонентами являются:

  1.  компонент представления (визуализации) данных;
  2.  компонент прикладной логики;
  3.  компонент управления базой данных.

В этих системах место терминала заняла ПЭВМ, а мэйнфрейма — компьютер-сервер.

Системы типа клиент-сервер имеют следующие достоинства:

  1.  Высокая надежность и живучесть;
  2.  Легкость масштабирования;
  3.  Качественный пользовательский интерфейс;
  4.  Возможность одновременной работы с несколькими приложениями;
  5.  Высокие характеристики оперативности обработки информации.

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

12. Корпоративные системы интранет

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

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

  1.  На сервере порождается информация, пригодная для использования, а не данные (например, в случае СУБД - записи БД);
  2.  При обмене между клиентской и серверной частями используется протокол открытого стандарта, а не какой-то конкретной фирмы;
  3.  Прикладная система находится на сервере, и поэтому для работы пользователя на компьютере-клиенте достаточно иметь программу-навигатор (могут быть и другие решения, когда часть обработки производится на компьютере-клиенте).

В случае, когда источником информации в Интернет и интранет являются БД, имеет место взаимодействие компонентов WWW и традиционных СУБД.

Различают два следующих варианта функционирования ПО WWW по доступу к БД: на стороне Web-сервера и на стороне Web-клиента.

13. Модель доступа к данным на стороне сервера

В модели доступа к БД на стороне сервера обращение к серверу БД обычно производится путем вызова программами Web- сервера внешних по отношению к ним программ в соответствии с соглашениями одного из интерфейсов: CGI - общий шлюзовый интерфейс, FastCGI или API - интерфейс прикладного программирования.

Внешние программы взаимодействуют с сервером БД на языке SQL, непосредственно обращаясь к конкретному серверу или используя драйвер ODBC.

Внешние программы пишутся на обычных языках программирования типа Си, Си++ и Паскаль или специализированных языках типа Perl, PHP. Программы, разработанные в соответствии с интерфейсом CGI, называются CGI-сценариями или скриптами.

Для поддержки этого механизма на стороне клиента в языке HTML имеется средство включения в документ форм (тэг <FORM> языка HTML) представления запросов к БД.

Процедура доступа к БД с использованием интерфейса CGI включает в себя следующие этапы:

  1.  Запрос Web-клиентом у Web- сервера страницы, содержащей форму обращения к БД, если при просмотре документа пользователем Web-клиент встречает ссылку на такую страницу.
  2.  Заполнение Web-клиентом содержащейся на полученной странице формы запроса к БД и отправка ее Web-серверу. Правильность заполнения формы можно контролировать с помощью несложной программы, непосредственно находящейся в области HTML- страницы, в которой описана форма (обычно для этого используют языки VBScript или JavaScript).

3. Web-сервер, получив эту форму, запускает соответствующую внешнюю CGI-программу, передавая ей параметры (адрес и имя этой программы указывается в атрибуте ACTION тэra<FORM>).

  1.  Внешняя программа преобразует описанный в форме запрос к БД в соответствующий текст запроса на языке SQL, с которым обращается к серверу БД.
  2.  После получения результатов запроса внешняя программа формирует требуемую HTML-страницу, передает ее Web-серверу и завершает свое выполнение.
  3.  Web-сервер передает сформированную HTML-страницу Web-клиенту.

 

14. Модель доступа к данным на стороне клиента

При доступе к БД на стороне клиента основным средством реализации механизмов взаимодействия Web-клиента и сервера БД является язык Java. Кроме того, может использоваться JavaScript, разработанный для расширения возможностей декларативного языка HTML (нет операторов присваивания, сравнения, математических функций и прочее) на основе добавления процедурных средств. Программы на языке JavaScript выполняются на компьютере Web_6poy3epoM в режиме интерпретации.

Если в HTML-документе требуется получить данные из БД, то поступают следующим образом.

  1.  На языке Java пишутся дополнительные программы, называемые апплетами, которые затем компилируются. В результате получаются мобильные (машинно-независимые) программы. Последние могут выполняться в режиме интерпретации или служить исходной информацией для генерации программ, готовых к выполнению на разных аппаратно-программных платформах.
  2.  В тексте HTML-документа в нужных местах ставится ссылки на соответствующие апплеты. Сами программы хранятся на сервере.
  3.  В процессе работы с гипертекстом при обнаружении в тексте ссылки на апплет происходит автоматическая пересылка Java- программы с сервера в среду выполнения браузера и загрузка на выполнение. Последняя в диалоге с пользователем уточняет параметры запроса к БД (средства поддержки графического пользовательского интерфейса в языке Java имеются).
  4.  Получив управление, Java-апплет осуществляет взаимодействие с сервером БД, в результате чего полученная из базы информация представляется пользователю.

Достоинством модели доступа на стороне сервера является сравнительная простота программ-навигаторов (Web-клиентов) и удобство администрирования системы, так как основная часть программного обеспечения находится на машине Web-сервера.

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

15. Базы данных как информационный ресурс

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

По функциональному назначению базы данных делят на:

системы оперативной обработки транзакций (OLTP-системы, Online Transaction Processing);

системы делового анализа / хранилища данных (OLAP-системы, Online Analysis Processing).

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

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

 

16. Сетевые технологии как мировой информационный ресурс

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

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

Основной характеристикой каналов передачи информации является их пропускная способность (скорость передачи информации). Пропускная способность канала равна количеству информации, которое может передаваться по нему в единицу времени.

Обычно пропускная способность измеряется в битах в секунду (бит/с) и кратных единицах Кбит/с и Мбит/с. Однако иногда в качестве единицы измерения используется байт в секунду (байт/с) и кратные ему единицы Кбайт/с и Мбайт/с.

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

18. Internet как новая среда делового общения

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

Для поддержания заданного уровня продаж компания должна учитывать два основных направления в своей деятельности: привлечение новых покупателей и поддержание отношений с существующими. С точки зрения экономической выгоды, гораздо дешевле поддержать взаимоотношения с постоянным покупателем, чем найти нового.

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

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

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

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

Наибольшего развития в сфере услуг, предоставляемых через Internet, получили финансовые услуги, к которым относятся следующие виды деятельности:

· предоставление банковских услуг через Internet;

· предоставление услуг по работе на валютном и фондовом рынках через Internet;

· Internet-страхование - предоставление услуг страхования через Internet.

21. Технология ASP

ASP представляет собой смесь средств программирования с использованием HTML. ASP – это не язык программирования, это внутренняя технология, позволяющая подключать программы к Web-страницам. Она обеспечивает чтение и запись в базу данных посредством ADO и ODBC и массу других возможностей. Технология похожа на CGI, JavaScript, Perl и ISAPI.

Активные страницы не требуют специфичных браузеров. Все скрипты запускаются и выполняются на сервере, браузер получает только результирующие HTML-файлы. Как это все происходит? Вы пишите программу и складываете в файл на сервере. Браузер клиента запрашивает файл. Файл сначала интерпретируется сервером (IIS), на выходе производится HTML-код. Готовый HTML посылается клиенту. Вы не увидите в готовом файле скриптов. Там будет только результат. Для выполнения ASP требуется Internet Information Server для Windows NT/2000, который является бесплатным продуктом. Файлы с программами имеют расширение .asp. Файлы asp – это обычные текстовые файлы, содержащие исходные тексты программ. Файлы делаются с помощью любого текстового редактора. Чтобы, сервер распознал скрипт, написанный на ASP необходимо поставить символы: <% - является открывающей последовательностью для начала сценария; %> - закрывает код сценария для исполнения на сервере.

В обработку Web-страницы базы данных вовлечено несколько уровней программного обеспечения

  1.  Посетитель Web инициирует процесс, передавая запрос на Web-сервер. Обычно посетитель Web делает это, щелкая на гиперссылке или на кнопке Submit (Отравить) в браузере.
  2.  Web-сервер получает запрос, проверяет, имеет ли запрашиваемая Web-страница расширение файла .asp, и запускает процессор (обработчик) сценария Active Server Pages.

Эта диаграмма показывает взаимосвязи, существующие между объектами ADO, используемыми в этой книге

3. Процессор ASP-сценария считывает запрошенную страницу и исполняет все обнаруженные в ней коды выполнения на стороне сервера

4. Код сценария, выполняемого на стороне сервера, загружает (т.е. создает экземпляры) различных объектов ADQ. Далее сценарии использует методы, присущие этим объектам (т.е. обращается к программным командам) для доступа к соответствующим источникам данных, имеющимся на сервере.

5. ODBC - это один из таких источников данных. ADO осуществляют доступ ко многим, но не ко всем системам управления реляционными базами данных через ODBC. Источник данных ODBC предоставляет средства для открытия баз данных, открытия таблиц, обработки команд SQL и выполнения других задач.

  1.  В конечном счете, объекты ADO работают либо непосредственно сами по себе, либо опосредованно через источник данных, посылая команды поставщику данных. В качестве поставщика данных может выступать DBMS, например, Microsoft SQL Server, или ядро управления базами данных Jet, используемое в Microsoft Access 2000.
  2.  Наконец, источник данных получает доступ к базе данных и отправляет результаты обратно в обратившийся к нему модуль.

 

22.Объекты ADO

Несмотря на мощные возможности, которые они предоставляют, количество объектов ADO невелико. Все они представлены в табл. 3-1. На рис. 3-3 показана иерархия различных объектов ADO,

Объектом ADO высшего уровня является объект Connection. Объект Connection управляет всеми взаимодействиями с поставщиком данных; таким образом, все другие объекты ADO зависят от него. Использование объекта Connection требует двух действий: загрузки (создания экземпляра) объекта и последующего его открытия. Когда открывается объект Connection, необходимо предоставить строку соединения, которая указывает, какого поставщика данных следует открыть.

Объект ADO Recordset обеспечивает доступ к результирующему множеству из операции базы данных. Создание объекта Recordset и получение результирующего множества представляют собой две различные операции, и вы должны выполнять их именно в таком порядке. Вы можете получить результирующее множество двумя способами: с использованием метода Open объекта Recordset или с использованием метода Execute объекта Command. Объект Command ADO содержит команду - и, возможно, параметры - которую вы предполагаете отправить поставщику данных. Чтобы реально отправить команду, вы должны воспользоваться методом Execute объекта Command. Для выполнения обычных запросов проще применять метод Open объекта Recordset, который требует меньше программного кода для описания, чем метод Execute объекта Command. Однако объект Command поддерживает две функции, которые не предусмотрены для объекта Record: параметрические запросы и команды, не порождающие набора записей. Объект ADO Parameter содержит один замещаемый параметр, предназначенный для использования объектом ADO Command. Для Каждого параметра, предоставляемого объекту Command, вы должны сначала создать объект ADO Parameter, присвоить ему значение, а потом добавить объект Parameter в объект Command. Объект ADO Error предоставляет множество сообщений обошибках,полученных от поставщика базы Данных. Каждый раз, когда вы осуществляете доступ к поставщику через его объект Connection, ADO сначала очищает объект Error набора Errors, а затем добавляет в него каждую ошибку, если они есть, 0 которой сообщает поставщик. Когда управление передается в ваш ASP-код, вы можете проанализировать объект Error с целью идентификации ошибок.

Доступ к таблицам и записям через объекты ADO

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

Использование наборов записей ADO

С практической точки зрения объект Recordset является наиболее важным из всех типов объектов ADO. Объект Recordset обеспечивает присущий только ADO механизм для обмена данными между поставщиком данных и вашей Web-страницей базы данных. 

23.Пакетная модификация

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

Большинство систем баз данных поддерживает подобные требования через концепцию транзакций. Транзакцией является любая группа изменинений типа «все или ничего». ADO поддерживает обработку транзакций через несколько отличную модель, называемую пакетной обработкой (batching). Пакетная обработка нескольких изменений — т.е. создание транзакции из нескольких изменений — может также оказаться полезной и для улучшения быстродействия. Если приложение обновляет или создает десятки или сотни записей одновременно, выполнение таких обновлений в пакетном режиме часто оказывается быстрее, чем выполнение их по отдельности. 

24.Типы курсоров для набора записей ADO

Когда вы работаете с наборами записей, слово курсор (cursor) имеет два значения. Первое — это указатель текущей записи. Второе — это программное обеспечение, которое отслеживает и управляет текущей позицией записи.

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

В распределенных приложениях программа управления курсором может выполняться либо на стороне клиента, либо на сервере базы данных. Курсор на стороне клиента извлекает набор записей в блоках, а затем пересылает его клиенту. Курсор на стороне сервера пересылает набор записей серверу базы данных и передает его клиенту по одной записи. (Клиентом в этом контексте является Web-сервер, который исполняет ASP-код, а сервером - машина, которая запускает программное обеспечение базы данных.)

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

Константа Значение Описание

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

adOpenDynamic 2 Динамический курсор. В наборе записей будут отражаться добавления, изменения и удаления, внесенные другими пользователями. При этом разрешены все типы перемещений между записями.

adOpenKeyset 1 Ключевой курсор. В наборе записей будут отражены изменения и удаления, внесенные другими пользователями, но не добавления. Разрешены все типы перемещений между записями. AdOpenForwardOnly 0 Курсор «только вперед». Подобен статическому курсору, за исключением того, что здесь можно перемещаться между записями только вперед, что улучшает быстродействие в случае если нужно просмотреть запись только один раз (сделать один проход)

25. Типы блокировок для наборов записей ADO

Константа Значение Описание

AdLockReadOnly 1 Только чтение. Вы не можете изменять данные.

adLockPessimistic 2 Пессимистическая блокировка, по plf ной записи. Как только происходит редактирование записи в наборе, поставщик данных блокирует ее. Если запись уже используется, оператор VBScript осуществляющий редактирование, не будет выполнен

adLockOptimistic 3 Оптимистическая блокировка, по <ш ной записи. Поставщик данных не блокирует записи в источнике данных пока вы не вызовете в вашем коде метод набора записей Update. Если запись уже используется, оператор VBScript пытающийся осуществить модификацию, не будет выполнен.

adbxkBatchOptimistic 4 Оптимистическая пакетная модификация ADO сохраняет все обновления, выполненные вами для набора записей а затем применяет их, когда вы обращаетесь к методу BatchUpdate объекта Recordset. Если поставщик данных обнаруживает, что какая-либо запись в пакете уже используется, оператор VBScript, пытающийся осуществить пакетную модификацию, не будет выполнен. 

26. Опции типа команды для наборов записей ADO

 Константа Значение Описание adCmdunspecified -1

Аргумент типа команды отсутствует. AdCmdText 1 Поставщик данных будет воспринимать аргумент источник как текстовое определение команды.

adCmdTable 2 Поставщик данных будет воспринимать аргумент источник как имя таблицы.

adCmdStoredProc 4 Поставщик данных будет воспринимать аргумент источник как имя хранящейся в памяти процедуры.

adCmdunknown 8 Тип команды в аргументе источник неизвестен. ADO попытается отправить поставщику данных аргумент источник в режимах 1,2 и 4.

adCmdFile 256 Поставщик данных будет воспринимать аргумент источник как имя файла, хранящего постоянный набор записей.

adCmdTableDirect 512 Поставщик данных будет воспринимать аргумент источник как имя таблицы, все столбцы которой

являются возвращаемыми.

Опции выполнения для наборов записей ADO Константа Значение Описание

adAsyncExecute 16 Команда будет выполняться асинхронно. Т.е. оператор, следующий за оператором Open, может быть выполнен без ожидания завершения выполнения оператора Open.

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

adAsyncFetchNonBlacking 64 Основной программный канал никогда не блокируется при извлечении данных. Если запрошенная строка не была извлечена, текущая строка автоматически перемещается в конец файла. 

27. Перемещение между записями в результирующем множестве ADO

После того, как вы открыли набор записей, большинство поставщиков данных автоматически устанавливают указатель позиции на первую запись. Это хорошо, если первая запись - все, что вам нужно, но во многих случаях вам хотелось бы просмотреть или обработать и другие записи. Для поддержки такой возможности объект Recordset предоставляет пять методов и четыре свойства для перемещения между записями в результирующем множестве. Эти методы вы можете найти в табл. 4-1.

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

rsMbrs.MoveFirst

rsMbrs.MoveLast

rsMbrs.MoveNext

rsMbrs.MovePrevious

Если вы уже находитесь на последней записи в результирующем множестве и выполняете метод MoveNext, ADO установит для свойства EOF набора записей значение True. Аналогично, если вы выполняете метод MovePrevious, когда уже находитесь на первой записи, ADO установит для свойства BOF значение True. Чтобы прочитать все записи в результирующем множестве, вам, следовательно, достаточно написать следующий цикл:

rsMbrs.MoveFirst

Do While Not rsMbrs.EOF

Здесь будет код для обработки записи

rsMbrs.MoveNext Loop 

Если по каким-то причинам вам нужно обрабатывать записи в обратном порядке, можете использовать такой цикл: 

rsMbrs.MoveLast

Do While Not rsMbrs.BOF

Здесь будет код для обработки записи

rsMbrs.MovePrevious Loop 

28. Закладки, относящиеся к методу ADO Recordset.Move

Константа Значение Описание

AdBookmarkCurrent 0 Начало в текущей записи.

AdBookmarkFirst 1 Начало в первой записи.

AdBookmarkLast 2 Начало в последней записи. 

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

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

Изменение свойства Filter набора записей приводит к изменению позиции текущей записи; новой текущей записью будет первая запись в отфильтрованном результирующем множестве. Снятие фильтра (путем установки для свойства Filter значения adFilterNone) восстанавливает все оригинальные записи для просмотра, но не восстанавливает позицию записи, действующую до осуществления фильтрации. 

29. Специальные значения свойства ADO Recordset.Filter 

Константа Значение Описание

adFilterNone 0 Снимает текущий фильтр и восстанавливает для просмотра все записи.

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

adFilterAffectedRecords 2 Обеспечивает доступ только к записям, подвергнувшимся действиям последних команд Delete, Resync, UpdateBatch или CancelBatch.

adFilterFetchedRecords 3 Обеспечивает доступ только к записям, хранящимся в текущей кэш-памяти; т.е. к результатам последнего обращения к записям, извлеченным из базы данных.

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

30. Использование объекта ADO Command

Объект ADO Command содержит команду управления базой данных, которая может использоваться для открытия набора записей. Чтобы понять, как это делается, рассмотрим следующий код: 

Sql = "SELECT * FROM members;"

Set cmdQuery = Server.CreateObject("ADODB.Command")

Set cmdQuery.ActiveConnection = cnn1

cmdQuery.CommandText = Sql

cmdQuery.CommandType = adCmdText 

Первая строка записывает оператор SQL в переменную для последующего запроса. Вторая строка создает объект ADO Command с именем cmdQuery. Третья строка ассоциирует объект cmdQuery типа Command с соединением ADO cnnl. Четвертая строка записывает оператор SQL из строки 1 в объект Command. Пятая строка указывает, что текст, представленный в строке 4, является командой управления базой данных. Здесь с помощью метода Execute объекта Command можно создать нужный набор записей. Однако, еще не установлены опции перемещения курсора. Чтобы установить эти опции а затем открыть набор записей, требуются след. операторы:

Set rsMbrs = Server.CreateObject("ADODB.Recordset")

rsMbrs.CursorType = adOpenForwardOnly

rsMbrs. LockType = adLockReadOnly

Set rsMbrs = cmdQuery.Execute () 

Первая строка создает объект ADO Recordset с именем rsMbrs. Вторая строка устанавливает для свойства CursorType набора записей rsMbrs значение adOpenForvardOnly. Третья строка устанавливает для свойства LockType набора записей rsMbrs значение adLockReadOnly. Последняя строка вызывает метод Execute объекта Command для открытия объекта. Recordset 

31. Использование параметров ADO.

Использование параметрического запроса на Web-странице включает в себя пять этапов:

  1.  Открытие соединения ADO с нужным поставщиком данных.
  2.  Создание объекта ADO Command для вызова хранимого запроса
  3.  Создание объекта ADO Parameter для хранения соответствующего имени и значения каждого параметра.
  4.  Присоединение объекта Parameter к объекту Command.
  5.  Создание объекта Recordset с использованием метода Execute объекта Command.

Открытие соединения ADO с нужным поставщиком данных.

Set cnnl = Server.CreateObject("ADODB.Connection")

openStr - "driver={Microsoft Access Driver (* .mdb)); " & _

"dbq=" & Server.MapPath("coinclub.mdb") cnnl.Open openStr," "," "

Создание объекта ADO Command для вызова хранимого запроса

Set cmdQuery = Server.CreateObject("ADODB.Command")

Set cmdQuery.ActiveConnection = cnnl

cmdQuery. CommandText = "qmemname"

cmdQuery.CommandType = adCmdStoredProc 

Создание объекта ADO Parameter

Рассмотрим код, который создает и инициализирует объект Parameter. Для упрощения примера поиск ведется только для фамилии "Иванов".

Surname = "Иванов"

Set parQsname = Server.CreateObject("ADODB.Parameter")

parQsname.Name = "qsname"

parQsname.Direction = adParamInput

parQsname.Type = adVarChar

parQsname.Size = Len(Surname)

parQsname.Value = Surname 

Первая строка записывает искомое значение Иванов в переменную с именем Surname. Вторая строка создает объект ADO Parameter с именем parQsname. Третья строка присваивает свойству Name имя параметра "qsname". Четвертая срок указывает, что этот объект предоставляет входной параметр. Пятая строка указывает, что значение параметра представляет собой строку. Шестая строка задает длину значения параметра. Седьмая строка задает значение параметра. 

 

32. Использование объекта ADO Error

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

Чтобы код проектировщика смог обнаружить и обработать ошибки, необходимо запросить у VBScript разрешение продолжать выполнение после возникновения ошибки. Это делается след. оператором

On Error Resume Next 

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

Объект VBScript Err поддерживает эту возможность с помощью след. свойств.

Number Числовое значение, идентифицирующее ошибку

Description Текстовая строка, которая описывает ошибку словесно. Source Имя объекта или приложения, которое породило ошибку

HelpFile Полностью заданный путь к файлу справочной системы,

содержащему объяснение ошибки

HelpContext Указатель на определенный раздел в файле справочной

системы 

Вот типичный пример кода

On Error Resume Next

cnnl.Open ConnectStr, " ", ""

If Err.Number <> 0 Then

Response. Write "<р>Нет связи с базой данных</р>"

End If

Объект ADO Error принадлежит коллекции Errors внутри каждого объекта Connection. Коллекция Errors способна информировать о многочисленных ошибках, которые могут возникнуть при обработке одного обрушения ADO. 

33. Использование соединений ADO

Использование объектов ADO Connection предусматривает только четыре операции.

Причем три из них чрезвычайно простые:

  1.  Создание объекта.
  2.  Открытие объекта.
  3.  Закрытие объекта.
  4.  Освобождение объекта.

Наибольшие трудности обычно представляет открытие объекта.

Создание объекта ADO Connection

Объекты ADO Connection достаточно легко создать, поскольку они не требуют задания дополнительных опций. Всю работу проделывает сследующий оператор. Единственное, что вы должны будете в нем изменить, -это имя получаемого объекта (в нашем примере cnnl)

Set cnnl = Server.CreateObject("ADODB.Connection")

В этой форме Server - это объект, встроенный в окружение ASP-сценариев, a CreateObject - метод, который создает объекты. Литерал ADODB.Connection сообщает методу CreateObject, какого рода объект надо создать.

Открытие объекта ADO Connection

Создание объекта Connection не приводит к автоматическому открытию соединений с какой-либо базой данных; для этого вам нужно обратиться к методу Open объекта Connection. Чтобы открыть соединение, следует использовать следующий оператор:

connection.Qpen ConnectionString, User/D, Password

Из трех аргументов метода Open только первый является необходимым. Вы можете опустить аргументы UserlD и Password, если при открытии базы данных не требуется проверка регистрации и пароля (logon) или если эта информация содержится внутри аргумента ConnectionString. Правильное задание строки соединения ConnectionString является наи-золее сложной частью при открытии соединения ADO Строка соединения состоит из одной или нескольких строк аргумент = значение, разделенных точкой с запятой. 

34. Криптографические методы

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

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

Современная криптография включает в себя четыре крупных раздела:

1 Симметричные криптосистемы.

2 Криптосистемы с открытым ключом.

3 Электронная подпись. 4 Управление ключами.

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

35. Метод парольной защиты

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

Для повышения эффективности парольной защиты рекомендуется:

  1.  выбирать пароль длиной более 6 символов, избегая распространенных, легко угадываемых слов, имен, дат и т.п.;
  2.  использовать специальные символы;
  3.  пароли, хранящиеся на сервере, шифровать при помощи односторонней функции;
  4.  файл паролей размещать в особо защищаемой области ЗУ ЭВМ, закрытой для чтения пользователями;
  5.  комментарии файла паролей следует хранить отдельно от файла;
  6.  периодически менять пароли;
  7.  предусмотреть возможность насильственной смены паролей со стороны системы через определенный промежуток времени;
  8.  использовать несколько пользовательских паролей: собственно пароль, персональный идентификатор, пароль для блокировки/разблокировки аппаратуры при кратковременном отсутствии и т.п.

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

36. Административные методы защиты

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

Распространённым средством ограничения доступа (или ограничения полномочий) является система паролей. Однако оно ненадёжно. Опытные хакеры могут взломать эту защиту, "подсмотреть" чужой пароль или войти в систему путём перебора возможных паролей, так как очень часто для них используются имена, фамилии или даты рождения пользователей. Более надёжное решение состоит в организации контроля доступа в помещения или к конкретному ПК в ЛВС с помощью идентификационных пластиковых карточек различных видов.

Использование пластиковых карточек с магнитной полосой для этих целей вряд ли целесообразно, поскольку, её можно легко подделать. Более высокую степень надёжности обеспечивают пластиковые карточки с встроенной микросхемой – так называемые микропроцессорные карточки (МП – карточки, smart – card). Их надёжность обусловлена в первую очередь невозможностью копирования или подделки кустарным способом. Кроме того, при производстве карточек в каждую микросхему заносится уникальный код, который невозможно продублировать. При выдаче карточки пользователю на неё наносится один или несколько паролей, известных только её владельцу. Для некоторых видов МП – карточек попытка несанкционированного использования заканчивается её автоматическим "закрытием". Чтобы восстановить работоспособность такой карточки, её необходимо предъявить в соответствующую инстанцию.

37. Защита корпоративной информации

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

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

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

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

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

38. Оценка эффективности систем защиты программного обеспечения

Системы защиты ПО широко распространены и находятся в постоянном развитии, благодаря расширению рынка ПО и телекоммуникационных технологий. Необходимость использования систем защиты (СЗ) ПО обусловлена рядом проблем, среди которых следует выделить: незаконное использование алгоритмов, являющихся интеллектуальной собственностью автора, при написании аналогов продукта (промышленный шпионаж); несанкционированное использование ПО (кража и копирование); несанкционированная модификация ПО с целью внедрения программных злоупотреблений; незаконное распространение и сбыт ПО (пиратство).

Системы защиты ПО по методу установки можно подразделить на системы, устанавливаемые на скомпилированные модули ПО; системы, встраиваемые в исходный код ПО до компиляции; и комбинированные.

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

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

Для защиты ПО используется ряд методов, таких как:

  1.  Алгоритмы запутывания - используются хаотические переходы в разные части кода, внедрение ложных процедур - "пустышек", холостые циклы, искажение количества реальных параметров процедур ПО, разброс участков кода по разным областям ОЗУ и т.п.
  2.  Алгоритмы мутации - создаются таблицы соответствия операндов - синонимов и замена их друг на друга при каждом запуске программы по определенной схеме или случайным образом, случайные изменения структуры программы.
  3.  Алгоритмы компрессии данных - программа упаковывается, а затем распаковывается по мере выполнения.
  4.  Алгоритмы шифрования данных - программа шифруется, а затем расшифровывается по мере выполнения.
  5.  Вычисление сложных математических выражений в процессе отработки механизма защиты - элементы логики защиты зависят от результата вычисления значения какой-либо формулы или группы формул.
  6.  Методы затруднения дизассемблирования - используются различные приемы, направленные на предотвращение дизассемблирования в пакетном режиме.
  7.  Методы затруднения отладки - используются различные приемы, направленные на усложнение отладки программы.

40. Сайты. Создание web-страниц

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

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

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

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

Web-страницы сайта могут содержать динамические объекты (исполнимые модули), созданные с использованием сценариев на языках JavaScript и VBScript или элементов управления ActiveX. Расположенные на сайте управляющие элементы (например, кнопки) позволяют пользователю запускать те или иные динамические объекты.

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

Основными достоинствами HTML-документов являются:

· малый информационный объем;

· возможность просмотра на персональных компьютерах, оснащенных различными операционными системами.

Для создания Web-страниц используются простейшие текстовые редакторы, которые не включают в создаваемый документ управляющие символы форматирования текста. В качестве такого редактора в Windows можно использовать стандартное приложение «Блокнот». Кроме того, существует много технологий, в которых основные действия по созданию сайтов уже автоматизированы, остается лишь внести изменения в соответствии со своей тематикой.

 

41. Реклама в Internet

Важной составляющей электронной коммерции является информационно-рекламная деятельность. Многие фирмы размещают на своих Web-сайтах в Internet важную для потребителя информацию (описание товаров и услуг, их стоимость, адрес фирмы, телефон и e-mail, по которым можно сделать заказ, и др.). Существуют специализированные серверы, предоставляющие потребителю систематизированную (по видам товара, производителям, ценам и др.) информацию об определенной группе товаров. Например, на сервере www.newman.ru содержится информация о ценах на все виды компьютерного оборудования, которые предлагают различные фирмы в Москве.

Реклама в Internet реализуется с помощью баннеров (от английского слова «banner» — «рекламный заголовок»). В Internet баннер представляет собой небольшую прямоугольную картинку, на которой размещается реклама Web-сайта или Web-страницы.

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

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

43. Какие достоинства имеют системы типа клиент-сервер?

Системы типа клиент-сервер имеют следующие достоинства:

  1.  Высокая надежность и живучесть;
  2.  Легкость масштабирования;
  3.  Качественный пользовательский интерфейс;
  4.  Возможность одновременной работы с несколькими приложениями;
  5.  Высокие характеристики оперативности обработки информации.

44.Какие недостатки имеют системы типа клиент-сервер?

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

47. Какие этапы входят в процедуру доступа к БД с использованием интерфейса CGI?

  1.  запрос WEB клиентам у WEB сервера страницы содержащие форму обращения к БД;
  2.  заполнение WEB клиентом содержащейся на полученной странице формы запроса к БД и отправка ее WEB серверу;
  3.  WEB сервер получив эту форму запускает соответствующую CGJ программу передавая ей параметр;
  4.  внешняя программа преобразует написанное к форме запроса к БД в соответствующий текст запроса на языке SQL с которым обращается к серверу БД.
  5.  после получения результатов запроса внешняя программа формирует требуемую HTML страницу и завершает свое пополнение;
  6.  WEB сервер передает сформированную HTML страницу WEB клиенту.

 

46. Какие этапы входят в простейший пример разработки БД для создания WEB страниц

Простейший пример разработки БД для создания WEB страниц:

  1.  Создается новый ASP файл
  2.  Добавляется программный код для чтения БД и создается соответствующий фрагмент HTML;
  3.  ASP файл и БД копируются на WEB сервер
  4.  Выводится страница с результатами.

Создание WEB страницы БД на начальном этапе аналогично созданию любой другой WEB-страницы. Для этого в любом простейшем текстовом редакторе необходимо ввести следующий HTML код:

<HTML>

<HEAD>

</HEAD>

<BODY>

</BODY>

</HTML> 

1 шаг.

Между тэгами <BODY> и </BODY> ввести следующий код:

<Р>

<%

%>

</р>

Здесь вторая и третья строки отмечают блок кода VBScript который будет выполняться на WEB-сервере когда посетитель обратится к странице. 

2 шаг.

Для чтения БД необходимо ввести между тэгами <% и %> следующий код:

OpenStr= “driver={Microsoft Access Driver (*.mdb)};”&_

“dbq=”& Server. MapPath(“ base.mdb”)

Set cn = Server.CreateObject(“ADODB.Connection”)

cn.Open openStr 

здесь будет код для открытия и чтения таблицы

cn.Close

Set cn=Nothing

3 шаг.

Открыв БД можно составить запрос и извлечь ряд записей. Чтобы сделать это необходимо между операторами cn.Open и cn.Close ввести следующий код:

sql= “SELECT номер, имя, фамилия, позиция” &_

“FROM table1” &_

“ORDER BY номер;”

Set rs=Server.CreateObject(“ADODB.Recordset”)

rs.Open sql, cn, 3, 3

здесь будет код для чтения данных таблицы

rs.Close

Set rs=Nothing

4 шаг.

Чтобы прочитать записи, извлеченные на шаге 3, следует ввести между операторами rs.Open и rs.Close следующий код:

On Error Resume Next

rs.MoveFirst

Do While Not rs.EOF 

здесь будет код для обработки каждой записи

rs.MoveNext

Loop 

5 шаг.

Для превращения значений и из базы данных в HTML-код с целью последующей его передачи посетителю разрабатываемого Web-узла, непосредственно перед оператором rs.MoveNext необходимо поместить следующий код:

Response.Write Server.HTMLEncode(_

rs.Fields("номер") & ", " &_

rs.Fields("имя") & " " &_

rs.Fields("фамилия") & ", " &_

rs.Fields("позиция")) & "<br>" & vbCrLf 

Метод Server.HTMLEncode анализирует текстовую строку в поисках символов, зарезервированных для HTML, и замещает их символьным эквивалентом. Так, он замещает все символы < на &lt, все символы > на &gt и т.д.

Метод Response.Write записывает любую переданную в качестве аргумента строку на Web-страницу, отправляемую посетителю Web. Строка замещает область между тэгами <% и %>, которая содержит оператор Response.Write. Ни тэги <% и %>, ни код, расположенный между ними, посетителю Web не передаются.

Каждое из четырех выражений типа rs.Fields("jersey") извлекает значения данных из текущей записи набора rs. Имена внутри скобок указывают, какие поля БД извлекаются из этой текущей записи.

Литерал <br> и встроенная константа vbCrLf передают HTML ASCII-символы отбивки и перевода строки после вывода информации о каждом хоккеисте.

После установки базы данных и ASP-страницы на Web-сервере, пользователь, посетивший вашу страницу, получит следующий ответ:

14, Андрей Иванов, 4

2, Кирилл Андреев, 1

3, Аркадий Синицын, 2

8, Алексей Макаров, 3

7, Александр Королев, 6

48. . Как отмечается блок кода VBScript который будет выполняться на WEB-сервере когда посетитель обратится странице?

<p> <% %> </p>

< & &> - код блока VBS.clipt, который будет выполняться на WEB – сервере, когда посетитель обратится к странице <p> <% … %> </p>

49. Какая строка предписывает серверу создать объект Connection ADODB и сохранить ссылку на него в переменной cn. –

Set cn = Server.CreateObject(“ADODB.Connection”)

50. Какой оператор в VB объединяет две строки? - &.

51. Какой оператор продолжает строку, т.е. предписывает VB игнорировать остаток строки, следующий после? Оператор ( _ ) продолжает строку, т.е. предписывает VB игнорировать остаток строки следующий после знака ( _ ).

52. Какая строка создает объект Recordset ADODB и сохраняет ссылку на него в переменной с именем rs?

Set rs=Server.CreateObject(“ADODB.Recordset”)

53. Какая строка открывает набор записей rs типа Recordset, используя в качестве параметра SQL-оператор, записанный в переменной sql и соединение с базой данных cn?

rs.Open sql, cn, 3, 3

54. Какой оператор предписывает серверу выполнять код даже в случае возникновения ошибок?

On error resume next

55. Какой оператор осуществляет переход к первой записи в наборе rs?

rs.MoveFirst

56. Какая команда отмечает начало цикла, который выполняется до тех пор, пока не будет достигнут конец набора записей rs?

Do While Not rs.EOF

57. Какая команда отмечает начало цикла, который выполняется до тех пор, пока не будет достигнуто начало набора записей rs?

Do while not rs BOF

58. Какой оператор осуществляет переход от одной записи набора rs к следующей?

rs.MoveNext

59. Какая команда отмечает конец цикла в ASP-страницах?

Loop 

60. В чем суть метода Response.Write?

Метод Response.Write записывает любую переданную в качестве аргумента строку на Web-страницу, отправляемую посетителю Web. Строка замещает область между тэгами <% и %>, которая содержит оператор Response.Write. Ни тэги <% и %>, ни код, расположенный между ними, посетителю Web не передаются.

61. В чем состоит назначение объекта ADO Connection?

Объект Connection ADODB управляет соединением с открытой БД

62. В чем состоит назначение объекта ADO Recordset?

Объект Recordset ADODB обеспечивает доступ к результатам запроса - т.е. набору записей, который был извлечен по запросу.

63. В чем состоит назначение объекта ADO Field?

Предоставляет доступ к отдельным полям текущей записи 

 

64. В чем состоит назначение объекта ADO Command?

Содержит команду и возможно параметр команды которая будет выполнятся при соединении с бд

65. В чем состоит назначение объекта ADO Error?

Содержит инфо об ошибках

66.В чем состоит назначение объекта ADO Parameter?

Содержит именованные значения которые поставщик БД объединит с заданным запросом

67.В чем состоит назначение объекта ADO Property?

Обеспечивает доступ к любым характеристикам ADO

68. В чем состоит назначение метода Open объекта ADO Recordset?

получает результирующее множество от поставщика данных и разрешает доступ к нему

69.В чем состоит назначение метода Close объекта ADO Recordset?

закрывает объект RecordSet и все зависимые объекты.

70.В чем состоит назначение метода Clone объекта ADO Recordset?

создает дубликат объекта RecordSet для существующего объекта.

71. В чем состоит назначение метода NextRecordset объекта ADO Recordset?

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

72. В чем состоит назначение метода Move объекта ADO Recordset?

перемещает позицию указателя записи вперед или назад на заданное число записей.

73. В чем состоит назначение метода MoveFirst объекта ADO Recordset?

делает первую запись в объекте RecordSet текущей записью

74. В чем состоит назначение метода MoveLast объекта ADO Recordset?

делает последнюю запись в объекте RecordSet текущей записью.

75. В чем состоит назначение метода MoveNext объекта ADO Recordset?

делает следующую запись в объекте RecordSet текущей записью.

76. В чем состоит назначение метода MovePrevious объекта ADO Recordset?

- делает предыдущую запись в объекте RecordSet текущей записью.

77. В чем состоит назначение метода AddNew объекта ADO Recordset?

создает новую пустую запись, готовую для заполнения значения полей.

78. В чем состоит назначение метода Update объекта ADO Recordset?

сохраняет любые изменения сделанные для текущей записи.

79. В чем состоит назначение метода Delete объекта ADO Recordset?

удаляет текущюю запись или группу записей.

80. В чем состоит назначение метода UpdateBatch объекта ADO Recordset?

записывает все отложенные модификации пакета на диск.

81. В чем состоит назначение метода CancelUpdate объекта ADO Recordset?

отменяет любые изменения, сделанные для текущей или для новой записи.

82. . В чем состоит назначение свойства ВОР объекта ADO Recordset?

указывает что позиция текущей записи находится перед первой записью.

83. В чем состоит назначение свойства CursorType объекта ADO Recordset?

– задает будетли набор записи после открытия отражать добавления, изменения и удаления сделанные другим пользователем.

84. В чем состоит назначение свойства EOF объекта ADO Recordset?

указывает что позиция текущей записи находится после последующей записи.

85. В чем состоит назначение свойства Filter объекта ADO Recordset?

избмрательно фильтрует записи в текущем объекте RecordSet.

86. В чем состоит назначение свойства LockType объекта ADO Recordset?

задает как БД будет блокировать записи (не допускать другим пользователям их изменять) в процессе модификации вашего кода.

87. Какой тип курсора соответствует данному описанию: «При открытии набора записей в ней не отражаются автоматически добавления, изменения или удаления, которые другие пользователи могли внести в источник данных»? – adOpenStatik.

88. Какой тип курсора соответствует данному описанию: «В наборе записей будут отражаться добавления, изменения и удаления, внесенные другими пользователями»? – adOpenDynamic.

89. Какой тип курсора соответствует данному описанию: «В наборе записей будут отражены изменения и удаления, внесенные другими пользователями, но не добавления»? – adOpenKeyset.

90. Какой тип курсора соответствует данному описанию: «Подобен статическому курсору, за исключением того, что здесь можно перемещается между записями только вперед»? -

 adOpenForWorldOnly.

91. Какой тип блокировки соответствует данному описанию: «Как только происходит редактирование записи в наборе, поставщик данных блокирует ее. Если запись уже используется, оператор VBScript осуществляющий редактирование, не будет выполнен»? – adLockPssimistic.

92. Какой тип блокировки соответствует данному описанию: «Вы не можете изменять данные»? – adLockRedOnly.

93. Какой тип блокировки соответствует данному описанию: «Поставщик данных не блокирует записи в источнике данных пока вы не вызовете в вашем коде метод набора записей Update. Если запись уже используется, оператор VBScript пытающийся осуществить модификацию не будет выполнен»? – adLockOptimistic.

94. Какой тип блокировки соответствует данному описанию: «ADO сохраняет все обновлений выполненное вами для набора записей, а затем применяет их, когда вы обращаетесь к метод BatchUpdate объекта Recordset»? - adLockBatchOptimistic.

95. Какая опция типа команда соответствует данному описанию: «Аргумент типа команды отсутствует»? – AdCmdUnspecified.

96. Какая опция типа команда соответствует данному описанию: «Поставщик данных будет воспринимать аргумент источник как текстовое определение команды»? – AdCmdText.

97. Какая опция типа команда соответствует данному описанию: «Поставщик данных будет воспринимать аргумент источник как имя таблицы»? – AdCmdTable.

98. Какая опция типа команда соответствует данному описанию: «Поставщик данных будет воспринимать аргумент источник как имя хранящейся в памяти процедуры »

- AdCmdStoredProc.

99. Какая опция типа команда соответствует данному описанию: «Тип команды в аргументе источник неизвестен»? – AdCmdUnknown.

100. Какую строку можно описать словами следующим образом: «Открыть объект типа набор записей rsMbrs. Получить результирующее множество путем предоставлении команды, текст которой содержится в переменной sql, поставщику Данных, на которого указывает объект типа Connection cnnl. Необходимо поддерживать перемещение в наборе записей только вперед без модификации данных»?

- открыть объект типа набора записей REUBRS, получить результирующее множество путем предоставления команды, текст которой создается в переменной sql, …

101. Какие действия приведут к фатальной ошибке (которая приводит к остановке выполнения вашего кода VBScript и отображает некое сообщение посетителю Web)?

  1.  использование метода MoveNext, если свойство EOF уже имеет значение True.
  2.  Использование метода MovePrevious, если свойство BOF уже имеент значение True.
  3.  Использование любого метода перемещения если набор записей пуст (иBOF и EOFtrue)

102. Какое специальное значение свойства ADO Recordset.Filter соответствует данному описанию: «Снимает текущий фильтр и восстанавливает для просмотра все записи»?adFilterNone.

103. Какое специальное значение свойства ADO Rccordset.Filter соответствует данному описанию: «Обеспечивает доступ только к тем записям, которые подверглись изменениям, но еще не были отправлены на сервер»? adFilterPendingRecords.

104. Какое специальное значение свойства ADO Recordset.Filter соответствует данному описанию: «Обеспечивает доступ только к записям, подвергнувшимся действиям последних команд Delete, Resync, UpdateBatch или CancelBatcli»? – adFilterAffectedRecords

105. Какое специальное значение свойства ADO Recordset.Filter соответствует данному описанию: «Обеспечивает доступ только к записям, хранящимся в текущей кэш-памяти: т.е. к рез-м последнего обращения к записям, извлеченным из базы данных»? adFilterFetchedRecords.

106. . Какое свойство поля ADO соответствует данному описанию: «Текущая длина поля в байтах»? – ActualSize.

107. Какое свойство поля ADO соответствует данному описанию: «Битовый массив в виде длинного целого числа, хранящий информацию о поле»? Altributes

?108. Какое свойство поля ADO соответствует данному описанию: «Максимальная длина поля в байтах»? – DefinedSize.

109. Какое свойство поля ADO соответствует данному описанию: «Имя поля, обычно определенное в базе данных или в операторе SQL»?Name.

110. Какое свойство поля ADO соответствует данному описанию: «Количество десятичных знаков, используемых для представления информации в базе данных (только для числовых значений)»?Numeric-Scale.

111. Какое свойство поля ADO соответствует данному описанию: «Значение, содержащееся в поле, когда вы в первый раз получаете запись (до того, как ваш код внес какие-либо изменения)»? Original Value.

112. Какое свойство поля ADO соответствует данному описанию: «Максимальное количество разрядов, используемых для представления значений»? – Precision.

113. Какое свойство поля ADO соответствует данному описанию: «Внутренний формат поля»?

Type

114. Какое свойство поля ADO соответствует данному описанию: «Текущее значение поля, хранящееся в базе данных. ADO обновляет это свойство при каждом обращении к базе данных»? – UnderlingValue.

115. Какое свойство поля ADO соответствует данному описанию: «Текущее значение поля, воспринимаемое или — модифицируемое вашим кодом»? - Value.

 

116. Методы объекта ADO Recordset

Категория Получение и освобождение результирующего множества Метод Описание

Open Получает результирующее множество от поставщика данных и разрешает доступ к нему.

Clone Создает дубликат объекта Recordset для существующего объекта.

Requery Обновляет данные в объекте Recordset путем повторного выполнения создавшего его запроса.

Resync Обновляет данные в объекте Recordset в соответствии с изменениями в базе данных.

Refresh Обновляет объекты в группе для указания объектов, полученных от поставщика данных и предназначенных для передачи ему.

NextRecordset Очищает объект Recordset, предписывает поставщику данных выполнить следующую команду в списке и делает результат доступным.

Close Закрывает открытый объект Recordset и все зависимые объекты. 

Категория Перемещение

Move Перемещает позицию указателя записи вперед или назад на заданное число записей.

MoveFirst Делает первую запись в объекте Recordset текущей записью. 

MoveLast Делает последнюю запись в объекте Recordset текущей записью.

MoveNext Делает следующую запись в объекте Recordset текущей записью.

MovePrevious Делает предыдущую запись в объекте Recordset текущей записью.

Find Делает запись, удовлетворяющую определенному условию, текущей записью.

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

Категория Модификация

AddNew Создает новую пустую запись, готовую для заполнения значений полей.

Update Сохраняет любые изменения, сделанные для текущей записи.

CancelUpdate Отменяет любые изменения, сделанные для текущей записи или для новой записи.

Delete Удаляет текущую запись или группу записей. 

Категория пакетная модификация

UpdateBatch Записывает все отложенные модификации пакета на диск

CancelBatch Отменяет отложенную модификацию пакета. 

Категория Смешанные операции

GetRows Извлекает несколько записей набора и помещает их в массив.

Supports Определяет, поддерживает ли указании объект Recordset определенный тип функциональной операции.

ConvertToString Преобразует набор записей в строку MIME которая представляет данные в наборе записей.

GetString Возвращает набор записей как строку. Ц

Save Сохраняет набор записей в файле или в объекте Stream. 

Табл. 4-2. Свойства объекта ADO Recordset

Свойство Описание

AbsolutePage Идентифицирует номер страницы, на которой расположена текущая запись. (См. также свойство PageSize)

AbsolutePosition Задает последовательную позицию текущей записи

ActiveCommand Указывает объект Command, который создал объект Recordset.

ActiveConnection Указывает объект Connection, ассоциируемый с объектом Recordset.

BOF Указывает, что позиция текущей записи находится перед первой записью.

Bookmark Возвращает значение, которое уникально идентифицирует текущую запись. Установка для этого свойства ранее сохраненного значения восстанавливает позиции соответствующей записи.

CacheSize Количество записей в объекте Recordset, которые локально размещены в памяти.

CursorLocation Устанавливает или возвращает местонахождение модуля управления курсором (cursor) у клиента или на сервере. Различные библиотеки курсора предоставляют различные возможности обработки набора записей.

CursorType Задает, будет ли набор записей после открытия отражать добавления, изменения и удаления, сделанные другими пользователями.

EditMode Указывает, происходят ли в данный момент изменения в текущей записи.

EOF Указывает, что позиция текущей записи находится после последней записи.

Filter Избирательно фильтрует записи в текущем объекте Recordset

Index Идентифицирует индекс, действующий на данный момент для объекта Recordset.

LockType Задает, как база данных будет блокировать записи (не допускать другим пользователям их изменять) в процессе модификации вашего кода.

MarshalOptions Задает, какие записи из клиентского набора записей будут отсылаться на сервер (только для службы удаленного доступа к данным Remote Data Service).

MaxRecords Ограничивает количество записей, которые возвращаются поставщиком из источника данных.

PageCount Количество страниц данных, имеющихся на данный момент в наборе записей.

PageSize Количество записей, содержащихся в одной странице в наборе записей.

RecordCount Указывает текущее количество записей в наборе.

Sort Указывает одно или несколько имен полей, по которым будет осуществляться сортировка набора записей, а также порядок сортировки (по возрастанию или по убыванию) для каждого поля.

Source Источник данных в объекте Recordset. Это может быть объект Command, оператор SQL, имя таблицы или сохраненное имя процедуры.

State Текущее состояние набора записей (открыт или закрыт).

Status Статус текущей записи по отношению к пакетной модификации или другим внешним операциям.

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


 

А также другие работы, которые могут Вас заинтересовать

77551. Теоретический анализ вопросов гражданско-правового регулирования арендных отношений 143.1 KB
  Договор аренды имеет широкое применение в предпринимательской и иных областях экономических отношений. Его хозяйственная цель выражается в том, что он дает возможность удовлетворять потребности лиц, которым по разным причинам необходимо временное пользование вещами...
77558. Розробка інформаційної системи для дослідження реосигналів на основі ортогонального базису ДЕФ і власних чисел з метою підвищення ефективності та інформативності імпедансної плетизмографії 1.34 MB
  Мета роботи: розробити інформаційну систему для дослідження реосигналів на основі ортогонального базису ДЕФ і власних чисел з метою підвищення ефективності та інформативності імпедансної плетизмографії.
77559. Градостроительный комплекс в Екатеринбурге в Границах улиц Челюскинцев -Шевченко - Еремина - Братьев Быковых 36.86 KB
  Основной идеей данного проекта было воплотить актуальные на сегодняшний день государственные программы по расширению территорий детских садов, и благоустройству дворовых пространств.