Диплом: Исследование и разработка информационной системы проведения и архивации тендеров на примере «Группы компаний ТехноПрогресс»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
25
намного легче, чем SOAP. Из-за этого приложениям не требуется большая
пропускная способность для использования веб-служб REST над SOAP.
Безопасность - еще одна серьезная проблема с веб-сервисами и SOAP.
REST хорош, когда работа с веб-сервисами открыта для общественности, но
если требуется безопасность, тогда SOAP API имеет необходимую реализацию
для того же самого.
REST имеет возможность иметь решение для кэширования, которое
поможет сохранить ответы, полученные с сервера. В таких случаях клиенту не
нужно делать тот же запрос на сервере и использовать кеш для получения
желаемого ответа.
Сравнение основных фрейморков для реализации веб-сервисов
представлена в таблице 1.1.
Таблица 1.1 - Сравнительная таблица основных фрейморков для
реализации веб-сервисов
Назван
ие
Плат
фор
ма
Модель
Спецификация
Протоколы
Apache
Axis
Java/
C++
Client/S
erver
WS-ReliableMessaging, WS-Coordination,
WS-Security, WS-AtomicTransaction, WS-
Addressing
SOAP, WSDL
Apache
Axis2
Java
Client/S
erver/
Asyn
Support
WS-ReliableMessaging, WS-Security, WS-
AtomicTransaction, WS-Addressing,
MTOM, WS-Policy, WS-
MetadataExchange
SOAP1.1, SOAP1.2,
MTOM, WSDL
2.0, WSDL, REST
Apache
CXF
Java
Client/S
erver/
Asyn
Support
WS-ReliableMessaging, WS-Security, WS-
Addressing, MTOM, WS-Policy, WS-
SecureConversation, WS-SecurityPolicy,
WS-Trust
SOAP1.1, SOAP1.2,
MTOM, WSDL
2.0, WSDL, REST
Skytell
s
Frame
work
PHP
Client/S
erver
An open source MVC - HMVC web
application framework
XML-
RPC REST, JSON
gSOAP
C
and
C++
Client/S
erver
Duplex/
Async
WS-Addressing, WS-Discovery, WS-
Policy, WS-ReliableMessaging, WS-
Security, WS-SecurityPolicy
SOAP1.1, SOAP1.2,
MTOM, WSDL
1.1, WSDL
2.0, REST, XML-
RPC, JSON, JSON-
RPC, XML
26
Java
Web
Service
s
Develo
pment
Pack /
GlassFi
sh
Java
Client/S
erver
WS-Addressing, WS-Security
SOAP, WSDL,
Jersey
Java
Client/S
erver
Project Jersey is the production-ready
reference implementation for the JAX-RS
specification by Oracle (Originally Sun)
REST
.NET
Frame
work
C#,
VB.
NET
Client/S
erver
WS-Addressing, WS-MetadataExchange,
WS-Security, WS-Policy, WS-
SecurityPolicy, WS-Trust, WS-
SecureConversation, WS-
ReliableMessaging, WS-Coordination, WS-
AtomicTransaction
SOAP, WSDL, MT
OM
Web
Service
s
Interop
erabilit
y
Techno
logy
Java
Client/S
erver
WS-Addressing, WS-ReliableMessaging,
WS-Coordination, WS-AtomicTransaction,
WS-Security, WS-Security Policy, WS-
Trust, WS-SecureConversation, WS-Policy,
WS-MetadataExchange
SOAP, WSDL, MT
OM, JSON, XML
Windo
ws
Comm
unicati
on
Founda
tion
.NET
Client/S
erver/As
yn
support
WS-Addressing, WS-MetadataExchange,
WS-Security, WS-Policy, WS-
SecurityPolicy, WS-Trust, WS-
SecureConversation, WS-
ReliableMessaging, WS-Coordination, WS-
AtomicTransaction,WS-Discovery
SOAP1.1, SOAP1.2,
WSDL, XML, JSO
N, REST, MTOM,
MSMQ, IPC, P2P, T
CP, UDP, WebSock
et, RabbitMQ
WSO2
WSF/P
HP
PHP
Client/S
erver
SOAP MTOM, WS-Addressing, WS-
Security, WS-SecurityPolicy, WS-Secure
Conversation, WS-ReliableMessaging
SOAP, WSDL
XFire b
ecame
Apache
CXF
Java
Client/S
erver
WS-Addressing, WS-Security
SOAP, WSDL
Yii
PHP
Client/S
erver
REST
Zend
Frame
work
PHP
Client/S
erver
SOAP, JSON, JSON
-RPC, REST, XML-
RPC
На основе сравнения, в качестве, фрейморка для реализации веб-сервиса
был выбран Windows Communication Foundation.
27
Windows Communication Foundation (WCF) - это платформа для создания
сервис-ориентированных приложений [15-17]. Используя WCF, можно
отправлять данные в виде асинхронных сообщений от одной конечной точки
службы к другой. Конечная точка службы может быть частью постоянно
доступной службы, размещаемой на IIS, или она может быть службой,
размещенной в приложении. Конечной точкой может быть клиентом службы,
которая запрашивает данные у конечной точки службы. Сообщения могут быть
простыми, как один символ или слово, отправленное как XML, или сложными,
как поток двоичных данных.
WCF включает в себя следующий набор функций [18].
Ориентация на обслуживание. Одним из последствий использования WS-
стандартов является то, что WCF позволяет создавать сервисно-
ориентированные приложения. Сервис-ориентированная архитектура (SOA) -
это дополнение к веб-службам для отправки и получения данных. У служб есть
общее преимущество быть слабосвязанным вместо жесткого кодирования из
одного приложения в другое. Слабосвязанная связь подразумевает, что любой
клиент, созданный на любой платформе, может подключаться к какой-либо
услуге, пока выполняются основные контракты.
Взаимодействие. WCF реализует современные отраслевые стандарты
взаимодействия Web-сервисов.
Несколько шаблонов сообщений. Обмен сообщениями осуществляется
по одному из нескольких шаблонов. Наиболее распространенной моделью
является шаблон запроса / ответа, где одна конечная точка запрашивает данные
от второй конечной точки. Вторая конечная точка отвечает. Существуют и
другие шаблоны, такие как одностороннее сообщение, в котором одна конечная
точка отправляет сообщение без какого-либо ожиданий ответа. Более сложной
моделью является модель дуплексного обмена, где две конечные точки
устанавливают соединение и отправляют данные туда и обратно, подобно
программе обмена мгновенными сообщениями.
28
Метаданные службы. WCF поддерживает публикацию метаданных
службы с использованием форматов, указанных в отраслевых стандартах, таких
как WSDL, XML Schema и WS-Policy. Эти метаданные могут использоваться
для автоматического создания и настройки клиентов для доступа к службам
WCF. Метаданные могут быть опубликованы по HTTP и HTTPS или с
использованием стандарта обмена метаданными веб-сервиса.
Контракты с данными. Контракт данных - это формальное соглашение
между службой и клиентом, которое абстрактно описывает данные для обмена.
Данные контракта могут быть явными или неявными. Простой тип, такой
как int, string и т.д., имеет неявный контракт данных. Пользовательский объект
является явным или сложным типом, для которого необходимо определить
контракт данных, используя атрибуты [DataContract] и [DataMember].
Контракт данных может быть определен следующим образом:
Он описывает внешний формат данных, передаваемых в и из
сервисных операций
Он определяет структуру и типы данных, которыми обмениваются
служебные сообщения.
Он отображает тип CLR в XML-схему и определяет, как типы
данных сериализуются и десериализуются.
Это система управления версиями, которая позволяет вам управлять
изменениями в структурированных данных.
Безопасность. Сообщения могут быть зашифрованы для обеспечения
конфиденциальности, и можно потребовать от пользователей аутентификации,
прежде чем им будет разрешено получать сообщения. Безопасность может быть
реализована с использованием хорошо известных стандартов, таких как SSL
или WS-SecureConversation.
Множественные транспорты и кодировки. Сообщения могут быть
отправлены по любому из нескольких встроенных транспортных протоколов и
кодировок. Наиболее распространенным протоколом и кодировкой является
29
отправка текстовых сообщений SOAP с использованием протокола HyperText
Transfer Protocol (HTTP) для использования во Всемирной паутине. В качестве
альтернативы, WCF позволяет отправлять сообщения через TCP, именованные
каналы или MSMQ. Эти сообщения могут быть закодированы как текст или с
использованием оптимизированного двоичного формата. Двоичные данные
могут быть отправлены эффективно, используя стандарт MTOM.
Надежные сообщения и сообщения в очереди. WCF поддерживает
надежный обмен сообщениями, используя надежные сеансы, реализованные
через WS-Reliable Messaging и используя MSMQ.
Durable Messages - это сообщение, которое никогда не теряется из-за
нарушения связи. Сообщения в шаблоне долговременных сообщений всегда
сохраняются в базе данных. Если происходит сбой, база данных позволяет
возобновить обмен сообщениями при восстановлении соединения. Также
можно создать долговременное сообщение, используя Windows Workflow
Foundation (WF).
Transactions. WCF также поддерживает транзакции с использованием
одной из трех моделей транзакций: WS-AtomicTtransactions, API-интерфейсов в
пространстве имен System.Transactions и координатора распределенных
транзакций Microsoft.
AJAX и REST Support. REST - пример развивающейся технологии Web
2.0. WCF можно настроить для обработки «простых» XML-данных, которые не
будут обернуты в SOAP-конверте. WCF также может быть расширен для
поддержки определенных XML-форматов, таких как ATOM (популярный
стандарт RSS) и даже не-XML-форматов, таких как JavaScript Object Notation
(JSON).
Расширяемость. Архитектура WCF имеет несколько точек расширения.
Если требуются дополнительные возможности, существует несколько точек
входа, которые позволяют настраивать поведение службы.
30
WCF с другими технологиями Microsoft WСF является гибкой
платформой. Из-за этой чрезвычайной гибкости, WCF также используется в
нескольких других продуктах Microsoft. Первой технологией, которая должна
быть связана с WCF, была Windows Workflow Foundation (WWF). Рабочие
процессы упрощают разработку приложений путем инкапсуляции шагов в
рабочий процесс как «действия». В первой версии Windows Workflow
Foundation разработчику приходилось создавать хост для рабочего процесса.
Следующая версия Windows Workflow Foundation была интегрирована с WCF.
Это позволило легко организовать любой рабочий процесс в службе WCF. Это
можно сделать, автоматически выбрав WF/WCF тип проекта в Visual Studio.
Microsoft BizTalk Server R2 также использует WCF в качестве
коммуникационной технологии. BizTalk предназначен для приема и
преобразования данных из одного стандартизованного формата в другой.
Сообщения должны доставляться в его центральное окно сообщений, где
сообщение может быть преобразовано с использованием либо строгого
сопоставления, либо с использованием одной из функций BizTalk, таких как
механизм. BizTalk теперь может использовать адаптер бизнес-класса (LOB) для
доставки сообщений в окно сообщений. Microsoft Silverlight - это платформа
для создания совместимых, насыщенных веб-приложений, которые позволяют
разработчикам создавать ресурсоемкие веб-сайты (например, потоковое видео).
Начиная с версии 2, Silverlight включил WCF в качестве коммуникационной
технологии для подключения приложений Silverlight к конечным точкам WCF.
Хостинговые функции сервера приложений Windows Server AppFabric
специально созданы для развертывания и управления приложениями,
использующими WCF для связи. Функции хостинга включают богатые
инструменты и параметры настройки, специально разработанные для
приложений с поддержкой WCF.
ASP.NET - это унифицированная модель веб-разработки, интегрированная
с платформой .NET, предназначенная для предоставления сервисов для
31
создания динамических веб-приложений и веб-сервисов. Он построен на
Common Language Runtime (CLR) платформы .NET и включает в себя такие
преимущества, как многоязыковая совместимость, безопасность типов, сборка
мусора и наследование. [19].
Марк Андерс и Скотт Гатри из Microsoft создали первую версию ASP.NET
в 1992 году [20]. Она была создана для облегчения разработки распределенных
приложений в структурированной и объектно-ориентированной манере путем
разделения представления и контента и, следовательно, написания чистого
кода. ASP.NET использует модель с выделенным кодом для создания
динамических страниц на основе архитектуры Model-View-Controller.
Преемником ASP.NET является Core ASP.NET. Это повторная реализация
ASP.NET как модульного веб-фреймворка вместе с другими платформами,
такими как Entity Framework. Новая инфраструктура использует новую
платформу для компиляторов .NET с открытым исходным кодом (кодовое имя
«Roslyn») и является кросс-платформенной. ASP.NET MVC, веб-интерфейс
ASP.NET и веб-страницы ASP.NET (платформа, использующая только
страницы Razor) объединены в единую MVC 6 [21].
ASP.NET работает с Internet Information Server (IIS) для доставки
содержимого в ответ на запросы клиентов. При обработке запросов ASP.NET
предоставляет доступ ко всем классам .NET, пользовательским компонентам и
базам данных, аналогично таковым для настольного приложения [22].
Веб-формы являются строительными блоками разработки приложений в
ASP.NET. Они обеспечивают большую гибкость, позволяя использовать
элементы управления на странице в качестве объектов. Эти элементы
управления могут обрабатывать такие события, как загрузка, щелчок и
изменение, аналогичные событиям в настольных приложениях. Помимо веб-
форм, ASP.NET можно использовать для создания веб-служб XML, которые
позволяют создавать модульные распределенные веб-приложения, написанные
32
на любом языке. Эти службы могут взаимодействовать на различных
платформах и устройствах [22].
Кроме того, ASP.NET реализует управление состоянием, отправляя
информацию (представление состояния), связанную с состоянием элементов
управления в веб-форме, на сервер в запросе обратной передачи [23]. Он
обеспечивает параллельное выполнение приложений нескольких
наименований, что позволяет устанавливать их в одной системе с разными
версиями .NET Framework. Кроме того, он использует поддержку XML для
хранения, настройки и обработки данных. Однако, когда речь идет о защите
своих приложений, ASP.NET использует функции безопасности доступа к коду
и безопасности на основе ролей .NET Framework и присущие IIS методы для
аутентификации учетных данных пользователя.
Модель кода ASP.NET [24, 25] знаменует отклонение от классического
ASP, поскольку она побуждает разработчиков создавать приложения с
разделением представления и содержания. Теоретически, это позволит веб-
дизайнеру, например, сосредоточиться на разметке проекта с меньшим
потенциалом для нарушения кода программирования, который его управляет.
Это похоже на разделение контроллера с представлением в рамках model-view-
controller (MVC) [26].
IIS - это программный пакет веб-сервера, разработанный для Windows
Server. Он используется для размещения веб-сайтов и другого контента в
Интернете.
Службы Microsoft Internet Information Services предоставляют
графический интерфейс пользователя (GUI) для управления веб-сайтами и
связанными пользователями. Он предоставляет визуальные средства для
создания, настройки и публикации сайтов в Интернете. Средство диспетчера
IIS позволяет веб-администраторам изменять параметры веб-сайта, такие как
страницы по умолчанию, страницы ошибок, параметры ведения журнала,
параметры безопасности и оптимизации производительности.
33
IIS может обслуживать как стандартные веб-страницы HTML, так и
динамические веб-страницы, такие как приложения ASP.NET и страницы PHP.
Когда посетитель получает доступ к странице на статическом веб-сайте, IIS
просто отправляет HTML-код и связанные изображения в браузер
пользователя. При обращении к странице на динамическом веб-сайте IIS
запускает любые приложения и обрабатывает любые сценарии, содержащиеся
на странице, а затем отправляет полученные данные в браузер пользователя.
Хотя IIS включает в себя все функции, необходимые для размещения веб-
сайта, он также поддерживает расширения (или «модули»), которые добавляют
дополнительные функции серверу. Например, расширение WinCache позволяет
PHP-сценариям работать быстрее, кэшируя PHP-процессы. Модуль URL
Rewrite позволяет веб-мастерам публиковать страницы с удобными URL-
адресами, которые посетителям легче набирать и запоминать. Потоковое
расширение может быть установлено для предоставления потокового
мультимедиа посетителям сайта.
IIS является популярным вариантом для коммерческих веб-сайтов,
поскольку он предлагает множество расширенных функций и поддерживается
Microsoft. Однако для этого также требуется коммерческая лицензия, а цены
увеличиваются в зависимости от количества пользователей. Поэтому Apache
HTTP Server, который является открытым исходным кодом и является
бесплатным для неограниченного числа пользователей, остается самым
популярным программным обеспечением веб-сервера.
Выводы по первой главе.
В первой главе проведен анализ теоретических основ проектирования и
разработке информационных систем для проведения тендерных закупок.
Проведен обзор существующих информационных систем по проведению
тендерных закупок, таких как:
«Единая информационная система в сфере закупок»
(http://zakupki.gov.ru/);
34
«Автоматизированная система торгов «Сбербанк-АСТ»
(http://www.sberbank-ast.ru/);
«Электронная торговая площадка ТЭК Торг» (http://rn.tektorg.ru/);
«В2В «Центр электронных торгов» (https://www.b2b-center.ru/).
Проведенный обзор позволил выявить недостатки существующих систем,
связанных с связанных с их громоздкостью и направленностью на работу с
закупщиком, а не поставщиком в процессе закупок.
Поэтому было принято решение о разработке собственной
информационной системы для проведения и архивации тендеров.
Обзор средств разработки веб-ориентированных системы позволил
выбрать в качестве архитектуры приложения трехуровневою архитектуру, а в
качестве фреймворка для разработки ASP.NET MVC. Для развертывания и
размещения разработанного веб-сервиса предлагается использование IIS.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран