Сайт как бизнес

Поисковое продвижение сайтов (SEO), создание сайтов в Минске (Беларусь).


Канал «СТАРТАП ТЕХНОЛОГИИ»: об ИТ-бизнесе, стартапах, инвестициях

Подпишись на рассылку блога об интернет-бизнесе:

Синхронизация данных Access и MySQL (PHP)

пока нет комментариев

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

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

Допустим ситуация, с короторой пришлось столкнуться разработчикам компании Elab.BY: У заказчика есть в наличии написанная третьей стороной база на MS ACCESS которая его устраивает на все 100% и он никогда не захочет отказываться от нее

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

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

Обсудив все возможные варианты решения проблемы мы взялись за выполнение этой сложной и не ординарной проблемы…и успешно решили её!

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

Здесь нам на помощь приходит возможность ACCESS импортировать таблицы в XML файлы 🙂 (Отдельная благодарность Microsoft за эту возможность). Но опять грабли — ACCESS умеет экспортировать только одну текущую таблицы в XML!

И опять же не испугавшись мы принимаемся за работу — VBSCRIPT + AT + CURL(Win32) нам в руки и вперед:

  1. На сервере заказчика (Windows 2003) на VBSCRIPT пишем небольшой скрипт который будет создавать объект MS.ACCESS, пробегаться по таблицам БД и экспортировать данные в XML файлы.
  2. С помощью CURL(Win32) мы запихиваем готовый XML на наш сайт. Почему CURL — ? Просто надо подумать о безопасности. Надеяться на «дурака» не стоит, создавая сервисный урл который по вашему мнению никогда не сможет быть обнаружен (/32fehuiwnsdkjfyiewrhiwqnsdfsdwerwqerwe/mega_secure_world_accessible_address/import.php) поэтому просто воспользуемся умением CURL посылать авторизационные данные!
  3. Соберем этот нехитрый функционал в единый .cmd файлик и назначим его выполнение допустим раз в час при помощи AT(зависит от требований бизнеса заказчика)
  4. На backend’е нашего решения мы создадим XML сервис который сможет принимать XML данные от компьютера (сервера) заказчика и раскладывать его в соответствующие таблицы MySQL базы данных
  5. Отдельное внимание стоит уделить связям таблиц! Ключи могут меняться, поэтому тут всего скорей придется хранить данные а не ключи!
  6. Радуем заказчика готовым решением! Все счастливы!

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

P.s. Сразу оговорюсь что решение на ASP.NET впринципе не рассматривалось заказчиком, поэтому не стоит потыкать что мы изобретали велосипед. Мы как раз делали то что просил заказчик, а не подстраивали заказчика под возможные системы и их ограничения!



Автор: Валерий Хвалев.

9 ноября, 2008 в 1:17 пп

Темы: новичку

Метки: ,

Подпишись на обновления блога по e-mail или RSS!