ПредишенСледващото

CORBA и IIOP: програмиране на разпределени системи

Уилям Р. Станек

Изготвяне на молби, обекти са написани на различни езици и да си взаимодействат един с друг на различни операционни системи и платформи.

Експлозивният растеж на интернет и интернет е довело до появата на технология, която е фундаментална промяна на съществуващите начини за използване на компютри. Най-значителните промени се случват в обектно-ориентираното технология, която гледачи зададете нов роля в разпределена система за обработка. Вместо традиционните клиент-сървър архитектура мрежи новата ера на разпределената обработка е свързано с преход към корпоративни системи с обекти, които са разпределени между множество компютри, които могат да споделят информация, независимо от операционната система, платформа или език за програмиране. Още по-изненадващо е, че тези разпределени обекти могат да бъдат компоненти на всяка една програма или дузина програми, които изграждат система за предприятието.

Ние наричаме тази технология за извършване на действието на разпределените в хетерогенни системи: архитектурата на общата цел искане брокер (Обща цел Искане Брокер архитектура, CORBA) и протокола Internet Inter-ORB Protocol (IIOP). CORBA дефинира архитектура напълно необходимо за обмен на информация между разпределени обекти. Сред спецификациите му са IIOP, както и много други технологии. IIOP е най-важният компонент на CORBA, защото неговата основна функция на организацията на взаимодействието на разпределени обекти в хетерогенна среда. Заедно CORBA и IIOP характеризират разнообразието на мидълуер инструменти, които ще насърчат преразглеждането на подходи за създаване на приложения в мрежови среди, разработчици по целия свят.

CORBA и IIOP не изключителни решения, които осигуряват разпределени обработка. Има и конкурентни архитектура, разработена от Microsoft, обектния модел на разпределена обработка (Разпределени Модел Computing Object, DCOM), представена главно от ORB (цел Искане Брокер, ORB) един, който е включен в Windows NT 4.0 и ще бъде включена в следващото издание на Windows ,

OMG и разпределена обработка

CORBA рожба на консорциум Object Management Group (OMG), която включва повече от 700 компании от различни индустрии. Целта на тази организация е да се определи основната структура за развитието на приложения, използващи обектно-ориентирани методи. OMG произвежда спецификации, които позволяват да се стандартизира обработката на разпределени обекти, а не приложения, както и с такъв акцент върху развитието на идеи, а не на програмите донесе голям успех група.

Използването на CORBA създавате корпоративни системи (системи за предприятието), в която обектите са разпределени на компютърна мрежа. Основните обекти на корпоративни системи за обслужване на файловете, необходими за приложението може да се съхраняват на сървър Windows NT. Тези обекти, които ще направите, като C ++. На голям компютър може да постави основните функции на ядрото например, с помощта на предмети, които са програмирани в езика на COBOL. Всеки десктоп компютър, работещ под Windows 95, подходящ за съхранение на външни интерфейси, използвайки съоръжения с помощта на Visual Basic. И всички тези обекти могат да общуват и да посредничат заявлението за прехвърляне е CORBA.

Netscape Communications Corp. компания и Sun Microsystems са избрали CORBA и IIOP като основа за следващото поколение на своите програми. Sun използва CORBA и IIOP за изпълнение разнородни отдалечено повикване на процедури в език за програмиране Java 1.1 и без тези технологии koporativnyh мрежи не биха имали платформата Java (Java Platform). Освен това, API Enterprise JavaBeans се използват CORBA и IIOP, за да позволи създаването на мащабируеми приложения за сферата на бизнес (бизнес приложения) с многократна употреба компоненти сървър.

Ogranizatsii за дистанционно процедура призовава на езика Java е подходящ и DCOM технологии. Необходими за тази специални софтуерни съчетания са на разположение в Visual J ++. Но DCOM модел е предназначен само за Windows NT 4.0 и Windows 95 (с Internet Explorer разширения) платформа, т. Е. DCOM не е подходящ за обмен на информация с други операционни системи. Microsoft казва, че в бъдеще DCOM технологии ще бъдат прехвърлени към други платформи.

Малко за CORBA

В основата на CORBA брокер (посредник) цел Искане (ORB). Това е нещо като линия обекти. Основната задача на ORB да предоставят посреднически услуги за обмен на заявките между обектите. Въпреки, че Кълбото "живее" в среда клиент-сървър, на обектите, с които той работи, да изпълняват функциите на всеки клиент или сървър, в зависимост от обстоятелствата. Ако обектът получава и обработва заявката, тя действа като сървър. Ако той прави заявка, тя действа като клиент.

Основната задача на ORB приемане и изпращане на заявки, както и прехвърлянето на резултатите, включително и прихващането на всяка заявка за един обект към друг; определение на местоположението на обекта, който се очаква да придвижи искането; стартира съответно метод, приемния блок; ако съответните параметри за пренос и предаване на обекта на резултати, внесла искането. Тъй като ORB дръжки искания "прозрачен", това няма значение, от който и да е локален или отдалечен обект, който отправя искането.

IDL език е добре, защото тя позволява да се опишете накратко API, като същевременно се запази свободата да определи методи във всеки език за програмиране, който осигурява свързване с CORBA. Тези езици са Ада, COBOL, C, C ++, Smalltalk и Java. Някои доставчици имат свои собствени средства за координация с CORBA за Visual Basic и Fortran.

Както е добре известно на всеки, който е имал контакт с обектно-ориентираното програмиране, при попълването на заявката необходимата информация за интерфейса на сградата домакин и съоръжения трябва да бъдат проектирани така, че да могат да получават информация за интерфейсите на обектите, с които те си взаимодействат. Но като се опита да приложи този подход към действието на разпределените между разнородни предмети, които ще срещнете много проблеми.

За истински независимост CORBA IDL използването на хранилище (свод) интерфейси за съхранение подписи на методи, принадлежащи към обекти, така че тези подписи може да бъде динамично извлечени и актуализирани по време на изпълнение. Това гарантира, че всички обекти в корпоративния системата могат да получат информация за интерфейсите на други обекти, методи, принадлежащи към тези интерфейси, както и параметри, необходими за достъп до тях. (В DCOM също така предоставя регистър на услугите и търсене, което позволява на клиентите да получават информация за интерфейсни компоненти, както и параметрите, необходими, за да се обадя на конкретен метод.)

Комбинацията от ORB, IDL интерфейси и хранилище това е базовият модел на CORBA (фигура). Въпреки че моделът е показано на фигурата са показани не всички компоненти на архитектурата, тя дава представа за това как разнородни обекти, използващи CORBA взаимодействат.

ОБЕДИНЕНИЕ на

Като технология, която осигурява основната структура за взаимодействието на разнородни предмети, CORBA постигна забележителен успех и това въпреки факта, че тя представлява само част от още по-голяма управление обект архитектура (Object Management Architecture, OMA), състоящ се от следните компоненти:

  • CORBA ORB дръжки искания между обектите;
  • Сервизни (услуги) CORBA определя функциите ниво на обслужване система за контрол на обектите и да гарантират тяхната работа;
  • CORBA означава определя функционалност и интерфейси на ниво приложение;
  • Обекти молба имот.

Както вече споменахме, молба обект брокер контролира обмена на заявките между обектите. Но подобно на всички останали парчета от пъзела си пасват? Нека да погледнем на услуги, съоръжения и CORBA обекти.

CORBA услуга обект

Помощ в организацията на управление и поддръжка на обекти здраве през жизнения си цикъл, това е този зает CORBA услуги. Интерфейсите на тези услуги ще бъдат полезни за вас да създават свои съоръжения за сигурност, локализиране на обекти и контролни обекти на ниво клас. Тъй като тази система услуга, а не на приложния слой, те могат да бъдат изпълнени в рамките на организацията, т.е.. Е. За да спестите време и подпомагат съгласуваността в рамките на организацията.

Има 16 предмет предоставяне на услуги, в това число:

Поради факта, че службите на CORBA обект решават широк спектър от задачи, разработчиците могат да се съсредоточат върху подготовката на обекти, без да се притеснявате за услуги на системно ниво. Създаване на клас за вашия обект, след това ще се разшири функционалността му с помощта на обекти за услуги. За да се постигне това, можете да помогнете на механизми за разделение на подкласове (subclassing) и множествено наследяване. Например, след като създадете клас Widget, можете да се направи извод от това aWidget подклас, че наследява от стабилността на услугата Устойчивост. В допълнение, ще осигури предаването на съобщението за настъпване на събитието, на безопасността и ефективността на заявки, като използват механизма на наследяване от тези функции съответните услуги.

Възможността за разделяне на подкласове и множествена наследство CORBA удължен с включени в настоящата спецификация metaclasses. Metaclass е един клас от обекти, която се формира по време на изпълнението на програмата. С metaclass може да бъде динамично добавя към функциите на функции обекти CORBA услуги, т.е.. Д. Персонализиране на обекти, ако е необходимо.

Са всички предмети CORBA

интерфейс за приложни програми се състои от нестандартни инструменти, които са специфични за отделни приложения, като например архивиране или система за контрол съхраняват в склад материали. С домена интерфейси включват средства за крайните потребители в специфични области на приложение. (В този случай, домейнът е специфичен вертикален пазар или отрасъл.)

интерфейси на домейни, предназначени за специфични сегменти на пазара, а в интернет е средство за приложения функция ниво и интерфейси, насочени към широк пазар. Броят на интернет ресурси включват, например, средства за решаване на стандартни задачи на потребителя в рамките на приложението, например печат или запис на файл, както и обикновените задачи на мрежата, като например използването на електронна поща или мрежови функции.

ОБЕКТИ НА на приложни програми

Реални обекти, които съставляват ядрото съвместима с прилагането на CORBA, наречени бизнес обекти. Един бизнес обект е начин да се опише понятия, които не зависят от приложната програма, като клиент, заповед или плащане. За подготовката на приложението, което ще ви е необходим набор от бизнес обекти.

За разлика от обектите на системно ниво, които изпълняват задачи, като например поддържането на стабилността, бизнес обекти се занимават с процеси, които са характерни за реалния бизнес свят. Въпреки, че един типичен предмет на дейност е отговорен само за една задача (например, лечението на предварителни поръчки, работи с купувачи или склад), Business Objects комплекти могат да бъдат използвани за контрол на целия бизнес процес, като например продажба на билети и обработка на предварителни поръчки за полети. Като бизнес обекти се доставят готови за използване като разработчик може да ги комбинирате, за да приложна програма, съответстваща на изискванията на клиента.

За управление на сложни приложения с разпределени бизнес обекти в последната има само информация за това кои функции на услуги се извършват от други юридически лица, но не и за това как тези функции се изпълняват в действителност. Благодарение на бизнес обекти ние сме пощадени от сложността на изпълнението на вътрешния процес, защото ние можем да се съсредоточим върху интерфейсите.

Програмиране на разпределени среди

Компонент е набор от бизнес обекти на този процес, който капсулира данните и осигуряване на необходимите потребителски интерфейси. За взаимодействието на обекти в рамките на компонент, използван от ORB. Освен това, с помощта на кълбо обекти споделят информация за себе си, в резултат на обекти "знае" за съществуването на други обекти по време на изпълнение. По този начин, на компонента, има всичко необходимо, за да се покаже изображение на обекта и да си взаимодействат с него. Един типичен бизнес компонент може да се използва, например, за да се покаже разпределението на местата в 11-часов полет до Лос Анджелис, а другият за вписване на информация за резервация на места на този полет.

Удобства компоненти може да бъде удължен чрез добавяне на функция на системно ниво на услуги. Устойчивост функция е полезна за поддържане на състоянието на обектите в рамките на компонента. В допълнение, контролни функции и едновременност Сделки гарантиране на целостта на обектите в рамките на компонента. Тъй като тези обслужващи функции са интегрирани в CORBA, те могат да бъдат използвани за създаване на "умни" (SMART) компоненти, не е необходимо да ги програмира от нулата. Въпреки, че в DCOM има компонентите на системния регистър, както и справка услугата, няма начин да се поддържа състоянието на DCOM обекти между ставите. Поради тази липса на DCOM-ниско CORBA.

На ниво приложение, където множеството от гранични инфраструктурни компоненти, основни софтуерни структури определят как да се приложи съвместни действия на независими компоненти. Благодарение на добре дефинирани граници на всички компоненти заедно функционират като единен набор, така че усещането за единството на заявлението. Това е това единство позволява приложения, използващи разпределени обекти в хетерогенни среди, "прозрачен" интерфейс един с друг. "Прозрачна" интеграция означава, че потребителите възприемат заявлението като цяло, а не като сложен набор от коренно различни модули.

компонент на инфраструктурата на едно приложение може да бъде удължен до компонент на инфраструктурата на няколко програми. В този случай, CORBA е отговорен за обмена на информация между най-различни приложения в рамките на корпоративната система. За несъвместими с CORBA програми, като наследените приложения, можете да създадете обвивка (обвивки), която да им даде някакво подобие на CORBA обекти. Черупката действа като интерфейс изисква за достъп до специфични функции на старата програма.

Ако използвате CORBA интегрират наследените програми с клиентските процеси и сървър, имате всички компоненти на модела на няколко нива клиент-сървър. Едно ниво е визуалните обекти като интерфейси да бъдат пуснати на клиентския компютър. Друго ниво на сървърни обекти, които предоставят бизнес функции. Друго ниво се състои от наследени приложения, като бази данни на централния компютър.

И ZAKLYUENIE

Като се има предвид, че зад тази спецификация консорциум включва повече от 700 компании, CORBA е повече от мания, че стисна пазара. CORBA превъзхожда традиционния модел на три нива клиент-сървър се дължи на факта, че тя е напълно мащабируема и изключително гъвкава архитектура. Използване на CORBA, можете лесно да разшири мрежата, състояща се от три компютъра за мащаба на Интернет мрежа. CORBA осигурява основната рамка за да се свържете обекти програмирани на различни езици, и това не е от значение за каква платформа или операционна система, тези обекти са били създадени, ако има съвпадение CORBA фондове. Тъй като CORBA е предназначена за разнородни платформи, в момента тя има предимства пред DCOM. Въпреки това, като се има предвид силата на Microsoft, DCOM, със сигурност в близко бъдеще ще бъде сила, за да се съобразяваме.

Подкрепете проекта - споделете линка, благодаря!