Výběr vhodného nástroje pro implementaci může ušetřit dost času při vývoji aplikace. Pokusíme se zde shrnout, jaké nástroje pro tvorbu informačních systémů jsou v současné době vývojářům k dispozici.
Martin Beran: Výběr vhodného nástroje pro implementaci může ušetřit dost času při vývoji aplikace. Pokusíme se zde shrnout, jaké nástroje pro tvorbu informačních systémů jsou v současné době vývojářům k dispozici. Jelikož je podobných nástrojů na trhu velmi mnoho, zaměřili jsme se především na nástroje firem Inprise, Microsoft a Sybase, které pokrývají značnou část trhu s vývojovými nástroji.
Nabídka vývojových nástrojů je u jmenovaných firem velmi podobná. Jednotlivé vývojové nástroje je možné rozdělit do několika kategorií – na vývojové nástroje založené na vlastním (proprietárním) jazyce, nástroje zaležené na C++, nástroje pro Javu a nástroje pro webové aplikace. Co se podpory databází týče, každá firma samozřejmě nabízí svoji databázi, ale nabízena je také podpora databází konkurenčních. To je vcelku logické, protože kdo by chtěl zákazníkům diktovat, jaký databázový stroj používat, by zřejmě brzy špatně skončil.
Během minulého roku všechny společnosti uvedly také své aplikační servery. Také je jasně patrný přesun k vývojovým nástrojům typu RAD. Až na drobné výjimky jsou dnes všechny nástroje typu RAD. To je na jednu stranu dobře, protože používat nástroje RAD se lze opravdu snadno naučit a jejich používání urychluje implementaci aplikací. Na druhou stranu nejsou vhodné pro tvorbu malých aplikací a aplikací úzce vázaných na systém (jejich použití by se rovnalo příslovečnému použití „kanónu na vrabce“).
Starý dobrý nový Inprise
Firma Inprise byla dříve na trhu známa pod jménem Borland, které více než před rokem přestala používat. Protože se firmě Borland nedařilo dostatečně se prosadit na poli rozsáhlých informačních systémů, rozhodla se to zkusit ještě jedou pod novým jménem. Nedávné spojení s firmou VisiBroker přineslo společnosti Inprise zázemí v oblasti Corby.
Delphi s tradicí
Delphi je nejstarším vývojovým nástrojem typu RAD z nabídky Inprise. Tento nástroj je založen na jazyce Pascal, a proto je v České republice (kde má Pascal dlouhou tradici) nesmírně populární. V současnosti je Delphi dodáváno ve verzi 4.
Delphi přistupuje k databázím prostřednictvím knihoven BDE (Borland Database Engine). Ty umožňují přístup k databázím Paradox, dBase, FoxPro a Access. Prostřednictvím dodatečných „SQL Links“ je možné přistupovat také k velkým databázovým serverům InterBase, Microsoft SQL Server, Sybase, Oracle, Informix a DB2. Taktéž je možné přistupovat prostřednictvím ovladačů ODBC k libovolnému datovému zdroji ODBC.
Pro tvorbu „velkých“ celopodnikových (distribuovaných) aplikací nabízí Delphi různé nástroje. Především je možné vytvořit komponenty COM, které lze provozovat na vzdáleném počítači nebo aplikačním (transakčním) serveru. K dispozici jsou také nástroje umožňující přístup k databázím i na počítačích, které nejsou trvale připojeny do sítě (tedy zejména přenosných počítačích). Verze 4 disponuje i nástroji pro tvorbu (a použití) komponent CORBA.
C++Builder
C++Builder byl koncipován jako obdoba Delphi pro C++. To může usnadnit programátorům v Delphi přechod na C++Builder, ale nejsem si jist, že to bylo nejlepší řešení. Logika jazyka C++ je přece jen trochu jiná a některé věci by bylo v C++ přirozenější řešit jiným způsobem. Také mám rozpačitý pocit z toho, že Inprise si pro potřebu C++Builderu rozšířil jazyk C++ o nová klíčová slova. Ta sice některé programátorské úkony zjednodušují, ale „jazykovým puritánům“ budou trnem v oku.
C++Builder je zatím dodáván ve verzi 3, ale již brzy by měla být k dispozici verze 4. Delphi je zatím – oproti C++Builderu – vždy o krok napřed. Co se týče databází, jsou podporovány stejné formáty jako u Delphi. Pokud jde o tvorbu celopodnikových aplikací, je podporována tvorba vícevrstevných aplikací prostřednictvím komponent COM (resp. ActiveX), ale už nikoliv prostřednictvím komponent CORBA (ty patrně přibudou v příští verzi).
C++Builder může také poměrně úzce spolupracovat s Delphi. V C++Builderu je například možné importovat formulář z Delphi a dále s ním pracovat v C++ (a naopak). Spolupráce je samozřejmě možná i na úrovni prvků ActiveX a komponent COM.
JBuilder
Na rozdíl od C++Builderu není JBuilder vytvořen jako obdoba Delphi. V současnosti je JBuilder dodáván ve verzi 2. Integrované vývojové prostředí obsahuje mnoho unikátních prvků. Jako
jediný ze všech vývojových nástrojů na trhu je tento nástroj skutečně dvoucestný – cokoliv je změněno v kódu, promítne se i do vizuální podoby formuláře.
JBuilder podporuje také tvorbu (i využití) komponent COM a CORBA.
Pro přístup k databázím je v Javě využíván standard JDBC, který JBuilder zcela podporuje. Dodáván je ovladač JDBC pro InterBase a speciální ovladač, který umožňuje přístup k datovým zdrojům ODBC. Dále je samostatně dodáván produkt „Data Gateway“, který umožňuje přístup (pomocí ovladače JDBC) k databázovému jádru BDE (a k výše jmenovaným databázím).
IntraBuilder
Nástroj IntraBuilder je poměrně kvalitním nástrojem na tvorbu webových aplikací. I když se mi tento nástroj poměrně zalíbil, mám pocit, že na trhu se zatím příliš neprosadil.
Aplikace pro web je tvořena z jednotlivých formulářů. Tyto formuláře je možné vytvářet ve vývojovém prostředí IntraBuilderu. Do formulářů je možné také vkládat databázové komponenty. Případný kód se do formulářů zapisuje v jazyce JavaScript. Tyto formuláře se symbolicky „zkompilují“ a nainstalují na IntraBuilder Server. Ten zajistí správné vygenerování formulářů ve chvílí, kdy je vznesen požadavek na některý z nich.
IntraBuilder využívá pro přístup k databázím také knihovny BDE, takže můžete přistupovat k výše jmenovaným databázím. Je rovněž nutno upozornit na to, že serverové komponenty IntraBuilder Serveru nelze redistribuovat – koncový zákazník si také bude nucen zakoupit krabici IntraBuilderu.
Stále nahoru: Microsoft
Pryč jsou doby, kdy Microsoft byl na poli vývojových nástrojů outsiderem. Microsoft si uvědomil, že dobré vztahy s vývojáři mu pomohou ještě více prosadit své aplikace – zejména ty serverové. Proto se snaží své nástroje, které jsou do jisté míry „vedlejším produktem“ tvorby jeho vlastních aplikací, rozšířit mezi co nejvíce vývojářů.
Visual Basic
Visual Basic je jedním z nejstarších vývojových nástrojů typu RAD. Je také jedním z nejrozšířenějších vývojových nástrojů vůbec. V rodině vývojových nástrojů Microsoftu by měl Visual Basic sloužit jako prostředek pro tvorbu uživatelského rozhraní windowsových aplikací. Visual Basic je také koncipován jako velice jednoduchý produkt, který je možné použít i pro výuku programování.
Visual Basic začínal dříve jako interpret, avšak dnes je již plnohodnotným kompilátorem. Přesto je ale kód ve Visual Basicu o něco pomalejší než kód ve Visual C++.
Pro přístup k databázím v současné době Microsoft prosazuje standard OLE-DB, který by měl nahradit stávající (a zastarávající) ODBC. Standard OLE-DB by měl lépe přistupovat k nestrukturovaným datovým zdrojům. Na rozdíl od ODBC umožňuje OLE-DB lepší parametrizaci datového zdroje. Jelikož knihovny OLE-DB umožňují přístup k databázím na poměrně nízké úrovni, Microsoft vyvinul knihovnu ADO (ActiveX Data Objects), která umožňuje přístup k databázím na vyšší úrovni.
Odlehčená verze Visual Basicu (Visual Basic for Applications) je také dodávána jako skriptovací jazyk v různých produktech. Jsou to zejména produkty rodiny Microsoft Office, ale jsou to také produkty od jiných výrobců, kteří tuto technologii licencovali (bude to například příští verze Corel WordPerfect Suite).
Visual Basic je k dispozici i pro RISCové procesory DEC Alpha a ve verzi pro Windows CE (verze Windows pro kapesní počítače).
Visual C++
Visual C++ je jedním z mála nástrojů, které v současnosti nejsou nástroji typu RAD. Visual C++ však nabízí také dostatek nástrojů, které různým způsobem urychlují vývoj. Obsahuje například Class Wizard, který umožňuje automatické vygenerování hlaviček ošetření různých událostí.
Visual C++ je vhodný nástroj všude tam, kde je třeba vytvářet velmi malé a velmi rychlé programy. Je tedy vhodný například pro tvorbu ovladačů, systémově orientovaných aplikací, ale také prvků ActiveX.
Verze 6 rozšiřuje podporu technologie COM a OLE DB. Zajímavou vlastností je „Edit and Continue“. Tato vlastnost umožňuje program během jeho ladění měnit a pokračovat v ladění bez nutnosti nového spuštění laděného programu (to samozřejmě není možné vždy).
Visual C++ je k dispozici také pro RISCové procesory DEC Alpha a ve verzi pro Windows CE.
InterDev
Webový Internet Information Server od Microsoftu podporuje skriptování na straně serveru. Tyto skripty se zapisují do tzv. „aktivních stránek“ (Active Server Pages) v různých skriptovacích jazycích – například Visual Basic Scriptu nebo Java Scriptu.
Nástroj Visual InterDev slouží k snazší (vizuální) tvorbě stránek ASP. Současná verze 6 přináší oproti předchozí verzi mnoho novinek.
Jednou z novinek je, že InterDev obsahuje poměrně kvalitní WYSIWYG-editor stránek. Další novinkou je, že k InterDevu je dodávána velká kolekce Design-time prvků ActiveX. To jsou prvky, které jsou v stránkách ASP viditelné jen v době jejich editace. Při ukládání ASP-stránky však na svoje místo vygenerují skript, který něco vykonává. Takto jsou dodávány prvky, která zajišťují připojení k databázi, zobrazování a editaci záznamů, přepínání mezi různými režimy formuláře apod. Pro přístup k databázím (z ručně psaných skriptů) je také možné použít objekty ADO.
Poměrně důležité je, že nyní je k dispozici také „rozumný“ debugger stránek ASP, který umožňuje krokování, používání zarážek a prohlížení a změnu obsahu proměnných.
Velkou výhodou je, že stránky ASP lze provozovat na libovolném Internet Information Serveru. Zákazníci tedy nemusejí dokupovat žádná další rozšíření k tomuto serveru. Nevýhodou je, že zákazníci jsou tak vázáni na platformu Windows NT.
Visual J++
Visual J++ je vývojový nástroj založený na jazyce Java. Microsoft dříve pustil k vodě myšlenku platformově nezávislé Javy a do svého vývojového nástroje implementoval mnoho platformově závislých rysů. Je však otázkou, co se tímto nástrojem stane během následujících dní, neboť soud uložil Microsoftu upravit své javové nástroje podle standardu Javy a všechna rozšíření standardně vypnout. Jaký bude další vývoj tohoto nástroje, však není zatím zřejmé.
Visual J++ ve verzi 6 je již konečně nástrojem typu RAD. V tomto směru značně kopíruje logiku, na které je vystavěn Visual Basic.
Visual J++ ve verzi 6 obsahuje také knihovnu Windows Foundation Classes, která zapouzdřuje přístup k Win32 API. Visual J++ také obsahuje podporu komponentové technologie COM i knihovny ADO pro přístup k databázím.
Odjakživa databáze: Sybase
Sybase má své kořeny zapuštěné v oblasti databází. Před několika lety koupila Sybase firmu PowerSoft, a tak přišla k mnoha vývojovým nástrojům, které dále rozvíjí. Díky tomuto spojení vynikají vývojové nástroje od Sybase především v oblasti databázových připojení.
PowerBuilder
PowerBuilder je hlavním vývojovým nástrojem od Sybase. Protože PowerBuilder je poměrně starý vývojový nástroj, logika vývoje aplikací v PowerBuilderu se může dnes zdát poněkud neobvyklá. Sybase nabízí tento nástroj ve verzi 6.5.
Vývojové prostředí i runtime-knihovny (honosně zvané PowerBuilder Virtual Machine) jsou k dispozici nejen na 32bitových Windows, ale také na Macintoshi a na některých unixových platformách.
PowerBuilder umožňuje přistupovat k databázím prostřednictvím ovladačů ODBC, ale také prostřednictvím přímých ovladačů k velkým serverům SQL (Sybase, Microsoft, Oracle, Informix a DB2). PowerBuilder obsahuje také zvláštní prvek DataWindow, který umožňuje data z databáze prezentovat mnoha různými způsoby (jako datovou mřížku, jako formulář, jako graf apod.).
PowerBuilder tradičně podporuje kvalitní generování komponent. Kromě nativních komponent PowerBuilderu je možné generovat také komponenty COM, JavaBeans a CORBA.
Power++
Power++ je nástroj RAD založený na C++. Dodáván je ve verzi 2.1. Na rozdíl od jiných nástrojů Power++ pro svou potřebu používá pouze standardní jazykové konstrukce C++ a žádné další nezavádí.
Unikátními nástroji Power++ jsou Reference Card a Parametr Wizard. Reference Card je kategorizovaný seznam vlastností a metod jednotlivých komponent. Z tohoto okna je možné vyvolat Parameter Wizard, který vloží do kódu volání metody. Uživatel je také vyzván k tomu, aby doplnil jednotlivé parametry metody. Pokud metoda vrací nějaký výsledek, je nabídnuto i uložení výsledku do proměnné.
Power++ je na podporu komponent poněkud skoupý. Umožňuje vytvářet a používat zatím jen komponenty COM (resp. ActiveX). Přístup k databázím je u Power++ řešen stejně jako u PowerBuilderu.
PowerJ
PowerJ je koncipován jako obdoba Power++ pro Javu. V současnosti je dodáván verze 2.5. Vývojové prostředí PowerJ je velice podobné prostředí Power++ a obsahuje také stejné nástroje Reference Card a Parametr Wizard.
Přístup k databázím je z PowerJ řešen prostřednictvím rozhraní JDBC. Dodáván je také ovladač JDBC „jConnect“, který umožňuje přístup k databázím Sybase anebo k běžným datovým zdrojům ODBC. Pomocí nástroje OmniConnect nebo DirectConnect se můžete též připojit k dalším cca 25 dalším velkým databázovým systémům. Je zřejmé, že použitím zdrojů ODBC se program stává platformově závislý.
PowerJ umožňuje používat a vytvářet komponenty ve formátu JavaBeans. Používat je také možné komponenty CORBA a ActiveX (které ovšem už nejsou platformově nezávislé).
PowerSite
Základem tohoto balíku je PowerDynamo. To je vlastní generátor stránek, který se instaluje jako rozšíření běžných webových serverů. Dynamické stránky je možné vytvořit jako šablony (které obsahují pouze malé skripty pro vložení dat) nebo jako skripty, které generují kompletní stránku. Jednou z hlavních komponent je vývojové prostředí pro tvorbu skriptů a šablon. Toto prostředí umožňuje především tvorbu jednotlivých stránek v režimu WYSIWYG. Jsou k dispozici také další nástroje pro správu jednotlivých stránek a pro jejich publikování na webový server.
Power Designer
Power Designer je nástrojem typu CASE. Tento nástroj pokrývá analytickou část vývoje aplikace. Designer se skládá z pěti modulů, které se prodávají samostatně. Tyto moduly ale mohou mezi sebou spolupracovat a sdílet informace mezi kreslenými modely. Modul ProcessAnalyst slouží k modelování datových toků. Pro modelování databází je možné použít modul DataArchitect. Poměrně unikátní možností je rozdělení datového modelu na konceptuální úroveň (bez vlastností vázaných na konkrétní implementaci databáze) a na fyzický datový model (svázaný s konkrétní databázovou implementací). Pro tvorbu rozsáhlých datových skladů je možné použít WarehouseArchitect. Pro generování funkčních „koster“ aplikací vycházejících z datového modelu se používá modul AppModeler. Pokud potřebujete pracovat na modelech týmově, je vhodné použít modul MetaWorks, který zajistí konsolidaci změn od jednotlivých uživatelů.
Zdroj: Computer