Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #65, АПРЕЛЬ 2006 г.

сеть для стахановцев

ПАЛАГИН АНТОН AKA TONY

Спецвыпуск: Хакер, номер #065, стр. 065-012-5


mono

Львиная доля этой статьи потрачена на обзоры технологий Microsoft, но только не думай, что только они заботится о будущем технологий распределенных систем. В качестве своей базы все описанные технологии используют открытый стандарт SOAP. Доступ к web-службам возможен с любой платформы и любого инструментального средства. Для их разработки совсем не обязательно пользоваться технологиями MS. Вот, пожалуйста — бери решения от IBM или Apache.

Повышенный интерес системных интеграторов к .NET и возможностям, предоставляемым этой платформой, связан с надеждами на проект mono. Следовательно, он связан и с возможностью использовать технологию с открытым кодом для разработки современных кросс-платформенных распределенных приложений. Напомню, Mono — это кросс-платформенная реализация .NET, С# и CLI, совместимая с .NET Framework 1.1. Последняя версия 1.1.13 датируется 11 января 2006 года, поддерживает ADO.NET, позволяет создавать приложения ASP.NET, используя в качестве хоста Apache. Разработка Mono стала возможной благодаря тому, что технологии .NET стандартизированы ECMA. В отношении будущей коммуникационной технологии Indigo (а также графического ядра Avalon) Microsoft придерживается закрытой стратегии и, скорее всего, будет заставлять разработчиков портов лицензировать эти технологии.

xml-rpc

Если особенности выбранных аппаратных или программных платформ не позволяют использовать ни одну из современных технологий построения распределенных приложений, можно использовать стандарт XML-RPC, отпочковавшийся от SOAP, — облегченный вариант сериализации данных о методах, вызываемых на стороне сервера, и возвращаемых ими данных. Приведу пример пакетов, которыми обмениваются клиент с сервером при вызове уже описанного метода hello() (использован XML-RPC):

<? xml version="1.0"?>

<methodCall>

<methodName>hello</methodName>

<params>

</params>

</methodCall>

Получив этот пакет XML, сервер пропарсит его, найдет и вызовет метод hello, после чего вернет следующий пакет.

<? xml version="1.0"?>

<methodResponse>

<params>

<param>

<value>

<string>Hello world!!!</string>

</value>

</param>

</params>

</methodResponse>

В качестве типов данных можно использовать: строковый тип (тег string), целый тип (int), логический (bool), с плавающей точкой (double), временной штамп (dateTime.iso8601), двоичные данные (base64), структуры (struct) и массивы (array). Если в ходе работы вызываемого метода произошла ошибка, то можно вернуть XML-документ следующего содержания.

<? xml version="1.0"?>

<methodResponse>

<fault>

<value>

<string>Поздороваться невозможно в связи с наступлением Апокалипсиса</string>

</value>

</fault>

</methodResponse>

Если функциональность, предоставляемая XML-RPC, кажется тебе недостаточной, разрабатывай собственную спецификацию, а основой для нее станут изложенные мной идеи

Назад на стр. 065-012-4  Содержание  Вперед на стр. 065-012-6