Webes Információs Rendszerek fejlesztése Adamkó Attila adamkoa@inf.unideb.hu Debreceni Egyetem Informatikai Kar
Adamkó Attila - Webes Információs rendszerek fejlesztése Áttekintés Bevezetés Tervezési stratégiák Modellezési lehetőségek UML és XML technológiák szerepe 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Információs Rendszerek Az Információs rendszer információt gyűjt feldolgoz továbbít megjelenít tárol Az információs rendszer sajátosságai: események adatok tevékenységek erőforrások, felhasználók 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Webes Információs Rendszerek “WISs are information systems first, and Web systems second. … WISs enable users to perform work.” “WIS represent a sub-category of mass information systems that typically support on-line information retrieval and routine tasks by way of self-service for a large number (thousands or millions) of occasional users who are spread over many locations.” 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Webes Információs Rendszerek Röviden összegezve: számítógéppel támogatott információs rendszer kihasználja a Web lehetőségeit a felhasználók többsége valamilyen böngészőn keresztül éri el 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése A WIS-ek jellemzői Asymmetrical communication Symmetrical Communication of objective information Information Provider System Communication of messages Advertisement Community 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése Tervezési stratégiák Tervezési minták Módszertanok Saját modellek 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése Tervezési folyamat Dokumentálás Minőség-ellenőrzés Környezet Elemzés Fejlesztési terv Termék Modell Részfeladatok terve Fejlesztés Karbantartás Project menedzsment 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Módszertani megközelítés Követelmény elemzés Use Cases és Aktivitás diagram Strukturális modell Osztály diagram Navigációs modell Prezentációs modell Koncepcionális Modellezés Prezentációs Réteg (HTML, XML / XSLT) Alkalmazás Logika Rétege (Appl. Logic, XML Web Services) Adatelérési Réteg (SQL) Architektúra Implementáció 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Környezet-,Követelmény elemzés UML használati esetek 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Környezet-,Követelmény elemzés UML aktivitás diagramok 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése Szerkezeti modell UML osztálydiagram 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése Navigációs modell UML-based Web Engineering alapján 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése Mire jó ez a sok diagram? Szabványos jelölésmód Bővíthető Együttműködő csoportok közötti hatékony kommunikáció 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
XML technológiák és az UML <xforms:model id="mdlSzerzok" xmlns:xxi="http://xxi.org/xxi" schema="./Szemely.xsd"> <xforms:instance id="dataSzerzok"> <Szemelyek> <Szemely> <nev></nev> <email></email> <honlap></honlap> <Szul_Datum></Szul_Datum> </Szemely> </Szemelyek> </xforms:instance> <xforms:submission id="s1" method="multipart-port" action="http://localhost/cgi-bin/test.cgi" indent="true" /> </xforms:model> … <xforms:repeat id="r1" nodeset="/Szemelyek/Szemely"> <table width="700" border="0" align="center"> <tr> <td width="150">Szemely</td> <td><xforms:input id="inpNev" ref="nev"> <xforms:label>nev</xforms:label> </xforms:input></td> <td><xforms:input id="inpEmail" ref="email"> <xforms:label>email</xforms:label> <xforms:hint>Helyes email cimet adj meg!</xforms:hint> <td><xforms:input id="inpHonlap" ref="honlap"> <xforms:label>honlap</xforms:label> </xforms:input></td> <td><xforms:input id="inpSzul_Datum" ref="Szul_Datum" appearance="full"> <xforms:label>Datum</xforms:label> </tr> </table> </xforms:repeat> <UML:Model xmi.id = 'I15ba1efm10211ca0acdmm6f38' name = 'UML2XForms' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> <UML:Namespace.ownedElement> <UML:Package xmi.id = 'I15ba1efm10211ca0acdmm71e0' name = 'UML_Conceptual_Schema' visibility = 'public' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'> <UML:Class xmi.id = 'I15ba1efm10211ca0acdmm71e2' name = 'Szemely' visibility = 'public' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'> <UML:ModelElement.stereotype> <UML:Stereotype xmi.idref = 'Ia0e220m102178a5f04mm783b'/> </UML:ModelElement.stereotype> <UML:Classifier.feature> <UML:Attribute xmi.id = 'I15ba1efm10211ca0acdmm71e6' name = 'Nev' visibility = 'private' isSpecification = 'false' ownerScope = 'instance' changeability = 'changeable'> <UML:Stereotype xmi.idref = 'Ia0e220m102178a5f04mm7826'/> </UML:Attribute> <xs:element name="szemely"> <xs:complexType> <xs:sequence> <xs:element name="id" nillable="true"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="nev" type="xs:string" /> <xs:element name="szuletesi_datum""xs:date" / > <xs:element name="email" "xs:string" /> <xs:element name="honlap" nillable="true"/> <xs:element name="telefonszam" "xs:string" /> <xs:element name="mhelyi_telefon" type="xs:string" /> </xs:sequence> </xs:complexType> UML osztály diagram Adatbázis séma XML Schema XForms alapú oldalak 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése XForms Elválasztja az adatot a reprezentációtól Nincs szükség kliens/szerver oldali szkriptekre az adatok ellenőrzésére XML Schema támogatás A felhasználói felület elég absztrakt, nem kell közvetlenül megadni, hogy a felület miként nézzen ki (XPath) Trükk: XML Schema bővítése az XForms „input” tipusaival – egyszerű generálhatóság 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése XForms 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése Megszorítások Többszörös öröklődés nincs M:N kapcsolatnál asszociációs osztály kötelező 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
XML Schema + Schematron Erősebb megszorítások <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Person"> <xs:annotation> <xs:appinfo> <sch:pattern name="Co-occurrence constraint on attribute Title" xmlns:sch="http://www.ascc.net/xml/schematron"> <sch:rule context="Person[@Title='Mr']"> <sch:assert test="Sex = 'Male'">If the Title is "Mr" then the sex of the person must be "Male".</sch:assert> </sch:rule> </sch:pattern> </xs:appinfo> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="Sex"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="Male"/> <xs:enumeration value="Female"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> <xs:attribute name="Title" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:schema> 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése További lehetőségek Webszolgáltatások (+ Xforms kombináció) Scalable Vector Graphics (SVG) (pl. menürendszer, vagy a form) RSS hírforrás 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése Köszönöm a figyelmet! 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Az XML és az RDBMS jellemzői Az adatok egyszerű hierarchikus szerkezetűek Az adatok több táblában vannak elhelyezve A csomópontok elemeket és/vagy attribútumokat tartalmaznak A cellákban egyszerű értékek szerepelnek Az elemek egymásba ágyazhatóak A cellákban csak atomi értékek Az elemek sorrendje adott Sor/Oszlop sorrend nem definiált Opcionális séma Séma szükséges Lekérdezés XML szabványokkal Lekérdezés SQL nyelvvel Összekapcsolások szükségesek 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Működési modellek Statikus Dinamikus 2005. november 18. Presentation Layer Business Logic Layer RDBMS + Stored Procedures DB Access Layer XML [XML] API SQL / [XML] Driver WML XHTML Szerver Kliens Kliens oldali modul Kliens oldal Interfész Dizájn elemek Hiperlink Szerver oldal Dizájn sablon Üzleti logika Adat 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése
Adamkó Attila - Webes Információs rendszerek fejlesztése Implementáció során a problémák: Keveredik a megjelenítés és az üzleti logika Tárolt eljárások 2005. november 18. Adamkó Attila - Webes Információs rendszerek fejlesztése