ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    MIDAS і створення серверів додатків
         

     

    Інформатика, програмування

    MIDAS і створення серверів додатків

    Наталія Єлманова, Центр інформаційно Технологій

    Після виходу статті "Створення серверів додатків за допомогою Delphi 3" від читачів і слухачів проводяться в Навчально-консалтинговому центрі Interface Ltd. курсів, присвячених Delphi 3 і MIDAS, надійшла велика кількість питань, що стосуються технічних та організаційних аспектів розробки та експлуатації триланкового інформаційних систем з "тонким" клієнтом. Дана стаття присвячена особливостям і найбільш переважним архітектура побудови подібних інформаційних систем у випадку різних схем організації функціонування обслуговуваних ними підприємств, нових можливостей створення "тонких" клієнтів, які надаються Delphi 3.01/3.02 і С + + Builder 3.0, відповідей на найбільш часто зустрічаються, а також найбільш розповсюджених помилок при створенні серверів додатків і "тонких" клієнтів.

    Різні архітектури побудови триланкового інформаційних систем

    Нерідко у потенційних користувачів MIDAS виникають питання про способи побудови багатоланкових інформаційних систем, найбільш відповідають потребам саме їх підприємства, у тому числі питання про те, скільки потрібно мати серверів додатків, як конфігурувати клієнтські робочі станції, які можливості здійснення і зміни конфігурації робочих станцій віддалено, наприклад, через Internet або за допомогою модемного зв'язку.

    Багатоланкові інформаційні системи можна побудувати різними способами, і вибір тієї чи іншої архітектури істотно залежить від кількості користувачів такої ІС, ступеня територіальної розкиданості підприємства, потреби в централізованому зберіганні та обробці даних, частоти оновлення версій використовуваних автоматизованих робочих місць і структури бази даних.

    Перший часто зустрічається випадок - велике або середнє підприємство, розташоване компактно і має загальну локальну мережу. У цьому випадку нерідко корпоративні дані зберігаються в загальній для всіх серверної СКБД. Перехід до триланкової архітектурі в цьому випадку проводиться головним чином з метою зниження витрат, пов'язаних з конфігурацією робочих станцій (встановлення та налаштування клієнтської частини серверної СКБД, настроювання BDE, оновлення версій автоматизованих робочих місць) і підтримкою їх в робочому стані, і, по другу чергу - з метою зниження мережевого трафіку і підвищення надійності експлуатації системи в цілому. У цьому випадку найбільш прийнятним представляється наявність у мережі декількох комп'ютерів, на яких встановлені MIDAS і OLEnterprise і експлуатуються одні й ті самі сервери додатків, при цьому відомості про них експортовані до глобального реєстру (наприклад, за допомогою утиліти Object Explorer). На робочих станціях в цьому випадку встановлюється Run-time -- версія OLEnterprise, і всі описи серверів додатків імпортуються в локальні реєстри. При такій конфігурації робочі станції підключаються до серверів додатків випадковим чином і в разі відмови одного з серверів ці підключення виявляться рівномірно розподіленими по іншим серверам.

    В випадку дуже великого числа користувачів і високої інтенсивності транзакцій можна рекомендувати як альтернативу "саморобним" серверів додатків сервери додатків Borland Entera, які, на відміну від серверів, створених за допомогою Delphi, можуть керуватися не тільки допомогою Windows 95 і Windows NT, але і за допомогою інших операційних систем (зокрема, різних версій Unix). У цьому випадку замість Delphi Client/Server Suite слід використовувати Delphi Enterprise, що дозволить створити "тонких" клієнтів для використання Entera як сервер додатків.

    Другий випадок, характерний, зокрема, для багатьох підприємств нафтової і газової промисловості, великих торгових об'єднань, а також різних міжрайонних та міжрегіональних служб, від податкових інспекцій до авіаційних кас -- підприємство, що має кілька територіально розкиданих підрозділів (можливо, навіть в різних містах), не зв'язаних локальною мережею між собою. Нерідко такі підприємства мають кілька локальних інформаційних систем і набір пов'язаних з цим проблем, таких, як підтримка актуальності даних під всіх цих інформаційних системах, реплікація даних, об'єднання даних з декількох інформаційних систем для їх спільного аналізу та складання підсумкових зведень та звітів. Перехід до триланкової архітектурі в разі таких підприємств здійснюється з метою усунення цих проблем та організація централізованого зберігання і обробки даних (а нерідко також з метою зниження тих самих витрат на конфігурацію робочих станцій, що і в попередньому випадку). Звичайно в цьому випадку найбільш прийнятним представляється установка сервера баз даних і сервера додатків в центральному офісі (не обов'язково на одному і тому ж комп'ютері), при цьому останній повинен бути оснащений MIDAS і бути доступним через Internet. Робочі станції філій повинні бути оснащені Internet Explorer 3.0 і вище, при цьому і розробники, і користувачі робочих станцій видалених філій повинні мати доступ не тільки до комп'ютера, що містить сервер додатків, але і до будь-якого web-сервера (його місце розташування не грає істотної ролі, оскільки перші лише відправляють туди нові версії "тонких" клієнтських додатків, а друга вивантажувати їх на свої робочі станції). У цьому випадку ніяких особливих вимог до робочих станцій, крім наявності Internet Explorer 3.0, а також доступу в Internet, немає. У цьому випадку, природно, також можливе використання Borland Entera і Delphi Enterprise замість MIDAS і Delphi Client/Server Suite.

    В разі неможливості доступу через Internet можливі інші варіанти, такі, як використання виділеної лінії, модемний зв'язок та ін Реалізація зв'язку не так принципова - аби при цьому була можливість використання протоколу TCP/IP. Природно, при частих збоїв і розривах з'єднання рекомендується активно використовувати кешування даних на робочих станціях, зберігати вміст кеша в файлах і завантажувати їх звідти, благо у компонента TClientDataSet є методи SaveToFile і LoadFromFile.

    Можливі різні комбінації цих варіантів, наприклад, доступ по протоколу TCP/IP і наявність кількох однотипних серверів додатків. Дати рекомендації на всі випадки життя, звичайно, неможливо, але наявні завдяки коштам розробки Borland технічні можливості надають розробникам і керівникам відділів автоматизації досить великий простір для фантазії при організації інформаційних систем підприємств, і достатній вибір варіантів їх побудови.

    Створення сервера додатків і "тонкого" клієнта з доступом через TCP/IP в Delphi 3.01/3.02 і в С + + Builder 3.0.

    Створені за допомогою Delphi 3.0 клієнт і сервер додатків могли взаємодіяти за допомогою OLEnterprise або DCOM. У версії Delphi 3.01появілась також можливість організувати зв'язок клієнта і сервера безпосередньо за допомогою протоколу TCP/IP. Для цього в палітрі компонентів останніх версій Delphi (3.01 і 3.02) є компонент TMidasConnection, що володіє більшою функціональністю в порівнянні з TRemoteServer з Delphi 3.0. Цей компонент дозволяє вибрати тип з'єднання з сервером додатків (DCOM, OLEnterprise, безпосереднє використання протоколу TCP/IP). При його використанні процес створення сервера додатків і клієнта помітно спрощується, тому що у випадку доступу по протоколу TCP/IP в загальному випадку немає необхідності мати в реєстрі комп'ютера, на якому встановлено "тонкий" клієнт, будь-які відомості про сервері додатків. Розглянемо найпростіший приклад створення такої системи.

    Почнемо з створення сервера додатків. Створимо головну форму додатку, основне призначення якої - служити індикатором запущеного сервера. З цією метою можна розмістити її де-небудь у кутку екрану, а властивість FormStyle встановити рівним fsStayOnTop, щоб не втратити це вікно серед інших відкритих вікон. Далі слід створити видалений модуль даних, вибравши піктограму Remote DataModule з сховища об'єктів, помістити в нього компонент TTable або TQuery, встановивши необхідні значення властивостей DatabaseName і TableName. Властивість Active також слід встановити рівним True (або встановити його динамічно при створенні модуля даних). В іншому випадку компонент не буде містити ніяких даних, і тим більше надавати їх клієнтського додатку (рис.1).

    Рис.1. Форма і видалений модуль даних сервера додатків

    Потім потрібно обов'язково експортувати цей компонент з модуля даних (або зв'язати його з компонентом TProvider і експортувати останній). Якщо цього не зробити, клієнтська програма не буде мати доступу до цього об'єкта (ця помилка є досить типовою). Основне призначення віддаленого модуля даних полягає саме в наданні що містяться в ньому компонентів доступу до даними можливості бути видимими і керованими ззовні, тобто з інших додатків (і в загальному випадку - з інших комп'ютерів, в тому числі доступних НЕ тільки за допомогою локальної мережі, але і за допомогою Internet). Проконтролювати наявність у віддаленому модулі даних об'єктів, видимих ззовні, можна, переглянувши відповідну бібліотеку типів (рис.2).

    Рис.2. Бібліотека типів, пов'язана з віддаленим модулем даних

    Якщо для доступу до даних необхідний компонент TDatabase, його зазвичай розміщують на головною формою додатка, або в звичайному модулі даних. Чому при використанні компонента TDatabase його зазвичай не поміщають у віддалений модуль даних? Якщо цей компонент розмістити в віддаленому модулі даних, то можуть виникнути проблеми, пов'язані з тим, то за кількох підключених можуть бути конфлікти між кількома його екземплярами - адже кожне нове підключення створює свій екземпляр віддаленого модуля даних. Тому слід подбати про різних іменах сесії користувачів, щоб уникнути таких конфліктів, або, якщо це дозволяють міркування безпеки, використовувати для всіх підключень загальний компонент TDatabase.

    Потім, якщо є бажання проконтролювати число які об'єдналися з сервером клієнтів, можна створити обробники подій OnCreate і OnDestroy віддаленого модуля даних, у яких значення будь-якої цілої змінної відповідно збільшується або зменшується на одиницю і при необхідності відображається в будь-якому интерфейсному елементі головної форми сервера додатків.

    Після цього сервер додатків можна скомпілювати і запустити на виконання. Це потрібно для того, щоб зареєструвати його як OLE-сервер в реєстрі Windows. За приводу реєстрації сервера також слід зробити одне зауваження. Автору довелося спостерігати випадок, коли системний адміністратор зумів налаштувати операційні системи на комп'ютерах розробників відділу автоматизації одного з московських підприємств таким чином, що у них не було ніякої можливості змінювати щось у своїх реєстрах. При цьому, природно, і сервери додатків також у реєстрах не реєструвалися. Якщо при створенні сервера додатків він не реєструється в реєстрі, можливо, цей випадок подібний до описаного. А може Можливо, просто помилково замість віддаленого створений звичайний модуль даних ...

    Якщо узагальнити даний випадок, то, образно кажучи, сервери додатків такого класу зобов'язані містити або генерувати якийсь набір SQL-запитів для змін в базі даних і послати на сервер баз даних по команді клієнтського додатку. Наш сервер додатків використовує для генерації запитів бібліотеку Borland Database Engine. Інші сервери додатків, такі, наприклад, як Borland Entera, використовують інші механізми створення запитів, обумовлені певною мірою тією платформою, на якій цей сервер додатків функціонує. У будь-якому випадку саме набір SQL-запитів є самою головною складовою функціональності такого сервера додатків. Що ж до призначеного для користувача інтерфейсу сервера додатків (форма з лічильником підключень або щось в цьому роді), він зовсім необов'язковий. Врешті-решт, сервер додатків може не мати головної форми або не показувати її, або може бути запущений у вигляді сервісу. Якщо ж говорити знову про загальному випадку (коли мова йде не тільки про сервери додатків, створених за допомогою Delphi, але і про інших подібних серверах додатків, у тому числі для інших платформ), то ж не всі платформи володіють графічним інтерфейсом користувача, і, отже, створення такого об'єкта, як форма, можливо не на всіх платформах. Не варто спокушатися -- найдорожчі сервери додатків нерідко просто запускаються з командного рядка і не мають інтерфейс у звичному для користувачів Windows розумінні.

    В відомому сенсі сервер додатків і "тонкий" клієнт представляють собою розділене на дві частини класичне клієнтський додаток, зване в сукупності з клієнтом серверної СКБД і бібліотеками доступу до даних, такими як BDE, "товстим" клієнтом. Перша частина (створений нами сервер додатків) містить компоненти доступу до даних (і вимагає наявності BDE і клієнта серверної СКБД), а друга (клієнт) повинна містити користувальницький інтерфейс (і не вимагати наявності BDE і клієнтської частини серверної СКБД).

    Перш ніж приступити до створення "тонкого" клієнта, запустимо Borland MIDAS Socket Server scktsrvr.exe (його можна знайти в каталозі Delphi 3.0Bin), що надає доступ ззовні до наявних на даному комп'ютері серверів додатків, створених за допомогою Delphi 3, по протоколу TCP/IP. Відзначимо, що в цьому випадку будь-який з наявних серверів додатків може бути запущений з будь-якого комп'ютера, що має доступ до Вашого комп'ютера за допомогою даного протоколу, тому при використання подібних систем слід розглядати різні питання, пов'язані з безпекою їх експлуатації.

    Рис.3. Borland MIDAS Socket Server

    Тепер, нарешті, можна створити клієнтську програму. Для цього створимо звичайну форму (або виберемо зі сторінки ActiveX сховища об'єктів піктограму ActiveForm для створення клієнтського компоненту ActiveX). На форму помістимо компонент TMidasConnection і встановимо його властивість ComputerName рівним IP-адресою комп'ютера, на якому повинен виконуватися сервер додатків. Якщо цей комп'ютер в даний момент доступний в мережі, можна вибрати його ім'я зі списку, з'являється при натисканні навпроти імені цієї властивості. Але треба розуміти, що в загальному випадку, особливо якщо клієнтський додаток призначений для доступу до сервера через Internet, вказівка саме IP-адреси є більш кращим. Далі слід встановити значення властивості ServerName в наступному форматі: <ім'я файлу, що виконується>. <ім'я OLE-сервера>, наприклад MyAppSrv.MyRemDataMod1. Властивість ServerGUID можна не встановлювати. Якщо сервер додатків не зареєстрований на комп'ютері, де розробляється клієнт, значення цієї властивості має залишитися порожнім, і це не завадить спільній роботі сервера і клієнта - адже в загальному випадку при розповсюдженні клієнтського застосування або ActiveX через Internet в реєстрі комп'ютера, де воно буде виконуватися, немає і не може бути відомостей про сервері додатків.

    Властивість Connected можна встановити рівним True (або зробити інсталяцію цієї властивості рівним True на етапі виконання в момент створення форми клієнтського додатки). Після цього має запуститися сервер додатків (у тому числі віддалений).

    Далі слід помістити на форму компонент TClientDataSet, вибрати ім'я компонента TMidasConnection в якості значення властивості RemoteServer і вибрати значення властивості Provider зі списку об'єктів, експортованих з віддаленого модуля даних сервера додатків. Тепер можна встановити властивість Active рівним true. Далі слід помістити на форму компонент TDataSource і пов'язати його з компонентом TClientDataSet.

    Після цього можна зайнятися для користувача інтерфейсом, помістивши на форму необхідні компоненти відображення даних (рис. 4). Слід також як обробника якого-небудь події викликати метод ApplyUpdates компонента TClientDataSet, інакше зміни будуть накопичуватися в кеші і не будуть зберігатися в базі даних.

    Рис. 4. Активна форма на етапі проектування.

    Далі можна запустити і протестувати клієнтську програму, а якщо він виконаний у вигляді ActiveX - здійснити його постачання на Web-сервер разом з бібліотекою dbclient.dll і протестувати, звернувшись до згенерованої HTML-сторінці (мал. 5).

    Рис.5. Тестуєованіе "тонкого" клієнтського застосування

    Відзначимо також, що можна звернутися до створеної HTML-сторінці з іншого комп'ютера локальної мережі.

    Слід звернути увагу на те, що web-сервер зовсім не зобов'язаний перебувати на тому ж самому комп'ютері, що і сервер додатків. Призначення web-сервера в такій інформаційній системі вельми утилітарно - він є лише сховище, звідки можна вивантажити ActiveX, і нічого більше. Якщо говорити про передачі ActiveX через Internet та доступ до сервера додатків через Internet, то в принципі можлива ситуація, коли сервер додатків, Web-сервер і користувач знаходяться у трьох різних містах, користувач звертається до свого провайдера у своєму місті, а як саме він отримує ActiveX і звертається до сервера додатків, його як користувача Internet цікавити не повинно.

    Нерідко при створенні таких ActiveX задаються запитання на кшталт: "А якщо додаток повинно містити кілька форм, що мені робити? ". Відповідь досить простий: у цьому випадку можлива генерація додаткових форм динамічно при настанні якої-небудь події (наприклад, натискання на кнопку). Потрібно тільки не забути знищити створену форму, коли вона стане не потрібна. Слід також пам'ятати, що бібліотека OCX, що містить ActiveX, що містить, у свою чергу, кілька форм, буде мати більший розмір, ніж у випадку ActiveX c однієї формою.

    Досить часто зустрічаються питання, пов'язані з тим, що ActiveX не відображається в броузері. Ось один з таких листів:

    Здравствуйте, Наталія Єлманова!

    Прочитав вашу статтю на Web-сайті www.interface.ru. Пробую створити сервер додатків з використанням ActiveForm. Після створення і перенесення CAB-файлу і Web-сторінки на Web-сервер сторінка відкривається, але на місці передбачуваної аплікації тільки квадратик. Поясніть, в чому може бути проблема.

    З повагою Слава. [email protected]

    Причин такої поведінки може бути кілька. Перша причина пов'язана з тим, що далеко не всі броузери підтримують відображення ActiveX за допомогою тега . Для відображення ActiveX слід використовувати тільки MS Internet Explorer версії 3.0 і вище. Друга причина може бути пов'язана з налаштуванням рівня безпеки броузера. У разі максимального рівня безпеки (значення, прийняте за замовчуванням) ніякої виконуваний код (у тому числі і ActiveX) в броузер не виконується, а деякі версії Internet Explorer не тільки не вивантажувати ActiveX і тим більше не виконують її, але при цьому ще й нічого не повідомляють користувачеві. Є ще й третя причина - налаштування операційної системи комп'ютера користувача такі, що користувачеві заборонено змінювати реєстр, і в цьому випадку ActiveX в ньому, природно, не зареєструється.

    Поставка "тонких" клієнтів

    Як вже неодноразово зазначалося, постачання "тонких" клієнтських додатків є набагато простіший процес, ніж постачання "товстих" клієнтів. Для функціонування такого клієнта вимагається, крім виконавчого файлу, наявність бібліотеки dbclient.dll (її можна знайти в каталозі WindowsSystem на комп'ютері розробника і скопіювати або в аналогічний каталог комп'ютера користувача, або в каталог, що містить виконуваний файл клієнтського додатка). Якщо мова йде про створення стандартного дистрибутиву за допомогою InstallShield Express або іншого аналогічного кошти, слід відмовитися від включення BDE і SQL Links в його складу, а включити лише файли, необхідні для функціонування клієнтського додатки, і бібліотеку dbclient.dll.

    Якщо клієнтський додаток виконано у вигляді іcполняемого у броузері ActiveX, слід вибрати dbclient.dll в закладці Deploy Additional Files діалогової панелі Web Deployment Options. При поширенні ActiveX через Internet рекомендується вибрати також опцію "Use CAB file compression" для зменшення часу передачі його по мережі.

    Постачання серверів додатків

    Якщо з поставкою "тонких" клієнтів усе більш-менш зрозуміло, то поставка серверів додатків і пов'язані з нею проблеми викликали найбільший наплив питань.

    Нерідко розробники, що створили сервер додатків і успішно протестувати його на комп'ютері, на якому проводилася розробка, стикаються з труднощами при перенесення цього сервера додатків на інший комп'ютер - він відмовляється там виконуватися або працює некоректно. Питання з цього приводу зазвичай містять опис проблеми і формулюються приблизно так: "Що має бути встановлене на комп'ютері, на якому експлуатуються сервер додатків? ". Наприклад, Георгій Бурик і Михайло Шунін з ВЦ ВАТ "Аерофлот-Російські Міжнародні авіалінії" запитують у своєму листі:

    Ми намагаємося встановити віддалене з'єднання з базою даних, використовуючи компонент TMidasConnection. На серверної частини (WindowsNT) працює серверний додаток - TProvider, TQuery і TDataBase в RemoteDataModule і головна форма, що показує лічильник клієнтів (аналог приклади з DEMOSACTIVEFMEMPEDITServer.dpr з поставки Delphi 3.01).

    В директорії з додатком-сервером знаходиться програма scktsrvr.exe (вона запускається як додаток) і dbclient.dll. Програма-сервер запущено.

    Клієнтське додаток містить DataModule c ClientDataSet, Query і MidasConnection і головну форму з DBGrid, налаштованим на Query. Властивості MidasConnection виставлені в такий спосіб:

    ComputerName - IP-адресу сервера,

    ConnectType - stSockets

    ServerGuid - (56791B61-7625-11D1-A3B8-00C0DF817EF4) - (Взято з тексту

    програми сервера)

    ServerPort - 211

    UserBroker - False

    При установці властивості Connected компоненту MidasConnection рівним true лічильник клієнтів у додатку-сервер збільшується на 1 і при скиданні Connected в false зменшується. Тобто начебто додаток-сервер "відчуває" підключення програми-клієнта. Однак при установці ClentDataSet.Active рівним true виникає помилка - "Помилка при завантаженні бібліотеки" без додаткових пояснень. Про яку бібліотеку йде мова?

    З повагою, Михайло Шунін, Георгій Бурик ВЦ ВАТ "Аерофлот-Російські Міжнародні авіалінії "[email protected] [email protected]

    Мова йде про одну з бібліотек, які входять до складу MIDAS і повинні знаходитися на сервері додатків. Це бібліотеки IDPROV32.DLL (вона повинна бути в тому ж каталозі, що і BDE), DBCLIENT.DLL і STDVCL32.DLL (ці бібліотеки повинні бути в каталозі WindowsSystem і повинні бути зареєстровані в реєстрі).

    В Загалом же на цей та інші подібні питання можна відповісти наступне. На комп'ютері, де виконується сервер додатків, повинен бути встановлений MIDAS. У його складу входить BDE, SQL Explorer (ConstraintBroker Manager), вищезгадані бібліотеки, а також OLEnterprise. До складу Delphi 3 Client/Server Suite входить тільки MIDAS Development Kit, що включає ліцензію розробника і обмежену версію MIDAS, що дозволяє створювати сервери додатків, тестувати їх, але не що дозволяє займатися їх постачанням. Для постачання та промислової експлуатації серверів додатків, створених за допомогою Delphi 3, потрібна повна версія MIDAS, що надає, поряд з необхідними бібліотеками і утилітами, право експлуатації будь-якої кількості серверів додатків на тому комп'ютері, де вона встановлена. Природно, комплектів MIDAS потрібно стільки, скільки в мережі є комп'ютерів з підтримуваними MIDAS серверами додатків. Експлуатація серверів додатків без наявності повної версії MIDAS на комп'ютері, де вони встановлені, є порушенням ліцензійної угоди Delphi.

    Деякі інші питання

    Подивився Вашу статтю: http://www.interface.ru/Borland/MIDAS1/d3ap.htm. Дуже сподобалося. Не могли б Ви уточнити, як вручну відредагувати реєстр (які ключі додати або відредагувати), щоб OLE-об'єкт сприймався не як локальний, а як віддалений? На жаль, зі статті я цього не зміг зрозуміти.

    З повагою Олексій Гудков, ВАТ ІК "РИФ" [email protected]

    В принципі, це робиться за допомогою утиліти DCOMCNFG (в Windows NT 4 вона є, а для Windows 95 можна знайти і цю утиліту, і сам клієнт DCOM на Web-сервер Microsoft). Але якщо здійснювати з'єднання клієнта і сервера за допомогою DCOM, сервер при цьому не зможе працювати під управлінням Windows 95. Крім того, потрібно на сторінці Access Control розділу Network в Control Panel вибрати опцію User Level Access Control, що відрізняється від установок, прийнятих за замовчуванням, а також експортувати з первинного контролера домену відомості про користувачів, а потім описати, кому з них Ви дозволяєте цей сервер запускати. Природно, в мережі при цьому обов'язково має бути первинний контролер домену.

    З допомогою OLEnterprise (зокрема, Object Explorer) все це зробити простіше, так як в цьому випадку наявність первинного контролера домену не обов'язково, експорт імен теж не потрібна, і сервер може працювати під управлінням Windows 95. Щоб сервер сприймався як віддалений, у розділ комп'ютера-сервера HKEY_LOCAL_MACHINESOFTWAREClassesCLSID () додається підрозділ OLEnterpriseExport, а в розділ комп'ютера-клієнта HKEY_CLASSES_ROOTCLSID () додається розділ DapDCEClient <ім'я виконуваного файлу>. <ім'я OLE-сервера> c набором параметрів, представлених на рис. 6.

    Рис.6 Розділ DapDCEClient реєстру клієнта при імпорті об'єкта

    Уважаемая Наталія Єлманова!

    Прочитавши Вашу статтю, я спробував створити додаток-сервер, і в мене виникло питання -- як встановити зв'язок master-detail в віддаленому модулі даних без компонентів DataSource?

    Буду дуже вам вдячний за відповідь.

    З повагою Денис Бокатий [email protected]

    Можна створити модифікується SQL-запит до обох таблиць, що містить пропозицію WHERE, і помістити його в видалений модуль даних замість компонентів TTable. Крім того, можна помістити компонент TDataSource, що використовується для зв'язку таблиць, у звичайний модуль даних або на форму. Іноді також можна зв'язок master/detail встановити не на сервері додатків, а в клієнта (при невеликих обсягах таблиць це може бути навіть вигідніше з точки зору продуктивності). Відзначимо, що найбільш загальноприйнятий метод встановлення такого зв'язку має на увазі опис її в словнику даних сервера додатків за допомогою SQL Explorer (ConstraintBroker Manager), що входить до складу MIDAS, з метою передачі відомостей про неї клієнтського додатку.

    Здравствуйте, Наталія!

    Велике спасибо Вам за увагу, яку Ви нам приділили. Ваші поради нам допомогли. ... Думаю, що було б добре "оглянути", що є у користувачів Delphi кошти для створення додатків для Internet, що працюють з базами даних. За мене, то можна виділити три групи засобів:

    "Рідні" засоби Delphi з палітри компонентів Internet - дозволяють працювати з будь-яким www-сервером під управлінням Windows NT або Windows 95, але вимагають знання HTML і незручні при налагодженні додатків (може побут, ь в цьому я й помиляюся, так як сам цей спосіб не реалізовував).

    Розробка з використанням бібліотек Baikonur від Epsylon Technologies - вони чудові, зручні у розробці і налагодженню, не потребують (не торкаючись складних випадків) знання HTML, але необхідне встановлення сервера Baikonur, що можливо, частіше за все, в корпоративній мережі, а провайдери неохоче йдуть на установку широко не відомого (на жаль) продукту.

    Розробка з використанням ActiveForm і многозвеннних додатків - це дуже зручно в розробці, налагодженні і супроводі, не потрібно (не торкаючись складних випадків) знання HTML, але при роботі в "повільному" Internet не кожен користувач дочекається закінчення завантаження ActiveX. Думаю, що більш докладний аналіз цих коштів допоможе зорієнтуватися багатьом розробникам на Delphi -- Адже перехід до перенесення додатків в Internet, мабуть, неминучий.

    З повагою, Михайло Шунін начальник відділу програмування КІВЦ ВАТ "Аерофлот" [email protected], www.aha.ru/ ~ gemis

    Розробка web-додатків, пов'язаних з динамічним генерацією HTML-сторінок - це дійсно цікава і важлива тема, якої, мабуть, буде присвячена один з найближчих статей, присвячених продуктам Borland.

    Що Щодо сервера Baikonur від Epsylon Technologies - це дійсно цікавий продукт, що наочно демонструє, які можливості надають розробникам технології Borland, використані при його створенні. Не можна не відзначити, що цей продукт є, по суті, сервером додатків, що надають можливість їх візуально створювати. Своєю технологічної спрямованістю цей продукт помітно виділяється серед вітчизняних програмних продуктів, орієнтованих в основному на російську національну специфіку (не секрет, що це головним чином бухгалтерські, фінансові та офісні програми, юридичні бази даних, ігри, мультимедіа-енциклопедії, OCR, різні програми лінгвістичного призначення - достатньо відвідати черговий SofTool, щоб у цьому переконатися). Залишається тільки побажати удачі компанії Epsylon Technologies, що розробила цей цікавий продукт і сподіватися на те, що автори Baikonur зможуть написати про нього і використаних при його створенні технологіях більше докладно.

    Що стосується використання ActiveForm і багатоланкових додатків - я сподіваюся, що справжня стаття певною мірою виконує це побажання.

    Кілька слів для користувачів C + + Builder.

    Всі викладене в даній статті (і в інших статтях, присвячених серверів додатків і MIDAS) однаковою мірою (з точністю до написання коду, якого, за суті, не так вже й багато) відноситься і до С + + Builder 3.0. У нову версію C + + Builder активувати MIDAS на рівні компонентів (маються компоненти TClientDataSet, TRemoteServer, TMidasConnection, TProvider), експерти для створення віддалених модулів даних і ActiveX, і є MIDAS Development Kit для створення серверів додатків. Відмінність від Delphi полягає в тому, що для створення ActiveX використовується бібліотека Active Template Library (ATL), тоді як Delphi використовує власні засоби створення ActiveX. Одночасна розробка сервера додатків і клієнта в C + + Builder здійснюється навіть більш просто, ніж в Delphi, завдяки новим засобам керування проектами, що дозволяє завантажити в середовище розробки кілька проектів одночасно. Відзначимо також, що за допомогою C + + Builder Enterprise можлива розробка "тонких" клієнтів для Borland Entera. Таким чином, C + + Builder, поряд з Delphi 3, тепер є інструментом, що дозволяє створювати сервери додатків і "тонкі" клієнтські програми, в тому числі у вигляді виконуваних у web-броузері елементів ActiveX.

    В Насамкінець хотілося б подякувати авторів численних (як процитованих, так і багатьох інших) листів, що надійшли після публікації статті про сервери додатків, що свідчать про те, що дана тема являє певний інтерес для читачів.

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://www.citforum.ru/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status