xa_141

Page 117

>> coding

Обмен сообщениями между Клиентом и Сервисом средствами WCF new WSHttpBinding(), "http://localhost/AddService/Ep1"); sh.Open(); ...

Следующий фрагмент кода иллюстрирует процесс отправки сообщений клиентом оконечной точке AddIntPoint сервиса: public class WCFClientApp { //èíèöèàëèçàöèÿ êàíàëà ïåðåäà÷è äàííûõ public void SendMessageToEndpoint() { MathProxy proxy = new MathProxy(); int result = proxy.Add(35, 7); } }

Аналогичным образом клиент хранит свою оконечную точку для поддержки связи с оконечной точной сервиса. Кстати говоря, сервисы могут предоставлять целую коллекцию оконечных точек, а значит, предоставляют возможность использовать несколько различных каналов передачи данных (транспортов) и методов. Это дает возможность абстрагироваться от канала передачи данных и расширить множество потенциальных клиентских платформ за счет использования различных протоколов передачи данных. Например, ты можешь синхронизировать данные, поступающие с твоего основного ботнета и ботнета, основанного исключительно на мобильных платформах. Таким образом ты потенциально расширяешь спектр зараженных машин. Конфигурационный файл сервиса, расположенный вне исходного кода, позволяет легко активировать/деактивировать дополнительные опции сервиса (настройки безопасности, проверка целостности передаваемых данных и т.п.). К не менее приятным особенностям WCF-сервисов также стоит отнести полную независимость от IIS-сервера (в этом XÀÊÅÐ 10 /141/ 10

заключается отличие от обычных веб-сервисов, работающих исключительно под его управлением). То есть мы можем поднять консольное приложение в виде сервиса, работающего по HTTPпротоколу.

×ÒÎ ÆÅ ÒÀÌ, ÇÀ ÃÎÐÈÇÎÍÒÎÌ?

К спектру технологий WCF можно подойти с разных позиций: разработка, безопасность, масштабируемость. Охватить детали той или иной области, которой касается Windows Communication Foundation, невозможно в рамках одной статьи. Да мы такой задачи перед собой и не ставили. Рассмотрев детали быстрой организации клиент-сервисной (именно сервисной) архитектуры, мы создали плацдарм для дальнейших исследований и непосредственного испытания майкрософтоской технологии в боевых условиях. Распределение может быть полезно в любой окружающей нас области. Кто знает, может быть повседневные вещи в распределенном состоянии окажутся намного более удобными, и ты скажешь: «Как же я раньше до этого не додумался?». Вот, например, взгляни на свои вебшеллы. Вспомни, как быстро их палят и прикрывают. Задумайся, почему? Потому что ты сам делаешь для этого все возможное: обращаясь каждый раз к одному и тому же сомнительному скрипту по несколько раз за день, ты оставляешь в логах веб-сервера избыточную информацию для бдительного администратора. А теперь представь, насколько возрастет степень твоей анонимности и конфиденциальность операций на взломанном сервере, если ты раскидаешь функционал своего вебшелла по его нескольким неприметным уголкам обращение его частям. Предоставленный материал представляет собой лишь вводную часть к той длинной истории, которая называется «WCF-сервис и сорок разбойников», коими выступают придуманные тобою сервисы. Ознакомившись с теоретической составляющей и бегло освоив базовые конструкции и детали конфигурации сервисной части, ты получаешь в свое распоряжение мощный инструмент реализации своих самых распределенных идей. Свои я уже реализовал и намерен поделиться ими с тобой на страницах нашего журнала.z

115


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.