Преобразуване на COM обекти в уеб услуги
В традиционната схема клиентът взаимодейства с външен софтуерен компонент чрез локален COM механизъм. В новата версия COM обектът е поставен в обвивка на Web Services, която се управлява чрез универсални, отворени и независими от платформата интернет протоколи - SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language) и WSML (метаезик на уеб услуги). Разбира се, новата уеб услуга ще работи само на сървърната платформа на Windows, но клиентите вече не зависят от операционната среда. В допълнение, сървърният компонент може да промени физическото си местоположение - механизмът WSDL трябва автоматично да го проследява и да осигурява стабилна връзка между клиента и сървъра.
Преобразуването на COM обект в уеб услуга се извършва с помощта на съветника на SOAP Toolkit 3.0 WSDL Generator, без да се пише код. Клиентското приложение трябва да бъде надстроено ръчно, но, както ще покажем по-долу, това изисква минимални усилия.
Създаване и тестване на COM обект
Ще използваме VB 6.0 за реализиране на проекта. Създайте нов ActiveX DLL проект и го кръстете Exchange. Както подсказва името, ще решим много модерния проблем с конвертирането на чуждестранна валута в рубли. Нашият вариант ще бъде реализиран като такъв програмен код в модул на клас (ние го нарекохме clsCurrency):
Тук са описани две функции: CurrencyType връща имената на валути, поддържани от нашия обект на клиента, MyExchange преизчислява получената сума в съответствие с посоченото име на валута.
За да тестваме COM обекта, ще напишем и клиентското приложение ComClient, чийто външен интерфейс е показан на фиг. 1, а целият програмен код е показан по-долу:

Спомнете си, че във VB 6.0 можете да използвате опцията "група" за отстраняване на грешки на такива приложения "клиент-сървър" (Фигура 2). Но в този случай връзката с тествания COM обект все още трябва да бъде установена ръчно с помощта на прозореца References. Стартирайте проекта ComClient и се уверете, че приложението работи съгласно нашия прост алгоритъм за конвертиране на валута. След това създайте ActiveX DLL.