Засоби розробки додатків, Різне, Програмування, статті

Зміст



Попередня стаття цього циклу була присвячена розгляду логічного та фізичного проектування даних і інструментальним засобам, що використовуються в даному процесі. Ми переконалися в тому, що проектування даних відіграє ключову роль при розробці інформаційних систем – адже від якості виконання цієї роботи залежать витрати, пов’язані зі створенням додатків для кінцевих користувачів, а також з подальшим супроводом і модернізацією створеного продукту. Результатом цього етапу є “порожня” база даних (тобто база даних, таблиці якої здебільшого не містять записів, за винятком, можливо, таблиць довідкового характеру типу списку суб’єктів Російської Федерації або телефонних кодів міст).


Наступний етап життєвого циклу інформаційної системи – розробка клієнтських додатків. Результатом цього етапу є готовий продукт, що складається з ряду додатків, що дозволяють користувачам вводити дані в таблиці або редагувати вже існуючі дані, аналізувати введені дані і представляти їх у більш зручному для сприйняття вигляді – графіків, зведених таблиць або звітів (у тому числі у вигляді “Паперових” документів).


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


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


Класифікація засобів розробки додатків


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


Практично будь-який засіб розробки, мало-мальськи претендує на універсальність, можна змусити працювати з будь-якою базою даних – достатньо підтримки застосування в цьому засобі розробки сторонніх бібліотек та наявності у цієї бази даних набору клієнтських інтерфейсів (API) для платформи, на якій повинні функціонувати створені додатки. Проте далеко не будь-яка пара продуктів “засіб розробки плюс СУБД “приваблива з точки зору трудовитрат, пов’язаних зі створенням подібних додатків. Можна написати повноцінне додаток, що викликає функції клієнтського API і реалізує зручний користувальницький інтерфейс за допомогою компілятора мови С і найпростішої графічної бібліотеки (наприклад, що дозволяє змінювати колір пікселів на екрані) для тієї операційної системи, в якій працюватиме цю програму. Але витрати, пов’язані з реалізацією подібного проекту, можуть виявитися зовсім невиправданими – адже в цьому випадку розробникам доведеться реалізовувати функції, які вже містяться в бібліотеках класів і компонентів засобів розробки, більш глибоко орієнтованих на створення додатків з базами даних або включають підтримку створення таких додатків.


Засоби розробки, орієнтовані на конкретні СУБД


Років десять-двадцять тому в багатьох програмах, що використовують бази даних, функції клієнтського API викликалися з коду, написаного на одній з мов програмування, найчастіше на C. Досить поглянути на опис API клієнтської частини майже будь серверної СУБД – і ви знайдете чимало прикладів найбільш типових фрагментів коду, наприклад, для реєстрації користувача, виконання запитів і т.п. Однак досить швидко розробникам СУБД стало ясно, що трудовитрати, пов’язані з написанням подібного коду, можна істотно скоротити, зібравши в бібліотеки найтиповіші фрагменти коду і найбільш часто зустрічаються елементи призначеного для користувача інтерфейсу (нехай навіть і для алфавітно-цифрових терміналів), оформивши ці бібліотеки у вигляді окремого продукту і додавши до нього середовище розробки і утиліти проектування користувацьких форм для перегляду і редагування даних, а також звітів. Саме так і з’явилися перші засоби розробки, орієнтовані на конкретні СУБД, такі, наприклад, як Oracle * Forms (попередник нинішнього Oracle Forms Developer).


Продукти цього класу на ринку засобів розробки є і сьогодні. Майже всі виробники серверних СУБД виробляють і засоби розробки додатків. У переважній більшості випадків сучасні версії цих засобів розробки підтримують доступ до СУБД інших виробників як мінімум з допомогою одного з універсальних механізмів доступу до даних (ODBC, OLE DB, BDE). Однак доступ до “своєї” СУБД зазвичай здійснюється максимально ефективним способом, тобто за допомогою клієнтських API, об’єктів, що містяться в бібліотеках клієнтської частини серверних СУБД, спеціальних класів для доступу до даних цієї СУБД або за рахунок реалізації драйверів для універсальних механізмів доступу до даних, здатної враховувати специфічні особливості даної СУБД.


В окрему категорію можна виділити середовища розробки настільних СУБД. У статті даного циклу, присвяченій настільним СУБД, ми вже відзначали, що переважна більшість настільних СУБД, що дожили до сьогоднішнього дня, таких як Microsoft Visual FoxPro, Microsoft Access, Corel Paradox, Visual dBase, підтримують доступ до серверних СУБД, як мінімум, за допомогою універсальних механізмів доступу до даних, що дозволяє умовно віднести їх і до категорії засобів розробки. Відзначимо, однак, що в даний час створення додатків в архітектурі “клієнт-сервер” з їх допомогою – явище нечасте. Виняток, мабуть, складають пари Microsoft Access – MSDE, Microsoft Access – Microsoft SQL Server і Microsoft Visual FoxPro – Microsoft SQL Server. Тут у наявності результат грамотної політики Microsoft, яка прагне до максимальної сумісності своїх продуктів і забезпечує найбільш безболісну для користувачів заміну своїх настільних СУБД власними ж серверами баз даних (Access-> MSDE-> Microsoft SQL Server, FoxPro-> Visual FoxPro-> Microsoft SQL Server).


Засоби розробки, універсальні по відношенню до СУБД


Засоби розробки, універсальні по відношенню до СУБД (або претендують на подібну універсальність), як правило, є послідовниками звичайних засобів розробки додатків, що не мають прямого відношення до баз даних. Типові приклади таких засобів розробки – Borland Pascal, Borland C + +, Microsoft QuickC. Здатні використовувати бібліотеки сторонніх виробників, ці кошти дозволяли звертатися до функцій клієнтських API, а з розвитком універсальних механізмів доступу до даних (таких як ODBC) – і до функцій API бібліотек, що реалізують такі механізми. Зазначимо, що нерідко за допомогою цих засобів розробки створювалися середовища настільних СУБД (таких як dBase, FoxBase) або псевдокомпілятори для мов сімейства xBase (наприклад, Clipper).


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


До першої категорії відносяться засоби розробки, що володіють великими бібліотеками класів, великою кількістю “майстрів” і кодогенераторов, але орієнтовані на “ручне” створення коду і досить рідко застосовувані для створення “стандартних” додатків для роботи з базами даних (тут під словосполученням “стандартний додаток” ми маємо на увазі додаток, що має безпосередній доступ до бази даних, з яким взаємодіє користувач, тобто є “класичним” клієнтом серверної СУБД). Типовим (і єдиним справді популярним на ринку програмного забезпечення) представником цього класу продуктів є Microsoft Visual C++. За допомогою Microsoft Visual C + + і бібліотеки MFC (Microsoft Foundation Classes) можна створювати будь-які програми, якщо ви володієте навиком, знаннями, вмінням і часом. Проте програми, що володіють складним для користувача інтерфейсом (наприклад, використовують бази даних), з його допомогою розробляють не так часто (хоча приклади подібного його використання можна знайти навіть у вітчизняній літературі). В основному цей продукт застосовується для створення клієнтських додатків у разі пред’явлення до них особливих вимог, таких, наприклад, як висока продуктивність, здатність здійснювати будь-які нестандартні операції і пр.


До другої категорії відносяться засоби розробки з розвиненими візуальними інструментами, що дозволяють буквально “малювати” користувальницький інтерфейс, частково стираючи відмінності між роботою програміста і користувача і здешевлюючи кінцевий продукт за рахунок залучення до проектування інтерфейсу розробників, що володіють не найвищою кваліфікацією (якщо уважно вивчити програми курсів навчальних центрів, спеціалізуються на навчанні засобам розробки Microsoft, Borland і Sybase, то можна виявити, що тривалість курсу навчання, прослухавши який звичайний користувач Windows повинен навчитися створювати клієнтські програми для серверних СУБД, становить від 5 до 10 робочих днів).


Саме ця категорія засобів розробки найбільш часто застосовується при створенні клієнтських додатків. До найбільш популярним продуктам подібного класу слід віднести Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder і Borland C++ Builder. Середовища розробки подібних продуктів досить схожі зовні (з точністю до розташування вікон на екрані, що встановлюється “за умовчанням”): як правило, середа розробки такого продукту містить “заготовку” проектованої форми (аналога вікна), окрему панель з піктограмами елементів користувальницького інтерфейсу та інших використовуваних в додатку об’єктів, які можна вибирати і поміщати на форму, вікно, в якому відображаються і редагуються властивості одного з обраних на формі елементів (а іноді і список подій, на які реагує даний елемент), вікно редактора коду, де можна вводити фрагменти коду, пов’язані з обробкою тих чи інших подій, а також код, який реалізує логіку роботи даного застосування. Як правило, сучасні засоби розробки такого класу дозволяють створювати найпростіші програми для редагування даних практично без написання коду.


Останнім часом дуже популярним стало також створення додатків, що використовують доступ до баз даних, але розташованих усередині звичайних документів. В основу засобів розробки подібних програм покладені макромови відповідних редакторів. Найбільш типовим і практично єдиним популярним представником засобів розробки цієї категорії є Visual Basic for Applications, схожий з перерахованими вище візуальними засобами розробки і відрізняється від них тим, що створені за його допомогою програми містяться всередині документів Microsoft Office і не відчужуються від них.


Відзначимо, однак, що наведене розподіл засобів розробки на ці два класи вельми умовно. Як ми вже говорили вище, практично всі засоби розробки додатків з базами даних, у тому числі і орієнтовані на конкретні СУБД, підтримують як мінімум один з універсальних механізмів доступу до даних. І практично всі “універсальні” засоби розробки додатків, якщо вони належать виробнику-яких серверних СУБД, підтримують “свої” СУБД краще, ніж СУБД сторонніх виробників (це може виражатися, наприклад, в особливих бібліотеках класів або компонентів для доступу до даного серверу, а також в наявності загальних репозитаріїв об’єктів і моделей даних, а іноді і спільних з клієнтською частиною серверної СУБД редакторів параметрів доступу до даних або схем даних)


Класифікація додатків, що використовують бази даних


Програми в архітектурі “клієнт-сервер”


У попередніх статтях цього циклу ми вже говорили про те, що являє собою архітектура “клієнт-сервер” в традиційному розумінні. Тому ми лише коротко нагадаємо, що інформаційні системи, створені в такій архітектурі, являють собою сервер баз даних, який маніпулює даними, і клієнтську програму, яка звертається до нього і використовує для цього або клієнтські API (або інкапсулює їх виклики класи та компоненти), або один з універсальних механізмів доступу до даних. Зазвичай при використанні такої архітектури додатків на сервер баз даних покладається також контроль дотримання бізнес-правил, реалізованих у вигляді збережених процедур, тригерів, серверних обмежень та інших об’єктів бази даних.


Для створення клієнтських додатків в цьому випадку найчастіше застосовуються засоби розробки, що володіють розвиненими візуальними інструментами, такі як Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder, Borland C++Builder.


Відзначимо, однак, що вибір архітектур сучасних додатків в даний час досить широкий і не вичерпується “класичної” архітектурою “клієнт-сервер”, що припускає, що додаток складається з сервера баз даних і клієнтських додатків, взаємодіючих з цим сервером. Тому нижче ми обговоримо, які кошти розробки зручно застосовувати при створенні розподілених додатків.


Розподілені додатки


Розподілені (або багатоланкові) програми зазвичай складаються з презентаційних сервісів (або “тонких” клієнтів, з якими зазвичай взаємодіють кінцеві користувачі), сервісів бізнес-логіки, що реалізуються у вигляді бізнес-об’єктів (або сервісів проміжного шару – middle tier; нерідко для опису сукупності таких сервісів застосовується термін middleware), і сервісів даних (зазвичай складаються з сервера баз даних і механізмів доступу до даних). Сервіси бізнес-логіки призначені для отримання введених користувачем даних від презентаційних сервісів, взаємодії з сервісами даних для виконання бізнес-операцій (Наприклад, обробки замовлень або розрахунку бухгалтерського балансу) і повернення результатів цих операцій презентаційним сервісів.


На відміну від звичайних програм в архітектурі “клієнт-сервер”, в багатоланкових системах “тонкі” клієнти, як правило, не мають безпосереднього доступу до даних. Натомість клієнти посилають запити до спеціально призначеним для цієї мети бізнес-об’єктів. Ті, в свою чергу, можуть виконувати запитані клієнтом бізнес-операції (такі як обробка замовлення, виконання банківської транзакції і т.д.).


Деякі з бізнес-об’єктів можуть звертатися до сервісів даних, використовуючи ті чи інші механізми доступу до даних. Оскільки кінцевий користувач не взаємодіє безпосередньо з бізнес-об’єктами, останні зазвичай не мають для користувача інтерфейсом в звичному розумінні. Фізично бізнес-об’єкти можуть бути реалізовані у вигляді сервісів операційної системи, консольних додатків або Windows-додатків, а також у вигляді бібліотек, що завантажуються в адресний простір спеціально призначеного для цієї мети серверного додатка (Web-сервера, сервера додатків, монітора транзакцій та ін.) Нерідко один бізнес-об’єкт обслуговує безліч клієнтів.


Для створення бізнес-об’єктів застосовуються як засоби розробки з розвиненими візуальними інструментами, так і засоби розробки, орієнтовані на “ручне” створення коду додатків (такі як Visual C + +). Зазначимо, що новітні версії майже всіх найбільш популярних засобів розробки Windows-додатків (Microsoft Visual Basic, Visual FoxPro і Visual C + +, Borland Delphi і C + + Builder, Sybase PowerBuilder) підтримують створення різних типів бізнес-об’єктів (Web-додатків, ASP-об’єктів, COM-серверів тощо), за винятком, мабуть, Microsoft Access – цей продукт розрахований швидше на кваліфікованих користувачів, ніж на розробників розподілених систем. Нерідко для цієї мети використовуються і засоби створення Java-додатків (такі як Borland JBuilder).


Відзначимо, що, крім перерахованих вище “універсальних” засобів створення як додатків в архітектурі “клієнт-сервер”, так і бізнес-об’єктів для розподілених систем, на ринку засобів розробки є та спеціалізовані засоби, призначені саме для створення бізнес-об’єктів (як правило, Web-додатків). Із засобів розробки такого класу для платформи Windows найбільш популярний Microsoft Visual InterDev, Перша версія якого з’явилася в 1998 році. Можна також згадати ще один цікавий продукт, що відноситься до тієї ж категорії засобів розробки, – Borland IntraBuilder, що з’явився двома роками раніше, але чомусь, незважаючи на зростаючу потребу в продуктах такого класу, не отримав подальшого розвитку. Засоби розробки подібного класу, як правило, дозволяють створювати додатки, динамічно генеруючі HTML-код або код на одному з скриптових мов (VBScript або JavaScript), який передається Web-сервером в браузер користувача в складі Web-сторінки, і сприймають дані, введені користувачем в HTML-формі і передані браузером Web-сервера.


Висновок


У цій статті ми обговорили процес створення додатків, що використовують бази даних, а також різні категорії засобів, що застосовуються при їх розробці. Ми переконалися, що засоби розробки можна умовно розділити, з одного боку, на інструменти, орієнтовані на застосування конкретних СУБД, інструменти, універсальні по відношенню до СУБД, і середовища настільних СУБД, що застосовуються для розробки додатків. З іншого боку, їх можна розділити на засоби, орієнтовані на візуальне проектування користувальницького інтерфейсу (до цієї категорії належать Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder, Borland C + + Builder), і на кошти, орієнтовані на написання коду програми (Visual C + +).


Розглянувши декілька найбільш популярних засобів розробки додатків, ми переконалися, що більшість подібних продуктів, як правило, підтримують:



Ми також обговорили, ніж додатки в архітектурі “клієнт-сервер” відрізняються від розподілених систем і які засоби розробки можна застосовувати при створенні обох типів додатків.


Життєвий цикл інформаційної системи не завершується розробкою додатків. Після створення їх покладається тестувати, упроваджувати, навчати користувачів їх застосування, і нарешті, експлуатувати їх протягом ряду років. В результаті подібної експлуатації накопичуються дані, які, як правило, є набагато ціннішими, ніж власне програми. Ці дані нерідко є необхідний для прийняття важливих управлінських рішень матеріал, тому важливо вміти перетворювати їх до вигляду, придатного для такої мети. Для цього існують засоби, що відносяться до категорії Business Intelligence – Генератори звітів, засоби аналітичної обробки даних і пошуку закономірностей. Про них ми поговоримо в наступній статті даного циклу.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*