Projektowanie aplikacji internetowych

Slides:



Advertisements
Podobne prezentacje
Copyright © Politecnico di Milano
Advertisements

Interfejs użytkownika do zarządzania konfiguracją oprogramowania
Interaktywna prezentacja użytkowa
6. Parametry & Personalizacja
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
WPROWADZENIE DO BAZ DANYCH
MS Access 2003 Kwerendy Paweł Górczyński.
MS Access 2000 Kwerendy Piotr Górczyński 25/08/2001.
20/09/ Języki programowania 1 Piotr Górczyński Kreator form.
Projektowanie Aplikacji Komputerowych
Kwerendy, formularze, relacje, raporty i makra
Tworzenie prezentacji w programie PowerPoint
Tworzenie stron w języku WML jest zbliżone do tworzenia stron w HTML. W obydwu przypadkach używa się do tego celu znaczników (tagów). Zadaniem znaczników.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Instrukcja USOSweb Wersja: Opracował: Sebastian Sieńko Moduł sprawdzianów.
dr hab. Ryszard Walkowiak prof. nadzw.
Wprowadzenie do obsługi programu PowerPoint
ANNA BANIEWSKA SYLWIA FILUŚ
Copyright © Politecnico di Milano
SQL - Structured Query Language
Wzorce slajdów, animacje, różne orientacje slajdów
Korespondencja seryjna
Operacje edycyjne w bazie danych - kwerendy funkcjonalne Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk.
MICROSOFT Access TWORZENIE MAKR
Modelowanie obiektowe Diagramy UML – diagram przypadków użycia
Ms Access Formularze i raporty Marzena Nowakowska KIS, WZiMK, PŚk
Temat 12: Formularze.

Projektowanie stron WWW
Podręczna karta informacyjna dotycząca © 2012 Microsoft Corporation. Wszelkie prawa zastrzeżone. aplikacji Lync Web App Dołączanie do spotkania programu.
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Beata Sanakiewicz. Spis treści  Program MS FrontPage Program MS FrontPage  Pierwsze spotkanie Pierwsze spotkanie  Ustawienia witryny Ustawienia witryny.
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1.
Visual Basic w Excelu - podstawy
Tworzenie ankiet online
Wzorce slajdów, animacje, różne orientacje slajdów
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Kolumny, tabulatory, tabele, sortowanie
Beata Sanakiewicz. Spis treści  Łączenie dokumentów Łączenie dokumentów  Mechanizm OLE Mechanizm OLE  Obiekt osadzony Obiekt osadzony  Obiekt połączony.
Beata Sanakiewicz. Spis treści  Pierwsze spotkanie Pierwsze spotkanie  Ustawienia witryny Ustawienia witryny  Tło strony Tło strony  Teksty na stronie.
Komendy SQL do pracy z danymi
Ms Access Raporty Marzena Nowakowska WZiMK, PŚk
Projektowanie postaci formularza:
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
Instrukcja użytkowania systemu. Po zalogowaniu do systemu zobaczysz stronę główną. Zawiera ona informację o opublikowanych ogłoszeniach,
Portal edukacyjny A.Ś. Tworzenie kwerend w programie Access.
EBSCOhost Collection Manager Konto osoby proponującej książki do zakupu Przewodnik support.ebsco.com.
Przewodnik Wprowadzenie do
Microsoft® Office Word
ASP.NET Kontrolki źródła danych i prezentacji danych w ASP.Net
Notacja nawigacji stron www Kamil Gołębicki s1843 PJWSTK, 2006.
ASP.NET Tworzenie i zarządzanie wyglądem aplikacji, tworzenie mapy witryny. Kontrolki nawigacyjne.
Prototypowanie w ORACLE DESIGNER Projektowanie Modułów.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Moduł ECDL-AM5 Bazy danych, poziom zaawansowany Tabele, relacje.
Excel 2007 dla średniozaawansowanych Zajęcia z Prowadzący: Artur Kołos.
Temat: Tworzenie bazy danych
DynaMed Plus Przewodnik
ST | 9/16/2015 | © Robert Bosch GmbH All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well.
ACCESS - FORMULARZE TEMAT:. Tworzenie formularza Formularz tworzony jest w celu łatwiejszego przeglądania i edytowania danych zawartych w bazie. Tworzymy.
Inżynieria systemów informacyjnych
Wzorzec MVC na przykładzie CakePHP
Menu Opcje.
T. 18. E Proces DGA - Działania (operatorka).
Tworzenie stron WWW w programie Microsoft FrontPage
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Ms Access - formularze Marzena Nowakowska WZiMK, PŚk
Platforma LearningApps
Zapis prezentacji:

Projektowanie aplikacji internetowych Wykład 4-5 WebML Model hipertekstu Przykład

WebML (1) WebML (Web Modeling Language, 1999 r.) – notacja (komponenty, modele), metodyka tworzenia aplikacji internetowych zarządzających dużymi ilościami danych. WebML to graficzna notacja do określania treści, zależności i nawigacji pomiędzy stronami aplikacji internetowej. Składa się z: modelu danych, modelu hipertekstu, modelu prezentacji. Postrzeganie modeli jako wysokopoziomowa graficzna reprezentacja aplikacji internetowej w architekturze MVC.

Cykl życia aplikacji internetowej wg metodyki WebML

WebML - model hipertekstu

WebML - model hipertekstu (1) Model hipertekstu - podział aplikacji internetowej na widoki witryny, obszary, strony, rozmieszczenie treści i funkcjonalności w ich ramach, zdefiniowanie przepływu sterowania pomiędzy elementami aplikacji. Produkty specyfikacji wymagań, Model danych Wejście Model na podstawie którego można wygenerować aplikację Wyjście

WebML - model hipertekstu (2) Strona = m. danych + m. kompozycji + m. nawigacji + m. prezentacji komponenty, strony, linki encje, relacje widoki stron style m. nawigacji + m. kompozycji model danych m. stron aplikacji m. prezentacji

WebML - model hipertekstu (3) Do budowy modelu kompozycji wykorzystuje się komponenty, zawierające: parametry wejściowe; parametry wyjściowe; nazwy encji, z którą jest połączony komponent; warunki ograniczających zbiór instancji encji. Podstawowe grupy komponentów: komponenty prezentacji danych (umieszczane na stronach aplikacji); komponenty operacji (rozmieszczane poza stronami aplikacji); komponenty hybrydowe (umieszczane na lub poza stronami aplikacji); komponenty serwisów (umieszczane w widoku serwisu).

WebML - model hipertekstu (4) Model nawigacji definiuje połączenia pomiędzy powiązanymi ze sobą komponentami i stronami (linki). Typy linków: link (ang. Normal Link) – nawigacja i aktywacji komponentu, może przenosić wartości; link OK (ang. OK Link) – inicjowanie akcji, gdy operacja zakończy się powodzeniem; link KO (ang. KO Link) – inicjowanie akcji, gdy operacja zakończy się niepowodzeniem; link automatyczny (ang. Automatic Link) – automatyczne inicjowanie domyślnej akcji; link transportowy (ang. Transport Link) – przekazywanie wartości pomiędzy komponentami (niewidoczny dla użytkownika aplikacji).

WebML - model hipertekstu (5) Typy struktur definiujące elementy modelu hipertekstu: Widok witryny (ang. Site View) – grupuje elementy modelu hipertekstu (obszary, strony). Widok serwisów (ang. Service View) – grupuje komponenty operacji, hybrydowe i serwisów (nie może zawierać obszarów i stron). Obszar (ang. Area) – grupuje elementy o pewnej powiązanej tematycznie funkcjonalności (część widoku witryny). Strona (ang. Page) – grupujące elementy modelu hipertekstu (pojedyncza strona) - może być składową obszaru lub widoku witryny, nie może zawierać obszarów, widoków witryny, widoków serwisów. Transakcja (ang. Transaction) – grupujące komponenty symbolizujące operacje (sekwencja operacji), które muszą być całościowo wykonane lub wcale.

WebML - model hipertekstu (6) Organizacja modelu hipertekstu Widok witryny

STRONY (PAGES) Strony (1) Strona, to kontener zawierający jedną lub więcej informacji prezentowanych użytkownikowi w tym samym czasie Dozwolone jest zagnieżdżanie stron: strona może mieć podstrony Użytkownik przemieszcza się po stronach aplikacji Strona główna Indeks produktów Katalog dostawców

Strony (2) Symbolika określająca widoczność stron: H (ang. Home Page) – strona domowa, pierwsza strona prezentowana po wejściu do widoku witryny. D (ang. DefaultPage) – strona domyślna obszaru, pierwsza strona prezentowana po przejściu do obszaru. L (ang. LandmarkPage) – „strefa zrzutu”, strona osiągalna ze wszystkich pozostałych stron (z widoku witryny lub obszaru).

OBSZARY, STREFY (AREAS) Obszar jest zbiorem stron jednorodnych pod względem logicznym i realizujących pewną funkcjonalność Przykłady obszarów: Sekcje tematyczne portali: Wiadomości, Sport, Giełda, Muzyka, itp. Elementy systemu zarządzającego danymi: Zarządzanie Produktami, Zarządzanie Personelem, itp. Wiadomości Sport Giełda Muzyka Obszary mogą być zagnieżdżane Każdy obszar powinien mieć stronę domyślną (DEFAULT PAGE) lub domyślny podobszar (DEFAULT SUB-AREA). Przestrzenie pozwalają nadać widokowi strony charakter hierarchiczny

1. Identyfikacja obszarów: Obszary (2) 1. Identyfikacja obszarów: ponowna analiza wymagań funkcjonalnych i mapy aplikacji Określenie widoczności obszarów: Obszar domyślny - użytkownik przechodzi do zawierającego go widoku stron Obszar „strefa zrzutu” (landmark) - przechodzenie z dowolnego miejsca widoku stron, w którym się zawiera Obszar wewnętrzny - przechodzenie tylko przy pomocy linków Przykładowy obszar Artists

Obszary (3) Przykładowe obszary Oznaczenia: L - Landmark (strefa zrzutu), miejsce dostępne bezpośrednio z każdego innego miejsca serwisu D - Default, strona standardowo otwierana przy odwołaniu do danego obszaru Pasek nawigacyjny z odnośnikami do różnych obszarów witryny

WIDOKI STRON (Site Views) Widoki stron są to zbiory stron i/lub obszarów tworzących spójny obraz aplikacji Na podstawie jednego modelu danych może zostać zdefiniowanych wiele widoków stron Różne widoki stron mogą być dostępne dla różnych typów użytkowników i różnych typów urządzeń dostępowych Widoki stron mogą być Publiczne: każdy może mieć do nich dostęp Prywatne (chronione): dostęp jest chroniony hasłem

Przykładowe widoki stron: klient i administrator (jeden model danych) Widok stron: klient Widok stron: administrator

Zadanie: zdefiniować sposób interakcji klienta z aplikacją Struktura: Widoki stron (3) Widok stron „Klient” Zadanie: zdefiniować sposób interakcji klienta z aplikacją Struktura: Dwa główne obszary: produkty i zestawy produktów „Strefy zrzutu”: strona domowa i strona ze sklepami Customer Product area Combination area L L Home Page Stores Page H,L L

H L L L L Widoki stron (4) Modelowanie stron Jakie strony są najbardziej potrzebne i najważniejsze? Home, Products, Combinations, Stores Product area Combination area Home Stores H Products Combinations L L L L Jakie pozostałe strony są potrzebne? Product details, ByPrice, BigImages, Combination detail ... BigImages Product details Combination detail ByPrice

Widoki stron (5) Strona domowa (Home)

Widoki stron (6) Strona produktów

Widoki stron (7) Strona zestawu produktów

Widoki stron (8)

Elementy modelu kompozycji – podstawowe komponenty danych (1) Komponenty WebML są niepodzielnymi cząstkami zawartości przedstawiającymi na stronie informacje, której struktura jest opisana w modelu danych. WebML definiuje kilka typów komponentów prezentujących informacje. Do podstawowych typów komponentów zaliczamy: komponent danych – Data Unit, komponent danych iterowany – Multi Data Unit, komponent indeksu – Index Unit (różne warianty), komponent wprowadzania danych – Entry Unit, komponent przewijania – Scroller Unit, komponent wyboru pozycji – Multi Choice Index Unit, komponent definiowania poziomów pozycji (indeksu hierarchicznego) – Hierarchical Index Unit Komponent jest powiązany z encją, która dostarcza dane prezentowane przez komponent. jednostkaX pojemnik

Elementy modelu kompozycji – podstawowe komponenty danych (2) DATA UNIT INDEX UNIT MULTI DATA UNIT Treść (dane): instancje encji Selektor: warunek wyboru instancji encji entity [Selector] entity [Selector] entity [Selector] ENTRY UNIT SCROLLER UNIT MULTICHOICE HIERARCHICAL entity [Selector] entity [Selector] entity [Selector]

Elementy modelu kompozycji – podstawowe komponenty danych (3) DATA UNIT INDEX UNIT MULTI DATA UNIT Author first name:XXX last name:YYY photo: Index of Authors S. Ceri P. Fraternali O.Versand All Authors ENTRY UNIT SCROLLER UNIT MULTICHOICE HIERARCHICAL Insert Your Data Fname Lname Browse Authors 5/12: go to    1/12 Choose Authors Ceri Fraternali Versand Books&Authors 1. Web Applicat. Ceri Fraternali 2. Systems Tannenbaum

Elementy modelu kompozycji – podstawowe komponenty danych (4) Reprezentacja graficzna komponentów danych w WebRatio

Wejścia i wyjścia komponentu Komponent może potrzebować tzw. kontekstu, aby zostać przetworzonym Każdy komponent posiada parametry wejściowe i wyjściowe Parametry potrzebne do przetworzenia komponentu: Predefiniowane dla komponentu parametry Pozostałe parametry wymagane przez selektor komponentu Wyjściowe parametry komponentu mogą zostać wykorzystane do przetworzenia zależnych od niego komponentów unitX entity [selector (par 1, .., parN)] WE WY

Hiperłącza (linki) kontekstowe Hiperłącza kontekstowe (Contextual link) Autor Jednostka źródłowa docelowa Link kontekstowy jest skierowanym połączeniem pomiędzy dwoma komponentami (źródłowym – source unit i docelowym – target unit), renderowanym jako kotwica lub przycisk wysyłający formularz Zadania linków kontekstowych: umożliwienie użytkownikowi przemieszczania z jednego miejsca do drugiego transportowanie informacji z jednego miejsca do drugiego inicjowanie przetwarzania (efekt uboczny)

Połączenia komponentów Przykładowe połączenie komponentów Author first name:James last name:Joyce photo: [OID=p1] Book [author2book(p2)] [OID=p3] Title:Ulysses Price:23$ Cover: Którego autora książki? Która książka? Books of YYY Ulysses The Dubliners Portrait... p1 p2 p3

Parametry hiperłączy Książka [Autor2Książka(parametry)] Autor parametry Kontekst jest transportowany przy użyciu parametrów linku Parametr linku jest określany przez: Nazwę Źródło: jeden z parametrów wyjściowych komponentu źródłowego Cel: jeden z parametrów wejściowych komponentu docelowego

Parametry domyślne hiperłączy Książka [Autor2Książka] Autor Gdziekolwiek to możliwe, parametry linków są wnioskowane na podstawie diagramu i nie wymagają jawnej specyfikacji Diagramy stają się bardziej czytelne i proste

Domyślne selektory Książka [Autor2Książka] Autor Książka Gdziekolwiek to możliwe, selektory i ich parametry są wnioskowane na podstawie modelu i nie wymagają jawnej specyfikacji.

Hiperłącza automatyczne Author Jednostka źródłowa docelowa A Hiperłącze automatyczne, natychmiast po wyświetleniu komponentu źródłowego, przekazuje do komponentu docelowego, bez interwencji użytkownika, pewien domyślny kontekst Następnie użytkownik może zmienić przesłany kontekst poprzez wybór innego obiektu

Hiperłącza transportowe Autor Książka [Autor2Książka] Jednostka źródłowa Jednostka docelowa Hiperłącze transportowe posiada określony kontekst, który jest przekazywany niezwłocznie po wyświetleniu komponentu źródłowego, bez interwencji użytkownika Użytkownik nie może zmienić przekazywanego kontekstu, w związku tym ten link nie jest renderowany jako kotwica reprezentująca link

Komponent DATA UNIT (1) Entity [selector(params)] params OID Data unit - publikuje informacje dotyczące WYŁĄCZNIE JEDNEJ INSTANCJI Komponent posiada opcjonalny selektor (wymagana jednoznaczna identyfikacja pojedynczej instancji) Wejście: OID obiektu, który ma zostać opublikowany, lub Parametry wymagane do przetworzenia selektora m.in. wartości atrybutów OID obiektu powiązanego relacją z przetwarzanym obiektem Wyjście: OID publikowanego obiektu oraz jego atrybuty

Komponent DATA UNIT (2) Informacje o jednym specyficznym produkcie Produkt

Brak selektora i linków przychodzących: niepoprawny komponent! Komponent DATA UNIT (3) PRZYKŁADY: Brak selektora i linków przychodzących: niepoprawny komponent! Parametr wejściowy: OID powiązanego relacją obiektu źródłowego: zostanie pokazany powiązany relacją obiekt Parametr wejściowy: wartość do wykorzystania przez selektor, do porównania z atrybutem: zostanie pokazany obiekt spełniający warunek wyboru EntityB A.oid B.oid EntityB [Relationship(A2B)] param1 B.oid EntityB [B.attr = param1]

Komponent INDEX UNIT (1) params selectedOID Entity [selector(params)] Index unit: publikuje listę instancji encji (ZBIÓR OBIEKTÓW) Komponent posiada opcjonalny selektor Parametry wejściowe potrzebne do przetworzenia selektora: Wartości do porównania z atrybutami OID powiązanego relacją obiektu Parametr wyjściowy: OID obiektu wybranego przez użytkownika

Komponent INDEX UNIT (2) PRZYKŁADY: Brak linków wejściowych: zostaną pokazane wszystkie obiekty Parametr wejściowy: OID obiektu źródłowego powiązanego relacją: zostaną wyświetlone wszystkie obiekty powiązane relacją Parametr wejściowy: wartość do porównania z atrybutem: zostaną wyświetlone obiekty spełniające warunek EntityB selOID (B) sourceOID (A) selOID (B) EntityB [Relationship(A2B)] Param1 selOID (B) EntityB [B.attr = Param1]

Komponent INDEX UNIT (3) selOID Produkt Użytkownikowi zostaje wyświetlona lista wszystkich produktów Użytkownik może wyświetlić dalsze informacje po kliknięciu na element listy

Komponent MULTI DATA UNIT params {OIDs} Entity [selector(params)] Multi data unit - prezentuje wiele instancji encji (ZBIÓR OBIEKTÓW) Komponent posiada opcjonalny selektor Parametry wejściowe potrzebne do przetworzenia selektora: Wartości do porównania z atrybutami OID obiektów powiązanych relacją Parametr wyjściowy: Zbiór OID opublikowanych obiektów

Multi Data Unit vs Index Unit Multi Data Unit Index Unit Multi Data Unit czy Index Unit? Listy (Indexes) mogą być użyte jako mechanizm dostępu do szczegółowych informacji o obiekcie Multi data Units publikują w tym samym czasie informacje o wielu obiektach Różnica jest w parametrach wyjściowych Listy (Indexes) mają na wyjściu pojedynczy identyfikator (OID) wybranego obiektu Multi data units mają na wyjściu identyfikatory (OID) wszystkich wyświetlonych obiektów

Komponent ENTRY UNIT (Formularz) params Komponent reprezentuje formularz umożliwiający przesłanie informacji przez użytkownika Treść jest przekazywana do innych komponentów poprzez parametry wychodzących linków (zazwyczaj jeden link) Jest zazwyczaj reprezentowany w HTML przy użyciu znacznika <form> oraz przycisku submit

Formularze i pola wyboru Formularz zawiera dwa typy widgetów do wprowadzania danych: Pola tekstowe do wprowadzania nowych wartości Pola wyboru do wybierania wartości z listy Pola mają właściwości: Preloading (umożliwia wstawienie do pola istniejącej wartości) Modifiability (określa, czy użytkownik ma prawo edytować zawartość pola) Visibility (określa, czy pole ma być ukryte – hidden) Typ danych (string, integer, text, itp.) Reguły walidacyjne Są trzy typy pól formularza: In – używane kiedy użytkownik wprowadza dane do pustego pola. Out – używane gdy do pola wstawiono istniejącą wartość i użytkownik nie może jej zmodyfikować. Inout - używane gdy do pola wstawiono istniejącą wartość i użytkownik może ją zmodyfikować.

Komponent MULTICHOICE INDEX UNIT (1) Entity [Selector(params)] [Preselector(params)] params {selOIDs} Multichoice index unit - publikuje listę elementów (ZBIÓR OBIEKTÓW), z której użytkownik może wybrać jeden lub więcej elementów Komponent posiada opcjonalny selektor i preselektor Parametry wejściowe: Parametry wymagane do przetworzenia selektorów (wartości do porównania z atrybutami i identyfikatory uczestników relacji) Parametry wyjściowe: Identyfikatory obiektów wybranych przez użytkownika Preselektor: pozwala na zdefiniowanie podzbioru elementów domyślnych (wybranych zanim użytkownik wykona jakąkolwiek akcję)

Komponent MULTICHOICE INDEX UNIT (2) EntityB [PRE:Relationship(A2B)] sourceOID (A) {selOIDs} (B) [Relationship(A2B)] sourceOID (A) {selOIDs} (B) Atzeni Ceri Fraternali Versand PRZYKŁADY: Brak linków wejściowych: zostaną wyświetlone wszystkie elementy, brak oznaczenia elementów domyślnych Preselektor: zostaną wyświetlone wszystkie elementy, jako domyślne zostaną oznaczone obiekty powiązane relacją Selektor: zostaną wyświetlone wyłącznie elementy powiązane relacją, brak oznaczenia elementów domyślnych

Komponent HIERARCHICAL INDEX UNIT (1) { Entity (Relationship) [Selector]} params {selOIDs} Hierarchical Index Units: publikuje listę elementów zorganizowaną hierarchicznie na podstawie relacji łączących publikowane instancje encji oraz pozwala użytkownikowi wybrać jeden element z każdego poziomu hierarchii Komponent określa zbiór encji oraz łączących je relacji (z opcjonalnymi selektorami na każdym poziomie): Parametry wejściowe wymagane do przetworzenia selektorów: Wartości do porównania z atrybutami Identyfikatory uczestników relacji Parametry wyjściowe: OID obiektu wybranego przez użytkownika

Komponent HIERARCHICAL INDEX UNIT (2) Wychodzące linki ParamA ParamB ParB,ParC Tables link a Kitchen link b Korla KJD54 link c Chairs link a Stools link b Roy LKR34 link c OddVar JSQ87 link c Office link b Jess RLT45 link c link a link b link c Category SubCategory (Cat2SubCat) Product (SubCat2Prod) EntityA EntityB EntityC Każdy link jest renderowany jako kotwica na odpowiednim poziomie hierarchii Poziom, na którym znajduje się link zależy od typu parametrów linku

Komponent SCROLLER UNIT (1) params {selOIDs} Entity [selector(params)] Scroller units - umożliwia podzielenie listy elementów na mniejsze porcje Publikuje linki do pierwszego, poprzedniego, następnego i ostatniego elementu zbioru Może być używany w połączeniu z komponentami data, index i multidata Liczba elementów w porcji = block factor Parametry wejściowe: wartości do porównania z atrybutami, OID uczestników relacji Parametr wyjściowy: zbiór identyfikatorów (możliwy 1) elementów w bieżącej porcji Musi mu zawsze towarzyszyć inny komponent publikujący treść (pewien zbiór obiektów)

Komponent SCROLLER UNIT (2) Scroller + data unit Artist Dla obydwu komponentów jest wskazana ta sama encja Możliwy jest bezpośredni dostęp do komponentu data unit z innej strony aplikacji, wtedy komponent scroller jest automatycznie synchronizowany

Komponent SCROLLER UNIT (3) Scroller + index t,y Album [Title contains t] [Year > y] Album Podział wyników wyszukiwania na strony

WebML - model hipertekstu Przykład cd.

WebRatio – aplikacja bazodanowa W celu stworzenia aplikacji internetowej korzystającej z bazy danych należy: stworzyć model danych, tworzyć bazę na podstawie modelu danych, stworzyć stronę zapewniającą dostęp do danych. Przykład: Stworzenie strony umożliwiającej wyświetlanie i dodawanie pracowników do bazy danych

WebRatio – tworzenie strony (1) Tworzenie widoku strony (Site View) – nadawanie nazwy. Po zatwierdzeniu przechodzimy do modelu hipertekstowego. 2 3 1

WebRatio – tworzenie strony (2) Dodajemy stronę do zarządzania pracownikami firmy „Zarządzanie pracownikami firmy”. Wybieramy komponent Page i klikamy na obszarze roboczym. 1 2 Aby wypisać wszystkich pracowników z bazy należy dodać do strony jednostkę Index Unit. 1 2

WebRatio – tworzenie strony (3) Aby jednostka Index Unit wyświetliła dane z tabeli Pracownicy należy ustawić kilka parametrów w oknie Properties: Entity, to wybór Encji z której będą wyświetlane dane. Wybieramy tabelę Pracownicy. Display Attributes, to wybranie atrybutów, które chcemy wyświetlić. Wybieramy imie i nazwisko. Sort Attributes, to sortowanie wyników wg wybranych kryteriów. Wybieramy, np ascending dla nazwiska.

WebRatio – tworzenie strony (4) Dodawanie danych (pracowników do bazy). Obiekt, który służy do wprowadzania danych to Entry Unit: Klikamy na Entry Unit i ustawiamy go na stronie, wpisujemy nazwę. 1 2 3

WebRatio – tworzenie strony (5) Dodajmy dwa pola nazywając: imie i nazwisko. Pola dodajemy poprzez kliknięcie na komponencie i wybranie opcji Add Field. W oknie Properties ustawiamy dla zaznaczonych pól imie i nazwisko typy danych String. 4 1 2 3 5 Formularz do dodawania pracowników został stworzony

WebRatio – tworzenie strony (6) Jednostka, która doda dane do bazy to Create Unit. Aby dodać jednostkę Create Unit należy: kliknąć na tym polu (ikonce) i ustawiamy ją poza obszarem naszej strony w oknie Properties, w polu Entity wybieramy tabelę do której będą dodawane dane czyli Pracownicy. 3 5 1 2 4

WebRatio – tworzenie strony (7) Teraz należy połączyć obiekt Entry Unit z Create Unit, dzięki czemu dane z formularza zostaną przekazane do bazy: Należy wybrać Link, kliknąć na Entry Unit, a następnie na Create Unit. 1 2 3

WebRatio – tworzenie strony (8) Po stworzeniu połączenia należy wybrać parametry, które zostaną przekazane: zaznaczamy link, w oknie Properties wybieramy zakładkę Coupling, odznaczamy pole Enable Default Coupling w kolumnie Source wybieramy z listy pola, dopasowując do pół w kolumnie Target. 1 2

WebRatio – tworzenie strony (9) Do jednostek związanych z zarządzaniem bazą danych możemy podpiąć dwa linki określające status wykonanej operacji: wybierając OK Link, określimy gdzie mamy przejść po poprawnym wykonaniu operacji, KO Link przekieruje nas w momencie wystąpienia błędu podczas operacji.

WebRatio – generowanie projektu i uruchomienie aplikacji Należy teraz wygenerować projekt Generate Full Web Project. Uruchomić aplikację w przeglądarce: http://localhost:8080/Firma1

WebRatio – aplikacja bazodanowa Przykład (kontynuacja): Stworzenie strony umożliwiającej edycję i usuwanie pracowników z bazy danych

WebRatio – usuwanie danych (1) Usuwanie danych z tabeli Pracownicy. Należy dodać jednostkę do usuwania danych - Delete Unit i w oknie Properties wskazać encję „Pracownicy”. 3 1 2 4 5

WebRatio – usuwanie danych (2) Przekazanie oid pracownika, który będzie usuwany: Należy połączyć linkiem jednostkę Index Unit (Pracownicy firmy) z Delete Unit. Nadać jakąś nazwę linkowi, np. „Usuń”. Przekazywanie zostało wybrane automatycznie, co widać w oknie Properties (Coupling).

WebRatio – generowanie projektu i uruchomienie aplikacji Należy teraz wygenerować projekt Generate Full Web Project. Uruchomić aplikację w przeglądarce: http://localhost:8080/Firma1

WebRatio - edycja danych (1) Edycja wprowadzonych danych Do edycji danych wykorzystamy jednostkę Entry Unit nazwaną „Dodawanie pracowników” Zmienimy jej nazwę na „Dodawanie/edycja pracowników”. Po jej zaznaczeniu, w oknie Outline klikamy na polach (imię i nazwisko) i zaznaczamy opcję Preloaded. 1 3 2

WebRatio - edycja danych (2) Aby wypełnić pola dodajemy jednostkę Selector Unit (przekazujemy oid Pracownicy). Możliwość edycji danych z tabeli Pracownicy wymaga określenia encji. W oknie Properties jednostki Selector Unit, w polu Entity, wybieramy encję „Pracownicy”. 1 2 3 4 5

WebRatio - edycja danych (2) Po dodaniu selektora należy dodać warunek (wyświetlania) - klikamy na jednostce Selector Unit i wybieramy Add - Key Condition. 1 2 3

WebRatio - edycja danych (3) Index Unit (Pracownicy firmy) łączymy linkiem z Selector Unit. Następnie łączymy Selector Unit z Entry Unit (Dodawania/edycja pracowników). Ustawiamy opcję Coupling, w zakładce Coupling dopasowujemy odpowiednie pola. 1 2 3 5 4

WebRatio - edycja danych (4) Następnie należy ustalić jakie parametry chcemy przekazać dalej. Określić czy dodajemy dane, czy edytujemy. Przekażemy dalej wartość oid, za pomocą której sprawdzimy jaką operację wykonujemy. Będzie też wykorzytana przy edycji. Jednostka, która pozwoli nam sprawdzić jaką operację wykonujemy jest Is Not Null Unit (sprawdzenie czy przekazany do niej parametr jest Nullem; przy pomocy linków OK oraz KO następuje wybranie odpowiedniej akcji). 1 2 3

WebRatio - edycja danych (5) Łączymy linkiem Entry Unit (Dodawania/edycja pracowników) z Is Not Null Unit W zakładce Coupling ustawiamy parametr, który będzie sprawdzany, wybieramy oid. Konieczne jest przekazanie danych z Entry Unit poza jednostkę Is Not Null Unit, w zakładce Passing, zaznaczamy wszystkie elementy. 1 3 2

WebRatio - edycja danych (6) Dodanie jednostki do modyfikacji danych - „Modify Unit” W oknie Properties jednostki Modify Unit, wskazać encję „Pracownicy” w polu Entity. 1 3 2 4 5

WebRatio - edycja danych (7) Za pomocą linku OK Link łączymy Is Not Null Unit z Modify Unit (jest wykonywany, gdy przekazaliśmy wartość niepustą) Za pomocą linku KO Link łączymy Is Not Null z Create Unit (jest wykonywany, gdy przekazaliśmy wartość pustą). Dla linku OK Link ustawiamy parametry Coupling oraz dodatkowo przekazujemy oid pracownika, którego chcemy edytować. 2 1 3

WebRatio - edycja danych (7) Dla linku KO Link ustawiamy parametry Coupling 1 2

WebRatio - generowanie projektu i uruchomienie aplikacji Należy teraz wygenerować projekt Generate Full Web Project. Uruchomić aplikację w przeglądarce: http://localhost:8080/Firma1