Интеграция
программных систем с Интернет на
примере реального проекта
Сергей
Трофимов
|
12.01.2007 |
Интернет и бизнес
В настоящее время информационные технологии стали неотъемлемой частью жизни бизнес-сообщества. Практически любая, даже небольшая компания из нескольких человек, может похвастаться зарегистрированным доменным именем и собственным сайтом. У кого-то это одна-две страницы с описанием предлагаемых товаров, у кого-то – это целый портал, включающий Интернет-магазин. Сотрудники используют в своей работе программы внутренней автоматизации для учета заказов, клиентов, финансовых показателей и бухгалтерского учета. Это могут быть относительно небольшие приложения, созданные собственным программистом, или же крупные ERP-системы разработанные известными IT фирмами. Но большинство этих систем, несмотря на их функциональное наполнение, объединяет одно – они предоставляют информацию пользователям внутренней сети и только. Конечно, можно экспортировать отчет во внешний файл, а затем послать по электронной почте, но увидеть реальные данные на сайте…
До определенного момента эти вещи были независимы, и всех это устраивало. Есть сайт – замечательно, есть внутренняя система автоматизации бизнес-процессов – тоже неплохо. Но вот руководители стали задумываться о том, что их значительная часть времени его сотрудников уходит на предоставление интересующей клиентов информации. По телефону приходится отвечать на стандартные вопросы: «Есть ли определенная номенклатура на складе?», «Принят ли мой заказ, который я отправил через Интернет?», «Где сейчас находится заказанный мной товар: проходит ли таможенное оформление или его уже можно забрать со склада?». Эта информация есть во внутренней системе, но клиент чаще всего не может ее получить иначе, как задать вопрос оператору по телефону.
Интернет-сайт как нельзя лучше подходит для выполнения этой задачи. «Так в чем проблема?» – спросите вы, создаете Интернет-приложение, подключаете его к корпоративному сайту и вперед. Заносите туда номера заказов и другую необходимую для клиентов информацию. В настоящее время Интернет-провайдеры позволяют размещать на своих серверах приложения с использованием различных СУБД таких как
MySql, PostgreeSQL, MS Access или же MS SQL Server. Но не все так просто.
Программное обеспечение
Так уж повелось, что системы автоматизации предприятий и сайты предприятий изначально были слабо связаны друг с другом. Порой, разработка интернет-ресурса сводится к созданию запоминающегося дизайна, который накладывается на стандартную для всех web-решений структуру базы данных, новости, статьи, описание товаров, прайс-листы и формы заказов. Последнее время эта функциональность облачена в форму интернет-магазина, где клиент может сделать заказ сразу нескольких единиц товара, выбрав их из виртуального каталога. По большому счету, этим и ограничивается основная функциональность большинства коммерческих сайтов.
Не часто разработчики интернет-ресурсов предлагают решения, сопоставимые с системами внутренней автоматизации, решения, которые можно было бы использовать для полноценной работы, как сотрудников предприятия, так и клиентов. Почему так происходит? Изначально на Web-сайты и системы автоматизации возлагались разные задачи, предъявлялись разные требования, разрабатывались они в разное время, да средства разработки использовались для каждой из этих задач свои.
У российских систем автоматизации предприятий, которые начали свою работу задолго до открытия первого российского интернет-ресурса уже есть неплохая история за спиной. Если вспомнить, что годом рождения Российского Интернета считают 1994, когда была создана зона доменов
.ru, а об автоматизированных информационных системах управления (АСУ) многие из нас узнали обучаясь в институтах и университетах еще во времена CCCР.
В системы внутренней автоматизации вложены значительные средства и даже если в настоящее время на рынке и предлагаются решения с Web интерфейсом, вряд ли можно серьезно говорить о полной замене уже работающей системы. Особенно если учесть то, что значительную долю предложений в секторе Web-решений составляют красивые внешне, обильно сдобренные графикой и flash-анимацией системы для построений корпоративных сайтов, гордо называемые «системами управления контентом», которым по функциональности довольно далеко до имеющихся на рынке информационных систем.
Таким образом, возникает вопрос сохранения функциональности унаследованных систем и создания некоторой надстройки над ними, дополнительного Web приложения для предоставления части данных для работы внешних пользователей через
Web. Причем приложения, которое не заменяет, а расширяет функции работающей системы.
Вопросы доступа к данным
Рассмотрим варианты расположения серверов баз данных и сервера приложений для реализации доступа через
Web. Допустим, что имеется Windows-приложение, клиентские части которого установлены на рабочих станциях, а данные хранятся на сетевом сервере. Сервер для Web-приложения можно расположить как в локальной сети (рис 1), так и у провайдера сетевых услуг (рис 2). В любом случае нужно определиться создавать ли отдельную копию данных для Web-приложения или разрешить запрос данных напрямую с сервера внутренней сети. В рассматриваемых случаях мы получаем четыре варианта размещения информации.
1. В локальной сети располагается сервер приложений, который обеспечивает Web-интерфейс к базе данных и напрямую к ней обращается.
2. Сервер приложений расположен в локальной сети, но имеет отдельную копию базы данных, к которым и предоставляется Web интерфейс.
3. Web сервер располагается вне локальной сети, но также обращается напрямую к базе данных.
4. Web сервер располагается вне локальной сети обслуживает отдельную копию базы данных.
Рассмотрим предложенные варианты подробнее.
Расположение Web-сервера в локальной сети
Для доступа клиентов к Web организуется скоростной канал Internet и внешний адрес для сервера. Достоинством такого подхода будет 100% актуальность данных, ведь доступ организуется непосредственно к той информацией, с которой работают сотрудники предприятия. Поскольку система разворачивается внутри сети, то только от собственных предпочтений зависит выбор программных средств реализации Web-интерфейса. Здесь могут использоваться как системы на основе
Linux/Unix, так и Windows решения, например, технология
.NET.
К недостаткам можно отнести относительно слабую защищенность решения. Хотя сервер базы данных и защищен от внешнего доступа, но приложению доступны любые данные. Потенциально возможна ситуация, когда в результате ошибок в программе или банального взлома Web сервера, к конфиденциальной информации будет получен доступ извне. Впрочем, последняя проблема решается административными способами, при помощи ограничений доступа на уровне СУБД.
К недостаткам также можно отнести необходимость быстрого канала данных, напрямую зависящего от количества клиентов. В этом плане расположение сервера у хостинг-провайдера предпочтительнее, поскольку задействуются широкополосные каналы связи.
Расположение Web-сервера у хостинг-провайдера
Этот вариант позволяет не беспокоиться о скорости подключения и количестве одновременно работающих клиентов, решение этих вопросов лежит на плечах у выбранного провайдера. Но тут же возникают другие проблемы. Хостинг-провайдеры ограничивают применяемые программные средства, так что в этом случае к основному критерию – стоимости услуг, добавляется ограничения на используемые программные средства или системы управления базами данных. Другой вариант – физическое размещение собственного или арендованного сервера в помещении провайдера услуг, что хотя и требует несколько больших финансовых вложений, но позволит обойти большинство ограничений на программное обеспечение и обеспечить более защищенное решение в плане утечки информации, чем в случае организация виртуального сервера.
Однако все эти усилия будут напрасны, если Web-приложение, расположенное на быстрых каналах связи, будет пытаться получить прямой доступ к базе данных локальной сети и упираться в медленную «последнюю милю», да и открывать доступ к серверу баз данных для внешних приложений не слишком хорошее решение.
Использование ограниченной копии данных для Web-приложения позволяет обеспечить большую конфиденциальность информации и не потребует постоянной широкополосной связи Web-сервера и сервера баз данных, необходимо лишь с заданной периодичностью производить обновление информации на внешнем сервере. Именно этот вариант был выбран для реализации проекта отслеживания прохождения заказов через Internet в транспортно-экспедиционной компании ИТС Аир
(http://www.itsair.ru).
Реализация для ИТС Аир
Изначально ставилась задача в максимально короткие сроки запустить систему отслеживания заказов через Web на уже работающем программном обеспечении. При этом нужно было «вписать» эту систему в уже функционирующий сайт компании, а также соединить ее с внутренней системой учета заказов. При этом необходимо было учесть, что основная работа с заказами ведется в офисе, расположенном в Шереметьево, который подключен к Internet посредством не слишком быстрого ADSL канала. Web-приложение было решено разместить на сервере провайдера, с использованием минимально необходимого среза данных. Поскольку в большинстве случаев после доставки груза и выполнения заказа, клиенту уже нет необходимости в отслеживании истории
on-line, было решено не хранить на Web-сервере всю историю выполненных заказов, а при необходимости ее получения, обращаться к внутренней базе данных.
При вводе и редактировании информации в локальной базе данных все изменения протоколируются в фоновом режиме, незаметно для пользователей. По результатам протокола изменений формируется пакет обновлений, который с заданной периодичностью «сбрасывается» на Web-сервер. Одновременно с загрузкой новых данных, производится удаление устаревших, что позволяет не слишком беспокоиться о размере занимаемого дискового пространства, поскольку в количество одновременно находящихся в обработке заказов растет намного медленнее, чем общее число выполненных. Для реализации такого обмена было создано приложение
C# с использованием библиотеки Framewоrk 2.0. которая позволила в кратчайшие сроки организовать такое взаимодействие, поскольку в ней уже имеются необходимые классы как для работы с базами данных, так и для работы с Internet по протоколам
SMTP, FTP и HTTP. Для запуска использовался стандартный планировщик задач
Windows, что позволило не реализовывать в программе дополнительную функциональность, а сосредоточиться непосредственно на обмене данными.
Программа работает в трех режимах в зависимости от параметров запуска: настройка учетных записей, ручное обновление с заданием временного диапазона и автоматическое обновление только измененных данных, что позволяет в случае необходимости повторно обновить ранее выгруженную на сайт информацию.
Заключение
Поставленная задача была реализована простым и достаточно быстрым способом представления информации из внутренней базы данных в
Internet,
который не потребовал значительных трудозатрат на создание сложного Web-приложения. Сотрудники предприятия продолжают работать в привычной для них программной среде, и им не нужно переходить на другие программные средства, а клиенты компании получили быстрый доступ к информации о состоянии их заказов.
Список статей:
Еще статьи
>>>
;