Copyright © Politecnico di Milano Kurs WebML 1. Wprowadzenie Copyright © Politecnico di Milano March 2003 Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Plan Zalety tworzenia aplikacji internetowych sterowanego modelami Dlaczego WebML ? Co to jest WebML ? Modele: struktura, kompozycja, nawigacja Przegląd narzędzia WebRatio Rola XML w modelach WebML Moduł „Wprowadzenie” zawiera przegląd zagadnień związanych z projektowaniem aplikacji, modelami WebML oraz narzędziami. Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Wprowadzenie Zalety tworzenia aplikacji internetowych sterowanego modelami Dlaczego WebML ? Co to jest WebML ? Przegląd modeli WebML Przegląd narzędzia WebRatio Rola XML w modelach WebML Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Potrzeba 1: Tworzenie aplikacji sterowane modelami Dotychczasowe podejście Projektowanie aplikacji internetowych zarządzających dużymi ilościami danych jest oparte na metodykach zapożyczonych z różnych dziedzin (bazy danych, inżynieria oprogramowania, …) Brak wsparcia dla projektowania aplikacji internetowych, zarządzających dużymi ilościami danych, sterowanego modelami Nawigacja silnie uzależniona od struktury bazy danych Dużo ręcznie pisanego kodu Duży wysiłek związany z prototypowaniem Wielu specjalistów ds. rynku informatycznego wskazuje, że konserwacja i rozwój aplikacji zarządzających dużymi ilościami danych staje się coraz bardziej skomplikowana i kosztowna, ze względu na 3 czynniki: Aplikacje muszą dostarczać treść do szerokiej gamy urządzeń dostępowych o różnych możliwościach m.in. PC, PDA, telefony komórkowe, cyfrowa telewizja. Współzawodnictwo pomiędzy dostawcami aplikacji w dziedzinie dostosowania aplikacji do potrzeb jej użytkowników np. myYahoo, myCDNow. Brak wystarczającej liczby specjalistów IT, która byłaby w stanie zaspokoić potrzeby rynku. Istotne jest zwrócenie uwagi na konceptualne modelowanie aplikacji w celu zwiększenia poziomu abstrakcji na jakim operują twórcy aplikacji – tworzenie modułów wielokrotnego użycia przenoszalnych pomiędzy aplikacjami oraz automatyczna generacja kodu. Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Potrzeba 2: Zwiększenie złożoności aplikacji Złożoność aplikacji Czynniki zwiększające złożoność współczesnych aplikacji internetowych Obsługiwane urządzenia dostępowe (PC, PDA, WAP, telefony 3G, cyfrowa TV, videotext) Kompleksowe usługi (myYahoo, myCDNOW,…) Czynniki te wpływają na koszt Stworzenia aplikacji Rozwoju i konserwacji aplikacji Wielu specjalistów ds. rynku informatycznego wskazuje, że konserwacja i rozwój aplikacji zarządzających dużymi ilościami danych staje się coraz bardziej skomplikowana i kosztowna, ze względu na 3 czynniki: Aplikacje muszą dostarczać treść do szerokiej gamy urządzeń dostępowych o różnych możliwościach m.in. PC, PDA, telefony komórkowe, cyfrowa telewizja. Współzawodnictwo pomiędzy dostawcami aplikacji w dziedzinie dostosowania aplikacji do potrzeb jej użytkowników np. myYahoo, myCDNow. Brak wystarczającej liczby specjalistów IT, która byłaby w stanie zaspokoić potrzeby rynku. Istotne jest zwrócenie uwagi na konceptualne modelowanie aplikacji w celu zwiększenia poziomu abstrakcji na jakim operują twórcy aplikacji – tworzenie modułów wielokrotnego użycia przenoszalnych pomiędzy aplikacjami oraz automatyczna generacja kodu. Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Potrzeba 3: Zmniejszenie liczby niezbędnego personelu Podejście do projektowania Potrzeba zwiększenia poziomu abstrakcji Potrzeba skupienia się na analizie i projektowaniu, zamiast na czasochłonnym ręcznym kodowaniu stron aplikacji Potrzeba skupienia się na optymalizacji i analizie wydajności przez inżynierów IT Potrzeba skupienia się na procesie tworzenia przez grafików komputerowych Potrzeba większej separacji ról w projekcie Wielu specjalistów ds. rynku informatycznego wskazuje, że konserwacja i rozwój aplikacji zarządzających dużymi ilościami danych staje się coraz bardziej skomplikowana i kosztowna, ze względu na 3 czynniki: Aplikacje muszą dostarczać treść do szerokiej gamy urządzeń dostępowych o różnych możliwościach m.in. PC, PDA, telefony komórkowe, cyfrowa telewizja. Współzawodnictwo pomiędzy dostawcami aplikacji w dziedzinie dostosowania aplikacji do potrzeb jej użytkowników np. myYahoo, myCDNow. Brak wystarczającej liczby specjalistów IT, która byłaby w stanie zaspokoić potrzeby rynku. Istotne jest zwrócenie uwagi na konceptualne modelowanie aplikacji w celu zwiększenia poziomu abstrakcji na jakim operują twórcy aplikacji – tworzenie modułów wielokrotnego użycia przenoszalnych pomiędzy aplikacjami oraz automatyczna generacja kodu. Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Zalety projektowania sterowanego modelami Rygorystyczne podejście do projektowania Umożliwia zredukowanie wysiłku związanego z tworzeniem aplikacji (koszt i czas) Pozwala na większe ustrukturyzowanie procesu tworzenia aplikacji Efekty procesu tworzenia aplikacji cechują się większą użytecznością i spójnością Powstałe modele stanowią jednocześnie dokumentację i są zawsze zgodne z aktualnym stanem aplikacji Możliwość szybkiego stworzenia prototypu aplikacji Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Wymagania modelowania aplikacji internetowych Wyrazistość Zdolność do prezentowania zagadnień występujących w świecie rzeczywistym Uwzględnienie w projektowaniu aplikacji najczęściej wykorzystywanych struktur Łatwość użycia Intuicyjna notacja Przejrzysta składnia Kontrola spójności Zdolność do implementacji Wydajne mapowanie do fizycznych struktur danych Elastyczny sposób generowania kodu na podstawie zdefiniowanego zachowania Pojawia się pytanie, jakie wymagania powinien spełniać poprawny model konceptualny. Za centralne zagadnienia efektywnego języka modelowania uważamy: Wyrazistość (zdolność do ekspresji) – co oznacza, że język powinien być zdolny do adekwatnego opisu złożonych aplikacji bez konieczności różnego rodzaju uproszczeń. Powinien wspierać najczęściej wykorzystywane wzorce projektowe. Łatwość użycia – co wymaga intuicyjnej i przejrzystej składni, zrozumiałej również dla osób nie-technicznych i dobrze zdefiniowanej, spójnej semantyki. Zdolność do implementacji – oznacza łatwość mapowania pomiędzy wysokopoziomowymi konceptami a niskopoziomową strukturą niezbędną do zaimplementowania aplikacji. Takie mapowanie powinno uwzględniać możliwość dostosowania do potrzeb rynku oraz być wspomagane przez elastyczną i wydajną technologię generowania kodu źródłowego. Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Wprowadzenie Zalety tworzenia aplikacji internetowych sterowanego modelami Dlaczego WebML ? Co to jest WebML ? Przegląd modeli WebML Przegląd narzędzia WebRatio Rola XML w modelach WebML Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Cel WebML WebML skupia się na dostarczeniu ustrukturyzowanego podejścia do projektowania aplikacji internetowych zarządzających dużymi ilościami danych Zbiór powiązanych ze sobą modeli pomaga projektantom w tworzeniu wysokiej jakości aplikacji internetowych Pokrywa większość aspektów projektowania aplikacji internetowych Deprecjonuje użycie starych lub niespójnych metodyk Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Przeznaczenie WebML Dostosowany do aplikacji internetowych zarządzających dużą ilością danych Duża ilość danych Interfejsy dedykowane szerokiemu gronu klientów Łatwe przeszukiwanie Zorientowanie na przeglądanie Personalizacja Dynamicznie generowana struktura, nawigacja, prezentacja treści WebML jest złym wyborem dla Małych aplikacji internetowych (strony domowe, …) Statycznych stron internetowych Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Wprowadzenie Zalety tworzenia aplikacji internetowych sterowanego modelami Dlaczego WebML ? Co to jest WebML ? Przegląd modeli WebML Przegląd narzędzia WebRatio Rola XML w modelach WebML Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Modele WebML WebML: konceptualny język służący do wysokopoziomowego projektowania aplikacji internetowych zarządzających dużymi ilościami danych Modele Danych: organizacja danych Derywacji: definicja danych redundantnych (wartości pochodnych) Kompozycji: definicja stron aplikacji jako zbioru podstron i komponentów publikujących treść Nawigacji: definicja połączeń pomiędzy stronami i komponentami Prezentacji: pozycjonowanie komponentów na stronie i określenie ich wyglądu (w tym grafiki) Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Przegląd modeli WebML Strona = M. Danych + M. Kompozycji + M. Nawigacji + M. Prezentacji encje, relacje komponenty, strony,linki widoki stron style m. nawigacji + m. kompozycji m. danych m. stron aplikacji m. prezentacji Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Wprowadzenie Zalety tworzenia aplikacji internetowych sterowanego modelami Dlaczego WebML ? Co to jest WebML ? Przegląd modeli WebML Przegląd narzędzia WebRatio Rola XML w modelach WebML Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Model danych (1) Q: Jakie obiekty są przetwarzane na stronie oraz w jaki sposób są ze sobą powiązane? A: Encja: byt rzeczywisty lub wyobrażony występujący w dziedzinie aplikacji Atrybut: właściwość opisująca encję Relacja: połączenie pomiędzy encjami Hierarchia IS-A: klasyfikacja i grupowanie encji Odpowiednikiem modelu danych jest Diagram związków encji i Diagram klas (notacja UML) Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Model danych (2) Uproszczony diagram związków encji Relacje binarne pomiędzy encjami Hierarchie IS-A Atrybuty encji o prostych typach danych Model derywacji stosowany do wyznaczania wartości pochodnych na podstawie wartości już istniejących Book Author Genre BestSeller Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Model derywacji Wartości pochodne mogą być wyznaczone w prosty sposób przy użyciu WebML-OQL (Object Query Language) Np.: Author.BooksNumber = count(self.Author2Book) BestSeller := Book where Book.Sales > 50,000 Book Author BestSeller Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Model hipertekstowy Q1: Co publikuje informacje w węzłach modelu hipertekstowego? Q2: Jakie są połączenia między węzłami modelu hipertekstowego? Q3: W jaki sposób model hipertekstowy jest prezentowany użytkownikom? A1: komponenty danych (M. Kompozycji) A2: linki (M. Nawigacji) A3: strony (M. Kompozycji) Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Model kompozycji: przykłady komponentów danych DATAUNIT Publikuje informacje o pojedynczym obiekcie (np. AuthorDetail) Publikuje listę obiektów (np. IndexOfAuthors) content INDEXUNIT content Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Model kompozycji: przykłady renderowania komponentów danych DATAUNIT Autor imię: XXX nazwisko: YYY fotografia: Author INDEXUNIT Lista autorów S. Ceri P. Fraternali O.Versand Author Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Model kompozycji: strony Strona jest kontenerem zawierającym komponenty i linki Może zawierać podstrony typu and/or Abstrakcja ekranu, ramki … Może zawierać powiązane ze sobą informacje w celu bardziej wydajnej komunikacji Np.: Lista autorów i wybrany autor są wyświetleni razem na tej samej stronie Author Author Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Model nawigacji: linki AuthorID jest przekazywane entity: author Book [ author2book ] Linki: Prowadzą z jednego miejsca do drugiego Przenoszą informacje z jednego miejsca do drugiego (w kontekście nawigacji) Inicjują przetwarzanie komponentów (efekt uboczny) Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Typy linków Linki kontekstowe Pomiędzy komponentami Przenoszą kontekst Linki bezkontekstowe Pomiędzy stronami Nie przenoszą kontekstu Voyages Books Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Operacje w WebML W WebML predefiniowano pewne operacje Można definiować operacje dostosowane do potrzeb Np.: Usunięcie autora Create Op. X Author Delete Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Widoki stron Widok stron jest to zbiór stron, który użytkownik może odbierać jako całą aplikację internetową Można definiować oddzielne widoki stron dla różnych urządzeń dostępowych i różnych grup użytkowników Dzięki temu osiągnięto kontrolę dostępu do treści oraz dostosowanie aplikacji do typu urządzenia dostępowego Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Model prezentacji Idea modelu prezentacji Galeria domyślnych stylów prezentacji treści, którą można zastosować do całych widoków stron lub poszczególnych stron aplikacji (domyślnie elementy są pozycjonowane w ramach siatki/tabeli) każdy styl prezentacji treści jest dokumentem XSL Kompatybilność z najlepiej sprzedającymi się narzędziami do edycji i zawansowanego projektowania wyglądu aplikacji Np. rozszerzenia do WebML dla narzędzia Dreamweaver 3 & 4 Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Wprowadzenie Zalety tworzenia aplikacji internetowych sterowanego modelami Dlaczego WebML ? Co to jest WebML ? Przegląd modeli WebML Przegląd narzędzia WebRatio Rola XML w modelach WebML Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
WebRatio Site Development Studio Funkcjonalność Projektant modelu danych Kreator wyznaczania wartości pochodnych Projektant modelu hipertekstowego Sprawdzanie poprawności projektu Mapowanie modelu danych do źródeł danych Podstawowe pozycjonowanie komponentów na stronach Automatyczne generowanie aplikacji internetowych w oparciu o modele i zdefiniowane style prezentacji Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Projektant modelu danych Atrybut Encja Relacja Hierarchia ISA Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Projektant modelu hipertekstowego Widoki stron Strona/alternatywa Linki Komponenty WebML Komponenty operacji Dozwolone operacje: Tworzenie nowych widoków stron Dodawanie/ usuwanie stron, komponentów, linków Edycja właściwości elementów (panel) Wycinanie &wklejanie Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Translation: Kamil Żyła, Politechnika Lubelska Wprowadzenie Zalety tworzenia aplikacji internetowych sterowanego modelami Dlaczego WebML ? Co to jest WebML ? Przegląd modeli WebML Przegląd narzędzia WebRatio Rola XML w modelach WebML Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com
Rola XML w modelach WebML Wszystkie informacje o modelach składających się na aplikację mogą być przechowywane w plikach XML Pliki XML posiadają definicję typu dokumentu (DTD), która określa formalną strukturę dokumentu XML Automatyczne generowanie stron aplikacji w wybranym języku może być wykonane na podstawie odpowiedniego pliku XSL Translation: Kamil Żyła, Politechnika Lubelska http://www.webratio.com