Java-технології. Огляд інструментальних розробок. Аналіз ринковоїситуації. p>
Ринок засобів розробки програм з часу свого виникнення,напевно, ніколи не відчував кризи - і навряд чи випробує його коли -небудь у майбутньому. Але це не означає, що працювати на цьому ринку легко.
Швидко змінюється ситуація змушує так само швидко переорієнтуватися. P>
Нове покоління інструментальних засобів розробки на мові Javaвпевнено рухається на корпоративний ринок, стаючи в один ряд із звичнимикомерційними продуктами. Разом з тим Java не збирається втрачативластивий йому колорит. p>
Пріоритети розвитку Java p>
Відправною точкою при створенні чергового покоління програмногоінструментарію розробки на Java послужило подання в кінці 1996р. іостаточний випуск компанією JavaSoft на початку лютого 1997р. новоїверсії 1.1 базового кошти - комплекту JDK (Java Development Kit). Цейсвого роду маніфест партії Ява містив оновлену версію мови, якаповинна була спростити складання надійних розподілених програм.
Основними нововведеннями в JDK 1.1 за порівнянні з попередньою версією виявилисязасоби роботи з національними кодуваннями, покращений віконний інтерфейс,інтерфейс для взаємодії з базами даних, засоби зв'язку з іншимимовами і бібліотека механізмів захисту. Названі удосконалення, якми побачимо далі, сталі і покажчиками на пріоритети розвитку інструментів
Java. P>
Якщо, як це вже заведено, розділити Java-розробників на Web -майстрів, в основному використовують аплети, і творців професійнихпрограм цією мовою, то 1997 рік приніс більше новин самеостаннім. Вже в квітні на конференції JavaOne, свого роду з'їздіприхильників Java, SunSoft анонсувала платформу Java Platform for
Enterprise, куди, крім JDK 1.1, повинні були ввійти ряд корпоративнихпрограмних інтерфейсів, а також розширена спеціально для програм рівняпідприємства компонентна модель JaveBeans (під назвою Enterprise Java
Beans). До речі, ряд програмних інтерфейсів встиг з'явитися протягом 1997року. Концепція Java Beans як ключовий технології багаторазовоговикористання коду при розробці повноцінних програм на Java приділялася,куди більшу увагу, ніж у 1996 році. Адже саме ця концепція, а не саммова Java складає конкуренцію знаменитій об'єктної концепції ActiveXкорпорації Microsoft. Влітку 1997 року фірма Sunsoft представила першийреалізацію наступної версії JavaBeans під кодовою назвою Glasgow. Данаверсія, також її пряма спадкоємиця - 3 версія, відома в даний часяк Edinburgh, на думку експертів, мають бути розвинені до рівня моделі
COM корпорації Microsoft. P>
Ще одне принципове питання, що стосується розвитку Java-технологій, --це проблема "приватної власності" на Java. У цілому резонні вимоги
Microsoft про передачу всіх специфікацій незалежної організації дляподальшого розвитку Java стали однією з причин дуже серйозного конфліктуміж Sun і Microsoft, так чи інакше зачепила всіх розробників. Улистопаді 1997р. країни - члени міжнародної організації з стандартизації
(ISO), на плечі якої, за деякими припущеннями, і повинна була лягтиподальша турбота про Java, проголосували за надання компанії JavaSoftексклюзивного контролю над Java. p>
Огляд конкретних інструментів p>
Поговоримо про конкретні інструментах. Перше, що кидається в очі: практично весь інструментарій - це системи графічногопрограмування класу RAD. Зазначена тенденція, що намітилася ще в 1996р.з виходом Visual Cafe для Windows 95 і Windows NT, стала домінуватиабсолютно. Java, таким чином виявився значно більш RAD-сприйнятливим
, Ніж його знаменитий прародитель С + +. До числа лідерів в результатісуб'єктивного аналізу публікацій можна, швидше за все, віднести Visual J + +,
Visual Cafe для Windows і Java Workshop для платформи Solaris. Крім того,за результатами дослідження ринку, проведеного Microsoft іопублікованого в газеті Computer Reseller News у квітні 1997р., з майже
400 тис. людей, що програмують на Java (для порівняння: на С + +програмують близько 1, млн., на Visual Basic - понад 3 млн. чоловік), 27%використовують Java Workshop, 25% використовують Visual J + + і 18% - Visual Cafe. p>
Помітною тенденцією 1997 цілком можна вважати випуск цілої серіїспеціалізованих продуктів, що забезпечують доступ з Java-програм добаз даних, що стало прямим наслідком включенням до JDK1.1 специфікації
JDBC. Характерно, що над відповідними інтерфейсами працювали яквідомі виробники самих баз даних, так і фірми, що традиційнозаймаються створенням програмного інструментарію. Перш за все, звернемоувагу на те, що всі представлені інструменти в тій чи іншій мірімістять засоби для роботи з базами даних. До квітня 1997 фірма Oracleразом з IBM і Tandem підготували попередню специфікацію J/SQLорієнтовану на досягнення сумісності з мовою структурованихзапитів SQL у програмах для баз даних. Тим часом Informixрозробляла власний API-інтерфейс Universal Java, щоб включити йогов свій інструментарій 4-го покоління під назвою New Era, а також у
JWorks - нове ПО розробки на Java. P>
Разом з тим містить досить потужні засоби роботи з БД пакет
Visual Cafe Pro, перші поставки якого відносяться до початку 1997 р., доосені вийшов у новій редакції - Visual Cafe for Database Development
Edition, призначений для Java-програм реляційних баз даних. До числаявно орієнтованих на роботу з БД Java-програм можна віднести і систему
Fresco фірми Infoscape, до бета тестування якої приступили на початку
1997 Нарешті, у вересні 1997 р. Sun анонсувала продукт Java Blend длядоступу до реляційних і об'єктно-орієнтованим БД з Java-програм безвикористання спеціальних мов типу SQL. p>
Проте найбільш істотним подією стала поява розвиненихможливостей графічного програмування доступу до БД в засобахрозробки, спочатку орієнтованих на створення великих корпоративнихпрограм. До останніх відносяться Vibe Enterprise 1.0 фірми Visix Softwareабо Apptivity Developer фірми Apptivity, що з'явилися в першій половині 1997р. Обидва продукти ціною в межах декількох тисячах доларів явносвідчить про відносну зрілості Java-технологій вже на цеймомент. К "корпоративним" класу належать також Visual Age for Java і,звичайно ж, JBuilder. p>
Увага, приділена в специфікації JDK 1.1 безпеки при побудовікомерційних Java-програм, також не залишилося без для розробниківформальним закликом. Багато компаній відгукнулися на нього, розуміючи, щообмеження запису на диск клієнтської машини, закладений у саму ідеюпобудови Java, не є рішення проблеми. У березні 1997 р. компанія Data
Security Dynamics запропонувала JSAFE - одне з перших засобів захищених Java -програм в Інтернеті, використовуючи алгоритми шифрування даних з відкритимключем при передачі їх по каналах Інтернету. Засіб цифрового підпису,що гарантує цілісність даних при передачі, було включено в Visual
J + +1.1. Нарешті, на конференції JavaOne в квітні 1997р. JavaSoft оголосила проплани випуску системи Cripto Toolkit, що дозволяє за допомогою єдиного APIбудувати захищені програми. До речі кажучи, у наступній версії JDK1.2основна увага, за твердженням JavaSoft, буде приділено саме питаннямбезпеки. p>
З вирішенням проблеми побудови інтерфейсу користувача засобамивисокого рівня, порушеної в специфікації JDK1.1, виявилися пов'язані двібібліотеки Java-класів, випущені відповідно корпорацією Microsoft іфірмою Sun в співдружності з Netscape Communications. Досить лише назватиці компанії, щоб відразу стало зрозумілим, що названі інфраструктурнідодатки до засобів розробки, по всій видимості, повинні зігративизначальну роль не тільки в технологічному, але і в політичномупротистоянні конкурентів, на примирення, яких поки немає навіть слабкогонатяку. Бібліотека AFC, про готовність якої MicroSoft повідомила навесні
1997р. на виставці Software Developer West, містить засоби, що полегшуютьстворення професійно оформленого графічного інтерфейсу користувачаі роботу із засобами мультимедіа. За твердженням Microsoft, цябібліотека повністю підготовлена на Java і здатна виконуватися на будь-якийплатформі. p>
Відповіддю Sun і Netscape був випуск восени 1997 аналогічної бібліотеки
JFC, що увібрала в себе гідності відповідних наборів Java-класів IFC
(Internet Foundation Classes) і AWT (Abstract Windows Toolkit), вжещо були в арсеналі двох фірм. Незважаючи на те, що представники Sunпідкреслюють не стратегічне, а чисто утилітарне значення JFC, масааналітиків не без підстав відводить даної бібліотеці вирішальну роль у битвіза контроль над Java-розробками. Microsoft вже встигла заявити, що JFC НЕпоставляється і не буде поставлятися разом з Internet Explorer (IE) 4.0. Аце означає, що, хоча в багатьох продуктах 1997р. і передбачено коштироботи з AFC і JFC, можуть виникнути проблеми з виконанням розподіленихмногоплатформних програм, складених з використанням JFC. p>
Не які фірми починають поставляти Java-інструментарій в комплексі зізасобами розробки на інших мовах під спільним дахом єдиноїінтегрованого середовища. Класичні приклади - головний інструментальнийпакет фірми Microsoft 1997 Visual Studio 97, де з Java об'єдналися
С + +, Visual Basic 5.0, Fox Pro і деякі інші продукти, а також пакет
CodeWarrior Gold 11 компанії Metrowerks, в якому інструментальнікошти, на думку деяких користувачів ще сильніше інтегровані.
Приклади виявилися заразними. Восени про аналогічний намір оголосила
Powersoft, що має тепер у своєму арсеналі, крім Java-інструменту PowerJ,чудово зарекомендував себе класичний інструментарій. Приблизно в тойВодночас фірма Haht Software приступила до бета-тестування коштирозробки Hahtside, що дозволяє працювати з Java і Visual Basic в єдинійсередовищі. p>
Якщо для 1996р. було характерно поява Java-компіляторів длярізних платформ, то 1997р. ознаменувався випуском всілякихконверторів вихідного тексту програм і спеціальних технологій, що дозволяютьвикористовувати в Java-програми напрацювання, складені на інших мовах. УЯк приклад, Visual J + +1.1 оснащений конвертором для перетворенняаплет у компоненти ActivX. На не раз вже згадуваній конференції JavaOneбули представлені принаймні два продукти, які дають розробникам на
Visual Basic можливість переносити свої програми на мову Java. Булооголошено, що засоби конвертування Applet Designer Visual Basic-to-
Java фірми Tvobject, відповідно до договору з фірмою Asymetrix, будутьпропонуватися як доповнення до середовища SuperCede Java/ActivX Edition і
DataBase Edition. Фірма Halcyon повідомила про намір випустити продукт підназвою VBIX для перетворення програм на Visual Basic в двійковий Java -код. На тій же конференції фірма Roug Wave Software представила двабібліотеки - Serialize.h + +1.0 і Jtools2.0 - C + + і Java-класіввідповідно. Вони дозволяють організувати двонаправлений обмін викликамиз програм, складених на С + + і Java. Ще один помітний продукт
TwinPeaks, представлений спільно фірмами Sun і Ilog Software, реалізуєтехнологію С + + Bridging, що дає розробникам серверного ПЗ на мові Javaможливість використовувати програми на С + +, не переписуючи тексту. Нарешті,компанія Futjitsu Software запропонувала розробникам компілятор NetCobol,автоматично транслює програми на Кобол в Java-аплети ідодатки. На думку фахівців, появі таких продуктів приведе доякнайшвидшої асиміляції Java в співтоваристві програмістів. p>
"Банда чотирьох" проти Microsoft p>
Засоби розробки як такі становлять лише чисто технічненаповнення програмної галузі та є необхідним інструментом, але вженіяк не визначальним фактором при оцінці ринкових перспектив готовихпродуктів. p>
Найбільш важливою подією 1997р. у політичному сенсі стало утворенняв березні на конференції Internet World альянсу чотирьох фірм - IBM, Oracle,
Netscape і Sun, які назвали себе "бандою чотирьох" (The Gang of Four).
Компанії оголосили про спільну підтримку протоколу Internet InterORB-
Protocol (IIOP), що формує частину CORBA, у своїх інструментальнихзасобах розробки. Ця ініціатива повинна полегшити реселерам побудоваєдиних розподілених об'єктно-орієнтованих програм інструментальнимизасобами чотирьох компаній. Ело в тому, що, згідно із заявою JavaSoft, взапланований до випуску в 1998 р. комплекті JDK1.2 низькорівневий механізмдистанційного виклику окремих функцій Java (під назвою RMI - Remote
Method Invocation), що входить в нині діючу специфікацію JDK1.1 будереалізований поверх протоколу CORBA/IIOP. Це означає, що JavaSoftповністю відмовляється від власного методу створення посередника запитівдо об'єктів, на основі якого в даний час будується RMI, а майбутнірозподілені Java-програми повинні відповідати специфікаціївзаємодії мережевих об'єктів CORBA. Дане об'єднання,
"Антімайкрософтовской" спрямованості якого ніхто не приховував, сталопланомірним і організованим виступом проти об'єктної технології DCOMкорпорації Microsoft, що для 1996 р. було якраз не характерно. У 1997 р.намічені альянсом плани частково були виконані. p>
Компанія Oracle у 1997 р. перетворилася, можна сказати, з нейтральноюпо відношенню до Java в його активну прихильницю. Одним з етапів її рухув сторону Java стало ліцензування технології Builder, що включає мовою
С + + і Java, у фірми Borland, причому вирішальний вибір саме на користь Builderбуло зроблено нібито саме через її більш повної відповідності концепції
JavaBeans. На конференції JavaOne фірма Oracle продемонструвала пакет
Developer/2000 1.4, здатний конвертувати розроблені в ньому програмив Java-аплети. Відразу ж після цього на початку травня 1997 вона випустила Web
Application Server, сумісний з протоколами CORBA і IIOP, - найбільшважливий компонент її міжплатформову архітектури NCA (Networking Computing
Architecture). Пізніше на конференції Open World Oracle презентувала стратегіювипуску засобів розробки мережевих програм для Java. Ця стратегія, насловами представників фірми, повинна торкнутися наступних версії
Developer/2000 і Designer/2000, а також якийсь новий інструмент,призначений виключно для розробки Java-програм і побудованийяк раз на основі вищезгаданої ліцензії. p>
Найбільший постачальник програмного забезпечення на світовому ринку --корпорація IBM, найбільш ревно взялася за підтримку Java ще в1996р., протягом 1997р. зберегла відданість йому. У липні IBM випустила наринок комерційну версію пакету Visual Age for Java з потужними засобамиреалізації JavaBeans, як раз і спрямовану на розробку майбутніх програмна базі відкритих стандартів, за які так ратує союз чотирьох. До речікажучи, вже у вересні 1997 р. відділення IBM Східна Європа/Азія початокдуже активну роботу з просування цього продукту на російський ринок.
Що стосується вельми амбітного проекту (San Francisco) формуваннябібліотек Java-класів для найрізноманітніших програм ділової сфери, надяким IBM працює в союзі з кількома десятками інших фірм, тоінформація про хід його виконання протягом 1997 р. була дуже убогою.
Однак відомо, що робота над проектом триває. P>
Компанія Netscape, теж на конференції JavaOne, виступила в не зовсімзвичній для себе ролі, представивши набір засобів розробки, що дозволяєпрацювати з апплетами Java, компонентами JavaBeans, об'єктами CORBA ісценаріями JavaScript. p>
Фірма Sun на початку 1997 р. випустила Internet WorkShop - середурозробки програм клієнт-сервер для Інтернету - і засновану на CORBAсереду підготовки розподілених об'єктів і управління ними NEO2.0. У
Internet Workshop входять, зокрема, Java WorkShop і Visual WorkShop C + +.
Весь цей інструментарій також служить внеском у спільну справу, затіяне
"Бандою чотирьох". Мова поки що не йдеться про класичні засоби розробки, алеможе статися так, що Sun, Netscape, IBM і Oracle дійсно утворюютьбойове каре і, крокуючи в ногу, почнуть організований наступ на
Microsoft. P>
Не можна обійти увагою і ще два дуже відомі фірми, залучені в
Java-лихоманку в 1997 р. Це Powersoft і, особливо, Borland. У 1996 р.вони не брали скільки-небудь помітного участі в розвитку даного сектораринку, якщо не вважати випуску невеликого розширення для Java -програмування в Borland C + +5.0. Зате в 1997 р. не тільки були випущенідві версії JBuilder (Standard і Professional), а й стало відомо, щоданий продукт у подальшому буде об'єднаний з вищезазначеним проектом San
Francisco. Фірма Borland, ліцензувала технологію Builder компанії Oracleі, у свою чергу, на початку 1997 р. придбала ліцензію на програмупосередник запитів до об'єктів VisiBroker for Java фірми Visigenic (а влистопаді та саму фірму), що дозволить розробникам Jbuilder зв'язувати об'єктирозподілених програм, використовуючи протокол IIOP. Все це свідчить,що зазнає труднощі, але в той же час дуже авторитетна компанія,спеціалізується виключно на засобах розробки, опинилася в 1998р. великою мірою прив'язана до ідеології побудови програм,проповідуваної "чудовою четвіркою???. p>
Дії Microsoft p>
Ще в грудні 1996 р. SunSoft заявила, що віртуальна машина Java,розроблена Microsoft для Windows, не задовольняє відповідноїспецифікації. Випуск Visual J + + у березні 1997р. у складі пакета Visual
Studio 97 до певної міри ускладнив ситуацію. Широко розрекламованаздатність даного продукту інтегрувати технології JavaBeans і ActiveX,наявна, здавалося б, і в інших засобах розробки, була сприйнятаосновною частиною комп'ютерного співтовариства, як спроба штучноJava прив'язати до платформи Windows. Іншими словами, виходило, виходило,що Microsoft шахраювати, випускаючи сурогат для Java, що приймає вигляд
Java лише на платформі Windows. Нічого не підозрюючи, розробники для
Windows, яких в світі безліч повинні були за задумом Microsoft, створитивелику кількість відповідних програм, використовуючи "фіктивний" Java,перш ніж розкриють проблеми з його перенесенням на інші платформи.
Суб'єктивне недовіру, сидить в крові у багатьох професіоналівкомп'ютерного бізнесу, підкріплювалося і об'єктивними факторами. p>
Справа в тому, що компанія Білла Гейтса протягом 1997 р. так і неприєдналася до програми сертифікації 100% Pure Java фірми JavaSoft,що дозволяє, за твердженням самої JavaSoft, гарантувати повнуміжплатформову переносимість. В інтерв'ю, даному одним з провіднихменеджерів корпорації Microsoft журналу Communication Week ще на початку
1997 р., говорилося, що всі засоби розробки, у тому числі і JVM для
Windows, успішно пройшли всі тести Sun на сумісність з Java. Було такожзаявлено, що Microsoft просто не запросили до участі в ініціативі 100%
Pure Java, а відмова від участі в ній - вигадка Sun. Разом з тим директор змаркетингу продукції фірми JavaSoft Девід Спенхофф на сторінках газети
LanTimes, назвавши відому бібліотеку класів AFC невідповідної
Java-специфікації, недвозначно закликав Microsoft представити її натестування за програмою 100% Pure Java. Пізніше, однак, відповідальніпрацівники Microsoft на сторінках інших видань декларували неможливістьприєднатися до Pure Java з-за того, що ця програма, цілкомконтрольована Sun, не може бути справжнім стандартом. p>
У наступні місяці ситуація не поліпшувалася. Оголошена в квітні 1997 р.попередня 4-а версія Java-машини ніяк не вплинула на розвитокконфлікту. Влітку Microsoft представила нову технологію J/Direct якдодавання до віртуальній машині Java, що поставляється разом з IE4.0. данатехнологія дає можливість отримувати доступ з Java-програм безпосередньо дофункцій програмного інтерфейсу Windows. Microsoft трактує її як певнерозширення, що дозволяє вільно маніпулювати викликами функцій, які вданий час відсутні в Java. Таким чином, якщо схематичнопредставити віртуальну машину у вигляді деякого ізолюючого шару, то
J/Direct - не що інше, як діра в цій ізоляції. P>
Комп'ютерна преса, ще на початку року публікували вельмипозитивні відгуки про те ж Visual J + +, все частіше і відверто початкуназивати J/Direct та інші придбання Microsoft відносно Java небезпечнимспокусою для розробників. Редакція американські газети PCWeek в другійполовині року досить недвозначно закликала розробників ніколи невикористовувати різні розширення Java, пропоновані для Microsoft Windows. p>
Тим часом конфлікт посилився і зайшов настільки далеко, наскількице взагалі можливо. Восени 1997 р. Sun подала на Microsoft до суду.
Офіційна претензія полягала в тому, що IE4.0 не пройшов тестів насумісність, а отже, Microsoft не має ніякого права навикористання логотипу Java /. p>
Тактичною перемогою Microsoft в перманентній боротьбі проти конкурентівв 1997 р. стало перетворення з кожним днем міцніє компанії Apple в свогосоюзника. Ще на конференції JavaOne в квітні фірми Microsoft і Metrowerksоголосили про створення віртуальної Java-машини для MacOS. Угода міждвома компаніями, що відбулося в серпні, крім покупки корпорацією
Microsoft акцій Apple на 150 млн. дол, передбачала ухвалення останньої
IE в якості стандартного броузера на Macintosh, а також тіснаспівробітництво в області Java-технологій, що припускає, зокрема,підтримку бібліотеки AFC для Macintosh/угода, на думку експертів,вивело Apple з табору, керованого Sun і Netscape. p>
Тим не менш, не зважаючи на такі фактори, як виникла і вже притихлимейфорія з приводу Java, випуск інструментарію, який встиг менш ніж за двароку вийти на самий "крутий" корпоративний рівень, здатність цьогомови сколихнути самі вищі ешелони комп'ютерного ринку, багато зяк і раніше, без будь-якої формальної застереження називають Java - технологією піддитинстві. Значить, треба думати, що основні події попереду.
Основні засоби розробки для Java, випущені в 1997 р. p>
| Продукт | Фірма-вигото | Платформа | Ключові особливості | Місяць | Приблизно |
| | Ставники | розробки | | випуску | я ціна |
| Visual J + + | Microsoft | Windows | Зведена середа | Березень | 100 $ |
| | | | Розробки з Visual | | |
| | | | C + + 5.0 | | |
| Jbuilder | Borland | Windows | Майстер-функції для | Березень, | 100 $ |
| | | | Побудови | Листопад | 800 $ |
| | | | Компонентів JavaBeans | | 2500 $ |
| | | | | | |
| | | | Потужні засоби | | |
| | | | Роботи з БД | | |
| PowerJ | Sybase | Windows | Середа розробки | вересня | 2000 $ |
| | | | Успадкована від | | |
| | | | Optima + + Можливість | | |
| | | | Вбудовування в | | |
| | | | Програми компонентів | | |
| | | | JavaBeans і ActiveX | | |
| SuperCedeJava | Asymetrix | Windows | Можливість налагодження | Січень | 100 $ |
| | | | Програм без | | |
| | | | Повторної компіляції | | |
| SuperCedeJava | Asymetrix | Windows | Конвертер Java-коду | Травень | 200 $ |
|/ActiveX | | | Використання | | |
| | | | Компонентів ActiveX | | |
| Visual Age | IBM | Windows, | Візуальний | липня | 1500 $ |
| for Java | | OS/2 | будівник логіки | | 100 $ |
| | | | Програм | | |
| | | | Середа груповий | | |
| | | | Розробки | | |
| Visual Cafe | Symantec | Macintosh | Потужна візуальна | Січень | 200 $ |
| for Macintosh | | | середовище розробки. | | |
| | | | Середа drag-and-drop | | |
| Visual Cafe | Symantec | Windows | Потужні засоби | Вересень | 500 $ |
| DataBase | | | роботи з БД | | |
| Developer | | | | | |
| Edition | | | | | |
| Parts for | Object Share | Windows | Засоби | Квітень | 100 $ |
| Java 2.0 | | | drag-and-drop і | | |
| | | | Сумісність з | | |
| | | | Технологією Cobra | | |
| Java WorkShop | Sun | Windows, | Потужні засоби | Березень | 100 $ |
| 2.0 | | Solaris, | компіляції та | | |
| | | HP-UX, | оптимізації коду | | |
| | | UnixWare | | | | p>
p>