Подружить Php(on Linux) с Lotus (on Nt)?

Тема в разделе "Lotus - Программирование", создана пользователем yerke, 27 фев 2009.

  1. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    Есть ли у кого реально работающие примеры того
    как с помощью пхп доставать данные из Лотуса
     
  2. interrupt

    interrupt Гость

    Мы делали так - серверный агент выгружает на сервер в XML файл нужные документы и далее их использовала программа на php (задача была передавать данные из лотуса на веб-портал на пхп)
    Есть статья на
    IBM developerWorks "Создание UI на PHP для IBM Lotus Domino"
    в которой описаны три способа доступа к ресурсам домино:
    * COM-объекты
    * The Notes API
    * XML через Web
    Есть примеры.
     
  3. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    ну есть такая идея
    но это не подходит так ка сервенный агант будет работать по расписанию
    а нам нужен чтоб на сайте сразу же отображался оценки студента
     
  4. interrupt

    interrupt Гость

    Сделайте так - основной серверный агент работает скажем раз в день ночью, выгружая все данные.
    Далее. Если происходят изменения документов, на каждый док, который надо снова выгрузить создается ответный документик - заявка (тикет).
    В течении дня работает маленький агентик каждые 5 минут, который смотрит на кого созданы заявки (тикеты).
    Если тикеты есть, нужные документ выгружаются и их подхватывает портал php.
    Если тикетов нет, агент благополучно завершает работу.

    Итого задержка при изменении документа (выставление оценки) будет не более 5 минут.
    Мне кажется это почти соответствует понятию "сразу же".


    Вариант второй - через БД.
    У вас ведь php приложение скорее всего тянет данные из реляционной БД.
    Можно сделать агент который будет загонять данные прямо в базу, например, через ODBC. Тогда все будет мгновенно.
     
  5. lionk

    lionk Well-Known Member

    Регистрация:
    5 апр 2007
    Сообщения:
    308
    Симпатии:
    3
    а почемубы не зделать предстваление к коророму будет обращятся PHP через URL запрос.
    представление построй как XML-фид, а на стороне сайта этот фид разбирайи и выводи.

    никаких агентов и задержок
     
  6. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    А какова цель?
    Построить web-прикладуху и одновременно избавиться от сервера Домино? Не удастся (.nsf - базу никто за так не разберёт)
    А если Домина остаётся, может пусть она сама раздаёт свои док-ты по http?
    (Она ещё умеет по NRPC и по DIIOP)
     
  7. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    да эт класс что у домино есть собственный http сервер
    я пользуюсь этой фичей (если можно так выражаться) в локальной сети
    даже там сделал страничку который отображает эти же оценки (но конечно эт работает в интрасети)

    но недавно наше руководство потребовала от нас
    чтоб эту страничка отображалась и в нашеи интернет портале
    который работает на апач серваке (пхп и мускул) в линухе

    а лотус стоит у нас на винде и не открыт к глбальному сети
    и не хочется его окрывать (дополнительные мучения же)

    хотелось бы просто повесить страничку с актуальными оценками на уже готовы портал

    как бы это грамотно сделать
     
  8. K-Fire

    K-Fire Гость

    ИМХО, самый грамотный вариант уже отписали: пхп-страничка дергает XML-данные с сервера лотуса. Как лотус эти данные отдаст - агентом, веб-сервисом или вьюшкой - это не принципиально.
     
  9. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Тогда м.б. скАнструлить скрипт, который "пробрасывает" запросы на Домину и транслирует ответы во внешний мир?
     
  10. yerke

    yerke Well-Known Member

    Регистрация:
    28 авг 2007
    Сообщения:
    392
    Симпатии:
    0
    сделал с помощью вьюшки и ReadViewEntries
    Код (Text):
    FROM DOMINO<br><br>

    <form action="<? $_SERVER['PHP_SELF'] ?>" method="post">
    Фамилия: <input type="text"      name="SurName"  value="Абдиева" /><br><br>
    ИКС:     <input type="password"  name="IKS"      value="080012" />
    <input type="submit" value="OK" />
    </form>
    <?
    $surname=$_REQUEST["SurName"];
    $iks=$_REQUEST["IKS"];
    $ss="http://192.168.64.9/db/bases/mybase.nsf/(FOR-PHP-IKS)?ReadViewEntries&ExpandView&RestrictToCategory=".$surname.$iks;
    echo $ss."<br>";
    // 
    $xml=new DOMDocument();
    $xml->load($ss);
    //
    $x=$xml->documentElement;
    foreach($x->childNodes AS $item)
    {
    print $item->nodeName."=". $item->nodeValue ."<br/>";
    }
    ?>
    но возникли вопросы
    1) ReadViewEntries возвращает не все ентри
    которые расположены под категорией (RestrictToCategory)
    хотя есть параметр ExpandView

    2) и я достучался до базы используя аккаунт Anonymous как Reader
    хотелось бы авторизоваться с помощью пхп используя определенный учет. запись домино
    такое возможно? (ну как с пхп на мускул)
     
  11. lionk

    lionk Well-Known Member

    Регистрация:
    5 апр 2007
    Сообщения:
    308
    Симпатии:
    3
    насчёт как достучатся до лотуса через авторизацию я не заню (это хелп по пхп читать нуно)
    а насчёт вида рекомендую делать так
    создаёш форму $$ViewTemplate for ViewName
    в форме пишеш начальные и кончные XML теги, типо так:
    <?xml version="1.0" encoding="windows-1251"?>
    $$Viewbody - поле в котором будет тело вида

    в виде формируеш конкретно дерево нодов

    к виду обращяешся http://192.168.64.9/db/bases/mybase.nsf/имя вида?OpenView&RestrictToCategory=

    у мнея 100% всё отдаёт и в том формате что нужно, + при помоще формы шаблона вида я могу в XML дерево добавлять не повторяющиеся статические ноды (типо айди сесии)
     
  12. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    кол-во выдаваемых строк - см. настройки сервера (в части веб) или сайта...
    и типа &Count=5000 добавить (или число по-вкусу)
    уже советовали CORBA (DIIOP) - кроссплатформенная штучка :D, правда интерфейс к пых-пыху надо искать

    порылся в гугле...
    м-да пых-пых явно недоделан для CORBA :blink:
    но вот сцылки:
    -по корба, общее - http://www.realcoding.net/article/view/163
    -вот какие-то наработки - http://phporb.sourceforge.net/
     
  13. ak-47

    ak-47 Гость

    Странно, почему никто не вспомнил про Web-services. Довольно все легко и просто, и данные будут в реальном времени.
    Единственный недостаток, это большое потребление ресурсов лотусным веб-сервером. Поэтому при активной работе с веб-сервисами всему лотусу будет очень нелегко.
     
  14. Alexander (Criz)

    Alexander (Criz) Гость

    Как я понимаю разница между агентом и сервисом по производительности будет небольшой....
     
  15. K-Fire

    K-Fire Гость

    Веб-сервис в лотусе по сути это и есть агент, если я правильно понимаю. Просто xml он выплевывает в одном из форматов веб-сервисных. Т.е. разницы по производительности не будет вообще, ну если не считать накладных расходов на формирование всяких там заголовков.
     
Загрузка...
Похожие Темы - Подружить Php(on Linux)
  1. nvyush
    Ответов:
    16
    Просмотров:
    6.045
  2. morpheus
    Ответов:
    11
    Просмотров:
    6.900

Поделиться этой страницей