Просматривальщик таблиц/баз данных по сети - для встраивания в другие программы
От: shestero  
Дата: 29.03.13 18:12
Оценка:
Речь про программный компонент, предназначенного для использования программистами в бизнес-задачах, связанных с обеспечением удалённый доступ (на чтение) к группам больших (по объёму) таблиц.

Эту задачу можно осуществить с помощью веб-интерфейса, но по ряду причин иногда такой способ не удобен или не приемлем. Например, использование web-браузера неудобно если надо интегрировать таблицы в своё приложение или частично лимитировать доступ конечных пользователей к данным (предотвратить скачку таблиц на локальный носитель). Также мой подход может существенно снизить требования к аппаратной мощности клиента (особенно это важно в случае больших по объёму таблиц и маломощных мобильных устройств).
Существуют также многочисленные программы обеспечивающие удалённый доступ к базам данных как на чтение так и на редактирование, однако по моему опыту эти решения не удобны для конечных пользователей и трудно интегрируемы в комплексные пользовательские оболочки.
В моём случае обращение к данным осуществляется по протоколу HTTP, для пересылки информации используется XML. Серверная и клиентская части обрабатывают информацию предельно лаконично, что обеспечивает простоту архитектуры, разработки и адаптации под конкретную задачу. Серверная часть написана на PHP и в настоящий момент обеспечивает доступ к БД в СУБД MySQL, однако её можно переделать для работы с другими СУБД. Клиентская часть написана на кросс-платформенном C++ и Qt 4. Предусмотрены аутентификация конечных пользователей, лимитирование доступа и шифрование данных с использованием библиотеки Crypto++ (опционально). Передаваемая по сети информация дешифруется и отображается «на лету» (то есть по мере поступления), что позволяет эффективно работать с большими массивами, медленными выборками на стороне сервере и медленными каналами передачи данных.
В настоящий момент демонстрационная программа уже в рабочем состоянии и проходит «обкатку» под Windows и Linux. Также требуется ещё написать документацию. В ближайшем будущем я собираюсь опубликовать демонстрационную базу данных, дистрибутив демонстрационной программы под Windows и исходный код клиента, а также исходный код сервера для свободного бесплатного их использования всемирным сообществом.

Было бы интересно узнать, что вы думаете по этому поводу? В каких областях или задачах такой компонент мог бы быть затребован? На что следует обратить внимание?
Также если вы вдруг захотите принять добровольческое участие (например написать демонстационный клиент на каком-нибудь ещё языке программирования) — обращайтесь!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.