Standardy w zakresie systemów rozproszonych i baz danych
description
Transcript of 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
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.
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.
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.
P.Habela, K.Subieta. SSR, Wykład 9, Folia 5 kwiecień 2009
Pierwsze wyobrażenie o aplikacji
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)
P.Habela, K.Subieta. SSR, Wykład 9, Folia 7 kwiecień 2009
Selekcja kawałków (scraps) z tekstu
P.Habela, K.Subieta. SSR, Wykład 9, Folia 8 kwiecień 2009
Wizualizacja kawałków
P.Habela, K.Subieta. SSR, Wykład 9, Folia 9 kwiecień 2009
CIM - Nieformalny model analityczny
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
P.Habela, K.Subieta. SSR, Wykład 9, Folia 11 kwiecień 2009
Model procesów w VIDE (VCLL)
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
P.Habela, K.Subieta. SSR, Wykład 9, Folia 13 kwiecień 2009
CIM - perspektywa danych
P.Habela, K.Subieta. SSR, Wykład 9, Folia 14 kwiecień 2009
CIM - perspektywa organizacyjna
P.Habela, K.Subieta. SSR, Wykład 9, Folia 15 kwiecień 2009
CIM - perspektywa reguł biznesowych
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
P.Habela, K.Subieta. SSR, Wykład 9, Folia 17 kwiecień 2009
Diagram klas uwzględniający Opportunity
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.
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)
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».
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
P.Habela, K.Subieta. SSR, Wykład 9, Folia 22 kwiecień 2009
Specyfikacja modułów
1+global
P.Habela, K.Subieta. SSR, Wykład 9, Folia 23 kwiecień 2009
Edytor tekstowy VIDE
P.Habela, K.Subieta. SSR, Wykład 9, Folia 24 kwiecień 2009
Kod tekstowy
Oblicza ExpectedRevenueAmount
P.Habela, K.Subieta. SSR, Wykład 9, Folia 25 kwiecień 2009
Edytor wizualny dla ciał metod Oblicza ExpectedRevenueAmount
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
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.
P.Habela, K.Subieta. SSR, Wykład 9, Folia 28 kwiecień 2009
Generacja interfejsu użytkownika - WebFace
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.
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