Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Przegląd zastosowań.

Podobne prezentacje


Prezentacja na temat: "Przegląd zastosowań."— Zapis prezentacji:

1 Przegląd zastosowań

2 Języki i standardy oparte na XML
Metajęzyk XML: spójna składnia i metodologia definiowania języków, DTD, XML Schema – sposoby definiowania języków. Obszary zastosowań: kodowanie tekstu, kodowanie metainformacji, informacje naukowe, multimedia, programowanie, ... XML jest metajęzykiem, pozwalającym na definiowanie dowolnych języków, których składnia jest podobna, zaś znaczenie określone przez twórców języka i/lub oprogramowania go wspomagającego. Takie języki nazywa się często zastosowaniami XML-a (ang. XML applications). XML można stosować we wszystkich dziedzinach, w których operuje się informacją strukturalną. Dlatego większość istniejących zastosowań dotyczy wymienionych obszarów. Przedstawiony w tej sesji przegląd zastosowań nie jest w żadnym razie kompletny. Zawiera jedynie przykłady zastosowań będących standardami lub roszczących sobie prawa do bycia nimi. Zostały one omówione np. dlatego że są popularne, ale czasami po to, aby pokazać, jak nie powinno się projektować języków. Nie zapominajmy, że oprócz języków o zgrabnie brzmiących nazwach i skrótach kończących się na ...ML, istnieje wielkie mnóstwo bezimiennych języków, tworzonych przez projektantów na potrzeby konkretnego projektu, aplikacji, scenariusza wymiany danych.

3 Zastosowania XML Kodowanie tekstu: ISO 12083. XML DocBook.
Text-Encoding Initiative (TEI). MIL-STD (CALS). HTML / XHTML.

4 Zastosowania XML Kodowanie metainformacji:
RDF – Resource Description Framework. CDF – Channel Description Format. Topic Maps. RSS – RDF Rich Site Summary. OCS – Open Content Syndication. Web Collections using XML. MCF – Meta Content Framework Using XML. XMI – XML Metadata Interchange Format – Object Management Group (OMG).

5 Zastosowania XML Kodowanie informacji naukowych:
MathML – Matematical Markup Language. CML – Chemical Markup Language. BSML – Bioinformatic Sequence Markup Language. BIOML – BIOpolymer Markup Language. AML – Astronomical Markup Language. ThML – Theological Markup Language. GedML – Genealogical Data in XML. VHG – Virtual Hyperglossary. OMF – Weather Observation Markup Format. VHG – projekt opracowujący język MARTIF (MAchine Readable Terminology Interchange Format) do opisu terminologii używanej w tekstach naukowych, dokumentacji technicznej, itp.

6 Zastosowania XML Multimedia: SVG – Scallable Vector Graphics.
PGML – Precision Graphics Markup Language. VML – Vector Markup Language. SMIL – Synchronized Multimedia Integration Language. VoiceXML. SABLE – Text-to-Speech Synthesis Markup.

7 Zastosowania XML Telekomunikacja: WML – Wireless Markup Language.
DRP – HTTP Distribution and Replication Protocol. Programowanie: WIDL – Web Interface Definition Language. BML – Bean Markup Language. Java Help API. CDIF – CASE Data Interchange Format. UXF – UML eXchange Format. SWAP – Simple Workflow Access Protocol. Java Help API – pozwala na generowanie klas Javy (komponentów JavaBeans) reprezentujących system pomocy dla aplikacji na podstawie XML-owego pliku HelpSet. CDIF – format kodowania informacji projektowanej przy pomocy narzędzi CASE (Computer Aided Software Engineering). Ma zapewnić możliwość przenoszenia informacji pomiędzy różnymi systemami CASE. UXF – kodowanie schematów UML (Unified Modelling Language) przy pomocy XML-a. SWAP – protokół korzystający z komunikatów XML-owych, pozwalający na programistyczną kontrolę nad aplikacją przepływu prac oraz na komunikację między takimi aplikacjami.

8 DocBook Przeznaczony do kodowania dokumentacji oprogramowania:
struktura książki, dodatkowe struktury specyficzne dla dokumentacji oprogramowania. Status: DocBook (SGML) – projekt rozpoczęty przez HaL Computer Systems i O'Reilly & Associates, obecnie zarządzany przez DocBook Technical Committee of OASIS, równolegle rozwijane wersje SGML i XML (od wersji 4.0).

9 Struktura DocBook Book (element główny): BookInfo
(Chapter | Article | Reference | Part) * Sekcje: Sect1, ..., Sect5, Abstract, Sidebar, Warning. Zawartość tekstowa: SimPara, Para, FormalPara, ItemizedList, OrderedList, VariableList, SegmentedList, SimpleList, GlossList. Informacja techniczna: ClassName, Command, , Filename, Function, Literal, ProductName, UserInput, SGMLTag, ...

10 DocBook – moduły, dostosowywanie.
EBNF Module (Extended Backus-Naur Form), HTML Forms Module, MathML Module, SVG Module. Dostosowywanie do własnych potrzeb: DTD silnie sparametryzowana encjami parametrycznymi, większość zmian można uzyskać bez modyfikowania standardowych modułów DTD.

11 DocBook – dodawanie własnego elementu
Fragment DTD: <!ENTITY % local.tech.char.class ""> <!ENTITY % tech.char.class "Action|Application|ClassName|Command| %local.tech.char.class;"> Dostosowanie: <!ENTITY % local.tech.char.class "|MethodName"> <!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook V3.1//EN"> %DocBookDTD; <!ELEMENT MethodName - - ((%smallcptr.char.mix;)+) > <!ATTLIST MethodName %common.attrib; %classname.role.attrib; %local.classname.attrib; >

12 Wireless Application Protocol
WAP – Internet przez telefony komórkowe. Rodzina standardów: WML – Wireless Markup Language, WMLScript, WTLS – Wireless Transport Layer Security, WSP – Wireless Session Protocol, WTP – Wireless Transaction Protocol, ... WAP jest całą rodziną języków i protokołów, pozwalającą na oglądanie stron „internetopodobnych” na wyświetlaczach telefonów komórkowych. Najważniejszym członkiem tej rodziny jest WML – oparty na XML-u język opisu formatowania takich stron oraz nawigacji między nimi.

13 Schemat komunikacji Zapytanie WAP Zapytanie HTTP Serwer WWW Bramka WAP
Nagłówek WAP WML Nagłówek HTTP WML

14 Język WML Uwzględnia specyfikę telefonów komórkowych:
małe czarno-białe wyświetlacze, ograniczone możliwości nawigacji (mało klawiszy, brak myszki), mała moc obliczeniowa i szybkość transmisji. Dokument WML: zbiór kart WML, proste formatowanie tekstu i grafiki mechanizmy nawigacji między kartami i dokumentami, polecenia wywołania skryptów. W przeciwieństwie do zwykłych stron internetowych w HTML-u, jeden dokument WML może zawierać wiele tzw. kart.

15 Przykład <?xml version=”1.0”?> <!DOCTYPE wml PUBLIC ”-//WAPFORUM//DTD WML 1.1//EN” ” <wml> <card id=”start” title=”Witamy”> <do type=”accept” label=”Szczegoly”> <go href=”#dalej”/> </do> <p align=”center”>Witamy w<br/> <b>empolis Polska</b></p> </card> <card id=”dalej” title=”Szczegoly”> <p>empolis Polska sp. z o.o.<br/> ul. Plocka 5a<br/> Warszawa</p> </card> </wml>

16 Narzędzia Rodzaje dostępnych narzędzi: emulatory przeglądarek WAP,
środowiska programistyczne. Status narzędzi: udostępniane bezpłatnie w Internecie, bogato udokumentowane. Narzędzia wspomagające tworzenie serwisów WAP są zwykle promowane przez firmy produkujące telefony z obsługą WAP. Narzędzia są więc ze względów promocyjnych udostępniane całkowicie bezpłatnie.

17 Narzędzia Nokia WAP Toolkit: www.forum.nokia.com Ericsson WAP IDE:
Emulator przeglądarki WAP: Zawiera m. in. emulator przeglądarki WAP, edytor do tworzenia i testowania aplikacji, edytor graficzny. Zawiera m. in. mikroprzeglądarkę WAP, aplikację AppDesigner do tworzenia kart WML i skryptów WMLS, kompilator/debugger, a nawet serwer WWW z Perlem i moduł do tworzenia "własnych" modeli telefonów.

18 Perspektywy (Słabnące) wsparcie ze wszystkich stron:
producentów telefonów i narzędzi, operatorów telefonii komórkowych, operatorów serwisów WAP. Potencjalne zastosowania: informacje o kursach walut, rozkłady jazdy, rezerwacje biletów, pogoda, giełda, ... Technologia WAP nie zastąpi tradycyjnego Internetu – daje bowiem zbyt mało możliwości (maleńkie, zgrzebne wyświetlacze, kiepska nawigacja itp.) Są jednak grupy serwisów, dla których te ograniczenia nie są aż tak istotne, zaś korzyści z łatwego, podręcznego dostępu – kluczowe.

19 Channel Description Format
Inicjatywa Microsoftu. Kanały: Specjalne witryny www, opisane plikami CDF. Pobieranie całych witryn do przeglądania off-line. Możliwość automatycznego pobierania aktualizacji. Zawartość kanału prosto na pulpit – Active Desktop. Active Desktop – nowa wspaniała funkcja Windows 98, pozwalająca wyświetlać HTML oraz applety Javy jako tło pulpitu. Kanały Microsoftu są niekiedy nazywane technologią „push”, ponieważ powodują, że witryny są automatycznie „wpychane” na komputer, a nie tradycyjnie „ściągane”.

20 Zawartość pliku CDF Metainformacje: adres strony głównej,
data ostatniej modyfikacji, maksymalny poziom zagłębienia przy otwieraniu linków, tytuł i opis zawartości, plan pobierania uaktualnień, logo. Zawartość witryny: odwołania do poszczególnych stron, podkanały.

21 Przykład pliku CDF <CHANNEL HREF="http://domain/folder/index.html"
BASE=" LASTMOD=" T09:12" PRECACHE="YES" LEVEL="0"> <TITLE>Ala ma kota</TITLE> <ABSTRACT>Stan posiadania Ali</ABSTRACT> <SCHEDULE><INTERVALTIME DAY="14"/></SCHEDULE> <LOGO HREF="ZdjecieAli.gif" STYLE="ICON"/> <ITEM HREF="Ala.html" LEVEL="1"> <TITLE>Ala</TITLE> </ITEM> <ITEM HREF="Kot.html" LEVEL="1"> <TITLE>Kot</TITLE> </CHANNEL> HREF – główna strona kanału, lub adres podstrony. BASE – folder bazowy dla kolejnych odwołań. LASTMOD – data ostatniej modyfikacji. PRECACHE – czy pobierać do przeglądania off-line. LEVEL – maksymalny poziom, do którego pobieramy połączone strony. SCHEDULE – plan pobierania uaktualnień. ITEM – opis strony wchodzącej w skład kanału.

22 Mathematical Markup Language
Pozwala zapisywać formuły przy pomocy: składni prezentacyjnej, składni semantycznej. Status języka: rekomendacja W3C, nie jest akceptowany przez popularne przeglądarki, jest wspomagany przez oprogramowanie, np. Amaya, MathType.

23 MathML – przykład Składnia prezentacyjna: <mrow>
<msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>4</mn> <mo>&invisibletimes;</mo> <mi>x</mi> </mrow> <mo>+</mo> <mn>4</mn> <mo>=</mo> <mn>0</mn>

24 MathML - przykład Składnia semantyczna: <apply> <plus/>
<power/> <ci>x</ci> <cn>2</cn> </apply> <times/> <cn>4</cn> <ci>x</ci> <cn>4</cn>

25 Chemical Markup Language
Pozwala zapisywać wzory chemiczne, kształty cząsteczek itp.: spectra and other instrumental output, crystallography, organic and inorganic molecules, physicochemical quantities (including units), MO calculations, macromolecules: sequence protein, ligand and sequence. Rozwijany przez Open Molecule Foundation.

26 CML – przykład <CML:molecule id="test">
<CML:atomArray builtin="elsym"> c c O H H H H H H</CML:atomArray> <CML:atomArray builtin="x2" type="float"> </CML:atomArray> <CML:atomArray builtin="y2" type="float"> </CML:atomArray> <CML:bondArray builtin="atid1"> </CML:bondArray> <CML:bondArray builtin="atid2"> </CML:bondArray> <CML:bondArray builtin="order" type="integer"> </CML:bondArray> </CML:molecule>

27

28 SVG Scalable Vector Graphics Pozwala opisywać dwuwymiarową grafikę:
kształty wektorowe (złożone z linii prostych i krzywych), obrazy rastrowe, tekst, grupowanie, transformacje, filtry, ... Status: SVG 1.0 – rekomendacja W3C, SVG 1.1 – rekomendacja kandydująca. Inne wyjaśnienie skrótu SVG: Something Very Good 

29 SVG - przykład <svg width="4in" height="3in">
<desc>Niebieskie koło z czerwoną obwódką </desc> <g> <circle style="fill: blue; stroke: red" cx="200" cy="200" r="100"/> </g> </svg> Atrybuty elementu svg podają rozmiary pola, w którym rysowana jest grafika.

30 Bean Markup Language Pomysł:
XML jako język konfiguracji komponentów w Javie (JavaBeans). Elementy reprezentowane przez język: obiekty, atrybuty obiektów, referencje, zawieranie obiektów, powiązania obiektów przez zdarzenia. Inicjatywa IBM AlphaWorks. Serializacja obiektów w obiektowym języku programowania polega na zapisaniu ich stanu (wartości wszystkich atrybutów) do pliku. Dzięki temu obiekt może być użyty przez tą samą lub inna aplikację w dokładnie takim samym stanie, jak wówczas, gdy był serializowany. Użycie XML-a jako języka serializacji pozwala np. na przesyłanie zserializowanych obiektów przez Internet. Rodzaje powiązań obiektów, które trzeba reprezentować: referencja – wartością właściwości obiektu jest wskaźnik do innego obiektu; zawieranie – jak wyżej, ale obiekt jest niedostępny z zewnątrz –jedynie poprzez ten atrybut; powiązanie przez zdarzenie – jeden obiekt nasłuchuje zdarzeń zachodzących dla innego obiektu (kiedy zachodzi zdarzenie, obiekt nasłuchujący dostaje informacje o tym i może wykonać jakiś kod).

31 BML Player Dokument BML Parser XML BML Player XML DOM
Pozwala „wykonywać” pliki BML. Dokument BML Parser XML BML Player XML DOM Narzędzia BML pozwalają jedynie na utworzenie obiektu na podstawie pliku BML (w czasie wykonania – BML Player, lub poprzez kompilację – BML Compiler). Nie można natomiast przy ich pomocy zapisać zawartości kostki do pliku BML. Narzędzia nie implementują więc serializacji.

32 BML Compiler Dokument BML Żródła w Javie Parser XML BML Compiler XML
Na podstawie dokumentu BML generuje plik źródłowy w Javie, który jest następnie kompilowany. Dokument BML Żródła w Javie Parser XML BML Compiler XML DOM Java Java Użycie kompilatora zwiększa efektywność wykonywania wczytanych JavaBeans, ponieważ dokument BML nie musi być interpretowany w czasie wykonywania obiektu. Java Class File Java Runtime Kompilator Javy bytecode bytecode

33 Przykład <bean class="java.awt.Frame">
<property name="title" value="Color Fade Bar"/> <property name="layout"> <bean class="java.awt.BorderLayout"/> </property> <add> <bean class="ColorFadeBean" id="FadeBar"> <property name="width" value="300"/> <property name="height" value="50"/> ... </bean> </add>

34 Gdzie szukać dalej DocBook: DocBook: The Definitive Guide:
DocBook Technical Committee of OASIS: WAP: WAP Forum: AnywhereYouGo: przewodnik po WML: Polska witryna WAP: mobile.net.pl

35 Gdzie szukać dalej CDF: Active Channel Technology:
msdn.microsoft.com/workshop/delivery/channel/ overview/overview.asp Submission to W3C:

36 Gdzie szukać dalej MathML: W3C’s Math Home Page http://www.w3.org/Math
CML: Strona główna Open Molecule Foundation: Wprowadzenie do CML: ala.vsms.nottingham.ac.uk/ vsms/java/cml

37 Gdzie szukać dalej SVG: W3C Scalable Vector Graphics
SVG Central BML: IBM AlphaWorks: formula/BML

38 Zakończenie: Dokąd zmierzamy?

39 XML SGML EDI ??? HTML Rodzaje informacji dostępność szybkość
wysoka wartość SGML EDI dostępność zarządzalność szybkość wierność XML treść jako produkt: publikacje referencyjne dokumentacja techniczna dokumenty biznesowe: faktury, zamówienia krótki czas życia długi czas życia materiały marketingowe, e-commerce archiwa szybkość dostępność dostępność bezpieczeństwo ??? HTML niska wartość

40 EDI  XML SGML XML HTML  XML ??? + XML Trendy upowszechnienie
wysoka wartość EDI  XML SGML XML upowszechnienie zwiększenie szybkości elastyczność tworzenie wartości zarządzanie wartością publikowanie jeden-do-jednego krótki czas życia długi czas życia dotarcie do rynku jakość informacji handel w Internecie budowanie baz wiedzy HTML  XML ??? + XML niska wartość

41 XML-owa (r)ewolucja Młoda, dynamicznie się rozwijająca technologia:
zatwierdzanie nowych standardów, rozwój narzędzi, ale: istnieją już zastosowania przemysłowe, wsparcie dla XML-a zaczyna być istotnym czynnikiem przy wyborze oprogramowania. Wątpliwości, pytania: czy XML wyprze SGML? HTML? czy XML Schema wyprze DTD? czy XML-EDI wyprze EDIFACT? ...?

42 <dziękuję/>


Pobierz ppt "Przegląd zastosowań."

Podobne prezentacje


Reklamy Google