2010-07-29 1 views
1

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

Текущий подход: всякий раз, когда данные изменяются или добавляются, отправляйте их на онлайн-сервер (php + mysql), если он не удается, добавьте его в очередь и повторите попытку. Затем сервер, имеющий данные, может создавать собственные отчеты.

Итак, чтобы сделать вывод: что такое хороший способ донести эти данные в Интернете.

+0

+1 отчет для расцепления хранения данных веб-сервера (MySQL) и внутреннюю базу данных (FireBird) – mjn

+0

Вы ищете отчет PHP генератор или способ вызова механизма отчетов Delphi из PHP? – mjn

+0

Все, о чем я прошу, это если это правильный способ сделать это, или есть другой более эффективный метод. – zz1433

ответ

0

На данный момент я знаю, эти две различные стратегии:

  • на основе событий: всякий раз, когда обнаружены изменения, толкать их на сервер веб/MySQL БД. Как вы писали, для этого требуется очередь в случае, если система назначения не получает сообщения.

  • основанный на снимках: извлекайте соответствующие данные через интервалы (например, каждый час) и передайте их на веб-сервер/mysql db.

Стратегия на основе моментальных снимков позволяет предобработки данных таким образом, что, если хорошо вписывается в структуру БД данных термометру/MySQL, которые могут помочь лучше отвязать системы и сохранить больше бизнес-логики на стороне отправка система (Delphi). Он также генерирует более непрерывную нагрузку, так как он не заботится о изменениях массовой информации.

+0

Жесткое решение, основанное на снимках, будет более «дружественным к серверу» и более милосердным с подключением к Интернету. Так что из этих буксиров, чтобы выбрать, я думаю, что останусь с текущим (основанным на событиях), поскольку основанный на снимке способ даст мне тяжелые времена с данными, которые уже отправлены, но обновлены. Кроме того, не могли бы вы дать мне свои мысли об использовании системы с (Исправьте мою терминологию, если это неправильно) Висячие GET и Comet (?), Похожие на чат facebook. Если приложение delphi постоянно прослушивается с веб-сервера, а в случае запроса, то «на лету» создает отчет и отправляет его (звучит хорошо для меня). – zz1433

+0

Да, Ajax Push или Reverse Ajax - я сам не пробовал, но с библиотекой HTTP для Delphi и бесконечным таймаутом данные можно было прочитать из сокета до появления нового сообщения. Сообщение должно иметь простой идентификатор отчета как контент, который может использоваться в качестве параметра запроса в URL-адресе HTTP для получения отчета. Другим вариантом будет WebSocket, поскольку это стандартизованное расширение HTTP и уже поддерживается некоторыми серверами, клиент Delphi может использовать функции протоколов, такие как безопасность и т. Д. – mjn

+0

В последней версии апрель 2011 года в Delphi появилась новая клиентская библиотека WebSocket по адресу http: //code.google.com/p/bauglir-websocket/ – mjn

0

Другим способом может быть использование репликации, но я не знаю систему, которая выполняет репликацию между БД Firebird и MySQL.

Для добавления возможности инструментов отчетности он-лайн: Вы также можете проверить быстрый сервер

Смежные вопросы