Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Технологія CORBA і особливості проектування баз даних

Реферат Технологія CORBA і особливості проектування баз даних





це єдиний файл, що містить вищенаведене опис. Для файла з ім'ям, наприклад, SimpleIDL.idl будуть згенеровані файли SimpleIDL_c.hh, SimpleIDL_c.cpp (для використання на стороні клієнта) і SimpleIDL_s.hh, SimpleIDL_s.cpp. p align="justify"> Створення серверного програми

[4] Файли _s. * містять код, який дозволяє зв'язати серверний додаток з CORBA. Для нас найбільший інтерес представляє згенерований клас POA_MyInterface. Цей клас містить оголошення чисто віртуальної (абстрактної) функції Summa:

class POA_MyInterface: ...

{:

... CORBA :: Long Summa (CORBA :: Long _op1, :: Long _op2) (CORBA :: SystemException) = 0;

...

};

Оскільки клас POA_MyInterface є тільки основою для серверного додатка, його часто називають В«скелетомВ» або навіть В«скелетономВ» (skeleton).

Очевидно, що програмісту необхідно створити похідний від нього клас, в якому функція Summa була б визначена. Це можна зробити, наприклад, так:

class MyInterfaceImpl: public POA_MyInterface

{

public: () {} :: Long Summa (CORBA :: Long _op1, :: Long _op2) (CORBA :: SystemException);

}; :: Long MyInterfaceImpl :: Summa (CORBA :: Long _op1, :: Long _op2) (CORBA :: SystemException)

{_op1 + _op2;

}

Клас реалізацій MyInterfaceImpl часто створюється автоматично, наприклад, за допомогою експертів, що входять до складу Borland C + + Builder або Java Builder.

Тепер залишилося написати код функції main ():

# include

# include

# include "MyInterfaceImpl.h"

# pragma argsused (int argc, char * argv [])

{

{

// Ініціалізація взаємодії з CORBA :: ORB_var orb = CORBA :: ORB_init (argc, argv);

// Створення серванта майбутнього CORBA-об'єкта * servant = new MyInterfaceImpl;

// Створення тимчасового (transient)

// CORBA-об'єкта та отримання об'єктної посилання

CORBA :: Object_ptr oRef = servant-> _this ();

// Перетворення об'єктної посилання в рядок :: String_var str = orb-> object_to_string (oRef);

// Запис у файлoref_file ("MyORef.ior"); _file.write (str, strlen (str) +1); _file.close (); <<"Waiting for client requests ... ";

// Цикл очікування запитів клієнтів> run ();

} (const CORBA :: Exception & e)

{<

} 0;

}

Назад | сторінка 5 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Призначення CORBA і її об'єктно-орієнтованих компонентів
  • Реферат на тему: Інтегрований урок читання (1 клас), історії (3 клас)
  • Реферат на тему: Клас двійкового файлу, похідний від fstream
  • Реферат на тему: «Використання сучасних інформаційних і комунікаційних технологій у навчальн ...
  • Реферат на тему: Середній клас та його роль у стабілізації суспільства