Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava
[email protected]
Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty Tvorba aplikace s komponentami Komponenty v prostředí WWW Komponenty v business aplikacích Výuka komponentních technologií Závěr 31. 1. 2003
Softwarové komponenty a Internet
2
Motivace Vývoj z z z
Opakovatelná použitelnost Snadnost testování Možnost specializace výrobců
Distribuce z z
Rychlé uvedení na trh Nezávislost na dodavateli
Údržba z z
Snížení nákladů na údržbu Zaměnitelnost – tlak odběratelů na standardizaci
31. 1. 2003
Softwarové komponenty a Internet
3
Inspirace z jiných oborů Stavebnictví z
výstavba z modulů, panely
Automobilový průmysl z
specializace ve výrobě, zaměnitelnost
Elektronika z
základní součástky, moduly, funkční bloky
31. 1. 2003
Softwarové komponenty a Internet
4
Aplikace v IT Technické vybavení z z z
Paměti, procesory, základní desky Periferní zařízení – PnP, ovladače Komunikační prvky
Programové vybavení z z z z
grafická uživatelská rozhraní distribuované aplikace databáze informační systémy
31. 1. 2003
Softwarové komponenty a Internet
5
Vývoj přístupů k tvorbě programů Monolitické programy z
upřednostnění úspornosti kódu na úkor srozumitelnosti a přehlednosti
Strukturované metody hierarchie, abstrakce z dynamické knihovny (DLL) z vzdálené volání procedur (RPC) z modulární programování (Modula-2) z
31. 1. 2003
Softwarové komponenty a Internet
6
Vývoj přístupů k tvorbě programů Objektově orientované technologie zapouzdření – „černá skříňka“ z dědění z polymorfismus z znovupoužitelnost z
Komponentní technologie rozhraní z standardy z
31. 1. 2003
Softwarové komponenty a Internet
7
Co je to komponenta? Stavební jednotka se smluvně definovanými z z
rozhraními, explicitními kontextovými závislostmi.
Může být použita nezávisle na z z
prostředí, pro které byla vytvořena, prostředí, ve kterém byla vytvořena.
Je určena pro integraci třetí stranou z
autor komponenty - autor aplikace - integrátor
31. 1. 2003
Softwarové komponenty a Internet
8
Popis komponenty Stav z
Vlastnosti – čtení, nastavení
Chování z
Operace – volání, parametry, výsledek
Interakce s okolím z
Události – registrace, oznámení
31. 1. 2003
Softwarové komponenty a Internet
9
Příklad - Java public class Prevod { private float koef = 1.0f; public void setKoef(float novy) { koef = novy; } public float getKoef() { return koef; } public float preved(float castka) { return castka * koef; } } 31. 1. 2003
Softwarové komponenty a Internet
10
Příklad – C# public class Prevod { private float koef = 1.0f; public float Koef { set { koef = value; } get { return koef; } } public float preved(float castka) { return castka * koef; } } 31. 1. 2003
Softwarové komponenty a Internet
11
Příklad – Visual Basic Public Class Prevod Dim K As Single Public Property Koef() Get Return K End Get Set(ByVal Value) K = Value End Set End Property Public Function Preved(ByVal castka As Single) Return castka * K End Function End Class 31. 1. 2003
Softwarové komponenty a Internet
12
Životní cyklus komponenty Tvorba komponenty z
standardy – CORBA, COM+, Java Beans, .NET
Publikace rozhraní z
dokumentace, introspekce
Šíření komponenty z
registry komponent, adresářové služby
Vyhledání komponenty z
identifikace komponent, pozdní vazba
Tvorba aplikace z
IDE – Visual Studio .NET, Delphi, Sun ONE/FFJ
31. 1. 2003
Softwarové komponenty a Internet
13
Příklad tvorby aplikace IDL
komponenta
popis rozhraní
C++ zdrojový text aplikace
31. 1. 2003
Vývojové prostředí
Softwarové komponenty a Internet
DLL
dynamická vazba
EXE spustitelná aplikace
14
Komponenty v prostředí Internetu Webové služby (Web Services) z
komponenty přístupné přes WWW rozhraní (protokoly HTTP, SOAP)
Publikace komponent z
WSDL – Web Services Description Language
Vyhledávání komponent z
UDDI – Universal Description, Discovery, and Integration
31. 1. 2003
Softwarové komponenty a Internet
15
Příklad tvorby aplikace komponenta
WSDL
služba rozhraní
UDDI adresář
Vývojové prostředí
Java 31. 1. 2003
SOAP
aplikace Softwarové komponenty a Internet
16
Komponenty v business aplikacích EJB – Enterprise Java Beans Session Bean z Entity Bean z Message Bean z
– akce – perzistence dat – zasílání zpráv
Aplikační servery z
Sun ONE Server, JBoss, …
31. 1. 2003
Softwarové komponenty a Internet
17
Výuka ve studijním programu Informační technologie Programovací techniky (Bc 2. r. – ZS) z
Základy komponentních technologií
Internetové technologie (Bc 3. r. – ZS) z z
Aplikace na straně serveru Jazyk XML a jeho aplikace
Tvorba informačních systémů (Bc 3. r. – LS) z z
Vícevrstvá architektura informačního systému Technologie EJB, .NET
Distribuované objektové systémy (Mgr 1. r. – LS) z
Technologie CORBA
31. 1. 2003
Softwarové komponenty a Internet
18
Závěr Komponenty představují aktuální téma v oblasti softwarového inženýrství Přesun od lokálních komponent k webovským službám Nutnost zařazení komponentních technologií do praktické výuky Výzkumná témata v oblasti specifikace, rekonfigurace a distribuce komponent 31. 1. 2003
Softwarové komponenty a Internet
19
Děkuji za pozornost!
http://www.cs.vsb.cz/benes mailto:
[email protected]
31. 1. 2003
Softwarové komponenty a Internet
20