Modelování webových služeb v UML



Podobné dokumenty
Modelování řízené případy užití

Komputerizace problémových domén

Požadavky pro výběrová řízení TerraBus ESB/G2x

Katalog služeb a podmínky poskytování provozu

7 Jazyk UML (Unified Modeling Language)

UML - opakování I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

7 Jazyk UML (Unified Modeling Language)

UML. Unified Modeling Language. Součásti UML

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

EXTRAKT z české technické normy

Unifikovaný modelovací jazyk UML

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Globální architektura ROS

Optimalizace podnikových procesů fakultní nemocnice

Metodika. Architecture First. Rudolf Pecinovský

JAK SE PŘIPOJIT K EGOVERNMENTU? Michal Polehňa, Jiří Winkler

UML - Unified Modeling Language

Návrh IS - UML. Jaroslav Žáček

Návrh IS - UML. Jaroslav Žáček

Analýza a Návrh. Analýza

SDI PRO OCHRANU PŘÍRODY: PŘÍSTUP PROJEKTU NATURE-SDIplus K HARMONIZACI DAT

ČESKÁ TECHNICKÁ NORMA

Tvorba aplikace typu klient/server pomocí Windows Communication Foundation

Vývoj informačních systémů. Přehled témat a úkolů

Příloha č. 1 Servisní smlouvy. Katalog služeb. S2_P1_Katalog služeb

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

1.1. Správa a provozní podpora APV ROS, HW ROS a základního SW

Metodické postupy tvorby architektury

Metodika analýzy. Příloha č. 1

Architektura protokolů

Funkční analýza Předmět Informační systémy. Daniela Szturcová

EXTRAKT z české technické normy

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Pokročilé typové úlohy a scénáře 2006 UOMO 71

7.2 Model použití (jednání) (Use Case)

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

Návrh programu v Black Box Component Builderu s využitím architektury Model View Controller

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

programování formulářů Windows

ADVANTA group.cz Strana 1 ze 40. Popis řešení Řízení IT projektů. group.cz

DOPLNĚK. Projekt Informační systém základních registrů je spolufinancován Evropskou unií z Evropského fondu pro regionální rozvoj.

Principy UML. Clear View Training 2005 v2.2 1

Metody popisu systému, základy UML

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta

Modelem řízený vývoj. SWI 1 Jan Kryštof

TÉMATICKÝ OKRUH Softwarové inženýrství

TRANSFORMACE RELAČNÍHO DATOVÉHO MODELU NA OBJEKTOVÝ TRANSFORMATION OF RELATIONAL TO OBJECT DATA MODEL

Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky

Modelování obchodních procesů

Využití SysML pro tvorbu modelů v systémovém inženýrství

knihovna programátora

SOUVISLOSTI PROBLEMATIKY SYSTÉMOVÉHO MODELOVÁNÍ A TVORBY INFORMAČNÍCH SYSTÉMŮ RELATIONS BETWEEN SYSTEM MODELLING AND INFORMATION SYSTEM DEVELOPMENT

PV207. Business Process Management

Znalostní systém nad ontologií ve formátu Topic Maps

Výuka integrovaných IS firem a institucí na vysokých školách (zkušenosti, nové příležitosti, omezení)

UML: Unified Modeling Language

Úvod do principů objektově orientovaného programování

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

7.6 Další diagramy UML

Object-oriented Analysis & Design. Requirements Analysis

PŘÍLOHA C Požadavky na Dokumentaci

7.6 Další diagramy UML

Databázové systémy I. 1. přednáška

Komponentní technologie

Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta. Začínáme s BPM. Učební pomůcka. Vypracoval: Ing.

11 Návrh programového vybavení

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

Základy analýzy. autor. Jan Novotný února 2007

EXTRAKT z mezinárodní normy

Návrh aplikace. Project Westpon. Inteligentní simulátor budov. Martin Mudra, Jan Smejkal, Onřej Macoszek, Marek Žehra, Jiří Slivárich

Úvod do datového a procesního modelování pomocí CASE Erwin a BPwin

2. Začlenění HCI do životního cyklu software

Citace článku. Alena Buchalcevová, Jan Kučera. Katedra informačních technologií VŠE Praha nám. W.Churchilla 4, Praha 3

Řízení ICT služeb na bázi katalogu služeb

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

ÚVOD DO SOFTWAROVÉHO INŽENÝRSTVÍ

Thomas Erl SOA. Servisne orientovaná architektura Kompletní pruvodce. '-.-II' 'i

MODELOVÁNÍ ZNALOSTNÍCH BÁZI DAT POMOCI NÁSTROJE CRAFT.CASE KNOWLEDGE DATABASE MODELING WITH THE TOOL CRAFT.CASE. Vojtěch Merunka

Objektově orientované programování 1 XOBO1. Autor: Doc. Ing. František Huňka, CSc.

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Softwarové komponenty a Internet

XML Š ABLONY A JEJICH INTEGRACE V LCMS XML TEMPLATES AND THEIN INTEGRATION IN LCMS

TÉMATICKÝ OKRUH Softwarové inženýrství

Karta předmětu prezenční studium

Komponentový návrh SW

4IT218 Databáze. 4IT218 Databáze

Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby

Delphi podstata, koncepce a metody MDI aplikace

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Procesní model organizace

Michal Krátký, Miroslav Beneš

Obsah. Zpracoval:

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Objektově orientované programování? Co to je?

Pokročilá analýza a návrh stavebních konstrukcí

Téma 5. Ovladače přístrojů Instrument Drivers (ID)

Transkript:

Modelování webových služeb v UML Jaromír Šveřepa LBMS, s.r.o. Abstrakt: Tento příspěvek se zaměřuje na praktický postup pro identifikaci potřeby webové služby, modelování způsobu jejího použití, popřípadě zadání tvorby webové služby externímu vývojovému týmu. Příspěvek je zaměřen na modelování věcných (business) vlastností webových služeb v UML. Klíčová slova: webové služby, UML 1 Úvod Webové služby představují sadu standardů umožňujících komunikaci aplikací bez ohledu na platformu, na které jsou provozovány. Webové služby tak přinášejí technologický základ pro integraci různorodých aplikací. Zužovat však použití webových služeb pouze na technologické otázky je značně nepraktické. Při tvorbě IT systémů je totiž mechanismus komunikace (předávání zpráv) pouze prostředkem pro splnění požadavků uživatelů. Zaměřím se proto na postup, který vychází z uživatelských požadavků a který využívá webových služeb ve formě otevřeného komunikačního média. 2 Definice zadání Zadání jakéhokoliv softwarového projektu vývoje či rozvoje aplikace je možné zúžit na množinu uživatelských požadavků. Celý další postup je vlastně postupná transformace těchto požadavků do určitého softwarového řešení, kdy se snažíme základní uživatelské požadavky pochopit, ověřit jejich správnost a úplnost. 3 Identifikace potřeb 3.1 Model firemních procesů Výchozím modelem pro vyjasnění potřeb je model firemních procesů. Jedná se o model sekvence činností, které mají být podporovány vyvíjenou aplikací. Příklad modelu firemních procesů je na obrázku 1. Vzhledem k tomu, že modelování procesů není součástí standardu UML, je použita notace diagramu procesních řetězců z metodiky Select Perspective.

Obrázek 1 - firemní proces pro externí Help Desk Pro pochopení významu diagramu uvádím stručně jeho syntaxi: plné šipky zleva doprava událost obdélníky tzv. elementární procesy, tj. souvislé činnosti v rámci firemního procesu poloovál přerušení procesu, kdy další činnosti mohou probíhat až po výskytu události plná šipka zprava doleva ukončení procesu, je produkována hodnota generovaná procesem 3.2 Use Cases Na základě požadavků a modelu firemního procesu je nyní možné odvodit detailní požadavky na funkcionalitu aplikace Use Cases. Tím vlastně definujeme potřebu automatizované podpory pro jednotlivé aktivity v procesu. Use Case Diagram odvozený z procesu na obrázku 1 je znázorněn na obrázku 2.

Obrázek 2 Use Case diagram odvozený z modelu procesů Vzhledem k expresivnímu charakteru Use Cases je však velmi problematické jejich přímé použití pro identifikaci potřebných služeb systému. Pro tyto účely je proto každý Use Case rozpracován pomocí Diagramů objektových sekvencí (Object Sequence Diagram) do tzv. interakcí na úrovni zpráv na rozhraní. Takovýto model zachycuje interakci pouze na úrovni hrubých analytických packages, které mají zatím definovány pouze rozhraní (interfaces) a není rozpracována jejich vnitřní struktura. Obrázek 3 Object Sequence Diagram registrace incidentu Na obrázku 3 je znázorněno, že Use Case registrace incidentu vede na potřebu čtyř služeb (dejprodukty, dejproduktyklienta, dejseznamverziproduktu a zalozincident).

3.3 Model tříd Souběžně s tvorbou těchto analytických modelů interakcí je vytvářen model struktury systému ve formě hrubých packages, kde jsou zatím modelována pouze potřebná rozhraní a operace rozhraní potřebné k uspokojení požadované interakce. Příklad je uveden na obrázku 4. Obrázek 4 prvotní model tříd na úrovni rozhraní a packages Průběžně je nezbytné revidovat rozložení zodpovědností v jednotlivých packages (zde chápáno jako abstrakce služeb poskytovaných packagem). V případě nízké soudržnosti je nutné provést přeskupení služeb mezi packages (refactoring rozhraní a služeb) tak, abychom dosáhli vysoké soudržnosti jednotlivých služeb v rámci rozhraní i package. 4 Definování způsobu pořízení V této fázi nejprve zkoumáme, zda požadované služby již nejsou k dispozici, a to vyhledáváním ve firemním katalogu služeb a/nebo ve veřejně dostupných zdrojích nebo tržištích. Pokud služba není k dispozici a je potřeba ji vyvinout, doplňuje se popis rozhraní o vyžadované parametry (předávané struktury). Pro jejich popis se používá model tříd (struktur). Takto doplněná specifikace pak slouží jako zadání pro tým, který příslušné služby vyvine (ať již interní nebo externí), většinou přímým převodem těchto struktur do podoby WSDL. V našem příkladu předpokládejme, že služby dejproduktyklienta a dejseznamverziproduktu nebudou v systému k dispozici, neboť tyto služby jsou již k dispozici v obchodním systému.

5 Tvorba služby Na základě věcné specifikace (požadovaná rozhraní, požadované operace na rozhraních a požadované parametry/struktury), navrhne vývojový tým způsob implementace služby. Vývojový tým to provádí formou doplnění interních tříd v package a návrhem interakcí pro každou operaci na rozhraní. Na základě této specifikace je potom vytvořena komponenta nebo aplikace, která poskytuje požadované služby. Ilustrativní příklad modelu tříd je uveden na obrázku 5 a diagram interakcí pro službu dejseznamverziproduktu je na obrázku 6. Obrázek 5 návrh rozhraní webové služby Obrázek 6 návrh interakce realizující webovou službu

6 Sesazení řešení z připravených služeb Poslední fáze spočívá v sesazení řešení z dodaných (nebo opakovaně využitých) služeb a doplnění implementačních objektů specifických pro řešení (např. objekty prezentační vrstvy, řídící logika jednotlivých Use Cases). Vzhledem k tomu, že posloupnost a názvy zpráv se při zakládání incidentu našeho help desku nezměnily, je použití webových služeb patrné stereotypem u rozhraní iprodukt a také tím, že nyní je toto rozhraní označeno jako externí ( e v pravém horním rohu), čili nelze je v tomto modelu měnit. Obrázek 7 finální interakce pro Registraci incidentu 7 Shrnutí Uvedený postup v tomto příspěvku lze použít obecně pro všechny systémy, jejichž architektura je postavena na poskytování služeb. 7.1 Výhody uvedeného přístupu: Jasné a pochopitelné oddělení analytického modelu a implementačního modelu (na úrovni diagramů interakcí, na úrovni modelu tříd). Pro rozhodování o způsobu pořízení služby není nutné provádět velmi detailní analýzu. Snadné opakované využití již vytvořených služeb. 7.2 Rizika uvedeného postupu: Dle našich poznatků vyžaduje tento postup zkušenější analytiky a návrháře. Především ve fázi identifikace potřeb.

7.3 Jiné postupy modelování webových služeb vztahy mezi Use Cases Shora uvedený postup se nabízí jako praktičtější varianta velmi obecného postupu vycházejícího čistě z modelu Use Case. Při takovémto postupu je cílem definovat webové služby pomocí vztahů mezi Use Cases, přičemž Use Case (identifikovaný stereotypem <<web service>>) představuje požadovanou webovou službu. Při zkoumání toho postupu jsme však narazili na problém, jak modelovat požadavek na obecnou službu, která může být realizována jako webová služba, ale může být zároveň realizována jako interní služba systému ve fázi analýzy to ještě není známo. Pokud bychom všechny služby modelovali jako Use Cases, vzniká příliš velké množství Use Cases, což je u středně složitého nebo složitějšího systému značný modelový problém. Shora uvedený postup modeluje webové služby na úrovni operací rozhraní (interfaces), tím pádem lze udržet přehlednost i u složitějších modelů. Reference 1. Hedley Apperly, Ralph Hofman, Steve Latchem, Barry Maybank, Barry McGibbon, David Piper, Chris Simons, Ralph Hoffman. Service- and Component-based Development: Using the Select Perspective and UML. Addison-Wesley Pub Co; 1st edition (January 24, 2003). ISBN: 0321159853. Abstract: This contribution is focused on practical approach how to identify web service demand, how to model usage of web service, eventually how to create request specification for external web service development. The contribution is focused on web services business properties modeling using UML.