Построение веб-сервиса

Ярослав

Новичок
Построение веб-сервиса

Здравствуйте все.

Постала следуящая задача.
Общая схема

PHP:
API  <------> Interface <-------->   (HTML|ExtJS|FLASH)
АПИ и интерфейс находятся на разных серверах

Как это дожно работать (описание абстрактное)
Юзер делает запрос на интерфейс чтоб получить информацию о студенте.
Интерфейс запрашивате с АПИ сервера и возвращает к клиенту.

Постает вопрос как все это реализовать?
Смотрел технологии

  • 1. XML-RPC
    2. REST
    3. SOAP
для реализации АПИ <---> Interface

Начальные проблемы:
1. Выбор наиболее подходящей технологии (может есть что нибудь лучше - чего нет в списке)
2. Авторизация пользователя (как связывать интерфейс и API,
-каждый раз тянуть уникальный айдишник
-тянуть логин, пароль
-....)
3. Права (например запрос о получении информации должен вернуть false, т.к. юзер не имеет прав к этому студенту.)
Нужно проверять и на API сервере и на интерфейсе (чтоб некоторые пункты не отобрать к примеру)
При авторизации синхронизировать права на АПИ и интерфейсе?

Буду рад критике и советам.
 

korchasa

LIMB infected
1. ИМХО, REST'а за глаза хватит.
2. Сессии (собственные или родные РНР)
3. Самый простой способ - отображать то, что пришло. Или надо как-то пользователя предупреждать об отсутствии прав (статус 401)?
 

korchasa

LIMB infected
Автор оригинала: Ярослав
2. Авторизация пользователя (как связывать интерфейс и API,
Только сейчас заметил. Почему интерфейс и API? Интерфейс же собственный? Мы же ему доверяем. Связать интерфейс и пользователя?
 

Ярослав

Новичок
Автор оригинала: korchasa
Только сейчас заметил. Почему интерфейс и API? Интерфейс же собственный? Мы же ему доверяем. Связать интерфейс и пользователя?
Будет и собственный и сторонний

-~{}~ 01.04.08 11:48:

2. Сессии (собственные или родные РНР)
Я еще понимаю как собственные реализовывать, но родные
Когда пробовали реализовать связь через Zend_XML_RPC
то там сессия вообще не работает и вообще он наверное очищает глобальные массивы POST, GET COOKIE
Mожно ссылку на доку, мануал не важно посмотреть базовый пример реализации
 
Сверху