návrh rozhraní a komponent
Transkript
Komponentový návrh SW Komponentový návrh SW • Komponenty jsou kompletně specifikované pomocí interface • Jejich funkčnost je nezávislá na programovacím jazyku a mohou být integrované do toho samého systému • Poskytují velké množství standartních služeb, tak aby další vývoj byl co nejvíc minimalizovaný • Mnoho standartů podporující komponenty: EJB, COM, .NET, CORBA CCM • V praxi těžko proveditelné aby např. .NET a J2EE spolupracovali dohromady • => proto komponenta jako služba (SOA) Charakteristiky komponent • Standardized - musejí dodržovat standart (metadata, interfaces, dokumentace, nasazení) • Independent - mělo by být možné sloučit a nasadit komponentu bez nutnosti dalších komponent • Composable - interakce přes interface, externí přístup k informacím o sobě samém • Deployable - operuje jako samostatná entita • Documented – musí být plně dokumentovaná Komponenta jako service povider • Komponenta je nezávislá funkční entita, nemusí být kompilovaná před tím, než je použitá • Všechny služby komponenty jsou nabízené prostřednictvím interface a všechny interakce jsou prováděné pomocí interface • Interface je realizované pomocí parametrizovaných operací a vnitřní stav není nikdy dostupný Charakteristiky komponent Komponenty mají 2 interfacy: • Provides - služby nabízené komponentou (API) • Requires – služby, které musí být poskytnuté jinými komponentami • Komponenty jako služba jsou samostatné entity -> nemají required interface Modely komponent • Komponentový model je definice standartů pro implementaci komponenty, dokumentaci a nasazení • INTERFACES - Model specifikuje jak mají být definované interfacy a elementy, které mají být součásti definice interface • USAGE – vzhledem k tomu, že komponenty budou distribuované a přístup vzdálený – musejí mít unikátní název, definice poskytovaných služeb • DEPLOYMENT – specifikace jak mají být komponenty nasazené tak, aby byly nezávislé entity Middleware • Model komponent je základem pro middleware, který dodává veškerý support pro běh. Implementace komponentového modelu poskytuje: – Služby dané platformy, které umožňují komponentám komunikovat – Podpůrné služby využíváné různými komponentami • Komponenty jsou nasazované v tzv.containeru – to je množina interface CBSE procesy Hlavní rozdělení: • Vývoj pro znovupoužití (for reuse) – vývoj komponent nebo služeb, které budou znovupoužité jinými systémy • Vývoj s znovupoužitím (with reuse) – vývoj nových aplikací s využitím existujících komponent a služeb CBSE pro znovu-použití • Vývoj komponent • Komponenty pro specifické prostředí musejí být většinou zoobecněné, aby mohli být znovu-použíté • Komponenty jsou znovu-použitelné většinou tehdy, když jsou asociované s nějakým stabilním business objektem • Čím více je interface obecné, tím více se může znovupoužít, ale tím hůř je také použitelné Změny pro znovupoužití • Odstranit metody, které se příliš týkají dané aplikace • Změnit názvy a udělat je více obecné • Přidat metody, které rozšíří pokrytí jednotlivých použití • Udělat konzistentní řešení vyjímek • Přidat konfigurační rozhranní pro nastavení komponenty • Integrovat vyžadované komponenty tak, aby se zredukovali závislosti Řešení výjimek • Komponenta by neměla zpracovávat výjimky sama, protože každá aplikace může mít jiné požadavky na jejich řešení • Raději definovat jaké vyjímky mohou nastat a ty publikovat • V praxi je potřeba najít rozumný kompromis, aby interface nebylo moc komplikované Komponenty z původních systemů • Existující systémy, které řeší nějaký problém nemusejí být nutně přepracovány, ale pokud dobře fungují mohou být využity jako komponenta • Využití wraperu a implementování provides a requires interface • => ušetření nákladů Znovu-použitelné komponenty • Vývoj -> dražší • Mohou být větší, než specifická komponenta a také mohou spotřebovat více výpočetního času Správa komponent: • Předem je potřeba se rozhodnou, zda komponenta má být ve formě služby nebo raději jako „balíček“ • Udržovat informace o použití komponenty a jejích verzích • Certifikace komponent (někdo jiný, než vývojář ověří kvalitu) CBSE s znovu-použitím • Snaží se nalézt a integrovat znovupoužitelné komponenty • Většinou hlédá kompromis mezi ideálním splněním požadavků a službami nabízenými komponentami Kroky: • Obecné požadavky • Hledání komponent a úprava požadavků podle dostupné funkcionality • Znovu hledání, jestli neexistují lepší komponenty splňující upravené požadavky • • „Spojování“ komponent tak aby vytvořili požadovaný systém Identifikace vhodných komponent • Důvěryhodnost – důvěryhodný dodavatel • Požadavky • Validace – specifikace komponenty nemusí být dostatečná – Nechtěná funkcionalita – Proto je potřeba vytvořit několik test case pro danou komponentu Typy kompozice komponent • Sekvenční – komponenty pracují sekvenčeně – využíváme provides interface každé komponenty • Hierarchická – jedna komponenta volá služby jiné – využíváme requires interface • Doplňková – interfacy několika komponent jsou spojeny a je vytvořená nová komponenta – využíváme provides i requires Nekompatibilní interface • Parametry - operace mají stejný název, ale jiné parametry • Operace – názvy operací v propojovaných interface jsou různé • Nekompletnost operací – provides interface jedné komponenty je podmnožinou requires interface jiné Problém nekompatibility zkoušíme vyřešit tak, že se pokusíme sladit jednotlivé interface komponent adaptér SOA – Service oriented architecture Web services: • Poskytovatel web.služby má možnost vyvinout specializované služby a ty nabízet různým uživatelům a organizacím • Podstata je v nezávislosti aplikace a web.služby SOA • Distribuované systémy, kde komponenty jsou samostatné služby • Služby mohou pracovat na různých platformách u různých providerů • Pro komunikaci slouží standartní protokoly SOA – Service oriented architecture Výhody SOA • Služby mohou být provozovaní lokálně nebo outsourcované externím providerům • Služby jsou nezávislé na program.jazyku • Je možné využít vyvinuté systémy a udělat z nich WS - $$$ • a další … Důležité standardy SOA • SOAP (Simple Object Access Protokol) – Standard pro výměnu zpráv, který podporuje komunikaci služeb • WSDL (Web Service Definition Language) – Standard pro definovaní interface služeb a jejich bindování • WS-BPEL (WS-Business Process Execution Language) – Standard pro workflow jazyky používaný pro kompozici služeb WSDL • Které operace jsou poskytovány, formát jejich zpráv • Přístup k službě – mapování abstraktního interface na konkrétní protokol • Kde se služba nachází, URI (Unified resource identifier) RESTful web services • Současné standardy pro web.služby jsou kritizované pro tězkopádnost • • REST (Representational State Transfer) je arch. styl založený na přenosu reprezentace zdrojů ze serveru na klienta • GET, PUT, POST, DELETE • Jednoduší než SOAP/WSDL, jediný standard je HTTP Nalezení kandidáta na WS • Je služba asociována s jednou logickou entitou, která je používaná ve více business procesech? • Je úkol v rámci organizace vykonáván více lidmi? • Je služba nezávislá? • Udržuje služba svůj stav? Vyžaduje databázi? • Může být služba využívaná mimo organizaci? • Mají uživatelé služby různé nefunkční požadavky? Problémy testování WS • Externí služby mohou být modifikovány providerem -> nevalidní testy • Ne-funkční chování služby se může lišit podle zátěže • Pokud se platí za využití služby – testování může být drahé
Podobné dokumenty
sylabus_2015_05 (967450) - Petra Marikova Vlckova
Vývoj nekrálovských hrobek ve Staré říši (OK) vychází ze stavebních tradic Raně
dynastického období (EDP): mastaby a skalní hrobky – oba typy hrobek se používaly
současně.
Mastaba (obr. 1) = hrobka...
High Tech Aquarium Ecology
spínací zásuvky a ventily TUNZE®. Dále pak měří a reguluje teplotu a hodnotu pH. Poskytuje
komfortní nastavení prostřednictvím webového rozhraní a pomocí jakéhokoliv koncového
zařízení umožňujícího...
podzim zima fall winter w arm peace.cz w a r m p e a c e . c z
Naší planety se bohužel žádná záruka netýká a tak se
řada z nás snaží nezadržitelný odklon lidského života od
přírodního chodu světa alespoň zpomalit. Proto v naší
kolekci již čtvrtou sezonu nach...
Prezentace_Modernizace ODok
Od vzniku ODok nastala řada změn
Ne všechny procesy byly pokryty IT službami
Revize existujících IT služeb na základě nového modelu
legislativních procesů
1 - Gigabyte
Varování
●● Můžete využít této zálohy pomocí této aplikace v případě ztráty nebo poškození zařízení
●● Můžete si nástroj pro obnovení systému přehrát na USB disk a obnovit si takto jakékoliv zaříze...
Sexuální dysfunkce u českých žen
Nové pojetí vychází ze čtyř kategorií vymezených v DSM-IV: poruchy touhy, vzrušení,
orgasmu a bolesti, nicméně k těmto kategoriím jsou nově přiřazeny dimenze subjektivní
spokojenosti, stresu a přít...