Сучасний стан індустрії інструментальних систем.

 

Інструментальні системи минулих десятиліть.

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

10 років тому інструментальні системи (ІС) вже являли собою потужні інтегровані середовища розробки програм, що включали спеціалізовані текстові редактори, вбудовані компілятори, пристойний комплект утиліт для тестування і відладки коду програми, а також добавлення спеціальних можливостей (наприклад робота з нестандартними зовнішніми пристроями), розвиненою системою допомоги. Крім того, програмісту пропонувалося велика кількість готових прикладів програмного коду для вирішення певних задач, і більше того – розвинені бібліотеки готових функцій, що можна було підключати в залежності від потреби.

В цей час на ринку панували такі програмні пакети як Turbo C, C++ Turbo Pascal від компаній Microsoft та Borland. Активно розвивався провідний на сьогодні напрямок – об’єктно-орієнтоване програмування – було розроблено популярні бібліотеки Object Pascal, TurboVision та інші, що давали можливість розробляти потужні програмні пакети з меншими затратами праці.

Наступний крок на ринку інструментальних систем настав з виходом систем рограмування для операційної системи (ОС) Windows - Turbo Pascal for Windows та Turbo C for Windows від фірми Borland, а також Quick C Microsoft, що сталося на початку 90-тих років.

 

Початок сучасного етапу розвитку інструментальних систем.

Початок сучасного етапу розвитку ІС було покладено у 1992 - фірма BORLAND випустила першу розроблену повністю для програмування під Windows систему DELPHI 1.0, за допомогою якої можна було створювати Windows-додатки. Незабаром фірма Microsoft випустила пакет Microsoft Visual Studio, який включав системи розробки Windows-додатків Visual Basic for Application та Visual C++. Тепер програми можна було буквально “збирати” з готових елементів інтерфейсу та фрагментів коду.

Незважаючи на посилену конкуренцію, флагманами в галузі ІС-систем залишаються компанії Borland (тепер Inprise) та Microsoft. Регулярно виходять обновлені версіїї їх ІС DELPHI та Visual Studio, поповнюючись все новими і новими можливостями та функціями.

Єдиним класичним завданням до недавного часу була розробка Windows-додатків для роботи з базами даних різного типу (локальні, клієнт/сервер). Всі традиційні інструментальні системи і були спрямовані на вирішення цоьго завдання.

В 1989 році почалася розробка мови порграмування Python. Python – потужна інтерпритована, інтерактивна, об’єктно-орієнтована мова програмування з простим синтаксисом. Інтерпритатор Python можна легко вбудувати в будь-яку інструментальну систему. Наприклад існують реалізації для Delphi (PythonForDelphi) WinAPI (PythonWin), Java (JPython). Для розширення функціональних можливостей мови Python розроблено доволі багато стандартних бібліотек (для обробки графіки, набір математичних функцій, інтерфейс доступу до баз даних, платформо-незалежний графічний інтерфейс, WinAPI-інтерфейс і т.п.). Це дозволяє легко створити додаток, що поєднує несумісні програмні продукти – наприклад на основі бази даних виконує статистичний аналіз. Незважаючи на відносну молодість дана мова програмування набуває все більшої популярності.

 

Орієнтація на універсальні технології доступу до даних.

На початку 90-тих рр. спеціалістами Microsoft був розроблений Open DataBase Connectivity (ODBC) – перший універсальний прикладний інтерфейс програмування доступу до баз даних клієнт/сервер, що базується на моделі Data Access Object (DAO – об’єкти доступу до даних). Сам інтерфейс написаний на мові С/С++. На сьогоднішній день він є де-факто стандартом доступу до баз даних різного типу. Всі сучасні інструментальні системи підтримують технологію ODBC.

Починаючи з 1998 року компанія Microsoft представляє модель Component Object Model (СОМ) як основу для розробки всіх Windows-додатків, і особливо проектів клієнт/сервер. Дана технологія визначає набор інтерфейсів для створення об’єктів (компонентів) будь-якої складності з можливістю їх повторного використання. Операційні системи Windows 9х та Windows NT 4+ Windows 2000 підтримують розподілену модель DСОМ (Distributed COM) – механізм взаємодії кількох об’єктів СОМ, розміщених на комп’ютерах що об’єднані в мережу.

На моделі СОМ та ActiveX Data Objects (ADO) – об’єктах даних ActiveX – базується OLE DB – стратегічна технологія доступу до даних компанії Microsoft, призначена для локальних баз даних та баз даних клієнт/сервер. Основу даної технології складають три елементи: провайдери, споживачі та служби даних.

Головними конкурентами запропонованої Microsoft технології є

·      технологія Common Object Reqrest Broker Architecture (CORBA) – загальна архітектура брокерських запитів, що просувається постачальниками інструментальних систем для ОС Unix (зокрема компанією IBM).

·      технологія Enterprise JavaBeans (EJB) від компанії SunMicrosystems, написана на мові Java.

 

Інструментальні системи третього тисячоліття.

У червні 2000 року компанія Microsoft випустила нову реалізацію мови С – Microsoft С#. В даному релізі велика увага звертається на створення Web-сервісів для платформи Microsoft .NET, для чого введена підтримка процесоро-незалежної мови Intermediate Language (IL). Завдяки цьому на Microsoft С# можна писатипрограми для будь якої .NET-платформи, від Windows 2000 до Windows СЕ.

В Microsoft С# поєднано простоту і виразність сучасних об’єктно-орієнтованих мов (Java) з широкими можливостями і потужністю С++. Суттєво покращено порівняно з С++ механізм управління пам’яттю ПК. Введено підтримку інтерфейсів (як в Java). Дана мова програмуваня включає повноцінну підтримку технології COM+ Windows API, а також можливість взаємодіяти з іншими бібліотеками для платформи Win32. Залишається очікувати появи повноцінного інтегрованого середовища розробки додатків на основі Microsoft С#, що буде зроблено фірмою Microsoft в наступній версії комплекта ПЗ для розробників – Microsoft Visual Studio.NET.

На протязі 90-тих рр. компанія Borland постійно модернізує інструментальну систему DELPHI, випускаючи все нові і нові версії, що включають все більші можливості щодо розробки Windows-додатків, активно використовуючи вказані найновіші технології Microsoft.

В травні 2001 року компанія Borland випустила нову, 6-ту версію середовища швидкої розробки додатків DELPHI. Серед нових можливостей в офіційному прес-релізі описуються бібліотеки компонентів: BizSnap – спрощує створення Web-сервісів для таких платформ, як Microsoft .NET BizTalk і SunONE від SunMicrosystems. Наступна нова бібліотека компоненів – WebSnap, що дозволяє проводити інтеграцію з сайтами, що створені за допомогою найбільш поширених Web-редакторів, таких як Dreamweaver та FrontPage. І ще одина важлива нова бібліотека – DataSnap, призначена для розробки маштабованих додатків типу “клієнт/сервер” з застосуванням основних промислових стандартів розподіленої обробки інформації - SOAP/XML, DCOM, TCP/IP CORBA.

Одночасно з анонсом DELPHI 6 була представлена аналогічна система Kylix для операційної системи Linux. Поєднання цих двох інструментальних систем дозволяє створювати кросс-платформові додатки, що можуть працювати під управлінням як ОС Windows так і ОС Linux.

За останнє десятиліття об’єктно-орієнтована мова програмування Java набула великої популярності і зараз займає місце на рівні з Object С++ (Visual C++) та Object Pascal (Delphi). Це сталося завдяки високій надійності та захищеності програм, написаних на мові Java, що має велике значення для корпоративних клієнтів.

В червні 2001 компанія BORLAND анонсувала ще одну новинку – кросс-платформове середовище розробки на мові Java для систем Windows, Linux і Solaris - інструментальну систему JAVABUILDER 5. В даний продукт добавлена підтримка сервера додатків IBM WebSphere, покращені засоби взаємодії з BEA WebLogic 6 і Borland App Server 4.5, а також багато інших дрібних модернізацій і додаткових бібліотек компонентів.

 

Інструментальні системи Internet-програмуваня.

З середини 90-тих рр. при розробці програмного забезпечення великого значення набула підтримка роботи в Internet. Сформувася цілий клас мов програмування, що призначені лише для розробки Web-сторінок та створення Web-серверів. В першу чергу це HTML (HyperText Markup Language – мова гіпертекстової розмітки), DHTML (Dynamic HTML), XML (Extensible Markup Language – мова інтенсивної розмітки). Windows-додатки, написані за допомогою мов такого типу виконуються броузером Internet (наприклад Microsoft Internet Explorer).

Інструментальні системи для розробки ПЗ за допомогою вказаних мов вражають різноманіттям. Найпростіший (але не найслабший!) з них – редактор Notepad з комплекту Windows, за допомогою якого здійснюється написання коду “з нуля”. Найбільш поширені Web-редактори зараз - такі як Dreamweaver, FrontPage, HomeSite. Ці системи являють собою класичні інтегровані середовища розробки - текстові редактори з можливістю попереднього перегляду Web-сторінки, перегляду її структури, а також додаткові утиліти для відладки коду.

Окремо слід виділити Java Script – мова Web-програмування на основі Java. Фрагменти коду Java Script можна вставляти в будь-яку HTML-сторінку. Як правило, на Java Script описують окремі інтерфейсні елементи Web-сторінки.

Слід зазначити, що навіть виробники офісних програм все більше орієнтуються на Internet-технології. Починаючи з версіїї Microsoft Office 2000 пропонується єдиний стандарт зберігання документів – формат HTML.

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

 

Висновки

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

 

Запитання

1.     Поняття про інструментальні системи Internet-програмування.

2.     Новинки індустрії інструментальних систем

3.     Які є основні універсальні технології доступу до даних?

4.     Еволюція інструментальних систем за минулі десятиліття.