Uzhast писал(а) 17. Октября 2007 :: 07:26:kms писал(а) 15. Октября 2007 :: 10:15:У меня из трезвых есть одна: все же нужно довести до ума "сервер приложений v7"
А что в первую очередь ожидается от "сервера приложений"? Выполнение методов 1С объектов на сервере? Или что? Например, чем не достаточно двух 1Сов, взаимодействующих через TCP/IP? Может, немного конкретнее опишешь, как ты представляешь себе сервер приложений?
Красивую модель сейчас на трезвую голову не нарисую - много думать надо.
Но вкратце, как-то так:
На клиенте существует объект - "ПроксиОбъект".
Некоторой командой инициализации мы создаем объект на сервере и сопоставляем его прокси-объекту.
Дальше мы можем вызывать методы и использовать данные прокси-объекта, переадресуя вызовы объекту сервера.
Примерно так:
_сервер =СоздатьОбъект("Сервер");
// установка параметров авторизации, безопасности, адрес сервера и т.д.
_сервер.Подключить();
_о =_сервер.СоздатьОбъект("КлассОтчетОстаткиТМЦ");
_результат =_о.ПолучитьОстатки();
Это все довольно просто.
Дальше - можно подумать, что возвращать в качестве результата.
Первоначально я думал только о простых типах (строки, числа), но с другой стороны, почему бы не возвращать такие же прокси-объекты?
_склад =_о.ПолучитьГлавныйСклад(); // справочник.элемент
Сообщить(_склад.Наименование);
Короче, такая модель.
Вполне двусторонняя, т.к. если можно получать данные, то ничто не мешает их передавать и обрабатывать на сервере.
Вполне масштабируемая, т.к. можно не ограничивать возможность подключения одним соединением - соединенй может быть много.
Режим получения данных может быть как синхронным, так и асинхронным.
Создал 10 подключений к филиалам, раздал всем команду "ПодготовитьОтчет", собрал в кучу, когда будет готово.
Для локальной сети - кроме балансировки нагрузки получаем еще и непосредственную типизацию результата в родной формат.
Например на сервере можно вернуть "ЗначениеВСтрокуВнутр(тз)", а на клиенте - развернуть, и это будут родные данные.
Ну, а о проблемах на этом пути... потом как-нибудь подумаем...
Их примерно еще на два листа (это те, о которых я знаю).