Разработка облачного хранилища корпусов текстов в гетерогенных форматах и веб-сервисов для работы с хранилищем

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 21.08.2016
Размер файла 37,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Введение

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

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

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

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

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

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

1. Провести анализ систем и приложений для хранения корпусов текстов.

2. Выявить требования к данным, содержащимся в хранилище, и все прецеденты для работы с базой данных и BLOB хранилищем.

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

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

5. Реализовать реляционную базу данных, BLOB хранилище и веб-сервисы для работы с хранилищем.

1. Анализ существующих приложений и систем

Для сравнения хранилищ приложений и систем выделены следующие характеристики:

1. Предъявляют ограничение по памяти для хранения корпусов текстов.

2. Поддерживают различные типы форматов.

3. Предоставляют возможность сохранение полученных результатов.

4. Имеют встроенные корпуса текстов.

5. Являются общедоступными.

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

7. Имеют интерфейсы прикладного уровня.

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

1.1 Приложение «AntConc»

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

Приложение «AntConc» позволяет загружать тексты документов в различных форматах, таких как «txt», «html», «htm», «xml» и «ant». К сожалению, документы в других форматах программа прочитать не может, т.к. не имеет фильтров, которые позволяли бы ей преобразовывать один формат документа в другой формат. Приложение может работать с аннотированными документами в форматах «xml» и «html», однако при аннотировании таких файлов не существует возможности использовать внутренние теги или информацию, которая храниться в свойствах тегов, в данных случаях приложение просто читает текстовые данные, которые хранятся между тегами.

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

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

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

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

Вывод: приложение «AntConc» является хорошим настольным приложением для исследования небольших, узкоспециализированных корпусов текстов, к сожалению, такая программа не подходит для исследования больших корпусов текстов, которые включают в себя тысячи текстов.

1.2 Приложение «WordSmith Tools»

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

Приложение «WordSmith Tools» позволяет загружать тексты в формате «txt». Файлы в других форматах данный инструмент не может обрабатывать. Файлы предварительно необходимо сохранить на внешний или внутренний носитель, к сожалению, внешние или внутренние носители имеют предельный объем памяти. Приложение хранит загруженные файлы и результаты в оперативной памяти, что не является хорошим решением, т.к. оперативная память имеет лимитированный объем, следовательно, большие корпуса текстов не могут быть обработаны на стандартном персональном компьютере. Приложение не имеет встроенных корпусов текстов, над которыми можно было бы поработать лингвисту, чтобы потренировать и изучить весь возможный функционал.

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

Вывод: приложение «WordSmith Tools» является хорошим настольным приложением для исследования небольших, узкоспециализированных корпусов текстов, к сожалению, такая программа не подходит для исследования больших корпусов текстов, которые включают в себя тысячи текстов.

1.3 Система «Sketch Engine»

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

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

Система содержит 292 готовых текстовых корпусов, которые пользователь может использовать для своих исследований. Если рассматривать количество корпусов по языкам, то всего используется 70 языков. Если посчитать количество слов во всех корпусах, то получим 240 279 265 530 слов. Наибольшим из них является корпус английского языка «enTenTen», который состоит из 19 717 205 676 слов и 22 878 431 750 токенов, самым маленьким является корпус африканского языка «CHILDES Afrikaans Corpus», который содержит 26 020 слов и 33 134 токенов. Некоторая часть корпусов является закрытой и доступной только для тех, кто оплатил полную подписку.

Данная система позволяет загрузить собственный корпус текстов в различных форматах: «doc», «docx», «htm», «html», «pdf», «ps», «tar.bz2», «tar.gz», «tgz», «tmx», «txt», «vert», «xml», «zip». Бесплатно ресурс позволяет создать корпус текстов с миллионом слов, что примерно равно 50 Мб. После того, как файлы были загружены, корпус необходимо откомпилировать: создать схемы слов, словарь для слов, выделить термины, выделить память для хранения данных, очистить предыдущее хранилище. К счастью, данные действия система производит автоматически, а пользователь видит только процентную шкалу, на которой отображается каждый из процессов.

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

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

1.4 Система «CQPweb»

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

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

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

1.5 Итоги сравнения

Итоги сравнения хранилищ приложений и систем представлены в таблице 1.1.

Таблица 1.1. Приложения/системы для хранения корпусов текстов

Характеристика

Приложение «AntConc»

Приложение «WordSmith Tools»

Система «Sketch Engine»

Система «CQPweb»

Предъявляют ограничение по памяти для хранения корпусов текстов.

Нет, определяется оперативной памятью компьютера.

Нет, определяется оперативной памятью компьютера.

Да, 1 000 000 слов примерно 50 Мбайт.

Нет, т.к. не существует возможности создавать собственное хранилище.

Поддерживают различные типы форматов.

Нет, только txt, html, htm, xml и ant.

Нет, только txt.

Нет, только doc, docx, htm, thml, pdf, ps, tar.bz2, tar.gz, tgz, tmx, txt, vert, xml, zip.

Нет, т.к. не существует возможности создавать собственное хранилище.

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

Да, пользователь может сохранить результаты в формате txt.

Да, пользователь может сохранить результаты в формате txt, xml.

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

Да, система позволяет сохранять полученный результат на компьютер пользователя в формате txt.

Имеют встроенные корпуса текстов.

Нет.

Нет.

Да, Система хранит 292 готовых текстовых корпусов.

Да, Система хранит 45 текстовых корпусов.

Являются общедоступными.

Да.

Нет.

Частично, система ограничивает доступ к некоторым текстовым корпусам.

Частично, система ограничивает доступ к некоторым текстовым корпусам.

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

Нет, данная возможность не предусмотрена приложением.

Нет, данная возможность не предусмотрена приложением.

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

Да, пользователь имеет ограниченный доступ к другим текстовым корпусам.

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

Нет.

Нет.

Нет.

Нет.

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

Нет.

Нет.

Нет.

Нет.

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

2. Выявление требований к данным хранилища и прецедентов для работы с хранилищем

2.1 Выявление требований к данным хранилища

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

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

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

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

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

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

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

2.2 Выявление прецедентов для работы с базой данных

Все необходимые прецеденты для работы с базой данных представлены в таблице 2.1.

Таблица 2.1. Прецеденты для работы с базой данных

Название

Актор

Описание

Получить шаблон

Пользователь

Пользователь получает метаданные шаблона.

Получить аннотацию

Получение метаданных аннотации.

Получить текстовый файл

Пользователь

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

Получить текстовый корпус

Пользователь

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

Поделиться шаблоном

Пользователь

Пользователь предоставляет другому пользователю возможность использовать выбранный шаблон.

Поделиться аннотацией

Предоставление другому пользователю возможности использовать выбранную аннотацию.

Поделиться текстовым файлом

Пользователь

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

Поделиться текстовым корпусом

Пользователь

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

Создать текстовый корпус

Пользователь

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

Установить атрибуты текстовому корпусу

Пользователь

Пользователь устанавливает атрибуты текстовому корпусу. Если атрибуты уже были установлены, то они стираются.

Создать текстовый файл

Пользователь

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

Установить атрибуты текстовому файлу

Пользователь

Пользователь устанавливает атрибуты текстовому файлу. Если атрибуты уже были установлены, то они стираются.

Добавить аннотацию текстовому файлу

Пользователь

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

Установить атрибуты аннотации

Пользователь

Пользователь устанавливает атрибуты аннотации. Если атрибуты уже были установлены, то они стираются.

Добавить текстовый файл в текстовый корпус

Пользователь

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

Обновить текстовый корпус

Пользователь

Пользователь обновляет значение внутренних полей текстового корпуса.

Обновить текстовый файл

Пользователь

Пользователь обновляет значение внутренних полей текстового файла.

Обновить аннотацию

Пользователь

Пользователь обновляет значение внутренних полей аннотации.

Обновить шаблон

Пользователь

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

Удалить текстовый файл из текстового корпуса

Пользователь

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

Удалить текстовый корпус

Пользователь

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

Удалить аннотацию

Пользователь

Пользователь удаляет метаданные и данные аннотации.

Удалить текстовый файл

Пользователь

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

Удалить доступ пользователя к шаблону

Пользователь

Пользователь удаляет доступ конкретного пользователя к шаблону.

Удалить шаблон

Пользователь

Пользователь удаляет шаблон, но шаблон не будет удален, если он уже используется при аннотировании текстов.

Создать шаблон

Пользователь

Пользователь создает шаблон.

Удалить доступ пользователя к текстовому корпусу

Пользователь

Пользователь удаляет доступ конкретного пользователя к текстовому корпусу.

Удалить доступ пользователя к аннотации

Удаляется доступ конкретного пользователя к аннотации.

Удалить доступ пользователя к текстовому файлу

Пользователь

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

2.3 Выявление прецедентов для работы с BLOB хранилищем

Все необходимые прецеденты для работы с BLOB хранилищем представлены в таблице 2.2.

Таблица 2.2. Прецеденты для работы с BLOB хранилищем

Название

Актор

Описание

Очистить все контейнеры

Пользователь

Пользователь удаляет все файлы из всех контейнеров.

Создать и вернуть контейнер для аннотаций

Создается и возвращается контейнер для аннотаций.

Создать контейнер для аннотаций

Пользователь

Пользователь создает контейнер для аннотаций.

Создать и вернуть контейнер для текстовых файлов без форматирования

Создается и возвращается контейнер для текстовых файлов без форматирования.

Создать контейнер для текстовых файлов без форматирования

Пользователь

Пользователь создает контейнер для текстовых файлов без форматирования.

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

Создается и возвращается контейнер для текстовых файлов.

Создать контейнер для текстовых файлов

Пользователь

Пользователь создает контейнер для текстовых файлов.

Вернуть контейнер для текстовых файлов

Возвращается контейнер для текстовых файлов.

Вернуть контейнер для текстовых файлов без форматирования

Возвращается контейнер для текстовых файлов без форматирования.

Вернуть контейнер для аннотаций

Возвращается контейнер для аннотаций.

Отправить аннотацию

Пользователь

Пользователь отправляет файл аннотации в контейнер.

Скачать аннотацию

Пользователь

Пользователь загружает файл аннотации из контейнера.

Удалить аннотацию

Пользователь

Пользователь удаляет аннотацию из контейнера.

Отправить текстовый файл без форматирования

Пользователь

Пользователь отправляет текстовый файл без форматирования в контейнер.

Скачать текстовый файл без форматирования

Пользователь

Пользователь загружает текстовый файл без форматирования из контейнера.

Удалить текстовый файл

Пользователь

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

Отправить текстовый файл

Пользователь

Пользователь отправляет текстовый файл в контейнер.

Скачать текстовый файл

Пользователь

Пользователь загружает текстовый файл из контейнера.

При составлении требований к данным хранилища выявлены сущности, их внутренние свойства, связи между ними, а также были выявлены основные функции для работы с базой данных и BLOB хранилищем.

3. Выбор программной и облачной платформы

3.1 Выбор программной платформы

Для реализации веб-сервисов и их компонентов были рассмотрены существующие программные платформы. Были выделены следующие характеристики для сравнения платформ:

1. Поддерживаемые языки программирования.

2. Среда выполнения.

3. Доступные объектно-реляционные отображения.

4. Механизмы подключение к реляционным базам данных.

5. Каркас веб-приложений.

6. Реализация освобождения памяти.

7. Внутренние компоненты.

8. Клиентские компоненты.

9. Поддержка XML.

10. Служба сообщений для межпроцессорной коммуникации.

11. Серверы для развертывания веб-приложений.

12. Веб-сервисы.

13. Пользовательский интерфейс.

14. Реализация Remoting.

15. Модульное тестирование.

16. Асинхронные вызовы.

Платформа «.NET Framework».

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

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

Платформа «Java»

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

Итоги сравнения подведены в таблице 3.1. Благодаря полученным сравнениям решено использовать платформу «.NET Framework», т.к. данная платформа имеет большее количество преимуществ.

аннотация текстовый программный процессор

Таблица 3.1. Программные платформы

Характеристика

.NET Framework

Java

Поддерживаемые языки программирования

C#, VB.NET, C++.NET, Scala, F# и другие.

Java, Scala, Groovy, и другие.

Среда выполнения

CLR

JVM

Доступные объектно-реляционные отображения

Entity Framework, NHibernate

Hibernate

Механизмы подключение к реляционным базам данных

ADO.NET

JDBC

Каркас веб-приложений

ASP.NET MVC, Spring.NET

Spring

Реализация освобождения памяти

Автоматическая

Автоматическая

Внутренние компоненты

.NET, COM

EJBs

Клиентские компоненты

.NET классы

Компоненты Java (JavaBeans)

Поддержка XML

System.XML

JAXP

Служба сообщений для межпроцессорной коммуникации

MSMQ

JMS

Серверы для развертывания веб-приложений

IIS

От различных поставщиков

Веб-сервисы

WCF/Asmx, ASP.NET

JAX-WS/Axis, JSF

Пользовательский интерфейс

Windows Forms, WPF

AWT/Swing

Remoting

SOAP, HTTP, DCOM

RMI

Модульное тестирование

Microsoft Unit Testing Framework, NUnit

JUnit

Асинхронные вызовы

COM+QC

EJB Message Beans

Выбор облачной платформы.

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

1. Вычислительные мощности виртуальных машин:

1.1. Память хранилища (ГБ).

1.2. Память оперативная (ГБ).

1.3. Процессоры (количество).

1.4. Операционные системы.

2. Хранилище данных:

2.1. BLOB хранилище.

2.2. Табличное хранилище.

2.3. Реляционное хранилище.

3. Разработка решений:

3.1. Портал разработчика.

3.2. Eclipse Tools.

3.3. Visual Studio Tools.

3.4. Java SDK.

3.5. Мобильное SDK.

3.6. PHP SDK.

3.7. Python SDK.

3.8. Ruby SDK.

3.9. .NET SDK.

4. Мониторинг.

5. Ценообразование.

6. Пробное использование.

Платформа «Amazon EC2».

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

Платформа «Google App Engine».

Платформа «Google App Engine» - это сервис хостинга сайтов и web-приложений на серверах «Google». Приложения, разворачиваемые на базе «Google App Engine», должны быть написаны на программных языках: «Python», «Java», «Go» или «PHP». Среда исполнения «Python» включает в себя полную реализацию возможностей самого языка «Python», большинство функций стандартной библиотеки языка, ограниченную версию «Django», и т.д.

Платформа «Microsoft Azure».

Платформа «Microsoft Azure» разработана для обработки самых различных рабочих нагрузок, от небольших проектов по разработке и тестированию до запуска глобальных продуктов. В основе работы платформы «Microsoft Azure» лежит запуск виртуальной машины для каждого экземпляра приложения. Разработчик определяет необходимый объём для хранения данных и требуемые вычислительные мощности (количество виртуальных машин), после чего платформа предоставляет соответствующие ресурсы.

Итоги сравнения подведены в таблице 3.2. Благодаря полученным сравнениям решено использовать платформу «Microsoft Azure».

Таблица 3.2. Облачные платформы

Характеристика

Amazon EC2

Google App Engine

Microsoft Azure

Память хранилища (ГБ)

4 до 48 000.

Нет ограничений.

4 до 64 000.

Память оперативная (ГБ)

1 - 244.

3,75 - 208.

0,768 - 448.

Процессоры (количество)

1 - 40.

1 - 32.

1 - 32.

Операционные системы

Linux(CentOS, Debian, SUSE и т.д.), Windows Server.

Linux(CentOS, Debian, SUSE и т.д.) Windows Server.

Linux (CoreOS, CentOS, SUSE, ORACLE), Windows Server.

Реляционное хранилище.

Максимальный размер 64 ТБ.

Максимальный размер 500 ГБ.

Максимальный размер 500 ГБ.

BLOB.

Не могут превышать 5 Тб. Ограничений на общий объем данных и количество объектов нет.

Максимальный размер объекта составляет 2 ГБ, но каждый вызов API может обрабатывать только максимум 1 МБ.

Блочный BLOB не превышает 200 ГБ. Страничный BLOB не превышает 1 ТБ. Одна учетная запись может содержать до 500 ТБ.

Табличное хранилище.

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

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

Запись может иметь до 255 полей и не может превышать 1 Мб размере. Размер объектов в одном аккаунте не может превышать 500 Тб.

Портал разработчика

Да.

Да.

Да.

Eclipse Tools

Да.

Да.

Да.

Visual Studio Tools

Да.

Да, но только Python.

Да.

Java SDK

Да.

Да.

Да.

Мобильное SDK

iOS, Android, Fire OS.

iOS, Android.

iOS, Android, Windows Phone.

PHP SDK

Да.

Да.

Да.

Python SDK

Да.

Да.

Да.

Ruby SDK

Да.

Нет.

Да.

.NET SDK

Да.

Нет.

Да.

Мониторинг состояния сервисов

Amazon CloudWatch.

Диагностическое API.

Диагностическое API.

Ценообразование

Плата производиться по факту использования.

Плата производиться по факту использования.

Плата производиться по факту использования.

Пробное использование

12 месяцев, 750 часов/месяц на виртуальную машину, BLOB хранилище на 5 Гб, 20000 запросов на получение и 2000 на отправку. База данных NoSQL размером 25 Гб и 200 миллионов запросов в месяц.

Дается 300 долларов на любые службы Google app engine в течение 60 дней.

Дается 10 000 рублей на любых служб Azure в течение 30 дней. По программе «BizSpark» можно получить 750 $ на 5 разработчиков в течение 3 лет. А также необходимо программное обеспечение от компании «Microsoft».

При сравнении существующих программных платформ была выбрана платформа «.NET Framework». Данная платформа предоставляет большое количество преимуществ при реализации веб-сервисов. При анализе существующих облачных платформ выявлено, что на данный момент облачная платформа «Microsoft Azure» предоставляет разработчикам больше возможностей при разработке облачных решений, бесплатное программное обеспечение фирмы «Microsoft».

4. Программная реализация работы

4.1 Реализация архитектуры приложения

Для реализации данного хранилища и работы с ним выбрана «Луковая» архитектура (Onion architecture).

Данная архитектура содержит следующие элементы:

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

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

Фабрика репозиториев, данная фабрика вызывает репозиторий, в котором хранятся данные, а также конкретную структуру базы данных. Т.е. если вы изначально использовали базу данных, которая реализована на платформе «Oracle», а потом реализовали базу данных на платформе «MS SQL Server», то вам необходимо будет только переписать методы, которые работают с базой данных, но не их сигнатуру.

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

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

Репозитории для работы с базой данных, данная часть отвечает за то, как реализованы интерфейсы, т.е. как в реальности происходит работа с базой данных.

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

Хранилище больших двоичных объектов, которое расположено на облачной платформе «Microsoft Azure».

Реляционная база данных, которая расположена на облачной платформе «Microsoft Azure».

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

Клиенты, которые работаю с веб-приложением.

Реализация объектно-ориентированной модели

На основе выявленных требований к структуре хранилища реализована следующая модель классов (см. Приложение Г). Как мы видим, класс «User» имеет ссылки на класс: «TextCorpus», «TextCorpusFile», «Annotation» и «Template» с определенными свойствами: «AccessType» и «UserType». Тип данных «AccessType» и «UserType» являются перечислениями. Перечисление «AccessType» может принимать значения: «Read», «Write», «ReadWrite». Перечисление «UserType» может принимать значения: «Guest» и «Owner».

Основываясь на работах С. Амер-Яхиа, М. Фернандез и других для создания динамически дополняемых атрибутов использовалась структура дерева, которое ссылается само на себя.

Каждый элемент «TreeElement» содержит:

Поле «Child», которое хранит ссылку на вложенный элемент дерева.

Поле «Next», которое хранит ссылку на следующий элемент дерева.

Поле «Value» хранит значение элемента дерева.

Поле «Attribute», которое ссылается на класс «AttributeName».

«AttributeName» хранит поле «Name» и может быть использован несколько раз при формировании элементов дерева или при формировании других деревьев. Данная структура использована для динамического добавления данных в «TextCorpus», «TextCorpusFile» и «Annotation».

Класс «TextCorpus» может содержать в себе несколько ссылок на классы «TextCorpusFile», но и каждый экземпляр класса «TextCorpusFile» может находиться в нескольких классах «TextCorpus», поэтому между ними стоит связь «ассоциация». Каждый «TextCorpusFile» может иметь несколько «Annotation», однако ни один класс «Annotation» не может быть построена без использования класса «TextCorpusFile», поэтому между ними стоит связь «композиция». Каждый класс «Annotation» должен быть построен с использованием нескольких классов «Template» или ни одного, тогда мы получим не маркированный текст, также мы можем добавлять и удалять из класса «Annotation» ссылки на класс «Template».

Класс «User», «TextCorpus», «TextCorpusFile», «Annotation» и «Template» наследуются от одного общего класса «EntityModel», который имеет только поле «Id», это сделано для того, чтобы обеспечить взаимодействие с базой данных.

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

Реализация структуры базы данных.

На основе реализованной модели классов была построена реляционная база данных. Все таблицы, кроме связующих таблиц («TextCorpus_User», «TextCorpusFile_User», «Annotation_User», «Template_User», «Annotation_Template» и «TextCorpus_File») имеют уникальный первичный ключ «Id». В реляционной базе данных отсутствуют связи «многие ко многим» и для их моделирования пришлось реализовывать связующие таблицы. Некоторые из связующих таблиц, такие как «TextCorpus_User», «TextCorpusFile_User», «Annotation_User», «Template_User» имеют дополнительные поля: «AccessType» и «UserType».

В базе данных было решено, не создавать отдельных таблиц для перечислений «AccessType» и «UserType», которые были созданы в диаграмме классов, поэтому они хранятся как строки.

Каждый элемент «TreeElement» содержит:

Поле «Id», которое хранит уникальный номер идентификатора.

Поле «ChildId», которое хранит номер на вложенный элемент дерева.

Поле «NextId», которое хранит номер на следующий элемент дерева.

Поле «Value», которое хранит значение элемента дерева.

Поле «AttributeId», которое ссылается на столбец «Id» таблицы «AttributeName».

«AttributeName» хранит поле «Name» и «Id», которое является уникальным идентификатором и может быть использован несколько раз при формировании элементов дерева или при формировании других деревьев. Данная структура была использована для динамического добавления данных в таблицах «TextCorpus», «TextCorpusFile» и «Annotation».

Реализация структуры BLOB хранилища.

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

Структура BLOB хранилища.

Учетная запись должна хранить три контейнера «files», «plainfiles» «annotations». Контейнер «files» хранит текстовые файлы, где имя текстового файла формируется из уникального номера, который сохранен в базе данных, расширение также берется из базы данных. Контейнер «plainfiles» хранит текст без форматирования, где имя текста без форматирования формируется из уникального номера, который сохранен в базе данных, расширение также берется из базы данных. Контейнер «annotations» хранит аннотации, где имя аннотации формируется из уникального номера, который сохранен в базе данных, расширение также берется из базы данных.

Количество строк кода полученного решения.

Количество строк полученного решения, включая библиотеки, веб-приложение, в котором находятся реализованные веб-сервисы, автоматическое тестирование и консольное приложение для исследовательского тестирования, составляет 5188. Если посчитать без учета автоматического тестирования, консольного приложения для исследовательского тестирования, то получиться 3897 строк кода.

Размещение базы данных, BLOB хранилища и веб-приложения на облачной платформе.

После того как веб-сервисы были реализованы согласно диаграммам представленным в третьей главе, на облачной платформе «Microsoft Azure» были размещены: экземпляр сервера «MS SQL Server», экземпляр BLOB хранилища и веб-приложение, которое содержит все веб-сервисы, для работы с базой данных и BLOB хранилищем.

Экземпляр сервера «MS SQL Server» был создан на сайте платформы «Microsoft Azure». С использованием программного обеспечения «Microsoft SQL Server Management Studio» выполнено подключение к экземпляру сервера, который расположен на облачной платформе и написан запрос, который создает базу данных..

Выполнение запроса

Экземпляр BLOB хранилища был создан на сайте платформы «Microsoft Azure», все необходимые контейнеры были созданы также на данном сайте.

Создание контейнеров.

При помощи программного обеспечения «Microsoft Visual Studio 2013» веб-приложение было опубликовано на платформу «Microsoft Azure».

Для использования веб-служб в своем приложении необходимо добавить ссылку (http://textcorpuswebservice20160408093307.azurewebsites.net/UserService.svc?wsdl).

Для программной реализации была выбрана «Луковая» архитектура, которая позволяет не зависеть от определенной реализации базы данных, и разрешает заменить базу данных на другую, если в этом возникнет необходимость, а также создана объектно-ориентированная модель, которая является ядром данной архитектуры. На основе созданной объектно-ориентированной модели была реализована реляционная база данных и BLOB хранилище. Далее реляционная база данных, BLOB хранилище и веб-приложение были размещены на облачной платформе «Microsoft Azure». Было высчитано количество строк кода реализованного решения для того чтобы иметь общие представления о проделанной работе.

Заключение

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

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

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

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

При сравнении существующих программных платформ была выбрана программная платформа «.NET Framework». Данная платформа предоставляет большое количество преимуществ для реализации веб-сервисов. При анализе существующих облачных платформ выявлено, что на данный момент облачная платформа «Microsoft Azure» предоставляет разработчикам больше возможностей при разработке облачных решений, бесплатное программное обеспечение фирмы «Microsoft» и начинающим командам разработчиков (не более пяти человек) 750$ каждый месяц на использование сервисов платформы в течение трех лет.

Для программной реализации была выбрана «Луковая» архитектура, которая позволяет не зависеть от определенной реализации базы данных, и разрешает заменить базу данных на другую, если в этом возникнет необходимость, а также создана объектно-ориентированная модель, которая является ядром данной архитектуры. На основе созданной объектно-ориентированной модели была реализована реляционная база данных и BLOB хранилище. Далее реляционная база данных, BLOB хранилище и веб-приложение были размещены на облачной платформе «Microsoft Azure». Было высчитано количество строк кода реализованного решения для того чтобы иметь общие представления о проделанной работе.

Данная работа прошла апробацию на всероссийской научно-практической конференции молодых учёных с международным участием «Математика и междисциплинарные исследования - 2016» (ПГНИУ, г. Пермь); результаты исследования представлены в виде тезисов и включены в сборник трудов конференции.

Литература

1. McEnery T., Daille B. Database Design for Corpus Storage: The ET10-63 Data Model. Lancaster: UCREL Technical Papers, 1993. P. 1-11.

2. Stuart D., Aitken B., Abbott D. Content Models for Enhancement and Sustainability: Creating a Generic Framework for Digital Resources in the Arts and Humanities in Metadata and Semantic Research. German: Springer Berlin Heidelberg, 2011. P. 234-244.

3. Захаров В.П., Богданова С.Ю. Корпусная лингвистика: учебник для студентов гуманитарных вузов. Иркутск: ИГЛУ, 2011. 161с.

4. Кустова Г.И., Ляшевская О.Н., Падучева Е.В. Национальный корпус русского языка как инструмент семантико-грамматического исследования лексики // Международная конференция «Корпусная лингвистика - 2004». Тезисы докладов. СПб: СПбГУ, 2004. С. 7-26.

5. Соснина Е.П. Введение в прикладную лингвистику: учебное пособие. Ульяновск: УГТУ, 2012. 110с.

6. Захаров В. П. Корпусная лингвистика: учебно-методическое пособие. СПб.: СПбГУ, 2005. 48с.

7. Amer-Yahia S., Fernandez M., Greer R. Logical and Physical Support for Heterogeneous Data. VA: ACM Press, 2002. P. 270-281.

8. Resende L., Feng R. Handling heterogeneous data sources in a SOA environment with service data objects. NY: ACM Press, 2007. P. 895-897.

Размещено на Allbest.ru

...

Подобные документы

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

    дипломная работа [2,0 M], добавлен 21.09.2016

  • Анализ облачных сервисов для автоматизации бизнеса и обоснование преимуществ перехода на облачную обработку данных. Виды и модели облачных сервисов для бизнеса, принципы их работы и характеристики. Задачи автоматизации бизнеса на примере облачных решений.

    дипломная работа [2,3 M], добавлен 06.09.2017

  • Идеи по использованию сервисов поисковой системы Google для совместной работы с учащимися в блоге "Учимся с Google". Организация коллективной деятельности с помощью сервисов Google. Характеристика функций основных сервисов, их достоинства и недостатки.

    реферат [24,5 K], добавлен 27.11.2012

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

    курсовая работа [46,1 K], добавлен 03.07.2009

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

    курсовая работа [2,7 M], добавлен 10.05.2015

  • Назначение сервисов Web 2.0. Технологии конвертирования, создания мультфильмов, работы с музыкой, виртуальной клавиатурой и скринкастами. Принцип использования онлаин редактора музыки на примере обрезчика или нарезчика. Алгоритм работы с приложением.

    курсовая работа [881,5 K], добавлен 02.11.2015

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

    дипломная работа [750,8 K], добавлен 10.07.2017

  • Работа с текстовым процессором Word и табличным процессором Excel. Возможности создания шаблонов средствами Microsoft Office 97. Создание расчетов, построение диаграмм, списков и простых баз данных. Оформление листа презентации с помощью PowerPoint.

    отчет по практике [1,7 M], добавлен 06.09.2014

  • Исследование организационно-управленческой структурной схемы СевКавГТУ. Пути реализации интерактивных сервисов доступа к телефонному справочнику учреждения. Выбор среды разработки Eclipse, СУБД и языка программирования Python для разработки базы данных.

    дипломная работа [6,5 M], добавлен 29.06.2011

  • Преимущества и недостатки облачного хранилища данных. Установление приложения на компьютер, устройство Android, iOS. Создание аккаунта. Начало работы с Google диском. Способы загрузки файлов на него. Предоставление доступа к файлам другим пользователям.

    курсовая работа [1,3 M], добавлен 31.05.2016

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

    курсовая работа [1019,0 K], добавлен 16.05.2017

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

    дипломная работа [596,0 K], добавлен 22.08.2017

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

    дипломная работа [4,5 M], добавлен 24.09.2012

  • Программа для работы с однотабличной ненормализованной базой данных. Цель программы: обеспечение инструментарием для работы с базой данных различных школьных соревнований. Работа с базой данных на физическом и логическом уровнях. Элементы языка.

    курсовая работа [114,3 K], добавлен 02.03.2009

  • Мониторинг сервисов веб-приложения. Проблема отслеживания большого количества сервисов, поддерживающих работу веб-приложения, ее решение с помощью "Service discovery"-инструментов. Применение программного инструмента Consul как клиент-серверной системы.

    статья [184,4 K], добавлен 10.12.2016

  • Предпосылки появления облачных технологий. Сущность понятия "облачное хранилище данных", главные преимущества и недостатки. Главное достоинство Google. SugarSync: понятие, синхронизация любых папок на диске. Сравнительный анализ общедоступных сервисов.

    курсовая работа [250,8 K], добавлен 31.03.2014

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

    курсовая работа [2,0 M], добавлен 24.02.2012

  • Разработка программных продуктов на языке программирования Borland Delphi. Применяемые таблицы и связи между ними. Пользовательский интерфейс работы с базой данных. Алгоритм работы программы "Футбольные команды и игроки". Защита от ввода неверных данных.

    курсовая работа [788,1 K], добавлен 22.06.2011

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

    контрольная работа [125,3 K], добавлен 08.06.2011

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

    контрольная работа [26,1 K], добавлен 28.10.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.