Title: Standardy w zakresie systemw rozproszonych i baz danych
1Standardy w zakresie systemów rozproszonych i
baz danych
Wyklad 9 Wprowadzenie do systemu VIDE
Piotr Habela Kazimierz Subieta Polsko-Japonska
Wyzsza Szkola Technik Komputerowych, Warszawa
2Narzedzie do analizy dziedziny biznesu
- Prototyp umozliwia poczatkowa interakcje
uzytkownika z systemem VIDE na poziomie CIM - Uzytkownik biznesowy lub analityk biznesowy
bedzie mógl opisac swój problem w zrozumialych
dla niego terminach. - W kolejnych krokach narzedzie wspomaga
uzytkownika w precyzowaniu jego koncepcji w
kierunku modelu procesu biznesowego. - Nie nalezy oczekiwac, ze uzytkownik biznesowy lub
analityk biznesowy stanie sie w ten sposób
programista, gdyz powstaly w ten sposób model nie
jest dostatecznie formalny aby mozna bylo mówic o
wykonywalnym kodzie. - Jednakze istotne jest to, ze juz na tym etapie
zostaja okreslone podstawowe wlasnosci aplikacji,
które wymagaja stosunkowo niewielkiej pracy, aby
staly sie w pelni formalnym kodem.
3Przyklad aplikacji biznesowej - Sales Scenario
(1)
- A field representative of a manufacturer of
computer hardware receives a message on his PDA,
telling him that company X is planning to replace
its complete system in the next quarter. The
company has budgeted substantial financial
resources for the replacement. - He immediately enters this information in the
system, i.e., master data of the potential
customer, including budget estimation,
description of sales opportunity, sales volume,
and timeframe of the opportunity. - The Opportunity object is created in the system
and evolved by the assigned employee until it
reaches a go/no go decision by sales management. - Another employee of the sales office creates an
offer using the Quotation module, which
automatically generates a quotation template
based on the sales opportunity. - Based on the categorisation of the prospect in a
Customer Group, estimated sales volume, and sales
probability, the Individual Prices module is used
to calculate a discount for the customer, which
is included in the quotation. - After the sales office has contacted the customer
and received an order, the system automatically
converts the quotation into an order upon mouse
click using the module Sales Processing.
4Przyklad aplikacji biznesowej - Sales Scenario
(2)
- To check the creditworthiness of the customer, a
Credit Check is performed during sales processing
by interacting with the Payment module. - An (optional) Availability Check is performed to
check warehouse stock for required capacities. - The availability-to-promise check requires
interaction with warehouse management (Stock). In
case of Multiple Stocks only those warehouses
sufficiently close to the shipping address are
included. - In cooperation with the Delivery module, the
order is split into separate orders for each
involved warehouse, which have to be scheduled
appropriately. - If Payment is to be integrated into the process,
it would be activated automatically upon creating
a binding sales order. Depending on the method of
payment offered by the system and selected by the
customer, an automatic debit transfer from the
customers account can be triggered (Payment
Card), an invoicing document can be attached to
the delivery (Cash On Delivery), or Invoicing is
activated for later settlement. - The order status is set to completed by an
employee as soon as it is delivered to the
customer.
5Pierwsze wyobrazenie o aplikacji
6VIDE - Przypadek uzycia dla uzytkownika
biznesowego
- Zapisanie informacji o dziedzinie problemowej w
postaci luznych slabo powiazanych kawalków
(scraps) - Precyzowanie tej informacji i rozpoczecie budowy
pewnych uproszczonych asocjacji pomiedzy tymi
kawalkami - Model albumu kawalków (scrapbook) sklada sie z
reprezentacji wizyjnej (zwykle zaokraglonych
prostokatów) wybranych kawalków. - Model scrapbook przechowuje sie na specjalnym
pliku (scrap file)
7Selekcja kawalków (scraps) z tekstu
8Wizualizacja kawalków
9CIM - Nieformalny model analityczny
10VIDE przypadek dla analityka biznesowego
- Edytor CIM pozwala uzytkownikowi na tworzenie i
precyzowanie pól-formalnego modelu procesów
biznesowych, struktury organizacyjnej oraz
struktur danych bazujac na narzedziu do analizy
dziedzinowej. - Wynik jest pamietany w postaci pliku XML
- Po stworzeniu model moze byc wyeksportowany do
systemu zarzadzania procesami pracy - Model moze byc uzyty do laczenia (orchestration)
róznych aplikacji bazujacych na systemie workflow
wynik w postaci standardowego XPDL 2.0.
(XML-owa wersja BPMN) - Wynik ten moze byc skonsumowany w szczególnosci
przez Office Objects Workflow firmy Rodan - Mozliwa integracja wiele systemów WF pochodzacych
od róznych dostawców - Z drugiej strony model z poziomu CIM moze byc
punktem startowym dla wizarda zapewniajacego
przejscie do poziomu PIM (PIM Prototyping Tool). - W tym przypadku nie zaklada sie generowania
formaty XPDL 2.0, lecz wlasny format VIDE
okreslony jako VCLL - Jest to równiez format XML, ale rozszerzony w
stosunku do XPDL 2.0
11Model procesów w VIDE (VCLL)
12Model procesów w BPMN (XPDL)
Notacja graficzna pochodzi z OfficeObjects
WorkFlow, zblizona do VCLL z poprzedniego slajdu
13CIM - perspektywa danych
14CIM - perspektywa organizacyjna
15CIM - perspektywa regul biznesowych
16CIM przypadek dla Analityka/Projektanta
- Poczatkowa faza projektowania jest wyprodukowanie
diagramu klas z modelu procesu biznesowego
wytworzonego w fazie CIM - Model zachowania (behaviour), zwykle diagram
aktywnosci, jest tworzony równoczesnie z modelem
klas - Prototypowanie na poziomie PIM bierze jako
wejscie plik zawierajacy model procesu
biznesowego, komponent VCLL i nastepnie stosuje
zestaw heurystyk pozwalajacych przekonwertowac
elementy modelu CIM na diagram klas oraz diagram
aktywnosci. - Nastepujace kroki sa wykonywane w celu
rozwiniecia poczatkowego modelu klas i aktywnosci
z modelu procesu biznesowego zapisanego w VCLL - Wybranie pliku VCLL
- Utworzenie plików zawierajacych diagram klas i
diagram aktywnosci - Wyswietlenie diagramów
17Diagram klas uwzgledniajacy Opportunity
18Przypadek programisty VIDE
- Zaklada sie, ze programista VIDE ma za zadanie
uzupelnienie wytworzonych modeli poprzez
wypelnienie kodem wyspecyfikowanych metod. - Dzialanie to zaklada, ze model klas dostarczony
przez analityka/projektanta moze potrzebowac
korekt lub doprecyzowania, np. poprzez
specyfikacje lub poprawienia sygnatur metod. - Schemat aktywnosci wlacza nastepujace kroki
- Selekcja i poprawienie definicji operacji, które
sa zgodne z kontekstem implementowanych cial
metod dla tych operacji (z uzyciem tekstowego lub
wizualnego jezyka VIDE dla poziomu PIM) - Zapamietanie tych definicji w modelu
- Wykonanie modelu celem przetestowania
wyspecyfikowanego zachowania, poprzez wywolanie
programów, instrukcji lub zapytan ad hoc (z
uzyciem Model Execution Engine dla poziomu PIM) - Wygenerowanie kodu dla wyselekcjonowanej
docelowej platformy - Ten schemat moze miec rozliczne odmiany, w
zaleznosci od roli specyfikowanego kodu i od celu
dla którego model jest wykonywany - Np. mozliwe jest testowanie i walidacja aplikacji
wlaczajace uzytkownika koncowego.
19Konstrukcje diagramu klas UML wspierane przez VIDE
- Pakiety ( jedno-poziome struktury pakietów
ponizej pakietu korzeniowego sa przetestowane) - Import pakietów pomiedzy pakietami
- Klasy z pojedynczymi generalizacjami
- Atrybuty
- Typy atomowe
- Typy okreslane klasa (podobne do kompozycji)
- Asocjacje (tylko binarne)
- Jednokierunkowe
- Dwukierunkowe (w tym przypadku obydwa konce sa
zaznaczone jako navigable) - Operacje (przeciazanie nie jest wspierane)
20Stereotypy specyficzne dla VIDE
- module zaznacza klase sluzaca jako punkt
startowy aplikacji. Instancje obiektów tej klasy
nie moga byc tworzone. - PublishedService zaznacza klase, której
wybrane operacje sa dostepne jako operacje
serwisu Webowego. - Przestrzen nazw oraz URL jako atrybuty tego
stereotypu. - PublishedOperation zaznacza operacje wewnatrz
klasy zaznaczonej stereotypem PublishedService.
- Oznacza opublikowanie tej operacji.
- ConsumedService zaznacza pieniek klasy dla
zewnetrznego serwisu konsumowanego przez kod
VIDE. - Id zaznacza atrybut (obecnie tylko typu
String), który identyfikuje instancje danej klasy
w sposób unikalny. - Taki atrybut moze byc generowany automatycznie.
- Persistent zaznacza klase, której instancje
maja byc trwale - Transient zaznacza atrybut wewnatrz klasy,
który jest nietrwaly mimo, ze znajduje sie
wewnatrz klasy oznaczonej stereotypem
Persistent.
21Diagram klas UML jako schemat bazy danych
- Generalne zalozenie MDA diagram klas UML jak
schemat danych lub bazy danych aplikacji - Pewne konstrukcje UML sa nie objete formalizacja,
gdyz sa zbyt trudne w sensie jezyka programowania - Np. n-arne asocjacje, ngt2, lub dekorowanie
asocjacji klasa - Niektóre z nich sa malo precyzyjne, np.
- agregacje/kompozycje
- wieloaspektowe generalizacje
22Specyfikacja modulów
1
global
23Edytor tekstowy VIDE
24Kod tekstowy
Oblicza ExpectedRevenueAmount
25Edytor wizualny dla cial metod
Oblicza ExpectedRevenueAmount
26Edytor wizualny VEB Visual Expression Builder
Oparty na Obiektowym Query By Example
(OQBE) Zapytanie zwróci rezultat
bag(struct(desc, salesperson)) dla wszystkich
tych Lead (czyli zaczatków Opportunity), dla
których - istnieje Oportunity i ma priorytet
gt4 -
posiada równiez prognoze i jest ona wieksza niz
50 -
wszystkie pozycje oferty opiewaja na co najmniej
10 sztuk kazda
27Prototypowanie graficznego interfejsu uzytkownika
(GUI)
- VIDE GUI-builder pozwala zdefiniowac
interakcyjnie GUI dla programów w VIDE - Poniewaz to GUI bazuje na Java Runtime
Environment, moze byc wykonywane na wszystkich
platformach wspieranych przez Java (np. Windows,
Linux, Apple OS X, Sun Solaris). - GUI moze byc wywolane jako aplikacja desktop lub
moze byc zanurzona jako Java aplet na stronie
webowej. - Poniewaz komunikuje sie z VIDE poprzez Web
service, mozliwe jest tworzenie rozwiazan
rozproszonych - can be started as a desktop-application or can be
- VIDE GUI-builder jest zintegrowany z
VIDE-Eclipse-framework. - Dlatego GUI moze byc projektowane bez opuszczania
srodowiska deweloperskiego VIDE.
28Generacja interfejsu uzytkownika - WebFace
29Wrapper do systemów relacyjnych
- Integracja relacyjnych baz danych (RDB) dziala
dla PIM i PSM. - Programista moze zaimportowac schemat RDB
bezposrednio z dzialajacego RDBMS, zamieniajac go
w model UML edytowalny przez edytory VIDE - W rezultacie nowe pakiety z klasami
reprezentujacymi schemat relacyjny. - Zasoby relacyjne sa reprezentowane na poziomie
PSM jako tzw. wirtualne obiekty, które posiadaja
strukture podobna do rzeczywistych obiektów, ale
które nie istnieja fizycznie (tylko definicja) - Wirtualne obiekty moga byc odpytywane i
aktualizowane dokladnie tak samo jak obiekty
rzeczywiste. - W ten sposób wszystkie operacje na poziomie PIM
sa zunifikowane. - W przypadku systemu ODRA ta funkcjonalnosc jest
zapewniona przez RDB Wrapper, który moze nawet
tworzyc nowe krotki w tabelach relacyjnych w
odpowiedzi na utworzenie nowych obiektów
wirtualnych. - Poziom PSM wspiera automatyczna integracje
silnika ODRA z RDBMS, jezeli odpowiednia
informacja jest zapisana w modelu. - Nie wymaga to od programisty zadnych dodatkowych
akcji.
30XSD Importer dla VIDE
- Pozwala uzytkownikom VIDE na interakcje z danymi
w plikach XML - Import plików XSD moze miec dwa cele
- Zaladowanie zewnetrznego schemat do modelu VIDE i
nastepnie uzycie go przy pomocy dowolnych opcji
dostepnych w VIDE - Zaladowanie schematu zewnetrznej bazy danych i
uzycie go podczas runtime - Drugi przypadek wymaga, aby wykonujaca go
platforma oferowala obiekty zgodne z
zaimportowanym schematem. - Platforma ODRA zostala specjalnie zaprojektowana
do obslugi obiektów zgodnych z zaimportowanym
plikiem XSD. - Dlatego VIDE umozliwia uzycie danych istniejacych
wczesniej niz program w VIDE - Obiekty te moga byc wytworzone w systemie ODRA
lub zaimportowane automatycznie z plików XML