Разработка на вездесъщи системи в .NET с помощта на Web услуги
Категория: Интернет
неделя, 10 Февруари 2002 0:00ч
В тази статия в два последователни броя на списанието ще разгледаме разработката на система за Web услуги за случая на банкова система. Ще видим какви действия се изискват от системата и ще предложим програмно решение, което лесно може да бъде променено и разширено. Ще разгледаме разработката на прототип проста Web услуга за работа с база данни, осигуряваща възможност за осъществяване на прости транзакции. След това ще разгледаме разработката на решения за други системи и как може да се осигури възможност за работа с различните системи чрез реализацията на отворени стандарти в рамките на .NET. Ще обясним основополагащите отворени протоколи, използвани в системата, и как те се обединяват, формирайки голямо решение за масово използване.
1. Увод
Съществуват множество среди за разработка на Web приложения. От появата на Internet насам в този бранш се правят опити за създаване на все нови и нови езици и стандарти, които да осигуряват обобщен и хетерогенен подход, с помощта на който всички разработчици да могат да интегрират приложения. Една от първите и най-популярни програмни архитектури, която може да се намери в Internet, беше Java на Sun Microsystems. Java направи революция в бранша, осигурявайки език, който може да бъде компилиран и изпълняван под управлението на произволна операционна система. Освен това Java удовлетвори исканията на бранша, предоставяйки допълнителни SDK за Java като Enterprise Java Beans и напоследък и Sun One, с помощта на които бяха подпомогнати компонентният подход и Web услугите. Разработчиците обаче не се оказаха особено доволни от ограниченията на Java. Java поддържа само просто наследяване и е значително по-бавна, защото стандартният начин на разпространение на програмите на Java налага компилиране (или по-скоро интерпретиране) с помощта на виртуална машина. Опитите за налагане на един-единствен език като отговор на всички възможни проблеми е в противоречие с декларираното от OMG (Object Management Group) желание за създаването на отворени архитектури, интегриращи хетерогенни системи. Този консорциум от фирми е известен преди всичко с технологията, известна под името CORBA (Common Object Request Broker Architecture - унифицирана архитектура за брокериране - посредничество между заявките на обектите), осигуряваща взаимодействието на свързани в мрежа устройства посредством TCP/IP.
CORBA осигурява взаимодействието между различни езици, като дава възможност на приложни програми, написани на различни езици, да обменят информация помежду си чрез стандартен протокол. Противно на очакванията обаче CORBA не успя да революционизира софтуерната индустрия. Като стандартно средство за дефиниране на комуникацията между обектите и компонентите CORBA използва IDL (Interface Definition Language - език за дефиниране на интерфейси). IDL обаче не носи семантична информация - затова разработчиците трябва сами да се грижат, като опитват да подобряват обема на семантичната информация, като генерират собствени компилатори със собствени ключови думи. Дори и това обаче представлява само частично решение - бяха създадени множество производни на IDL, като за всяка производна се изискваше отделен компилатор, което водеше до неразкриване на семантичната информация и невъзможност за установяване на стандарта IDL.
