Standardy w zakresie systemów rozproszonych i baz danych

30
P.Habela, K.Subieta. SSR, Wykład 9, Folia 1 kwiecień 2009 Standardy w zakresie systemów rozproszonych i baz danych Piotr Habela Kazimierz Subieta Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa Wykład 9: Wprowadzenie do systemu VIDE

description

Standardy w zakresie systemów rozproszonych i baz danych. Wykład 9: Wprowadzenie do systemu VIDE. Piotr Habela Kazimierz Subieta Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa. Narzędzie do analizy dziedziny biznesu. - PowerPoint PPT Presentation

Transcript of Standardy w zakresie systemów rozproszonych i baz danych

Page 1: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 1 kwiecień 2009

Standardy w zakresie systemów rozproszonych i baz danych

Piotr HabelaKazimierz Subieta

Polsko-Japońska Wyższa SzkołaTechnik Komputerowych, Warszawa

Wykład 9:Wprowadzenie do systemu VIDE

Page 2: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 2 kwiecień 2009

Narzędzie do analizy dziedziny biznesu

• Prototyp umożliwia początkową interakcję użytkownika z systemem VIDE na poziomie CIM

• Użytkownik biznesowy lub analityk biznesowy będzie mógł opisać swój problem w zrozumiałych dla niego terminach.

• W kolejnych krokach narzędzie wspomaga użytkownika w precyzowaniu jego koncepcji w kierunku modelu procesu biznesowego.

• Nie należy oczekiwać, że użytkownik biznesowy lub analityk biznesowy stanie się w ten sposób programistą, gdyż powstały w ten sposób model nie jest dostatecznie formalny aby można było mówić o wykonywalnym kodzie.

• Jednakże istotne jest to, że już na tym etapie zostają określone podstawowe własności aplikacji, które wymagają stosunkowo niewielkiej pracy, aby stały się w pełni formalnym kodem.

Page 3: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 3 kwiecień 2009

Przykład aplikacji biznesowej - Sales Scenario (1)

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.

2. 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.

3. 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.

4. Another employee of the sales office creates an offer using the Quotation module, which automatically generates a quotation template based on the sales opportunity.

5. 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.

6. 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.

Page 4: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 4 kwiecień 2009

Przykład aplikacji biznesowej - Sales Scenario (2)

7. To check the creditworthiness of the customer, a Credit Check is performed during sales processing by interacting with the Payment module.

8. An (optional) Availability Check is performed to check warehouse stock for required capacities.

9. 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.

10. In cooperation with the Delivery module, the order is split into separate orders for each involved warehouse, which have to be scheduled appropriately.

11. 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 customer’s 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.

12. The order status is set to “completed” by an employee as soon as it is delivered to the customer.

Page 5: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 5 kwiecień 2009

Pierwsze wyobrażenie o aplikacji

Page 6: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 6 kwiecień 2009

VIDE - Przypadek użycia dla użytkownika biznesowego

• Zapisanie informacji o dziedzinie problemowej w postaci luźnych słabo powiązanych kawałków (scraps)

• Precyzowanie tej informacji i rozpoczęcie budowy pewnych uproszczonych asocjacji pomiędzy tymi kawałkami

• Model „albumu kawałków” (scrapbook) składa się z reprezentacji wizyjnej (zwykle zaokrąglonych prostokątów) wybranych kawałków.

• Model scrapbook przechowuje się na specjalnym pliku (scrap file)

Page 7: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 7 kwiecień 2009

Selekcja kawałków (scraps) z tekstu

Page 8: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 8 kwiecień 2009

Wizualizacja kawałków

Page 9: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 9 kwiecień 2009

CIM - Nieformalny model analityczny

Page 10: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 10 kwiecień 2009

VIDE – przypadek dla analityka biznesowego• Edytor CIM pozwala użytkownikowi na tworzenie i precyzowanie pół-

formalnego modelu procesów biznesowych, struktury organizacyjnej oraz struktur danych bazując na narzędziu do analizy dziedzinowej.– Wynik jest pamiętany w postaci pliku XML

• Po stworzeniu model może być wyeksportowany do systemu zarządzania procesami pracy– Model może być użyty do łączenia (orchestration) różnych aplikacji bazujących

na systemie workflow – wynik w postaci standardowego XPDL 2.0. (XML-owa wersja BPMN)

– Wynik ten może być skonsumowany w szczególności przez Office Objects Workflow firmy Rodan

– Możliwa integracja wiele systemów WF pochodzących od różnych dostawców• Z drugiej strony model z poziomu CIM może być punktem startowym

dla wizarda zapewniającego przejście do poziomu PIM (PIM Prototyping Tool). – W tym przypadku nie zakłada się generowania formaty XPDL 2.0, lecz własny

format VIDE określony jako VCLL– Jest to również format XML, ale rozszerzony w stosunku do XPDL 2.0

Page 11: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 11 kwiecień 2009

Model procesów w VIDE (VCLL)

Page 12: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 12 kwiecień 2009

Model procesów w BPMN (XPDL)

Notacja graficzna pochodzi z OfficeObjects WorkFlow, zbliżona do VCLL z poprzedniego slajdu

Page 13: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 13 kwiecień 2009

CIM - perspektywa danych

Page 14: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 14 kwiecień 2009

CIM - perspektywa organizacyjna

Page 15: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 15 kwiecień 2009

CIM - perspektywa reguł biznesowych

Page 16: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 16 kwiecień 2009

CIM – przypadek dla Analityka/Projektanta

• Początkową fazą projektowania jest wyprodukowanie diagramu klas z modelu procesu biznesowego wytworzonego w fazie CIM

• Model zachowania (behaviour), zwykle diagram aktywności, jest tworzony równocześnie z modelem klas

• Prototypowanie na poziomie PIM bierze jako wejście plik zawierający model procesu biznesowego, komponent VCLL i następnie stosuje zestaw heurystyk pozwalających przekonwertować elementy modelu CIM na diagram klas oraz diagram aktywności.

• Następujące kroki są wykonywane w celu rozwinięcia początkowego modelu klas i aktywności z modelu procesu biznesowego zapisanego w VCLL:– Wybranie pliku VCLL– Utworzenie plików zawierających diagram klas i diagram aktywności– Wyświetlenie diagramów

Page 17: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 17 kwiecień 2009

Diagram klas uwzględniający Opportunity

Page 18: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 18 kwiecień 2009

Przypadek programisty VIDE• Zakłada się, że programista VIDE ma za zadanie uzupełnienie

wytworzonych modeli poprzez wypełnienie kodem wyspecyfikowanych metod.

• Działanie to zakłada, że model klas dostarczony przez analityka/projektanta może potrzebować korekt lub doprecyzowania, np. poprzez specyfikację lub poprawienia sygnatur metod.

• Schemat aktywności włącza następujące kroki:– Selekcja i poprawienie definicji operacji, które są zgodne z kontekstem

implementowanych ciał metod dla tych operacji (z użyciem tekstowego lub wizualnego języka VIDE dla poziomu PIM)

– Zapamiętanie tych definicji w modelu– Wykonanie modelu celem przetestowania wyspecyfikowanego zachowania,

poprzez wywołanie programów, instrukcji lub zapytań ad hoc (z użyciem Model Execution Engine dla poziomu PIM)

– Wygenerowanie kodu dla wyselekcjonowanej docelowej platformy• Ten schemat może mieć rozliczne odmiany, w zależności od roli

specyfikowanego kodu i od celu dla którego model jest wykonywany– Np. możliwe jest testowanie i walidacja aplikacji włączające użytkownika

końcowego.

Page 19: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 19 kwiecień 2009

Konstrukcje diagramu klas UML wspierane przez VIDE

• Pakiety ( jedno-poziome struktury pakietów poniżej pakietu korzeniowego są przetestowane)

• Import pakietów pomiędzy pakietami• Klasy z pojedynczymi generalizacjami• Atrybuty:

– Typy atomowe– Typy określane klasą (podobne do kompozycji)

• Asocjacje (tylko binarne)– Jednokierunkowe– Dwukierunkowe (w tym przypadku obydwa końce są zaznaczone jako

„navigable”)• Operacje (przeciążanie nie jest wspierane)

Page 20: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 20 kwiecień 2009

Stereotypy specyficzne dla VIDE• «module» zaznacza klasę służącą jako punkt startowy aplikacji.

Instancje obiektów tej klasy nie mogą być tworzone. • «PublishedService» zaznacza klasę, której wybrane operacje są

dostępne jako operacje serwisu Webowego.– Przestrzeń nazw oraz URL jako atrybuty tego stereotypu.

• «PublishedOperation» zaznacza operację wewnątrz klasy zaznaczonej stereotypem «PublishedService». – Oznacza opublikowanie tej operacji.

• «ConsumedService» zaznacza pieniek klasy dla zewnętrznego serwisu konsumowanego przez kod VIDE.

• «Id» zaznacza atrybut (obecnie tylko typu String), który identyfikuje instancję danej klasy w sposób unikalny.– Taki atrybut może być generowany automatycznie.

• «Persistent» zaznacza klasę, której instancje mają być trwałe • «Transient» zaznacza atrybut wewnątrz klasy, który jest nietrwały

mimo, że znajduje się wewnątrz klasy oznaczonej stereotypem «Persistent».

Page 21: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 21 kwiecień 2009

Diagram klas UML jako schemat bazy danych• Generalne założenie MDA – diagram klas UML jak schemat

danych lub bazy danych aplikacji• Pewne konstrukcje UML są nie objęte formalizacją, gdyż są zbyt

trudne w sensie języka programowania– Np. n-arne asocjacje, n>2, lub dekorowanie asocjacji klasą

• Niektóre z nich są mało precyzyjne, np.– agregacje/kompozycje – wieloaspektowe generalizacje

Page 22: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 22 kwiecień 2009

Specyfikacja modułów

1+global

Page 23: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 23 kwiecień 2009

Edytor tekstowy VIDE

Page 24: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 24 kwiecień 2009

Kod tekstowy

Oblicza ExpectedRevenueAmount

Page 25: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 25 kwiecień 2009

Edytor wizualny dla ciał metod Oblicza ExpectedRevenueAmount

Page 26: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 26 kwiecień 2009

Edytor wizualny VEB – Visual Expression BuilderOparty na Obiektowym Query By Example (OQBE)Zapytanie zwróci rezultat: bag(struct(desc, salesperson)) dla wszystkich tych Lead (czyli zaczątków Opportunity), dla których: - istnieje Oportunity i ma priorytet >=4 - posiada również prognozę i jest ona większa niż 50% - wszystkie pozycje oferty opiewają na co najmniej 10 sztuk każda

Page 27: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 27 kwiecień 2009

Prototypowanie graficznego interfejsu użytkownika (GUI)

• VIDE GUI-builder pozwala zdefiniować interakcyjnie GUI dla programów w VIDE

• Ponieważ to GUI bazuje na Java Runtime Environment, może być wykonywane na wszystkich platformach wspieranych przez Java (np. Windows, Linux, Apple OS X, Sun Solaris). – GUI może być wywołane jako aplikacja desktop lub może być zanurzona

jako Java aplet na stronie webowej.– Ponieważ komunikuje się z VIDE poprzez Web service, możliwe jest

tworzenie rozwiązań rozproszonych– can be started as a desktop-application or can be

• VIDE GUI-builder jest zintegrowany z VIDE-Eclipse-framework.– Dlatego GUI może być projektowane bez opuszczania środowiska

deweloperskiego VIDE.

Page 28: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 28 kwiecień 2009

Generacja interfejsu użytkownika - WebFace

Page 29: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 29 kwiecień 2009

Wrapper do systemów relacyjnych• Integracja relacyjnych baz danych (RDB) działa dla PIM i PSM.

– Programista może zaimportować schemat RDB bezpośrednio z działającego RDBMS, zamieniając go w model UML edytowalny przez edytory VIDE

– W rezultacie nowe pakiety z klasami reprezentującymi schemat relacyjny.• Zasoby relacyjne są reprezentowane na poziomie PSM jako tzw.

wirtualne obiekty, które posiadają strukturę podobną do rzeczywistych obiektów, ale które nie istnieją fizycznie (tylko definicja)

• Wirtualne obiekty mogą być odpytywane i aktualizowane dokładnie tak samo jak obiekty rzeczywiste. – W ten sposób wszystkie operacje na poziomie PIM są zunifikowane.

• W przypadku systemu ODRA ta funkcjonalność jest zapewniona przez RDB Wrapper, który może nawet tworzyć nowe krotki w tabelach relacyjnych w odpowiedzi na utworzenie nowych obiektów wirtualnych.

• Poziom PSM wspiera automatyczną integrację silnika ODRA z RDBMS, jeżeli odpowiednia informacja jest zapisana w modelu.– Nie wymaga to od programisty żadnych dodatkowych akcji.

Page 30: Standardy w zakresie systemów rozproszonych  i baz danych

P.Habela, K.Subieta. SSR, Wykład 9, Folia 30 kwiecień 2009

XSD Importer dla VIDE

• Pozwala użytkownikom VIDE na interakcję z danymi w plikach XML

• Import plików XSD może mieć dwa cele:– Załadowanie zewnętrznego schemat do modelu VIDE i następnie użycie go

przy pomocy dowolnych opcji dostępnych w VIDE– Załadowanie schematu zewnętrznej bazy danych i użycie go podczas

runtime• Drugi przypadek wymaga, aby wykonująca go platforma

oferowała obiekty zgodne z zaimportowanym schematem.– Platforma ODRA została specjalnie zaprojektowana do obsługi obiektów

zgodnych z zaimportowanym plikiem XSD.– Dlatego VIDE umożliwia użycie danych istniejących wcześniej niż program

w VIDE – Obiekty te mogą być wytworzone w systemie ODRA lub zaimportowane

automatycznie z plików XML