Nástroje pro vývoj aplikací a jejich vazba na CASE

Transkript

Nástroje pro vývoj aplikací a jejich vazba na CASE
Vysoká škola ekonomická v Praze
Nástroje pro vývoj
aplikací a jejich vazba na
CASE
Semestrální práce
4IT450 CASE – Computer Aided Systems Engineering
Daniel Kouba
Jan Oudrnický
Jiří Heřman
Vladimír Oraný
Kristína Buliková
Pavel Švec
Prosinec 2008
Obsah
Obsah................................................................................................................................2
1 Úvod................................................................................................................................4
2 IDE (1) (2)........................................................................................................................5
2.1 IDE pro Javu.............................................................................................................................6
2.1.1 Specifika IDE pro Javu..............................................................................................................................6
2.1.2 Důležité vlastnosti pro Java IDE...............................................................................................................6
2.1.3 Shrnutí...................................................................................................................................................15
2.2 .NET Framework....................................................................................................................17
2.2.1 Co je to .NET (6).....................................................................................................................................17
2.2.2 Co je to Mono (7)...................................................................................................................................17
2.2.3 Specifika IDE pro platformu .NET a Mono.............................................................................................18
2.2.4 Vybraná IDE pro .NET a Mono...............................................................................................................18
2.2.5 Shrnutí...................................................................................................................................................25
2.3 Web.......................................................................................................................................26
2.3.1 Specifikace IDE pro web........................................................................................................................26
2.3.2 Vazba na Case nástroje..........................................................................................................................26
2.3.3 XHTML...................................................................................................................................................26
2.3.4 PHP........................................................................................................................................................32
2.3.5 ASP (8)...................................................................................................................................................35
2.4 XML........................................................................................................................................36
2.4.1 Vazba na Case nástroje..........................................................................................................................36
2.4.2 IDE pro XML...........................................................................................................................................36
2.5 Databáze................................................................................................................................39
2.5.1 Vazba na Case nástroje..........................................................................................................................39
2.5.2 IDE pro databáze...................................................................................................................................39
3 CASE..............................................................................................................................43
3.1 Obecně o CASE.......................................................................................................................43
3.2 MDA.......................................................................................................................................43
3.3 UML.......................................................................................................................................44
3.4 Přehled podle použití.............................................................................................................45
3.4.1 Objektové modelování..........................................................................................................................45
3.4.2 IDE pro objektové modelování..............................................................................................................45
3.4.3 Návrh databází.......................................................................................................................................52
3.4.4 Modelování procesů..............................................................................................................................55
3.4.5 IDE pro modelování procesů.................................................................................................................55
4 IDE pro podporu spolupráce...........................................................................................57
4.1 Obecně..................................................................................................................................57
-2-
4.2 Přehled produktů...................................................................................................................57
5 Závěr..............................................................................................................................62
6 Citace:............................................................................................................................63
-3-
1 Úvod
Cílem této práce je stručně seznámit čtenáře s vybranými nástroji pro vývoj aplikací (dále jen
IDE) a popsat jejich spolupráci s nástroji CASE.
Vzhledem k tomu, že tato práce navazuje na semestrální práce minulých ročníků a na trhu
s CASE nástroji se od té doby neodehrály žádné výrazné změny (minimum nových nástrojů nebo
výrazně odlišných nových verzí), rozhodli jsme se zvolit odlišný přístup v pojetí naší práce. Budeme se
především snažit rozdělit CASE nástroje a IDE podle typu jejich využití tak, aby každý mohl snadno
najít jen nástroje z oblasti, o kterou se zajímá. Dále se pokusíme popsat některé nástroje, které se
v předešlých pracích neobjevily.
-4-
2 IDE (1) (2)
IDE je zkratkou Integrated Development Environment (Integrované Vývojové Prostředí –
ačkoliv se do českého jazyka nepřekládá). Tento program (nebo skupina programů) poskytuje
programátorovi velké množství utilit, k vývoji software. Základem každého IDE je editor zdrojového
kódu, kompiler, utility k sestavování programu (linker) a debugger. V posledních letech dochází
k posunu tohoto paradigmatu, jelikož se z IDE stává zároveň prostředek pro design aplikace samotné
a design rozhraní aplikací a podporuje rovněž i další procesy týkající se vývoje software, jako
například komunikace mezi vývojáři nebo správu chyb – tyto nástroje jsou popsány v kapitole IDE pro
podporu spolupráce. Mezi další vlastnosti vývojového prostředí patří automatické dokončování,
ukazování chyb v kódu v reálném čase a v současné době i podpora refaktorování, které souvisí
s moderními trendy programování. Potřebou vlastností je také generování dokumentace ze
zdrojového kódu. Rozhraní vývojového prostředí je zaměřeno především na podporu jednoho
programovacího jazyka, ale platformy jako Eclipse (které je hlavním IDE pro Javu) ukázaly, že jedno
IDE je schopné podporovat i větší počet jazyků s menšími úpravami. Podobně jako Visual Studio,
které je v základu určeno pro několik programovacích jazyků, jejíchž jmenovatelem je platforma .NET.
Ve světě otevřeného softwaru jsou více rozšířeny negrafická vývojová prostředí, na rozdíl
proti tomu, ve sféře vlivu Microsoft Windows jsou grafická prostředí preferována a existuje velké
množství komerčních i nekomerčních variant.
V základu obsahuje většinou IDE rozhraní pro jednoduchou správu tříd, což je považováno za
jistou úroveň CASE, ale pro seriózní modelování projektu je zapotřebí externích nástrojů. IDE
prostředí jsou většinou navržena jako velmi rozšiřitelné a je k dispozici rozhraní, pomocí kterého je
možné přidat funkcionalitu do aplikace samotné. Takto jsou většinou přidávány propracovaného
CASE nástroje do IDE.
-5-
2.1 IDE pro Javu
2.1.1
Specifika IDE pro Javu
Java jako programovací jazyk má některá svá specifika. K těm patří například čím dál tím
bohatší množství standardních knihoven, které není již skoro možné zapamatovat si z hlavy. Java se
stala velmi oblíbeným jazykem pro tvorbu různých podpůrných knihoven a nástrojů a u IDE je velmi
důležité, jak se dokáží vypořádat s jejich začleněním. Řada z nich se stala natolik populárním, že se
stala takřka nezbytné pro každý Java projekt - například sestavovací nástroje Ant či Maven. Mnohé z
nich se stali tak populární, že pronikli i do jiných platforem jako například NAnt, NHibernate pro
platformu .NET.
Java obsahuje tři různé edice: Micro Edition, Standard Edition a Enterprise Edition. Micro
Edition je určena pro běh s minimálními prostředky například v mobilních telefonech, Standard
Edition je učena pro běžné počítače a Enterprise Edition popisuje infrastrukturu, kterou by měl mít
tzv. aplikační server, který slouží k zjednodušení mnoha běžných problémů podnikových systémů bezpečnost, ukládání dat apod. Součástí Enterprise Edition jsou i webové standardy JSP, JSF a
servlety. Dobré IDE pro Javu by mělo být schopno pomáhat při tvorbě aplikací pro všechny tři
zmíněné edice.
Dobré IDE by mělo dále pro jakýkoli jazyk podporovat funkce jako ladění, testování,
automatické doplňování včetně náhledů do dokumentace, šablony, automatické kontroly chyb či
zvýrazňování syntaxe.
Zmiňované vlastnosti se snaží shrnout následující seznam, který bude součástí popisu
každého jednotlivého IDE. Doplněno je několik běžných vlastností jako například cena a vazby na
CASE nástroje zmíněné v ostatních částech této práce.
2.1.2
Důležité vlastnosti pro Java IDE
• Platforma
• Rozšiřitelnost
• Podpora pro sestavování projektu
o Ant
o Maven
• Podpora pro edice Java
o Micro Edition
o Standard Edition
o Enterprise Edition
• Podpora tvorby kódu
o zvýrazňování syntaxe (kontextové doplnění)
o podpora refaktoringu
o automatická kontrola chyb
o testování
o ladění
• Podpora práce s úložišti
o CVS, SVN
• Vazby na CASE nástroje
o objektové modelování
o návrh databází
o modelování procesů
o nástroje pro podporu spolupráce
-6-
Eclipse 3.4 (3)
Eclipse IDE je vývojové prostředí vznikající pod otevřenou komunitou The Eclipse Foundation,
jejíž strategickými členy jsou takoví giganti jako IBM, Borland, Oracle nebo Zend. Eclipse IDE vzniklo
původně jako placené vývojové prostředí v IBM, které bylo otevřeno a převedeno na komunitu v roce
2001. Eclipse je v současnosti nejpoužívanějším vývojovým prostředím pro Javu. Základem úspěšnosti
je velmi dobře navržený systém doplňků založený na standardu OSGi. Základ samotné aplikace
Eclipse je velmi skromná Eclipse Platform - ostatní jsou pouze doplňky, včetně prostředí pro vývoj v
Javě. V minulosti, kdy platforma GUI aplikací Swing byla velmi kontroverzní a chybová, Eclipse si
dokázal získat mnoho příznivců pomocí platformy Standard Widget Toolkit, které je založené na
využívání nativního zobrazování - proto se také vzhled Eclipse vždy shoduje s ostatními aplikacemi
běžícími na dané platformě. Eclipse je šířen zadarmo v několika výchozích balíčcích:
•
•
•
•
•
•
•
•
Eclipse IDE for Java EE Developers
Eclipse IDE for Java Developers
Eclipse IDE for Java C/C++ Developers
Eclipse Modeling Tools
Eclipse for RCP/Plug-in Developers
Eclipse IDE for Java and Report Developers
Eclipse Classic
+ Member Distros
Nicméně dá se říci, že co vývojář, to jiné vývojové prostředí, neboť jenom v rámci samotné
Eclipse Foundation vzniká obrovské množství projektů, které se dají doinstalovat do IDE, např. Data
Tools nástroje pro práci s databází, Rich Ajax Platform pro rychlou tvorbu interaktivních webových
aplikací nebo nástroje pro SOA, AspectJ nebo PHP. Všechny projekty, které jsou zastřešeny pod
Eclipse Foundation lze jednoduše doinstalovat přes tzv. Discovery Site. Jejich seznam můžeme najít
na stránce http://www.eclipse.org/projects/listofprojects.php. Kromě doplňků podporovaných
Eclipse Foundation existuje i nepřeberné množství (více než tisíc) dalších doplňků od různých tvůrců.
Většinu z nich nalezneme na stránce http://www.eclipseplugincentral.com/ .
Samotné vývojové prostředíobsahuje vše, co od moderního vývojového prostředí
očekáváme. Nechybí ani integrace se sestavovacími nástroji Ant i Maven. Za zmínku stojí, že nástroj
pro podporu spolupráce Rational Team Concert je založeno právě na platformě Eclipse. Stejně tak
několik jiných vývojových prostředí jako v naší práci nezmiňovaný JBuilder nebo MyEclipse staví na
základech Eclipse IDE. Kromě běžného vývojového prostředí totiž poskytuje Eclipse platformu pro
rychlý vývoj aplikací - a to nejenom vývojových prostředí.
Kromě vedoucí pozice v programování v jazyce Java se Eclipse dostává i velké oblibě mezi
vývojáři C/C++.
K výrazným nedostatkům patří zejména absence jednoduchého nástroje pro objektového
modelování.
-7-
Výrobce: The Eclipse Foundation
Cena :
•
Zdarma
Důležité vlastnosti pro Eclipse IDE:
• Platforma - multiplatformní formou instalací pro každou platformu zvlášť
• Rozšířitelnost - velmi dobrá, založena na standardu OSGi
• Podpora pro sestavování projektu
o Ant - ano
o Maven - ano
• Podpora pro edice Java
o Micro Edition - ano
o Standard Edition - ano
o Enterprise Edition - ano
• Podpora tvorby kódu
o zvýrazňování syntaxe - ano
o podpora refaktoringu - ano
o automatická kontrola chyb - ano
o testování - ano
o ladění - ano
• Podpora práce s úložišti
o CVS - ano
o SVN - ano
• Vazby na CASE nástroje
o objektové modelování - ano, Eclipse Modeling Tools, ArgoEclipse (od tvůrců
ArgoUML), Omondo Eclipse UML, Apollo for Eclipse (od tvůrců Posseidon for UML),
Visual Paradigm SDE for Eclipse, Violet UML Editor, Fujaba4Eclipse, Objecteering for
Eclipse
o návrh databází - ano, Data Tools Platform, PowerDesigner
o modelování procesů - ano, v rámci Eclipse Modeling Tools,
EPF, PowerDesigner, Visual Paradigm SDE for Eclipse
o nástroje pro podporu spolupráce - ano, Rational Team Concert
-8-
JCreator LE / JCreator Pro (4)
JCreator od společnosti Xinox Software viditelně zaspal svou dobu. Toto vývojové prostředí
poskytuje pouze základní funkcionalitu jako například kontextové doplňování a zvýrazňování syntaxe,
ale pokročilé funkce známé s ostatních IDE zcela chybí - jako například možnost refaktorování.
Ohromující přitom je, že v obrovské konkurenci, která na trhu panuje, účtuje JCreator licenční
poplatky - od 89$ za samostatnou licenci za verzi Pro (cena se snižuje množstevními slevami).
Jak bylo nastíněno JCreator je dostupný ve dvou verzích - JCreator LE a JCreator Pro. Verze LE
je takový lepší poznámkový blok. Na rozdíl od verze Pro neobsahuje ani možnost tvorby šablon, ani
integraci s CVS, automatické doplňování ani dokonce nástroje pro ladění.
JCreator je na rozdíl od většiny Java IDE napsán v C++, z čehož plynou hned dva důsledky.
JCreator může být o něco svižnější, než jeho kolegové, nicméně na jiné platformě než Windows jej
nespustíte, protože se tvůrci neobtěžovali s verzemi pro další platformy. V době malých disků mohla
být výhodou i velmi malá velikost instalace - cca 11 MB.
Skromný výčet několika základních funkcí doplňuje možnost spolupracovat s Ant, tvořit
stránky JSP a již zmiňovaná spolupráce s CVS. Ostatní funkce chybí a jejich doplnění např. open
source komunitou není možné, neboť JCreator je uzavřený nástroj bez možnosti tvorby doplňků.
Výrobce: Xinox Software
Cena:
•
max. 89$ (cca 1 700 Kč) za jednu licenci verze Pro, verze LE zdarma
Důležité vlastnosti pro Java IDE:
•
Platforma - Windows
•
Rozšiřitelnost - není
•
Podpora pro sestavování projektu
o Ant - ano
o Maven - ne
•
Podpora pro edice Java
o Micro Edition - ne
o Standard Edition - ano
o Enterprise Edition - pouze Java Server Pages
•
Podpora tvorby kódu
o zvýrazňování syntaxe - ano
o podpora refaktoringu - ne
o automatická kontrola chyb - ne
o testování - ne
o ladění - pouze verze Pro
•
Podpora práce s úložišti
o CVS - pouze verze Pro
o SVN - ne
•
Vazby na CASE nástroje
o objektové modelování - ne
o návrh databází - ne
o modelování procesů - ne
o nástroje pro podporu spolupráce – ne
-9-
JDeveloper 11g (5)
Za produktem JDeveloper stojí jeden z gigantů IT průmyslu - společnost Oracle. Původ IDE je
taktéž zajímavý, jelikož první verze JDeveloper vznikla licencování produktu JBuilder od společnosti
slavného tvůrce IDE, firmy Borland. Své kořeny u firmy Borland JDeveloper nezapře hlavně co se týče
jednoduchosti ovládání a tvorby aplikací. JDeveloper je velmi silný zejména při vytváření aplikací nad
knihovnami Application Development Framework (ADF), které slouží k rychlému a jednoduchému
vývoji aplikací běžících na aplikační serveru WebLogic. Nejenom při tvorbě nad knihovnami ADF si
rádi vzpomenete na jednoduchost tvorby aplikací v starém dobrém Dephi.
JDeveloper obsahuje dobrou podporu pro tvorbu rozšiřování pomocí doplňků. Jejich výběr
bohužel již není tak bohatý jako u Eclipse. Na stránkách
http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/index.html na
leznete okolo padesáti možných doplňků do vývojového prostředí.
Jak můžeme čekat, vynikající je spolupráce s dalšími produkty společnosti Oracle jako
například již zmiňovaný aplikační server WebLogic nebo databázovými servery. JDeveloper tedy
samozřejmě umí i navrhovat databáze, klást dotazy a pomáhá vytvářet uložené PL/SQL funkce a
procedury. Součástí IDE je standardně integrace nástrojů objektového modelování. Součástí instalace
může být i instalace aplikačního serveru a knihoven ADF.
Výrobce: Oracle
Cena: zdarma
Důležité vlastnosti pro Java IDE:
• Platforma - multiplatformní
• Rozšiřitelnost - ano
• Podpora pro sestavování projektu
o Ant - ano
o Maven - nepřímo – pomocí doplňku do Maven, který umí vytvářet JDeveloper
projektové artefakty
• Podpora pro edice Java
o Micro Edition - ano
o Standard Edition - ano
o Enterprise Edition - ano
• Podpora tvorby kódu
o zvýrazňování syntaxe (kontextové doplňování) - ano
o podpora refaktoringu - ano
o automatická kontrola chyb - ano
o testování - ne
o ladění - ano
• Podpora práce s úložišti
o CVS - ano
o SVN - ano
• Vazby na CASE nástroje
o objektové modelování - ano (interně), Visual Paradigm SDE for JDeveloper
o návrh databází - ano (interně),
o modelování procesů - ano, Visual Paradigm SDE for JDeveloper
o nástroje pro podporu spolupráce – ne
- 10 -
IntelliJ IDEA 8 (31)
IntelliJ IDEA společnosti JetBrains se honosí několika oceněními za nejlepší Java IDE. V
minulosti přinášelo do programování v Javě mnoho novinek, které byly z velké části převzaty
ostatními vedoucími vývojovými prostředími a trhu. Heslem IntelliJ IDEA je být "nejinteligentnějším
Java IDE" a maximálně podporovat produktivitu a vcelku se mu to daří. Verze 8 nově nabízí například
možnost modelování tříd v UML diagramech a zdaleka nejrozmanitější možnosti refaktoringu. Práci
může ušetřit velmi důmyslné automatické doplňování, které vždy hledá nejvhodnější variantu k
doplnění a poradí si i například s převáděním polí na seznamy a zpět. Velmi dobrá je i integrace s
nástrojem Maven, pomocí kterého dokáže IntelliJ IDEA stahovat knihovny podle potřeby. Další
zajímavou variantou je spojení vývojového prostředí s "continous build" serverem TeamCity.
Na rozdíl od svých konkurentů si své vychytávky nechává společnost JetBrains dobře zaplatit.
K dispozici je několik možností licencování:
•
•
•
•
•
Commercial License - €540 - pro firmy a organizace
Personal License - € 225 - pro osobní účely
Academic License - € 90 - pro výzkumné a výukové účely
Classroom License - zdarma - pro studenty
Open Source License - zdarma - pro nekomerční projekty
I když ceny nejsou vysloveně přemrštěné, je otázka, zda se IntelliJ IDEA tak moc liší od své
konkurence. Poměrně inteligentní automatické doplňování má řada zdarma distribuovaných IDE a
stejně tak např. návrh tříd v UML. Většinou jen možná nebývají tak dobře propagovány.
IntelliJ IDEA je velmi dobře rozšířitelný a na stránce http://plugins.intellij.net/ můžete nalézt
více než 500 různých doplňků. Součástí základní instalace jsou je již podpora řady knihoven jako
například Struts nebo Hibernate.
Zajímavá je kompatibilita s Eclipse IDE. Je možné snadno importovat projekty z Eclipse a
dokonce vytvářet aplikace na platformě Eclipse RCP.
- 11 -
Výrobce: JetBrains
Cena:
•
€ 540 za uživatele pro firmy (cca 14 500 Kč)
•
€ 255 pro individuální uživatele (cca 7 000 Kč)
•
€ 90 pro akademické účely (cca 2 500 Kč)
•
zdarma pro studenty a open source projekty
Důležité vlastnosti pro Java IDE:
• Platforma - multiplatformní
• Rozšířitelnost - ano
• Podpora pro sestavování projektu
o Ant - ano
o Maven - ano
• Podpora pro edice Java
o Micro Edition - ano
o Standard Edition - ano
o Enterprise Edition - ano
• Podpora tvorby kódu
o zvýrazňování syntaxe (kontextové doplňování) - ano
o podpora refaktoringu - ano
o automatická kontrola chyb - ano
o testování - ano
o ladění - ano
• Podpora práce s úložišti
o CVS - ano
o SVN - ano
• Vazby na CASE nástroje
o objektové modelování - ano (interně), Visual Paradigm SDE for IntelliJ
IDEA
o návrh databází - ano, DB Visual ARCHITECT for IntelliJ IDEA, DB Helper
o modelování procesů - ano, Visual Paradigm SDE for IntelliJ IDEA
o nástroje pro podporu spolupráce - neúplné - vazba na TeamCity, které
ovšem není přímo nástrojem pro podporu spolupráce ve smyslu této
práce
- 12 -
NetBeans 6.5 (32)
Historie prostředí NetBeans je velmi zajímavá zejména pro Čechy. NetBeans vzniky jako
studentský projekt na Matematicko-fyzikální fakultě Univerzity Karlovy v Praze pod názvem Xelphi
jako první Java IDE běžící na Javě samotné. Na základně tohoto projektu založil Roman Staněk
společnost NetBeans, která toto vývojové prostředí dále vyvíjela a prodávala. Roku 1999 jej
odkoupila firma Sun a roku 2000 jej převedla pod open source licenci. Věšína vývoje stále zůstává v
pražské pobočce společnosti Sun.
NetBeans IDE velmi silně těží ze vztahu ke společnosti Sun. Například většina návodů pro
programovaná v Javě, které naleznete na stránkách společnosti jsou primárně napsány na vyzkoušení
právě ne NetBeans.
Vývojové prostředí NetBeans zachovává standard odvětí a obsahuje všechny funkce, které od
něj očekáváme - Code Assist, automatické hledání chyb a podobně. Stejně tak lze tento produkt lehce
rozšířit pomocí doplňků, které nazývá moduly. Kromě možnosti rozšíření pomocí modulů je již při
stahování k dispozici několik připravených verzí podobně jako u Eclipse:
•
•
•
•
•
•
•
Java SE
Java FX
Java
Ruby
C/C++
PHP
Vše
Dalšími zajímavými funkcemi NetBeans je například snadné modelování tříd pomocí UML
nebo výborná podpora tvorby mobilních aplikací. Podpora spolupráce může být zajištěna pomocí
NetBeans Collaboration Project.
- 13 -
Výrobce: NetBeans Community
Cena: zdarma
Důležité vlastnosti pro Java IDE:
• Platforma - multiplatformní
• Rozšířitelnost - ano
• Podpora pro sestavování projektu
o Ant - ano
o Maven - ano
• Podpora pro edice Java
o Micro Edition - ano
o Standard Edition - ano
o Enterprise Edition - ano
• Podpora tvorby kódu
o zvýrazňování syntaxe (kontextové doplňování) - ano
o podpora refaktoringu - ano
o automatická kontrola chyb - ano
o testování - ano
o ladění - ano
• Podpora práce s úložišti
o CVS - ano
o SVN - ano
• Vazby na CASE nástroje
o objektové modelování - ano (interně - NetBeans UML), Visual Paradigm SDE for
NetBeans, Magic Draw UML,
o návrh databází - ano, DB Visual ARCHITECT for NetBeans
o modelování procesů - ano, Visual Paradigm SDE for NetBeans
o nástroje pro podporu spolupráce - ano, NetBeans Collaboration Project
2.1.3
Shrnutí
Při bližším seznámení se všemi IDE se ukázalo, že až na jednu výjimku jménem JCreator, o
které se již dále nebudu v tomto shrnutí vůbec zmiňovat, dosahují velmi vysoké kvality a téměř
totožné funkcionality. Co se týče běžného programování v Javě poskytují Eclipse, JDeveloper, IntelliJ
IDEA i NetBeans velmi dobré zázemí a téměř shodné funkcionality. Často je volba spíše otázkou
vkusu, nebo toho, s čím se daný programátor setká nejdříve. Větší rozdíly by mohly být viditelné
například ve vazbách na různé knihovny, neboť o nich je skutečné profesionální programování v
praxi. Vedoucí čtyřka proto velmi dbá na rozšířitelnost, i když množství dostupných doplňků se často
liší. Nelze jednoznačně rozhodnout, jaké IDE je lepší, či horší. Vždy je nutné brát v potaz, co od něj
budeme očekávat a s jakými technologiemi budeme pracovat. Nejlépe to zjistíme v informacích o
knihovnách, kterě budeme chtít používat. Většinou se zde dozvíme, jakou podporu daná IDE
poskytují.
Tvůrci Java IDE si zajisté velkou podobnost svých produktů uvědomují a proto se snaží
vytvářet další přidanou hodnotu formou různých knihoven pro rychlou tvorbu aplikací, ať už Eclipse
RCP nebo ADF od Oracle.
Co se týče vazby na CASE nástroje, nejlépe je s nástroji zmiňovanými v ostatních částech
práce provázáno Eclipse IDE, jelikož celá řada nástrojů lze použít taktéž jako doplňky do tohoto
prostředí. Nicméně toto "vítězství" lehce pokulhává na tom, že na rozdíl od své konkurence zatím
stále nemá žádné plně integrované řešení návrhu tříd v UML. Naproti tomu obrovskou výhodou je
plná integrace s Rational Team Concert. Ostatní konkurence ve všech. Nástroj JDeveloper sice vazby
- 14 -
na CASE nástroje příliš nemá, obsahuje však vlastní nástroj pro práci s UML a velmi silné zázemí v
oblasti návrhu databází a práce s nimi - jak by se ostatně od produktu databázového giganta Oracle
dalo očekávat. Zajímavá je vazba vývojových prostředí na nástroje firmy Visual Paradigm. Nástroje
firmy Visual Paradigm jsou takovou stálicí Java IDE a lze je použít ve všech čtyřech hlavních
vývojových prostředí.
- 15 -
2.2 .NET Framework
2.2.1
Co je to .NET (6)
Jedná se o softwarovou technologii, která je dostupná pro většinu operačních systémů od
firmy Microsoft Windows. Obsahuje knihovnu hotových řešení a virtuální stroj podobně jako Java.
V mnoha prvcích se platformě Java podobá. Jeho hlavní výhodou je podpora ze strany firmy
Microsoft, který jej chce prosadit jako hlavní platformu pro vývoj software na operačních systémech
Windows. Programy vytvořené v tomto frameworku jsou překládány do CIL (Common Intermediate
Language – dříve MSIL) které jsou spuštěny virtuálním strojem, který se stará o správu paměti a
ošetřování případných výjimek. Do CIL je možné překládat z mnoha jazyků, ale nejrozšířenější z nich
je C# společně s VB.
Vývoj aplikací v tomto frameworku je velmi zaměřen na grafické rozhraní a tak je přímo
v rozšiřujících knihovnách navázán na WPF (Windows Presentation Foundation) a pomocí Windows
Forms tak umožňuje jednoduché navrhování formulářů. V současné verzi 3.5 implementuje
framework velké množství moderních technologií a je neustále vyvíjen. Verze 4.0 je plánována na
druhou polovinu roku 2009.
2.2.2
Co je to Mono (7)
Projekt který je založen na standardech definovaných firmou Microsoft při uvádění platformy
.NET. Jedná se v zásadě o svobodnou verzi .NET, která obsahuje C# překladač a virtuální stroj pro
spouštění bytového kódu. Výhodou platformy Mono je schopnost běžet na několika systémech
zároveň a také to, že se zakládá na rozšířeném .NET frameworku. Základní knihovny kopírují
funkcionalitu .NET framework přibližně o jedno hlavní vydání zpět. V současné době je ve vývoji
projekt Olive, který má na tuto platformu přinést vlastnosti .NET 3.0. Rozšířené knihovny, které jsou
také součástí, podporují platformně specifické požadavky jako je rozhraní s knihovnami pro Linux
apod. Tento projekt je řízen firmou Novell.
- 16 -
2.2.3
Specifika IDE pro platformu .NET a Mono
Moderní koncepty programování v jazycích platformy .NET určují samy o sobě prvky, které
musí dobré IDE obsahovat. Platforma sama o sobě obsahuje velké množství knihoven, nad kterými je
dobré mít přehled. Důležitým prvkem platformy .NET je blízké provázání s MS SQL serverem, a
především korporátní zaměření programů, což si žádá propojení do databáze přímo z IDE. Základní
vlastností IDE by měla být podpora několika jazyků se kterými může CLR pracovat a překlad do byte
kódu, stejně tak jako možnost schopnosti podporovat ASP.NET a umožňovat export připravený pro
umístění přímo na serveru. Mezi další vlastnosti by mělo patřit automatické dokončování výrazů a
nápověda obsahu, dobrá podpora mnoha způsobů refaktoringu, automatická kontrola chyb před
překladem a dobré vlastnosti vestavěného ladění. Podpora vytváření testů a testování je rovněž
žádoucí. Pro rozšíření funkcionality dle vlastních požadavků by mělo IDE podporovat plug-in moduly.
Vlastnosti IDE pro .NET/Mono
• Podpora jazyků
• Platformy
• Verze .NET
• Licenční podmínky
• Metriky kódu
• Refaktoring
• Zvýrazňování syntaxe
• Testování
• Zásuvné moduly
• Návrh UI
• Vestavěné CASE
• Možné CASE rozšíření
• Cena
2.2.4
Vybraná IDE pro .NET a Mono
Výběr byl založen na předchozích zkušenostech s vývojem na platformě .NET. Vývojová
prostředí nicméně pro tuto platformu nejsou velmi rozšířená, a tak vývojářům, kteří přecházejí na
platformu .NET nenabízí širokou paletu různých produktů. Funkcionalita jednotlivých produktů se
velmi přibližuje, nicméně existují jisté rozdíly mezi jednotlivými prostředí, alespoň z pohledu systému,
na kterém dané prostředí běží. Podle předběžného průzkumu bylo jasně viditelné, že všechny
komerční i nekomerční produkty se snaží přiblížit vzhledu Microsoft Visual Studia, které je etalonem
mezi vývojovými prostředími.
- 17 -
Microsoft Visual Studio 2008 (8)
Vlajková loď vývojářských prostředí pro platformu .NET. Obsahuje všechny prvky potřebné
pro vývoj software. Rozhraní odpovídá moderním trendům, podporuje velké množství funkcí.
V základním balíčku je dodáván pro několik jazyků zároveň, podporuje dokončování kódu pod
obchodním názvem IntelliSense. Podporuje mnoho procesů včetně skriptování, reportování,
programování pro Web a to v několika jazycích. Novinkou verze 2008 je podpora C# 3.0. V základní
verzi obsahuje editor diagramu tříd, který umožňuje generování kódu z diagramu nebo zpětné
generování diagramu ze zdrojového kódu. Pro základní využití editor diagramu tříd postačuje. Dále je
možné Visual Studio rozšiřovat nejrůznějšími rozšíření (add-iny), mezi kterými je i několik zajímavých
CASE nástrojů, které budou popsány níže. V dřívějších verzích byl v pokročilejších edicích zahrnut
nástroj Microsoft Visio for Enterprise Architects. Nová verze ale neobsahuje tento nástroj ani
v nejvyšších verzích. Nejvyšší verze (Team Suite) obsahuje klienta pro připojení k Team Foundation
Serveru, který slouží jako centrála pro práci na projektu pro programátory.
Ve verzi 2008 existuje Visual Studio v několika variantách, popsaných v následující tabulce.
Název
Visual Web Developer 2008
Express Edition
Visual Basic 2008 Express Edition
Visual C# 2008 Express Edition
Visual C++ 2008 Express Edition
Visual Studio 2008 Standard
Edition
Visual Studion 2008 Professional
Edition
Visual Studio Team System 2008
Architecture Edition
Visual Studio Team System 2008
Database Edition
Visual Studio Team System 2008
Development Edition
Visual Studio Team System 2008
Test Edition
Visual Studio Team System 2008
Team Suite
Zaměření
Amatérští vývojáři Webu
Amatérští programátoři Visual Basic
Amatérští programátoři C#
Amatérští programátoři C++
Základní set vlastností pro vývoj
aplikací bez podpory enterprise
řešení
Rozsáhlejší součásti pro vývoj
aplikací
Design systémů a jejich instalace
Nástroje pro podporu spolupráce s
databází
Podpora především procesů
týkajících se samotného psaní kódu
Testování programů, důraz na
jednotkové testy a analýzu kódu
Univerzální nástroj na podporu
týmové spolupráce a komplexní
nástroje pro užití v každé části
vývoje
- 18 -
Výrobce: Microsoft
Cena:
• Zdarma (Express)
• 220 000 Kč (Team Suite)
Splnění požadavků:
• Podpora jazyků – C#, C++, VB.NET, XML
• Platformy – Windows
• Verze .NET – 3.5
• Licenční podmínky – Základní verze zdarma, vyšší verze komerční
• Metriky kódu – ANO ve vyšších verzích
• Refaktoring – ANO, úroveň se liší podle verzí
• Zvýrazňování syntaxe - ANO
• Testování – ANO, dle verze
• Zásuvné moduly - ANO
• Návrh UI – ANO, dle verze
• Vestavěné CASE – ANO, základní
• Možné CASE rozšíření - ANO
Další informace:
• Velké množství rozšíření.
• Podpora v systému MSDN
• Rozšiřující moduly CASE spolupracující s Visual Studiem:
• Visual Paradigm SDE for Visual Studio
• tangible modelling tools 1.0 for Visual Studio
• Together for Visual Studio
• Rational Rose Developer for Visual Studio
• Enterprise Architect
- 19 -
Code Gear RAD Studio (9)
Vývojové prostředí dříve podporující pouze svojí rozšířenou verzi jazyka ObjectPascal jménem
Delphi, kterou kompiloval do nativního kódu Windows. Ve verzi Delphi 8 přibyla možnost překladu do
.NET bytekódu. Firma Borland jej prodala a Code Gear jej rozšiřuje a podporuje ve vlastnostech
podporujících platformu .NET, která je oddělena a propagována pod názvem Delphi Prism. Podpora
jazyků nezůstala jen u Delphi, ale byla rozšířena i na C++ a C#. RAD v názvu značí, že je určen pro
rapidní vývoj aplikací, což znamená, že je silně zaměřen na grafický návrh rozhraní programu.
V současné době je určen především pro vývoj aplikací spolupracujících s databázemi. Podporuje
nejmodernější trendy pro podporu vývoje aplikací a rychle přijímá technologie platformy .NET.
Existuje pro něj široká nabídka knihoven kódu, z nichž je velké množství zdarma dostupných.
Vestavěný UML nástroj podporuje většinu UML diagramů a plnou podporu generování kódu
z diagramů. Zajímavou vlastností je generování kódu pomocí předdefinovaných návrhových vzorů
obsažených v průvodci. Vestavěný nástroj rovněž umožňuje exportovat a importovat modely Rational
Rose.
Výrobce: Embarcadero Technologies
Cena:
• 37 000 Kč (Professional)
• 111 800 Kč (Architect)
Splnění požadavků:
• Podpora jazyků – C#, C++, Delphi
• Platformy – Windows
• Verze .NET – 1.1, 2.0, 3.5
• Licenční podmínky – Základní verze zdarma, vyšší verze komerční
• Metriky kódu – ANO
• Refaktoring – ANO, pokročilé
• Zvýrazňování syntaxe - ANO
• Testování – ANO, dle verze
• Zásuvné moduly – ANO, většinou amatérské
• Návrh UI – ANO
• Vestavěné CASE – ANO, pokročilé
• Možné CASE rozšíření – NE, ale dobrá kooperace s Rational Rose
Další informace:
• Podporuje také vývoj nativních Win32 aplikací
• Podpora mnoha databází ve výchozí konfiguraci
- 20 -
- 21 -
SharpDevelop (10)
První ze zástupců ze světa svobodného software. Obsahuje všechny základní vlastnosti,
největší výhodou je to, že je zdarma a také rychlost jeho práce společně s malou náročností na
prostředky systému. Jeho součástí je podpora C# a rovněž neobvyklého jazyka Boo. Má jednoduché
rozhraní, které je ovšem nápadně podobné Visual Studiu. Dalo by se říci, že se vyrovná Visual Studiu
Express ve funkcionalitě a dokonce jej v některých detailech předčí. Taktéž je zaměřen na grafický
návrh programu a obsahuje editor formulářů.
Výrobce: IC#Code
Cena: Zdarma
Splnění požadavků:
• Podpora jazyků – C#, VB.NET, Boo
• Platformy – Windows
• Verze .NET – 1.1 (verze 1.0), 2.0 (verze 2.0), 3.5 (verze 3.0 beta), Mono
• Licenční podmínky – GNU/LGPL
• Metriky kódu – ANO
• Refaktoring – ANO, základní
• Zvýrazňování syntaxe - ANO
• Testování – ANO, integrace NUnit
• Zásuvné moduly – ANO
• Návrh UI – ANO
• Vestavěné CASE – NE
• Možné CASE rozšíření – NE
• Verze: 3.0 beta 2
- 22 -
MonoDevelop (11)
Jedná se o Linuxové rozhraní pro platformu Mono, je primárně navržena pro C# a další .NET
jazyky a pro to, aby běžela na grafickém rozhraní Gnome. Podporuje knihovny speciálně navržené pro
Linux jako GTK# a Gnome#. Podobá se IDE SharpDevelop, protože je založen na jeho starší verzi a tak
obsahuje všechny jeho vlastnosti. Dokumentace projektu je relativně slabá, tak může být pro
začátečníky matoucí se v programu zorientovat. Aplikaci není nemožné zprovoznit na Windows, ale
z důvodů toho, že její cílovou platformou je to nevýhodné, jelikož Mono nedisponuje takovou
funkcionalitou. Pro vývojáře, kteří se pustí do vývoje aplikací pod touto platformou a operačním
systémem Linux se tak jedná o to nejlepší, na co mohou narazit.
Výrobce: Novell
Cena: Zdarma
Splnění požadavků:
• Podpora jazyků – C#, VB.NET, ASP.NET, XML
• Platformy – Linux
• Verze .NET – Mono
• Licenční podmínky – GNU/GPL
• Metriky kódu – NE
• Refaktoring – ANO, základní
• Zvýrazňování syntaxe – ANO, pro všechny jazyky
• Testování – ANO, integrace NUnit
• Plug-iny – ANO
• Design UI – ANO (GTK# a Gnome#)
• Vestavěné CASE – NE
• Možné CASE rozšíření – NE
Verze: 1.1 (2.0 alpha 2)
- 23 -
2.2.5
Shrnutí
Je složité vybírat z tak malého množství dostupných vývojových prostředí. Platforma .NET je
pravděpodobně na trhu teprve krátkou dobu. Pro platformu Mono, která je na trhu ještě o něco
kratší dobu a musí bojovat s nedostatky a proprietaritou nových verzí aby byla konkurenceschopná,
to platí také. Všechny potřeby vývoje pro ni pokrývá Visual Studio, které je v základní verzi dostupné
zdarma, čímž odpadá problém si jej obstarat. SharpDevelop nicméně oproti volné verzi obsahuje
zajímavé vlastnosti, které spolu s všeobecným odporem k firmě Microsoft mohou mluvit pro něj.
Jedinou dostupnou variantou pro Linux, která obsahuj všechny základní prvky moderního vývojového
prostředí je tak MonoDevelop. Potřeba CASE nástrojů je na systému Windows dobře pokryta
rozšiřujícími moduly pro Visual Studio, které zahrnují špičky ve svém oboru.
- 24 -
2.3 Web
2.3.1
Specifikace IDE pro web
K tomu, abychom byli schopni efektivně a smysluplně porovnat jednotlivá IDE pro web, je
třeba určit si požadavky vývoje webu na IDE nástroje a následně porovnat schopnosti jednotlivých
IDE s těmito požadavky. Ovšem u webu bude členění požadavků složitější, protože vývoj webu se
nesestává pouze z psaní samotného zdrojového kódu, ale také z psaní webové sémantiky (XHTML
struktury), psaní kaskádových stylů (CSS), tvorby designu a obrázků.
Proto rozdělím jednotlivé skupiny IDE, zaměřující se na tyto konkrétní oblasti, a určím pro ně
speciální požadavky.
• XHTML + Design – Pro psaní XHTML kódu jsou podstatné především tyto operace.
o Validace XHTML kódu
o Zvýrazňování syntaxe
o Zobrazení náhledu stránky
o Vyhledávání a nahrazování
o Code assist
o Tvorba CSS
o Validace CSS
o Tvorba designu
o Tvorba obrázků
• PHP/ASP
o Zvýrazňování syntaxe
o Kontrola syntaxe
o Code assisn
o Vyhledávání a nahrazování
o Debuggování
o Testování, Profilování
o Podpora verzování
o Podpora SQL přístupu
o Podpora FTP
2.3.2
Vazba na Case nástroje
Při navrhování a vývoji webových aplikací se nejčastěji používají CASE nástroje pro návrh a
design databází, grafického rozhraní, UML diagramy tříd. Některý IDE jako např. NetBeans či Eclipse
mohou obsahovat tyto CASE nástroje ve své výbavě a to buď formou pluginu, nebo v standardní
výbavě. Pokud nám nestačí jejich funkcionalita je třeba sáhnout po specializovaných CASE nástrojích
viz. kapitola CASE nástroje.
2.3.3
XHTML
Nejdříve se zaměříme na porovnání IDE nástrojů pro vývoj statických stránek. Tedy psaní
XHTML struktur, CSS stylů a tvorbou samotného designu webových stránek.
- 25 -
PSPad (12)
PSPad je volně šiřitelný (freeware) universální textový editor pro prostředí Microsoft
Windows, který se hodí pro všechny, co pracují s prostým textem, vytvářejí webové stránky,
programují a potřebují IDE. S tímto nástrojem mám zkušenosti, kladně hodnotím množství
integrovaných funkcí, velikost a rychlost toho programu, ovšem pro nezkušené uživatele může
působit velmi zmatečně, sám jsem měl problémy se občas zorientovat. Výborný nástroj, když
přihlédnu k tomu, že je zcela zdarma.
Cena: Zdarma, Freeware
Splnění požadavků:
• Validace XHTML kódu – ANO
• Zvýrazňování syntaxe – ANO, XHTML, CSS, PHP, ASP, JavaSript
• Zobrazení náhledu stránky – NE, otevírá v prohlížeči stiskem hotkey
• Vyhledávání a nahrazování – ANO, v celém projektu
• Code assist – Ano velmi prostý + snippets
• Tvorba CSS - Ano
• Validace CSS - NE
• Tvorba designu - NE
• Tvorba obrázků –NE
Další informace
• Umí různé kódování Windows1250,UTF-8 a další
• Umí FTP přenosy
• Umožňuje tvořit projekty, kolekce dokumentů, které k sobě logicky patří a jsou umístěny
v jednom adresáři.
- 26 -
Microsoft Expression Web (8)
Microsoft Expression je WYSIWYG XHTML editor, designer a nástroj pro správu webových
stránek. Expression Web je přímý nástupce editoru Microsoft FrontPage1, který byl do roku 2003
součástí MS Office. Expression web je konečně zaměřen na zkušenější uživatele. Expression web je
nástroj, který umožňuje tvořit webové stránky integrující XML, ASP.NET, CSS, XSLT a JavaScript.
Expression Web má svůj vlastní interpret webových stránek, překvapivé je, že k vykreslování
nepoužívá jádro Internet Exploreru2, ale vlastní přesnější vykreslovací engine. Tento nástroj je vhodný
pro nenáročné uživatele, které chtějí mít své stránky a nezajímá je, jak budou fungovat.
Výrobce: Microsoft
Cena: $300 = cca 6000 Kč
Splnění požadavků:
• Validace XHTML kódu – ANO
• Zvýrazňování syntaxe – ANO, XHTML, CSS, ASP, JavaSript
• Zobrazení náhledu stránky – ANO
• Vyhledávání a nahrazování – ANO, v celém projektu
• Code assist – Ano – pouze XHTML,CSS a JavaScript
• Tvorba CSS - Ano
• Validace CSS - NE
• Tvorba designu - ANO
• Tvorba obrázků – NE
Další informace
• Potrpí si na standardy – Validní XHTML,Validní CSS a standardy přístupnosti WCAG 2.0
• K zobrazování náhledu stránky používá jádro respektující W3C doporučení
1
2
MS FrontPage byl původně určen pro uživatele, kteří považovali slovo „Tag“ za nadávku.
Trident – vykreslovací jádro IE – je pověstné vlastní interpretací HTML, která bývá občas nekompatibilní
- 27 -
HomeSite 5.5 (13)
HomeSite je skromný, jednoduchý editor kódu pro vývoj webu. Jeho pokročilé funkce pro
vývoj kódu umožňují jednoduše tvořit XHTML, CFML, PHP, JSP a CSS kód. Tento nástroj určitě zaujme
uživatele svou přehledností, jednoduchostí a možností navigace, geniálním vyhledáváním v celém
projektu, znuvupoužitelností a formátováním kódu. Sám jsem tento nástroj používal dlouhá léta na
vývoj HTML,CSS a PHP. Ocenil jsem možnost tvořit si vlastní tlačítka, která vkládaly do dokumentu
předem nastavené kusy kódu, takže při šikovném nastavení stačilo klikat. Pro vývoj PHP sice není
zdaleka tak sofistikovaný jako PDTči Zend, ale pro jednodušší webové projekty poslouží výborně.
Výrobce: Adobe, dříve Alaire, Macromedia
Cena: $144 = cca 2 813,720 Kč
Splnění požadavků:
• Validace XHTML kódu – ANO
• Zvýrazňování syntaxe – ANO, XHTML, CSS, PHP, JSP, JavaScript
• Zobrazení náhledu stránky – ANO, + otevírá v prohlížeči stiskem hotkey
• Vyhledávání a nahrazování – ANO, v celém projektu
• Code assist – pouze HTML,CSS + snippets
• Tvorba CSS - Ano
• Validace CSS - NE
• Tvorba designu - NE
• Tvorba obrázků – NE
Další informace
• Má problémy s UTF-8 soubory, možná je to už v novějších verzích lepší
• Umí FTP přenosy
• Zabalitelný kód – folding
• Umožňuje tvořit projekty, kolekce dokumentů, které k sobě logicky patří a jsou umístěny
v jednom adresáři.
- 28 -
HTMLPad 2008 (14)
HTMLPad je sofistikovaný nástroj pro tvorbu HTML, CSS, Javascript a XHTML kódu. Tvrdí o
sobě, že mají nejúplnější XHTML a CSS editor v dnešní době, nemám s tímto nástrojem sice
dlouhodobé zkušenosti, ale působí na mě opravdu velmi sofistikovaně a dobře se používá.
Výrobce: Blumentals Software
Cena: 26 Euro = cca 650 Kč
Splnění požadavků:
• Validace XHTML kódu – ANO
• Zvýrazňování syntaxe – ANO, XHTML, CSS, JavaScript, VBScript, PHP, ASP, WML, XML, Perl
• Zobrazení náhledu stránky – ANO
• Vyhledávání a nahrazování – ANO, ve složkách
• Code assist – ANO HTML, CSS, JavaScript +snippets
• Tvorba CSS - Ano
• Validace CSS - NE
• Tvorba designu - NE
• Tvorba obrázků-NE
Další Informace:
• Zabalitelný kód – folding
• Podpora UTF-8 nevím na jaké úrovni
• Umí FTP přenosy
• Kontrola anglického pravopisu
- 29 -
DREAMWEAVER CS4 (13)
Dreamweaver je velmi populární nástroj renomované firmy Adobe určený především k designu a
tvorbě šablon pro webové stránky. Díky technologii „Live view“ umožňuje v reálném čase vidět
prováděné změny v XHTML a CSS kódu a to ve skutečném prohlížeči. Není vhodný jako editor nebo
dokonce nástroj na vývoj PHP, JavaScriptu či jiných programovacích jazyků. Vzhledem k podpoře
subversion, přítulnému Adobe uživatelskému rozhraní a integraci s jinými Adobe nástroji, jako
PhotoShop, Ilustrátor, InDesign je ideální na vývoj webových projektů postavených na architektuře
MVC3. Adobe dokonce tento nástroj nabízí v cíleně zaměřených balíčcích, které obsahují tyto a další
aplikace jako Flash,Fireworks a další.
Výrobce: Adobe
Cena:
• základní 540 euro = cca 13 500 Kč
• kompletní sada nástojů Creative Suite 4 Web 2,055 Euro = cca 51 000 Kč
Splnění požadavků:
• Validace XHTML kódu – ANO
• Zvýrazňování syntaxe – ANO pouze XHTML, CSS
• Zobrazení náhledu stránky – ANO, Live View přímo v prohlížeči
• Vyhledávání a nahrazování – ANO
• Code assist – ANO HTML, CSS
• Tvorba CSS - Ano
• Validace CSS - NE
• Tvorba designu - ANO
• Tvorba obrázků – NE – integrace s InDesignem, Photoshopem a Ilutratorem
Další informace
• Je součástí integračních balíků Adobe Suites, pokud používáte Photoshop, Flash či Ilustrator
je Dreamweaver ideální volba.
3
Model – View – Controller – Pomocí Dreamweaveru vyvíjíme View ( šablony,styly a jednotlivé části stránek )
- 30 -
2.3.4
PHP
Nyní se podíváme blíže na IDE nástroje zaměřené speciálně na vývoj PHP. Většina z nich
samozřejmě umí i XHTML, CSS
PDT
PDT4 je IDE pro vývoj PHP aplikací postavené na platformě Eclipse, ale výborně poslouží i jako
editor XHTML, CSS Javacriptů. K tomu samozřejmě umožňuje vše, co Eclipse, takže můžete s výhodou
používat subversioning, SQL připojení, FTP připojení a další Eclipse možnosti. Stejně jako ZendStudio
má vynikající PHP inspektor, který zobrazuje strukturu PHP skriptů, a tříd a geniální dokončování
kódu, který vám dokáže nabízet i vaše vlastní funkce včetně uvedení typu argumentů a návratové
hodnoty. PDT je zdarma.
Výrobce: Eclipse
Cena: Zdarma
Splnění požadavků:
• Zvýrazňování syntaxe ANO PHP,XHTML,CSS,JavaScript
• Kontrola syntaxe ANO
• Code assisn ANO PHP, XHTML, CSS, Javascript
• Vyhledávání a nahrazování ANO v projektech,složkách, regexp..
• Debuggování – ANO – nutné a obtížné nastavit debugger
• Testování, Profilování – NE
• Podpora verzování – ANO SVN
• Podpora SQL přístupu - ANO
• Podpora FTP – ANO
Další informace
• Umožňuje tvořit projekty, kolekce dokumentů, které k sobě logicky patří a jsou umístěny
v jednom adresáři.
• Shlukování kódu – folding
• Zobrazení struktury stránek a PHP tříd
• Všechny schopnosti Eclipse
4
PHP Development Tools
- 31 -
ZendStudio
Zend Studio je dle mého názoru a vlastních zkušeností lídr mezi IDE nástroji pro vývoj PHP a
JavaScript aplikací. Do verze 5.5 bylo Zend Studio samostatnou aplikací, od verze 6.0 vychází Zend
Studio jako rozšíření platformy Eclipse. Je velmi podobný PDT, ovšem je zaměřen na vývoj PHP
aplikací v Zend Frameworku, což je jeden z nejlepších frameworků5 pro PHP vůbec. Za Zend Studiem i
frameworkem stojí firma Zend, která v současné době vyvíjí PHP jazyk, což samo o sobě svědčí o
kvalitě tohoto nástroje. Toto IDE umí snad úplně vše, kromě tvorby obrázků, vřele doporučuji.
Jedinou nevýhodou jsou časté pády ve verzi 6.0, které byly v novější verzi6 odstraněny a cena oproti
nekomerčnímu PDT.
Výrobce: Zend company
Cena:
• Základní $399 = cca 8 000 Kč - 1 rok podpory a upgradů
• rozšířené $717 = cca 15 000 Kč – 3 roky podpory a upgradů
Splnění požadavků:
• Zvýrazňování syntaxe ANO PHP,XHTML,CSS,JavaScript
• Kontrola syntaxe ANO
• Code assisn ANO PHP, XHTML, CSS, Javascript, ZendFramework, DojoFramework
• Vyhledávání a nahrazování ANO v projektech,složkách, regexp..
• Debuggování – ANO Integrovaný debugger
• Testování, Profilování – ANO PHPunit
• Podpora verzování – ANO subversion, SVN
• Podpora SQL přístupu - ANO
• Podpora FTP – ANO
Další informace
• Integrace s ZendFramework a DoJoFramework
• Postaven na Eclipse
5
Zend Framework – profi opensource framework pro PHP >5.2 postavený na návrhových vzorech a best
practice.
6
V současné době je nejnovější verze 6.1
- 32 -
HateML Pro (15)
HateML Pro je jednoduché IDE pro vývoj XHTML, CSS jak pro amatéry, tak pro profesionály.
Je navržené pro pomoc při urychlování procesu editace a debuggování webových aplikací a
jednoduchých XHTML stránek. HateML Pro je zdarma. Bohužel s ním nemám dlouhodobější
zkušenosti, ale myslím, že bude velmi jednoduchý na používání. Pokud máte vyšší nároky, doporučuji
zvolit nějaký z dříve uvedených.
Výrobce: Migajek Software (Polsko)
Cena: Zdarma
Splnění požadavků:
• Zvýrazňování syntaxe ANO PHP,XHTML,CSS,JavaScript, VBscript
• Kontrola syntaxe ANO
• Code assisn ANO PHP, XHTML, CSS, Javascript
• Vyhledávání a nahrazování ANO - jednoduché
• Debuggování – ANO – velmi prosté
• Testování, Profilování – ANO – velmi prosté
• Podpora verzování – NE
• Podpora SQL přístupu – ANO Plugin
• Podpora FTP – ANO
Další informace
• Validátor odkazů
• Součástí balíčku je server – což je jednoduchý webový PHP server, na kterém se dají provádět
testy a debuggování.
• Umí UTF-8
- 33 -
2.3.5
ASP (8)
Microsoft Visual Studio Web Developer EXPRESS 2008
Jediným rozumným vývojovým prostředím pro aplikace v ASP je Microsoft Visual Studio Web
Developer. Přestože má Microsoft v této kategorii monopol, je tento IDE nástroj zdarma. VS má
dlouhou tradici a stojí za ním gigant Microsoft. Výhodou je jednotné uživatelské prostředí pro vývoj
databázových, webových a dalších aplikací. Pokud fandíte platformě .NET vaše správná volba ;)
Výrobce: Microsoft
Cena: Zdarma
Splnění požadavků:
• Zvýrazňování syntaxe ANO ASP, XHTML, CSS, JavaScript
• Kontrola syntaxe ANO
• Code assisn ANO ASP, XHTML, CSS, Javascript
• Vyhledávání a nahrazování ANO v projektech,složkách
• Debuggování – ANO Integrovaný debugger
• Testování, Profilování – ANO
• Podpora verzování – ANO Team Foundation Server
• Podpora SQL přístupu – ANO
• Podpora FTP – ANO
Další informace
• Microsoft Visual Studio má podporu pro verzování, ale není zdaleka tak kvalitní jako SVN či
Subversion, dokonce v některých teamových verzích VS dělá problém připojení k Team
Foundation Serveru.
• VS umí zobrazovat v reálném čase výslednou stránku při návrhu designu
• Jednoduché a přehledné prostředí
• Možnost programovat v J#,C#,Visual Basic
- 34 -
2.4 XML
XML vývojové nástroje by mali zabezpečiť možnosť tvorby XML dokumentov (rôzne druhy) a
ich validácie. Ďalej mal by podporovať možnosť práce s týmito dokumentmi v týme, ukladanie v
úložištiach, použitie XSLT pomocou rôznych procesorov, možnosť použitia Xpath, Xquery a výstupy
transformácií do rôznych formátov.
Podporované požiadavky, ktoré by mali splniť vývojové nástroje na XML:
• Grafická XML schéma/DTD editor
• XML text zobrazovanie
• XSLT 1.0, 2.0, editovanie, debuggovanie a profilovanie
• Xpath 1.0/2.0 analýza a tvorba
• Xquery editovanie, debuggovanie a profilovanie
• Xinclude, Xpointer support.
• SOAP klient a debugger
• grafický WSDL editor
• XML grid zobrazovanie
• Java, C#, C++ kód generovanie
• integrácia do rôznych vývojových nástrojov
• podporuje OpenXML data
• podpora verzovania
• XML diff a merge nástroj
• FO transformácie, generovanie rôznych výstupov (PDF, PS, atď)
• DocBook podpora
• ODF (open document format) podpora
• podpora XML databáz
• NVDL implementácia
• import z relačných DB a z iných zdrojov do XML
2.4.1
Vazba na Case nástroje
U väčšiny IDE sa jedná prakticky o integrovaný CASE nástroj umožňujúci kompletný vývoj XML
dokumentov.
2.4.2
IDE pro XML
- 35 -
oXygen (16)
Kompletný XML editor cez všetky platformy poskytujúce XML authoring, XML konverziu, XML
schéma, DTD, Relax NG a vývoj schematron, Xpath, XSLT, Xquery debugging, SOAP a WSDL
testovanie. Tento nástroj umožňuje ukladanie XML dokumentov do úložíšť ako WebDav, Subversion
ako aj použitie S/FTP protokolov. Oxygen tiež podporuje prehľadanie, manažovanie a dotazovanie v
natívnej XML a v relačnej databáze. Oxygen XML editor je tiež k dispozícii ako Eclipse IDE plugin a
prináša jedinečné rysy pri vývoji XML.
Výrobca: SyncRO soft ltd, str. Fermei, nr. 42, Craiova, RO-200782, Romania (16)
Cena:
• Enterprise: User based - $366 (6954Kč), floating - $1,063 (20197 Kč)
• Professional: User based - $299 (5681 Kč), floating - $898 (17062 Kč)
• Academic/Non profit: User based - $48 (912Kč) , floating - $144 (2736 Kč), Classroom $490(9310 Kč), Departmental - $2,100 (39900 Kč), Site - $3,840 (72960 Kč).
Splnenie požiadaviek:
• Grafická XML schéma/DTD editor ANO
• XML text zobrazovanie ANO
• XSLT 1.0, 2.0, editovanie, debuggovanie a profilovanie ANO
• Xpath 1.0/2.0 analýza a tvorba ANO
• Xquery editovanie, debuggovanie a profilovanie ANO
• Xinclude, Xpointer podpora ANO,NIE
• SOAP klient a debugger NIE
• grafický WSDL editor NIE
• XML grid zobrazovanie NIE
• Java, C#, C++ kód generovanie NIE
• integrácia do rôznych vývojových nástrojov ANO
• podporuje OpenXML data ANO
• podpora version control systém ANO
• XML diff a merge nástroj ANO
• FO transformácie, generovanie rôznych výstupov (PDF, PS, atď) ANO
• DocBook podpora ANO
• ODF (open document format) podpora NIE
• podpora XML databáz ANO
• NVDL implementácia ANO
• import z relačných DB a z iných zdrojov do XML ANO
Ďalšia funkcionalita:
• inštalačný balík prístupný ako Java Web Start aplikácia alebo Eclipse plugin
• batchové validácie a transformácie
• digitálny podpis XML dokumentov
• vzory XML zrojových kódov
• Schema Model View prezentácia XML elementov
• podpora externých FOP (formatting object processor)
• podporovaná platforma: MS Windows, Mac OS X, Linux a ako plugin do Eclipse.
• podpora relačných DB – Oracle 11g, DB2, MS SQLServer 2008
• podpora S/FTP
• podpora Unicodu a viacjazyčnosti
- 36 -
Altova XMLSpy (17)
Je to XML vývojové prostredie pre modelovanie, editovanie, transformáciu a debuggovanie
XML technológií. Popredný nástroj na svete s originálnym grafickým schéma designerem, kód
generátorom, konvertorom súborov, debuggerom, profilerom, s plnou db integráciou. Podporuje
XSLT, Xpath, Xquery, WSDL, SOAP, Open XML dokumentmi, Visual Studio.NET a Eclipse.
Výrobca: Altova, Inc. , 900 Cummings Center, Suite 314 T, Beverly, MA, 01915-6181 (17)
Cena:
• Standard: € 99 (1881 Kč)
• Enterprise: € 799 (15181 Kč)
• Professional: € 399 (7581 Kč)
Splnenie požiadaviek:
• Grafická XML schéma/DTD editor ANO
• XML text zobrazovanie ANO
• XSLT 1.0, 2.0, editovanie, debuggovanie a profilovanie ANO
• Xpath 1.0/2.0 analýza a tvorba ANO
• Xquery editovanie, debuggovanie a profilovanie ANO
• Xinclude, Xpointer podpora ANO,ANO
• SOAP klient a debugger ANO
• grafický WSDL editor ANO
• XML grid zobrazovanie ANO
• Java, C#, C++ generovanie kódu ANO
• integrácia do rôznych vývojových nástrojov ANO
• podporuje OpenXML data ANO
• podpora verzovania ANO
• XML diff a merge nástroj -ANO
• FO transformácie, generovanie rôznych výstupov (PDF, PS, atď) ANO
• DocBook podpora ANO
• ODF (open document format) podpora ANO
• podpora XML databáz NE
• NVDL implementácia ANO
• import z relačných DB a z iných zdrojov do XML – ANO
Ďalšie informácie:
• podpora DB
- 37 -
2.5 Databáze
V této oblasti se zaměříme na IDE umožňující správu databází a vytváření databázových
aplikací. Budeme u nich sledovat obvyklé součásti, jako jsou editor PL/SQL příkazů a správa schémat a
další ne zcela standardní součásti, které se vždy nevyskytují jako je třeba nástroj pro sledování
náročnosti příkazů (důležité pro optimalizaci). Při výběru IDE je také nutné uvážit, nad jakou databází
bude používáno. Jazyk SQL je sice standardizován a měl tedy mít stejnou syntaxi, bez ohledu na to,
od kterého výrobce používáme databázi. V praxi to ovšem není úplně pravda. Existuje základní
množina příkazů, které fungují nad každou databází, ale spolu s nimi jakási nadstavba lišící se podle
typu databáze, která rozšiřuje funkcionalitu standardizovaného SQL .
U IDE pro vývoj databázových aplikací budeme sledovat následující kritéria:
• Podporované databáze
• Code assist
• Vyhledávání chyb v kódu
• Debuging
• Správa schémat
• Sledování náročnosti příkazů (potřebné pro optimalizaci)
• Vyhledávání a nahrazování
2.5.1
Vazba na Case nástroje
U většiny IDE je zabudovaná správa schémat. Jedná se prakticky o integrovaný CASE nástroj
umožňující správu jednotlivých databázových objektů. Zobrazuje vazby mezi jednotlivými objekty,
můžeme přidávat nová pole do tabulek a podobně. Další možnosti spolupráce jsou blíže popsány
v kapitole týkající se CASE nástrojů pro databáze.
2.5.2
IDE pro databáze
Následují vybraní zástupci IDE pro databáze.
- 38 -
Toad ® for Oracle 9.0 (18)
Jedná se o profesionální nástroj. Existují v několika verzích podle toho, pro které databázové
prostředí je určený například Toad ® for Oracle, Toad ® for MySQL atd. Dále má několik verzí od
základní až po development suite. Tyto verze se liší především množstvím integrované funkcionality,
při čemž se dá říci, že veškeré námi sledované požadavky splňuje již základní verze. Hlavní nevýhodou
tohoto nástroje je poměrně vysoká cena.
Výrobce: Quest Software
Cena:
• základní $870 = cca 18 000 Kč 1 rok podpory a upgradů
• Development suite $2990 = cca 61 000 1 rok podpory a upgradů
Splnění požadavků:
• Podporované databáze – Oracle (existují i verze pro následující databáze: MySQL, SQL Server,
DB2)
• Code assist ANO
• Vyhledávání chyb v kódu ANO
• Debuging – ANO
• Správa schémat ANO
• Sledování náročnosti příkazů – ANO
• Automatické formátování – ANO
• Vyhledávání a nahrazování – ANO
Další informace:
• Verze pro MySQL je freeware
• Existují i odlehčené verze zadarmo. Mají například Editor SQL, provádí barevné značení
syntaxe kódu, editační okno umožňuje testování dotazů, prohlížení a editaci dat, grafické
rozhraní obsahuje okna pro tvorbu pohledů, tabulek, trigerů (spouštěčů), indexů, závislostí
atd.
- 39 -
Aqua Data Studio 7.0 (19)
Jedná se profesionální IDE, jehož hlůavní výhodou je podpora spolupráce s mnoha
databázemi: Oracle, DB2 iSeries, DB2 LUW, MS SQL Server, Sybase ASE, Sybase Anywhere, Sybase IQ,
Informix, PostgreSQL, MySQL, Apache Derby, JDBC, a ODBC rozhraní.
Výrobce: AQUAFOLD
Cena: $400 za uživatele = cca 8000 Kč 1 rok podpory a upgradů
Splnění požadavků:
• Podporované databáze – Oracle, DB2 iSeries, DB2 LUW, MS SQL Server, Sybase ASE, Sybase
Anywhere, Sybase IQ, Informix, PostgreSQL, MySQL, Apache Derby
• Code assist ANO
• Vyhledávání chyb v kódu ANO
• Debuging – ANO
• Správa schémat ANO
• Sledování náročnosti příkazů – ANO
• Automatické formátování – ANO
• Vyhledávání a nahrazování – ANO
Další informace:
• Integrovaný ER modeler s generováním schémat
• porovnávání schémat a přímá podpora pro SVN a CVS
• dopňování slov
- 40 -
Rapid SQL 7.5 (20)
Komplexní integrované vývojové prostředí v jazyku SQL. Jeho velkou předností je spolupráce
s velkým množstvím databází (výrobci uvádějí: „Úplná funkčnost na všech databázových
platformách“). Jeho hlavní výhodou je, že i přes velké množství funkcionalitu je velmi intuitivní.
Výrobce: Embarcadero (vlastní společnost Borland)
Cena:
• Standard = 19 700 Kč 1 rok podpory a upgradů
• Professional = 28 200Kč 1 rok podpory a upgradů
Splnění požadavků:
• Podporované databáze – IBM DB2 for Linux/Unix/Windows a DB2 for z/OS; Microsoft SQL
Server; MySQL; Oracle a Sybase
• Code assist ANO
• Vyhledávání chyb v kódu ANO
• Debuging – NE
• Správa schémat ANO
• Sledování náročnosti příkazů – ANO
• Automatické formátování – ANO
• Vyhledávání a nahrazování – ANO
Další informace:
• Verze Professional obsahuje oproti edici Standard navíc Code Analyst a SQL Profiler (jen pro
Oracle) pro hledání problémů v kódu a SQL Debugger pro práci s programovatelnými objekty
jako uložené procedury, funkce, balíčky či spouštěče (triggery).
- 41 -
3 CASE
3.1 Obecně o CASE
CASE (z anglického Computer-aide software engineering, počítačom podporované
softwarové inžinierstvo) sú nástroje, ktoré využívajú metodiky vývoja software a diagramov na
znázornenia systému pre vývoj SW pomocou počítačov.
Case nástrojov existuje celá rada. Z hľadiska celistvosti prístupu k vývoji rozlišujeme 3 typy
CASE:
• UPPER – využíva sa pre analýzu systému
• MIDDLE – zaisťuje etapu návrhu systému
• LOWER – zaisťuje etapu implementácie
Je potrebné si však uvedomiť, že nie všetky CASE nástroje zahrňujú všetky 3 typy a nie každý
projekt zahrňuje užitie všetkých typov pri vývoji.
Okrem vyššie uvedených exitujú ešte PRE (na podporu tvorby globálnej stratégie) a POST
CASE nástroje (podporuje organizačné činnosti)
3.2 MDA
Podľa OMG (21) Model Driven Architecture vidí modely aplikácií v 4 úrovniach:
• CIM – model nezávislý na počítačovom spracovaní
• PIM – platformovo nezávislý model riešenia
• PSM – platformovo špecifický model riešenia
• Code – kód aplikácie, tj. výsledná realizácia riešenia
Jednotlivé úrovne aplikácií boli už dostatočne popísané v predchádzajúcich prácach (22) na
dané téma, tak aj ich najzaujímavejšia časť, a to transformácia platformovo nezávislého modelu
riešenia PIM na paltformovo závislý PSM.
MDA je podporovaný nasledujúcimi 4 štandardmi (23):
• UML (Unified Modeling Language) – štandard pre analýzu a design objektovo orientovaných
systémov.
• MetaObject Facility (MOF) definuje abstraktný jazyk pre vytváranie a správu technologických
metamodelov
• XML Metadata Interchange (XMI) – štandard slúžiaci k výmene metadát medzi modelovacími
nástrojmi a metadatovými skladmi. Jedná sa o kombináciu UML, XM a MOF
• Common Warehouse Metamodel (CWM) – štandardizovaný formát pre popis a výmenu
metadát dátových skladov a BI.
- 42 -
3.3 UML
UML je univerzálny objektovo orientovaný modelovací jazyk, ktorý vznikol zlúčením
niekoľkých populárnych OO prístupov. Štandard UML prešiel niekoľkými revíziami, posledný je UML
2.0. Tento sa skladá z nasledujúcich 4 častí:
• UML 2.0 SuperStructure – definícia notácie UML - syntax
• UML 2.0 Infrastructure – metamodel stojaci v pozadí za UML, špecifikovaný pomocou MetaObject Facility (MOF) - sémantika
• UML 2.0 Object Constraint Language (OCL) – jazyk na špecifikáciu vstupných a výstupných
podmienok, invariantov v jednotlivých diagramoch,ktoré sa nedajú vyjadriť graficky
• UML 2.0 Diagram Interchange – špecifikácia prevodu do výmenných formátov (CORBA, XML,
DTD, XML schéma) (24),
Najznámejšie a najpoužívanejšie časti štandardu sú diagramy, tieto sa rozdeľujú do 2
hlavných kategórií:
1.) Diagramy chovania – zachycujú chovanie systému alebo procesu
• diagram prípadov použitia (use case diagram)
• diagram aktivít (aktivity diagram)
• stavový diagram (state machine diagram)
• diagramy interakcií – podmnožina diagramov chovania, zdôrazňuje interakcie objektov:
o sekvenčný diagram (sequence diagram)
o diagram komunikácie (communication diagram)- predtým diagram spolupráce
(collaboration diagram)
o diagram prehľadu interakcií (interaction overview diagram)
o diagram časovania (timing diagram)
2.) Diagramy štruktúry – typy diagramov zachycujúce elementy špecifikácie nezávislé na čase
• diagram tried (class diagram)
• diagram komponentov (component diagram)
• diagram zloženej štruktúry (composite structure diagram)
• diagram nasadenia (deployment diagram)
• diagram balíčkov (package diagram)
• diagram objektov (object diagram) - nazýva sa aj diagram inštancií
- 43 -
3.4 Přehled podle použití
Rozhodli sme sa zamerať na 3 najčastejšie možnosti použitia CASE nástrojov, a to objektové,
dátové a procesné modelovanie. Z týchto 3 odlišných pohľadov by sme radi posúdili jednotlivé CASE
nástroje.
3.4.1
Objektové modelování
Objektové modelovanie je nástrojom pre skúmanie reálnych systémov. Nástroj objektového
modelovania by mal podporovať nasledujúce úrovne a oblasti skúmania. Úrovne: analytická a
návrhová. Oblasti skúmania: funkčné (use case), statické (triedy), dynamické (interakcie). Preto
jednotlivé IDE by mali podporovať nasledujúce požiadavky:
• podpora UML 2 diagramov (funkčné, štrukturálne a dynamické)
• podpora generovania zdrojových kódov
• podpora verzovania
• podpora MDA
• podpora XMI export/import
• podpora reportovania
3.4.2
IDE pro objektové modelování
- 44 -
Enterprise Architect (21)
Komplexný nástroj pre tvorbu vývojových diagramov. Pokrýva a podporuje celý vývoj
software. Začínajúc od zberu požiadaviek, cez analýzu, design modelov, testovanie a údržbu. Je to
multiužívateľský, vizuálny, grafický nástroj, ktorý pomáha tvorbu robustného a udržiavateľného
software. Využíva jazyk UML. Podporuje generovanie zdrojových kódov programovacích jazykov: C+
+, C#, Java, Delphi, VB.Net, Visual Basic, ActionScript a PHP.
Výrobca: Sparx Systems Pty Ltd,
7 Curtis Street,
Creswick,
Victoria, 3363,
Australia (21)
Cena:
• Corporate Edition Floating Licence: US $265 (5035 Kč) - US $335 (6365 Kč)
• Corporate Edition: US $185 (3515 Kč) - US $239 (4541 Kč)
• Professional Edition: US $165 (3135 Kč) - US $199 (3781 Kč)
• Desktop Edition: US $95 (1805 Kč) - US $135 (2565 Kč)
Splnenie požiadaviek:
• podpora UML 2 diagramov: ANO (Class, Object, Composite, Package, Component,
Deployment, Use Case, Communication, Sequence, Interaction Overview, Activity, State,
Timing, Analysis (jednoduchá aktivita),Custom )
• podpora generovania zdrojových kódov ANO
• podpora verzovania ANO
• podpora MDA ANO
• podpora XMI export/import ANO
• podpora reportovania ANO
Ďalšie funkcie:
• podpora „plugguble technológii“ pomocou MDG (model driven generation)
• podpora užívateľskej bezpečnosti – skupiny, práva atď.
• podpora údržby projektu – kontrola a reportovanie chýb, požiadaviek, atď.
• podpora pre project management
• podpora skriptovacieho jazyku pre tvorbu vlastných pluginov
• WSDL podpora
• dátové modelovanie – tvorba db štruktúr, reverse engineering, modelovanie DB tabuliek,
kľúčov , objektov atď.
• podpora testovania – Unit Test, integračné, akceptačné, scenáre, reporty.
• nástroj na vizualizáciu aplikácie pomocou reverse engineering širokého spektra
programovacích jazykov a databázových schém (z .jar .Net binárnych súborov)
• podporuje komplexný management
• podporuje veľké modely
- 45 -
Eclipse Modeling Project (3)
Eclipse Modeling Project je sada doplňků do vývojového prostředí Eclipse, které se do něj
snaží integrovat přístup tvorby řízené modelem. V nejpokročilejším stádiu jsou součásti modelovacích
knihoven Eclipse Modeling Framework a Graphical Modeling Framework sloužící zejména k
metamodelování a následném vytváření nových nástrojů klasických i grafických které je následně
taktéž možné integrovat do prostředí Eclipse. Standardním způsobem uložení modelů vzniklých
pomocí EMF jsou XMI soubory. Modely lze importovat z XMI souborů, XSD schémat a anotovaných
Java tříd. Pro definici metamodelů slouží tzv. modely Ecore, které jsou de facto upravené diagramy
tříd.
Dalším z projektů, které EMP integruje jsou UM2Tools sada editorů pro UML2.x diagramy.
Za zmínku také stojí podpora omezeni pomoci Object Constraints Language (OCL), nebo
transakcí a dotazů nad modely. Současně jsou plně ve vývoji nástroje pro převody model<=>text,
model<=>model. Pro vývojové prostředí Eclipse je samozřejmostí integrace úložišť CVS i SVN.
Generování kódu je lehce upravitelné pomocí šablon Java Emmiter Templates, nebo jazyka
Xpand.
Výrobce: The Eclipse Foundation
Cena: zdarma
Splnění podmínek:
• podpora UML2 diagramů ano (Activity, Class, Component, Composite, Deployment, State,
Use Case )
• podpora generování zdrojových kódů ano
• podpora správy verzí ano
• podpora MDA ano
• podpora XMI export/import ano
• podpora reportováni ne
Další funkce:
• generace editorů a grafických editorů na základě modelu
• stanovení omezení formou OCL
• integrace s IDE Eclipse
• podpora testování
• podpora několika jazyků šablon pro generování
- 46 -
Jude (33)
Jude Professional je rychlý nástroj pro tvorbu UML modelů s jednoduchým ovládáním.
Umožňuje tvorbu většiny z UML modelů a umožňuje generaci kódu do jazyka Java, C++ a C# stejně
tak i tzv. reverse engineering z již existujících tříd. Kromě standardních modelů UML jsou k dispozici i
modely myšlenkových map a toku dat. Stejně tak je možný import a export modelů do/z XMI. Jude
neobsahuje integrovanou podporu nástrojů pro správu verzí, nicméně nabízí vlastní server pro
spolupráci v týmu.
Jude je dostupné ve dvou licencích Community a Professional. Community verze je ochuzená
o interakci s ER modely a spolupráci s jazyky C++ a C#.
JUDE nelze integrovat s žádným vývojovým prostředím.
Výrobce: Change Vision
Cena:
• Community Edition zdarma
• Professional Edition $ 280 (cca 5 500 Kč)
Splnění podmínek:
• podpora UML2 diagramů ano (Activity, Class, Component, Composite, Deployment, State,
Sequnce, Communication, Use Case )
• podpora generování zdrojových kódů ano
• podpora správy verzí částečně, vlastní server pro kolaboraci
• podpora MDA ne
• podpora XMI export/import ano
• podpora reportování ne
Další funkce:
• reverse engineering pro Javu, C++, C#
• myšlenkové mapy
• diagramy vztahu entit
• diagramy toku dat
- 47 -
Poseidon for UML (22)
Poseidon for UML vznikl snahou o komerční implementaci open source projektu ArgoUML.
Změn bylo nicméně třeba udělat více než dost, takže výsledný nástroj je změněn k nepoznání.
Zajímavá je integrace s IDE Eclipse lze například exportovat diagramy tříd do modelu Ecore.
Poseidon UML nabízí bohatou rozmanitost verzí:
Základní verze Community dostupná oproti registraci obsahuje 9 diagramů UML 2.0, podporu
XMI, grafický export a generaci pro Javu.
Standard Edition přidává i reverse engineering z Java tříd, možnost instalace doplňků a export
dokumentace.
Professional Edition přináší round-trip engineering pro Javu, přístup k šablonám pro generaci,
generaci pro C/C++ integraci s prostředím Eclipse, import knihoven či souboru Rational Rose a
automatické rozložení tříd.
Embedded Edition je určena zejména pro práci na souborech s limitovanými prostředky.
Navíc umožňuje automatickou generaci i ze stavového diagramu.
Výrobce: Gentleware
Cena:
• Community Edition zdarma
• Standard Edition $ 249 (cca 4 800 Kč)
• Professional Edition $ 875 (cca 17 000 Kč)
• Embedded Edition $ 2590 (cca 50 000 Kč)
Splnění podmínek:
• podpora UML2 diagramů ano (Activity, Class, Component, Composite, Deployment, State,
Sequnce, Communication, Use Case )
• podpora generování zdrojových kódů ano
• podpora správy verzí ne
• podpora MDA ano
• podpora XMI export/import ano
• podpora reportování ano
Další funkce
• velké množství šablon pro generaci C++, C#, Delphi, ...
• vizuální integrace do prostředí Eclipse
• round-trip engineering možnost udržet měnící se kód synchronizovaný s modelem
• variabilní licence
- 48 -
Visual Paradigm for UML (23)
Visual Paradigm for UML by se dal označit za jeden z nejlépe integrovaných CASE nástrojů.
Můžeme jej propojit s Eclipse IDE, JDeveloperem, NetBeans, IntelliJ IDEA i s MS Visual Studiem. Navíc
obsahuje bohatou funkcionalitu, i když za poměrně odpovídající cenu.
Komfort Visual Paradigm for UML si můžeme dopřát v následujících verzích:
Viewer Edition slouží pouze k prohlížení diagramů a jiných dokumentů vzniklých pomocí
tohoto nástroje.
Community Edition již umožňuje vytvářet veškeré UML diagramy, podklady, navrhovat entity
relation a objektové mapování, vytvářet konceptuální, logické a fyzické ER diagramy a tisknout
diagramy (se zobrazeným vodoznakem)
Personal Edition přidává pouze možnost tisku bez vodoznaku, pokud není překročeno jisté
množství diagramů.
Modeler Edition přidává integraci s MS Visio, serverem pro kolaboraci, reportování do PDF a
HTML, neomezený tisk, možnost změny vizualizace objektů, import EMF modelů, modelů Rational
Rose a modelů v XMI formátu, grafický export.
Standard Edition přináší tzv. Model Tranzitor pro interoperabilitu mezi modelem operací a
sekvenčním modelem, integraci s CVS, SVN, Perforce, více možností generace reportů např. MS
Word, reverse engineering, generování kódu z diagramu tříd do bezpočtu jazyků a rozšířenou
spolupráci s např. MS Excel.
Professional Editon přináší zejména generaci kódu z diagramu stavů, Java round-trip
engineering, integraci s vývojovými nástroji a databázové modelování a objektové mapovaní.
Enterprise Edition nakonec doplňuje bohatý výčet funkcionalit o mapování byznys procesů vč.
generování BPEL pro servery Oracle a JBoss a myšlenkových map.
Výrobce: Visual Paradigm
Cena:
• Viewer Edition zdarma
• Community Edition zdarma
• Personal Edition $ 70,50 (cca 1 350 Kč)
• Modeler Edition $ 118,50 (cca 2 300 Kč)
• Standard Edition $ 359,50 (cca 6 900 Kč)
• Professional Edition $ 838,50 (cca 16 100 Kč)
• Enterprise Edition $ 1678,50 (cca 32 400 Kč)
Splnění podmínek:
• podpora UML2 diagramů ano ( Activity, Class, Component, Composite, Deployment, State,
Sequnce, Communication, Use Case )
• podpora generování zdrojových kódů ano
• podpora správy verzí ano
• podpora MDA ano
• podpora XMI export/import ano
• podpora reportování ano
- 49 -
Další funkce
• vazba na hlavní Java IDE a Visual Studio
• reverse engineering
• round-trip engineering
• rozsáhlé reportování
• podpora mnoha programovacích jazyků
• ER diagram
• databázové modelování
• myšlenkové mapy
- 50 -
3.4.3
Návrh databází
Spolupráce s IDE
Nejdůležitější roli hrají CASE nástroje při správě databáze a její dokumentaci. Většinou
umožňují vybudovat několika vrství datový model, s různou vrstvou abstrakce. Přičemž u největší
abstrakce se dá snadno proniknout do logiky sledovaná oblasti a z nejdetailnější vrstvy (fyzický
datový model) lze vygenerovat skript, pro vytvořená databázových objektů. Některé nástroje
umožňují i generování fyzického datového modelu z logického. Další důležitou vlastností je vytvoření
modelu databáze nezávisle na databázovém prostředí, nástroj pak sám při generování skriptu
přizpůsobí kód pro dané prostředí.
CASE nástroje s podporou reverse engeneerigu se také dají velmi dobře použít ke správě a
dokumentaci databáze. Analytici mohou jednoduše upravovat datový model, zaznamenávat pro něj
změny a následné provedení změn lze ověřit reverse engeneeringem a porovnáním vygenerovaného
modelu z databáze a navrženého modelu. Také je možné za pomoci reverse engeneeringu takzvaný
merge modelu. Jedná se tedy o sjednocení modelu s implementovanou realitou. Tuto funkcionalitu
například velmi dobře podporuje PowerDesigner.
U CASE nástrojů určených pro návrh databáze budeme sledovat následující kritéria:
•
•
•
•
•
Podporované databáze
Generování fyzického modelu z logického modelu
Reingeneering modelu z databáze
Merge modelů
Vytváření reportů nad modelem do RTF(DOC) nebo HTML
- 51 -
Powerdesigner 12.5 (24)
Jedná o komplexní nástroj pro návrh databáze. Obsahuje snad všechnu možnou
funkcionalitu, jakou si lze představit. Kromě datového modelování podporu celou řadu modelů,
procesní, datové, objektové atd. Bohužel k rozsahu podporovaných modelů je i úměrná cena, což
znamená, že je poměrně vysoká.
Výrobce: Sybase
Cena: $11245 = cca 230000 Kč – platí jeden rok pro jednoho uživatele
Splnění požadavků:
• Podporované databáze – podporuje okolo 60 databází uvádím jen nejznámější Oracle, IBM
DB/2, MS SQL Server, Sybase (ASE, SQL Anywhere), MySQL, NCR Teradata, Sybase IQ 12.7,
IBM DB/2 UDB V2, MS SQL Server 2005
• Generování fyzického modelu z logického modelu ANO
• Reingeneering modelu z databáze ANO
• Merge modelů ANO
• Vytváření reportů nad modelem do RTF(DOC) nebo HTML – ANO
Další informace:
• Podporuje datové modelován založené na dvouvrstvé koncepci dvouúrovňového návrhu
schématu databáze.Těmito dvěmi úrovněmi jsou:
o Konceptuální Datový Model (CDM – Conceptual Data Model)
o Fyzický Datový Model (Physical Data Model).
• Velkým plusem je, že i přes velké množství funkcí jeho ovládání intuitivní. Například reporty
do RTF nebo HTML je možné velké míry customizovat. Jedná se o opravdu velké množství
možností jak upravit generovaný model, ale i začátečník si dokáže vygenerovat report bez
větších problémů.
- 52 -
Toad Data Modeler 12.5 (18)
Nástroj určený přímo pro datové modelování, pokrývá všechny potřebné oblasti, od
generování fyzického modelu a skriptu pro tvorubu databázových objektů až po reversní engineering
a vytváření dokumentace
Výrobce: QuestSoftware
Cena: 10 000 Kč – platí jeden rok pro jednoho uživatele
Splnění požadavků:
• Podporované databáze – podporuje DB2 v. 9, MS SQL Server 2005, Oracle 10g, MySQL 5,
PostgreSQL 8.2, Sybase ASE 15 a další
• Generování fyzického modelu z logického modelu ANO
• Reingeneering modelu z databáze ANO
• Merge modelů ANO
• Vytváření reportů nad modelem do RTF(DOC) nebo HTML – ANO
- 53 -
3.4.4
Modelování procesů
Modelovanie procesov je popis procesov na úrovni typov. Model procesu popisuje na úrovni
typu a proces je jeho inštanciou. Jeden model procesu môže byť interpretovaný a implementovaný
v rôznych aplikáciách rôzne a mať rôzne inštancie. Modelovanie procesov má nasledujúce ciele:
popisovanie, predpisovanie a vysvetľujúce. Na procesy z hľadiska užívateľa sa môžeme pozerať ako
na business procesy. Preto najdôležitejšou úlohou pri analýze tvorby software je modelovanie
business procesov. Správnemu pochopeniu business procesov má pomôcť vizualizácia procesov, čo
by mal obsahovať case nástroj na modelovanie BP. Jazyk vizuálneho modelovania používaný na
modelovanie BP obsahuje BPMN (Business Process Modeling Notation) a UML. Programovací jazyk
modelovania BP.
Nástroje na tvorbu modelov BP by mali pomáhať business užívateľovi pri tvorbe modelu,
vývojárom pri implementácii uvedených modelov až na úroveň konkrétnych dát. Výsledkom
uvedených nástrojov musí byť centralizovaný business proces model a realizačná metrika, príp.
konkrétna implementácia na úrovni zdrojových kódov. Preto nástroje na BPM majú splniť
nasledujúce požiadavky:
• design, tvorba a editovanie bpm
• definovanie a používanie pravidiel v bpm
• dekompozícia business procesov
• konvertovanie business proces diagramu do zložitého procesu
• kontrola a určenie správnosti modelu
• reportovanie modelov
• prepojenie s inými modelmi (requirements model, OOM, PDM)
• zlučovanie modelov
• práca s úložiskom
3.4.5
IDE pro modelování procesů
- 54 -
PowerDesigner 12.5 (24)
Je to nástroj mimo iných funkčností aj na výkonné modelovanie business procesov. Umožňuje
vytvárať rôzne business proces modely, zahrnúť modely do zložitých modelov, alebo ako modely
podradených procesov. Umožňuje efektívne kontrolovať a validovať stav a obsah modelu. Ďalej
umožňuje prepojiť rôzne modely, tvoriť reporty a grafické výstupy, integrovať s inými typmi modelov
z PowerDesigner, alebo prácu verzovanie.
Výrobca: SYBASE
Cena: $11245 = cca 230000 Kč – platí jeden rok pre jedného užívateľa
Splnenie požiadaviek:
• design, tvorba a editovanie bpm ANO
• definovanie a používanie pravidiel v bpm ANO
• dekompozícia business procesov ANO
• konvertovanie business proces diagramu do zložitého procesu -ANO
• kontrola a určenie správnosti modelu ANO
• reportovanie modelov ANO
• prepojenie s inými modelmi (requirements model, OOM, PDM) ANO
• zlučovanie modelov ANO
• práca úložiskom – ANO
- 55 -
4 IDE pro podporu spolupráce
4.1 Obecně
Nástroje pro podporu spolupráce umožňují současnou práci většího počtu lidí na stejném
projektu či CASE modelu. Kromě samotného umožnění současné práce na stejném dokumentu nabízí
tyto nástroje několik dalších funkcionalit. Jsou jimi zejména:
• automatické verzování
• udržování historie
• řízení přístupu
• řízení zdrojů, úkolů
• řešení konfliktů
• schvalování úprav
• elektronická komunikace členů projektu
4.2 Přehled produktů
- 56 -
Rational Team Concert
IBM Rational Team Concert je nástrojem pro podporu týmové spolupráce v prostředí Eclipse
a v nedávno vydané verzi také v prostředí Visual Studia. Ve své standardní verzi přináší podporu
týmové spolupráce až pro středně velké týmy. Jeho hlavním přínosem je zjednodušení,
zautomatizování a řízení vývoje v prostředí týmu.
Pomocí přehledného prostředí umožňuje sledovat a řídit zdroje a jednotlivé pracovní úkoly v
návaznosti mezi sebou. Je možné vytvářet komplexní workflow postupy a procesy, podle kterých se
má vývoj řídit. Samozřejmě umožňuje práci vždy na aktuální verzi projektu. Pro vedoucí týmu i
ostatní členy projektu poskytuje přehledné dashboardy, které dávají dobrý přehled nad stavem
projektu, vytížením zdrojů, stavy úkolů a dalšími parametry projektu.
Rational Team Concert umí pracovat s několika hlavními databázovými platformami jako:
DB2, Oracle a SQL Server. Kromě samotného řízení zdrojů a úkolů umožňuje Rational Team Concert
také jednoduchou výměnu informací mezi jednotlivými členy týmu a to vždy v kontextu např. právě
vykonávaného úkolu. Například pokud jeden člen týmu provede změnu požadavku na zlepšení, každý
ze členů týmu o tom je okamžitě informován. Každá změna může být také přímo komentována a
komunikována s ostatními.
Ve své standardní edici podporuje Rational Team Concert až 250 uživatelů a oproti edici
Express i mnoho funkcionalit navíc. Express edice je do 3 uživatelů poskytována zdarma.
- 57 -
- 58 -
TeamCity 4.0
Nástroj TeamCity je dalším z řady nástojů pro podporu spolupráce. Jeho devizou je, že je
dostupný hned pro několik vývojových prostředí ve formě pluginu: IntelliJ Idea, Eclipse a Visual
Studio. Na rozdíl od předchozích dvou nástrojů je více zaměřen po stránce verzování, vytváření
buildů, kontroly kódu apod.
Stejně jako u ostatních nástrojů je samozřejmě možné v rámci jednoho projektu komunikovat
například zanechávím komentářů u jednotlivých verzí apod. Na obrázku níže je uveden příklad
přehledu změn provedených konkrétním pracovníkem.
TeamCity 4.0 je volně dostupný ke stažení z webových stránek projektu.
- 59 -
NetBeans Collaboration Project
NetBeans Collaboration Project (dále NCP), jak je z jeho názvu patrné, je zásuvným modulem
pro vývojové prostředí NetBeans. NCP umožňuje připojení na již existující server pro podporu týmové
spolupráce, nebo na službu pro podporu spolupráce (NetBeans Collaboration Service) přímo od
NetBeans.
NCP nabízí velmi propracovanou službu pro podporu spolupráce. Jejími hlavními devizami
jsou:
• elektronická komunikace mezi uživateli, chat, VOIP komunikace
•
Virtual Code Review
Virtual Code Review
Hlavním benefitem NCR je prvek nazvaný Virtual Code Review. Ten umožňuje vývojářům v
reálném čase revizi kódu, přičemž vývojáři vidí vždy aktuální verzi kódu. V praxi to může fungovat
například tak, že jeden vývojář dokončí část kódu, založí konverzaci, do které pozve některé další
členy týmu a dá jim svůj kód k revizi. V tu chvíli mohou všichni přizvaní vývojáři upravovat kód, s tím
že vidí všechny právě upravované části, které se po dobu úpravy zamykají vždy pro jednoho z nich,
aby nedocházelo ke konfliktům. Všechny úpravy okamžitě vidí i vývojář, jehož část kódu je revidována
a může okamžitě začít se zpracovávání poznámek a komentářů. Jakmile je úprava hotova a všichni
vývojáři dokončí revizi, může být proveden Check-out, kterým se upravený kód dostane do úložiště
projektu.
NCR je zdarma dostupný jako rozšiřující modul pro vývojové prostředí NetBeans.
- 60 -
5 Závěr
Náš vytyčený cíl se nám povedlo splnit. Přinesli jsme seznam CASE nástrojů a vývojových
prostředí rozdělených podle oblastí použití. Na začátku každé oblasti jsou uvedené hlavní
charakteristiky, na které je důležité se zaměřit při výběru daného nástroje a u jednotlivých nástrojů je
pak uvedeno hodnocení, jak je naplňují. Převážně jsme volili nástroje, které pokrývají potřebnou
funkcionalitu pro práci v dané oblasti, což dokládá velmi časté splnění požadavků.
Co se týká trendů, tak se dá říci, že IDE nástroje stále více podporují modelování a následné
generování z modelů. Snaží se tak uživatelům usnadnit a zpřehlednit práci.
Podnětem pro další práci, by mohlo být zajímavé zamyslet se na tím, jestli by nebylo možné
používat SaaS CASE pro vývoj nebo jestli už takové nástroje dokonce neexistují.
- 61 -
6 Citace:
1. java. [Online] http://java.sun.com/developer/technicalArticles/tools/intro.html.
2. wikipedia. [Online]
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments.
3. Eclipse. [Online] http://www.eclipse.org/screenshots/images/QuickFix-WinXP.png.
4. Softpedia. [Online] http://www.softpedia.com/screenshots/JCreator-Pro_1.gif.
5. Oracle. [Online]
http://www.oracle.com/technology/products/jdev/htdocs/partners/addins/exchange/index.html.
6. vb.net-informations. [Online] http://vb.netinformations.com/framework/framework_tutorials.htm.
7. Mono-Project . [Online] ://mono-project.com/What_is_Mono.
8. Microsoft. [Online] http://www.microsoft.com/cze/msdn/produkty/vstudio/default.mspx.
9. Codegear. [Online] http://www.codegear.com/products/radstudio.
10. ICSharpcode. [Online] http://www.icsharpcode.net/OpenSource/SD/.
11. Monodevelop. [Online] http://www.monodevelop.com/Main_Page.
12. PSPad. [Online] http://www.pspad.com/ .
13. Adobe. [Online] http://www.adobe.com/products/homesite/ .
14. Bluementals. [Online] http://www.blumentals.net/htmlpad/.
15. Migajek. [Online] http://www.migajek.com/?c=hateml .
16. Oxygen. [Online] http://www.oxygenxml.com/.
17. Altova. [Online] http://www.altova.com/products/xmlspy/xml_editor.html.
18. Quest Software. [Online] http://www.quest.com/.
19. Aquafold. [Online] http://www.aquafold.com/.
20. Embarcadero. [Online] http://www.embt.cz/.
21. OMG. [Online] http://www.omg.org/technology/documents/modeling_spec_catalog.htm#XMI.
22. Panrepa. [Online] http://www.panrepa.org/CASE/jaro2008/ide_case_jaro2008.pdf.
23. LBMS. [Online] http://www.lbms.cz/Reseni/Tema/MDA.htm.
- 62 -
24. Books Google. [Online] http://books.google.cz/books?
id=7gLPXVX_88sC&pg=PT81&lpg=PT81&dq=UML+standard&source=w
25. Sparxsystems. [Online] www.sparxsystems.com.au.
26. Gentleware. [Online] http://www.gentleware.com.
27. Visual-paradigm. [Online] http://www.visual-paradigm.com/.
28. Sybase. [Online] http://www.sybase.com.
29. zajistovani-kvality-odborneho-vzdelavani. Národní ústav odborného vzdělávání. [Online] [Citace:
23. 11 2008.] http://www.nuov.cz/zajistovani-kvality-odborneho-vzdelavani.
30. Zend. [Online] http://www.zend.com/en/products/studio/ .
31. JetBrains IntelliJ IDEA. [Online] http://www.jetbrains.com/idea/ .
32. NetBeans. [Online] http://www.netbeans.org/ .
33. Jude Professional. [Online] http://jude.change-vision.com/
- 63 -

Podobné dokumenty

Vážení studenti 1

Vážení studenti 1 11. parametr – není žádné strašidlo, ale výborný pomocník (opět nám ušetří kus práce), 12. projdi se v mých mokasínách – vyzkoušíme si, jaké je to postupovat podle návodu, který sestavil někdo jiný...

Více

Výroční zpráva o činnosti FS TUL za rok 2014 - Fakulta strojní

Výroční zpráva o činnosti FS TUL za rok 2014 - Fakulta strojní a poslání. Je nepochybné, že se jí to dařilo, daří a s podporou všech členů akademické obce bude dařit i v budoucnu. Fakulta strojní vždy nesla svůj díl činností a odpovědnosti za rozvoj univerzity...

Více

Za hudbou dávných časů

Za hudbou dávných časů profesionální zpěváci nebo zpěvačky, kteří se vzdělávali v  chrámových školách. Právě v úschovnách (knihovnách) těchto škol se našly tisíce hliněných destiček, mj. také s hudebním textem v klínovém...

Více

4IT_450 Přehled CASE nástrojů na tuzemském trhu

4IT_450 Přehled CASE nástrojů na tuzemském trhu sestavy je možno v prostředí Select dále aktualizovat. Nástroj nabízí také lokalizované šablony v českém jazyce. Dokumentaci je možné také generovat do HTML stránek. Integrace s Eclipse Jak již byl...

Více

Využití CASE ve vývojářské firmě

Využití CASE ve vývojářské firmě synchronizace modelu a zdrojového kódu vytváření dokumentace z modelu

Více

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na

Nástroje pro vývoj aplikací v závislosti na platformě a jejich vazba na na platformě a jejich vazbě na CASE. Toto zadání je dosti široké a pochopitelně je v první řadě vhodné si jej nějakým způsobem blíže vymezit a upřesnit. Nejprve tedy blíže popíšeme, co vlastně v na...

Více

Základy transportního protokolu TCP

Základy transportního protokolu TCP Aby bylo možné garantovat bezchybný a ucelený přenos bloku dat dané aplikace, je nutné tento blok nejprve rozdělit do menších částí - segmentů, které musí být tak dlouhé, aby se každý z nich, včetn...

Více