Работа с веб-сервисами
Модератор: Модераторы
Работа с веб-сервисами
У меня есть сайт, сделанный на Oracle APEX. Сейчас я хочу сделать оффлайн-клиент для сайта. Как я понимаю, для того, чтобы подключаться к СУБД через обычные data-aware компоненты, пользователю надо будет устанавливать Oracle Client. Или использовать второй вариант - сделать веб-сервис (со стороны сервера сделать просто) и программу-клиент, которая будет общаться с ним по HTTP (или как там веб-сервисы работают).
Я лазарусом уже полтора года не занимаюсь, уже многое забыл. Подскажите, есть что-то для моей задачи? Любые другие решения тоже приветствуются.
P. S. Пользователи - не корпоративные, техподдержки у них нет, нужно что-то, что поставил - и оно само сразу заработало.
Я лазарусом уже полтора года не занимаюсь, уже многое забыл. Подскажите, есть что-то для моей задачи? Любые другие решения тоже приветствуются.
P. S. Пользователи - не корпоративные, техподдержки у них нет, нужно что-то, что поставил - и оно само сразу заработало.
Climber писал(а): Как я понимаю, для того, чтобы подключаться к СУБД через обычные data-aware компоненты, пользователю надо будет устанавливать Oracle Client.
Есть коммерческий ODAC (http://www.devart.com/odac/) насколько я помню это компонент прямого доступа, установки клиента не требует, но имеет ряд некоторых ограничений. Или же использовать не Lazarus, а java и jdbc
Climber писал(а):Или использовать второй вариант - сделать веб-сервис (со стороны сервера сделать просто) и программу-клиент
К чему тогда огороды городить? Программа-клиент - обычный браузер.
WAYFARER писал(а):К чему тогда огороды городить? Программа-клиент - обычный браузер.
В смысле? Получать обычную страницу и парсить html? Apex, во-первых, генерирует довольно кошмарный код, во-вторых, с помощью вебсервиса я могу одним махом загрузить то, что у меня распихано по 15 страницам, не говоря уже о том, как данные с клиента залить на сайт. Я нашел на в lazarus wiki упоминание какого-то компонента, версия которого имеет номер 0.5 (что слегка пугает), попробую сначала его.
Добавлено спустя 3 часа 28 минут 51 секунду:
Леший с ними, с веб-сервисами. Я даже не нашел никакого аналога для делфийского TWebBrowser...
Climber писал(а):Леший с ними, с веб-сервисами. Я даже не нашел никакого аналога для делфийского TWebBrowser...
Да ну? А искали ли?
http://wiki.lazarus.freepascal.org/GeckoPort
И по каким ключевым словам я должен был его найти, интересно?
За наводку спасибо.
За наводку спасибо.
Climber, по поводу браузера - я имел ввиду сделать нормальный веб-интерфейс, с использованием того же apex(инструмент вполне подходящий) или любого другого инструмента(php/html, например). Это будет намного быстрее и проще чем писать приложение, которое будет обмениваться данными по http протоколу, да и пользователю достаточно будет открыть любой установленный в системе браузер и набрать адрес.
Если все же захотите использовать http - вот ссылка, раздел "Сети", или там ниже есть ссылки на библиотеке indy и synapse, выбор большой и с примерами))
Если же получать доступ к Oracle напрямую, то скорее всего еще понадобится покупка клиентских лицензий. Что касается клиента - если не критичен размер и не хотите что бы пользователь самостоятельно устанавливал его - расковыряйте дистрибутив клиента и включите нужные библиотеке в свой (не уверен что юридически это правильно)
Если все же захотите использовать http - вот ссылка, раздел "Сети", или там ниже есть ссылки на библиотеке indy и synapse, выбор большой и с примерами))
Если же получать доступ к Oracle напрямую, то скорее всего еще понадобится покупка клиентских лицензий. Что касается клиента - если не критичен размер и не хотите что бы пользователь самостоятельно устанавливал его - расковыряйте дистрибутив клиента и включите нужные библиотеке в свой (не уверен что юридически это правильно)
WAYFARER писал(а):Climber, по поводу браузера - я имел ввиду сделать нормальный веб-интерфейс, с использованием того же apex(инструмент вполне подходящий) или любого другого инструмента(php/html, например). Это будет намного быстрее и проще чем писать приложение, которое будет обмениваться данными по http протоколу, да и пользователю достаточно будет открыть любой установленный в системе браузер и набрать адрес.
Можно еще раз, для слоупоков типа меня, поподробнее? Я, честно говоря, не понял эту мысль... Итак, у меня есть браузер, я захожу на свой сайт, потом интернет отрубается на 3 часа и ... ?
Добавлено спустя 49 минут 39 секунд:
Максим писал(а):Climber писал(а):Леший с ними, с веб-сервисами. Я даже не нашел никакого аналога для делфийского TWebBrowser...
Да ну? А искали ли?
http://wiki.lazarus.freepascal.org/GeckoPort
У меня не взлетел... По ссылке написано, что перед использованием надо установить дополнительные библиотеки. Архив скачал, распаковал, инструкций по установке не нашел
Climber писал(а):Можно еще раз, для слоупоков типа меня, поподробнее? Я, честно говоря, не понял эту мысль... Итак, у меня есть браузер, я захожу на свой сайт, потом интернет отрубается на 3 часа и ... ?
Куда еще подробнее?)) Может тогда изложишь подробнее задачу?
WAYFARER писал(а):Climber писал(а):Можно еще раз, для слоупоков типа меня, поподробнее? Я, честно говоря, не понял эту мысль... Итак, у меня есть браузер, я захожу на свой сайт, потом интернет отрубается на 3 часа и ... ?
Куда еще подробнее?)) Может тогда изложишь подробнее задачу?
Мда. Перечитал первое сообщение, самое главное-то я не написал
Climber писал(а):И по каким ключевым словам я должен был его найти, интересно?![]()
Учу пользоваться Гуглом, дорого.
ВНЕЗАПНО всё находится по ключевым словам lazarus twebbrowser.
Товарищи, а может ему нужен curl ?
http://ru.wikipedia.org/wiki/CURL
Эта штука позволяет вытворять с http запросами что угодно. Правда ей еще надо научиться пользоваться и разбираться в http заголовках.
Вместе с wireshark снифером можно заставить любой сайт выполнить что угодно одной командой
Добавлено спустя 1 минуту 23 секунды:
http://curl.haxx.se/libcurl/pascal2/
http://curl.haxx.se/libcurl/pascal/
Добавлено спустя 6 минут 2 секунды:
Хотя проще скачать саму утилиту и выполнять из лазаруса из командной строки
http://ru.wikipedia.org/wiki/CURL
Эта штука позволяет вытворять с http запросами что угодно. Правда ей еще надо научиться пользоваться и разбираться в http заголовках.
Вместе с wireshark снифером можно заставить любой сайт выполнить что угодно одной командой
Добавлено спустя 1 минуту 23 секунды:
http://curl.haxx.se/libcurl/pascal2/
http://curl.haxx.se/libcurl/pascal/
Добавлено спустя 6 минут 2 секунды:
Хотя проще скачать саму утилиту и выполнять из лазаруса из командной строки
Ism интересная штука, обязательно посмотрю. Я так понимаю, там готовые dll? У лазаря с вебом нелюбовь какая-то, за 2 вечера я убил 6 часов в сумме - у меня не заработало ничего
Может, хоть так заработает...
Там все и dll и интерфейсы через разные языки и самый простой вариант , утилита curl.exe , я с помощью нее скачиваю прайсы с сайтов с авторизацией. Еще не нашлось задачи с которой она не справилась
Добавлено спустя 2 минуты 45 секунд:
curl --manual выдаст справку с примерами
Добавлено спустя 2 минуты 45 секунд:
curl --manual выдаст справку с примерами
Ism
Спасибо еще раз, ваш совет оказался проще всего в реализации (для меня, по крайней мере). Тестовый пример заработал.
Спасибо еще раз, ваш совет оказался проще всего в реализации (для меня, по крайней мере). Тестовый пример заработал.
