270 likes | 433 Views
Edasiühilduv veebiteenuste esituskiht. Forward Compatible Design of Web Services Presentation Layer Magistritöö (20 ap) Siim Karus Juhendaja: Jüri Kiho. Töö eesmärk. Töös uuritakse, kuidas luua edasiühilduvaid esituskihte veebiteenustele.
E N D
Edasiühilduv veebiteenuste esituskiht Forward Compatible Design of Web Services Presentation Layer Magistritöö(20 ap)Siim KarusJuhendaja: Jüri Kiho
Töö eesmärk • Töös uuritakse, kuidas luua edasiühilduvaid esituskihte veebiteenustele. • Luua juhised, mida järgides on võimalik luua edasiühilduvaid esituskihte. • Tuua näide juhiste praktilise kasutamise kohta olemasolevale veebiteenusele uue esituskihi loomisel.
Rakenduse valmidus keskkonna muutusteks ja uute tehnoloogiate kasutuselevõtuks. Edasiühilduvus
Edasiühilduvus aitab saavutada • Olemasolevate teenuste lihtsa laiendatavuse. • Olemasolevate teenuste kasutatavuse uutel seadmetel. • Olemasolevate teenuste ühendatavuste teiste teenustega. • Tarkvara pikema eluea. Chris Armbruster
Edasiühilduvuse põhimõtted • Laiendatavus • Abstraktsioon • n-kihilised rakendused • Komponentideks jaotamine • Modulaarne arhitektuur Chris Armbruster
Komponentide tüübid • Juhtelemendid, mida kasutatakse kindla infoelemendi esitamiseks või muutmiseks. • Konteinerid seotud informatsiooni esitavate juhtelementide ja konteinerite grupeerimiseks. • Teenused kindlat tüüpi esituste loomiseks.
Teenus-baseeruv tarkvara • Teenused konfigureeritakse igal ajahetkel vastama sel hetkel vajalikele nõudmistele. • Teenused koosnevad väiksematest teenustest (alamteenustest). • Teenus ei ole mehhaaniline protsess ja võib vajada inimese sekkumist. The Distributed Centre of Excellence in Software Engineering
Edasiühilduvuse saavutamine • Tarkvara peaks koosnema teenustest. • Common Controls ja vidinad on edasiühilduvad. • FreeMarker ja ASP.NET lubavad edasiühilduvat arhitektuuri kasutada. • FreeMarker ja ASP.NET vajavad jooksvaid kokkuleppeid suhtlusvormide jaoks.
Tulevikukindel ja edasiühilduv suhtlemine • Sidusate teenuste korral saab kasutada Web Services standardeid sõnumite kuju kokku leppimiseks sidumise hetkel. • Mittesidusate teenuste korral muutub selline kokkuleppimine koormavaks sidekanalitele. Tekib vajadus edasiühilduva suhtlusviisi järele.
Sujuv esituskihi mandumine • Teenus-baseeruv lähenemine • Konfiguratsioonil baseeruv lahendus • Marsruutimisel baseeruv lahendus • Kombineeritud lahendus • Kasutades sisest konfiguratsiooni • Kasutades alamteenuseid • Ühesuunalised lahendused (semantika ja kontekst)
Edasiühilduvat esituskihti projekteerides tuleks järgida järgmisi juhiseid. Juhised
1 Võimalusel kasutage Kasutage Common Control või Widget komponente juhtelementide tasemel. Saab jõustada jõudluse arvelt.
2 Kombineerige konteineri ja juhtelemendi taseme objekte uute konteineri taseme objektide loomiseks. Taaskasutage konteineri taseme objekte. Saab jõustada jõudluse arvelt.
3 Sarnaste aspektide või objektitüüpide esitamiseks kasutage üldistatud teenuseid siseste komponentide asemel. Automaatne jõustamine on keeruline.
4 Koostage keerulised teenused individuaalselt adresseeritavatest ja tellitavatest alamteenustest. Automaatne jõustamine on keeruline.
5 Vältige vajadust täiendava informatsiooni küsimise järele. Maksimeerige suhtlusprotokollis oleva semantilise informatsiooni kasutamist. On võimalik jõustada mõnel määral.
6 Pakkuge viis sõnumites leiduvate objektide kohta täiendava semantilise informatsiooni küsimiseks.Leppige kokku vaiketegevus olukordades, kus esituskihile ei ole võimalik anda piisavat informatsiooni objekti esitamiseks. Saab jõustada edukalt.
Raamistik XSLT-l baseeruva esituskihi jaoks. Näidisraamistik
Maksimeeriti komponentide korduvkasutust lubades taganeda vaikestiilile. Mall graafi esitamiseks puuna.
Vaikestiilis kasutatakse semantilst informatsiooni. • Elemendid, mis lõppevad tähega ‘d’ esitatakse loendina kui puudub elemendile vastav kõrgema prioriteediga mall.
Täiendavalt kasutatud võtted • Mallid on jaotatud erinevatesse enamasti üksteisest sõltumatutesse failidesse. • Pakutakse täiendavat semantilist informatsiooni andvaid teenused. • Teenused on individuaalselt adresseeritavad ja tellitavad.
Kasu uuest arhitektuurist • Kõik veebiteenuste moodulid omavad sarnast esitust. • Uute komponentide lisamine on lihtsustatud kuna nende esitamiseks on vaja vähem spetsialiseeritud kasutajaliidese koodi. • Edasine laiendatavus ja ühendatavus väliste teenustega on lihtsustatud tänu nõustavatele ja tõlkivatele teenustele.
Järeldused • Edasiühilduv esituskiht vajab märkimisväärset tuge teiste rakenduse funksionaalsuse kihtide poolt. • Teenus-baseeruv arhitektuur toetab edasiühilduvust. • Väiksem esituskihi koodi maht soosib mitmete esituste loomist. • Edasiühilduvus vähendab hoolduskulusid.
Edasine töö • Teiste tarkvara funktsionaalsuse kihtide edasiühilduvuse uurimine võimaldab leida viise tarkvara eluea pikendamiseks ja hoolduskulude vähendamiseks. • Edasi saab arendada kasutajate poolt loodud kasutajaliideste automaatse kontollimise meetodeid. • Tuleb luua intuitiivsed ja mugavad stiilide muutmise vahendid.
Juhendajat, retsensenti, kaitsmiskomisjoni, õppejõude, kaasüliõpilasi ja kõiki teisi, kes toetasid mind õpingutel, lõputöö tegemisel ja kaitsmisel. Tänan