1 / 34

Načrtovanje (arhitektura) rešitev za pametne odjemalce

Načrtovanje (arhitektura) rešitev za pametne odjemalce. Dušan Zupančič, KOMPAS Xnet 18.05.2005. Agenda. Kaj so pametni odjemalci. Spletne storitve in podpora Offline/Online. Prilagajanje napravi. Precej prostora na disku. Širok doseg. Kompleksna namestitev. Odvisnost od omrežja.

Download Presentation

Načrtovanje (arhitektura) rešitev za pametne odjemalce

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Načrtovanje (arhitektura) rešitev za pametne odjemalce Dušan Zupančič, KOMPAS Xnet 18.05.2005

  2. Agenda • Kaj so pametni odjemalci

  3. Spletne storitve in podpora Offline/Online Prilagajanje napravi Precej prostorana disku Širokdoseg Kompleksnanamestitev Odvisnost od omrežja Bogata uporabniškaizkušnja Visokaproduktivnostrazvijalca Okrnjena uporabniška izkušnja Enostavnoupravljanjesprememb DLL pekel Razvoj bogategauporabniškegavmesnika jezelo kompleksen Enostavnonameščanje Dobraodzivnost Bogati, lahki in pametni

  4. Pametni odjemalciKljučni atributi • Izkoriščanje lokalne procesorske moči • Komunikacija preko XML spletnihstoritev • Podpora scenarijem s priključitvijo v omrežje in brez • Prilagajanje gostiteljski napravi • Centralizirano nameščanje in posodabljanje

  5. “Namestitev” Spletna stran Uporabniškivmesnik Podatki LogikaUV Arhitektura lahkega odjemalca Spletni strežnik Odjemalec Brskalnik Spletnastran Poslovna logika

  6. 3 4 Pametni odjemalec 5 Uporabniški vmesnik Spletnastoritev 2 Poslovnalogika 1 Arhitektura pametnega odjemalca Spletni strežnik Odejmalec Namestitev Pametniodjemalec Poslovnalogika

  7. Microsoft in pametni odjemalciPlatforme Office System 2003 Windows Mobile Windows Forms Trenutnageneracija XML Version 1.1 Version 1.1 Naslednjageneracija Version 2.0 Version 2.0

  8. Ključne odločitve pri načrtovanju pametnih odjemalcev • Delo s podatki • Delo v odklopljenem načinu • Nameščanje in samodejno posodabljanje • Varnost

  9. Delo s podatki

  10. Vrste podatkov • Referenčni podatki (samo beremo) • Statične referenece ali podatki za preiskovanje • Uporabljamo jih za • Preverjanje vnesenih podatkov • Oblikovanje servisnih zahtevkov • Verzionirani, časovno podpisani • Npr.: poštne številke, kode držav, ceniki • Prehodni podatki (Transient data) • Podatke urejamo • Potreba po sledenju spremembam • Razmislek o skladnosti (concurency)in minljivosti podatkov • Npr.: Naročila, detajli naročil, stranke, itd.

  11. Brez povezave: Da Zelo majhna verjetnost da bo nekdo drug spremenil podatke Tipično za podatke vezane na enega uporabnika Brez povezave: Ne Verjetnost, da bodo podatki veljavni brez povezave je zelo nizka Večuporabniški oz. javni podatki Mojkoledar Vaškoledar Inventar Borznedelnice Prehodni podatki Visoka minljivost Več težav s skladnostjo Nizka minljivost Malo problemov s skladnostjo Napovedana veljavnost N(Veljavnost) = 1.0 N(Veljavnost) = 0.0

  12. Upravljanje podatkov • Medpomnjenje (Caching) • Performančni razlogi in podpora delu brez povezave • Dolgoročno / kratkoročno • Zapadlost podatkovin upoštevanje omejitev (constraints) • Načrtovanje za skladnost (Concurency) • Pesismostično • Optimistično • Varnost • Zagotovljen samo dostop do podatkov za katere je uporabnik avtoriziran • Zaščita občutljivih podatkov • Uporaba šifriranja in/ali ACL • Razmislek o večuporabniških scenarijih • Delo brez povezave • Odločitev o tem kateri podatki in logika so potrebni • Sinhronizacija sprememb

  13. Caching Application Block • Omogoča oziroma olajša izvedbo • Performance – podatki se hranijo čim bližje uporabniku podatkov. Tako se izognemo ponavljajočemu ustvarjanju, procesiranju in transportu podatkov • Razširljivost – s hrambo podatkov v medpomnilniku varčujemo s sredstvi in izboljšamo razširljivost sistema • Razpoložljivost – z lokalno shrambo podatkov lahko aplikacija preživi kratkotrajne izpade sistema, npr.: izpad strežnika, problemi z omrežjem, … • Caching Application Block omogoča razvijalcem vključitev likalne shrambe v aplikacijo

  14. Delo v odklopljenem načinu

  15. Priklopljeno / odklopljeno • Vedno – Povezava z omrežjem je nujna • Večinoma – redko delovanje brez povezave • Včasih – delovanje brez povezave daljši čas • Redko – povezava je možna vendar je draga • Odklopljeno – eksplicitno delovanje samo v odklopljenem načinu ‘Priklopljenost’

  16. Podatkovno orientiran pristop • Prednosti • Data changes direct • Infrastructure provided • Slabosti • Heavy-weight client-side Infrastructure • Tight coupling between client and server RDBMS-baziranareplikacija zzdruževanjem

  17. Sporočilno orientiran pristop • Prednosti • Šibka povezanost med odjemalcem in strežnikom • Lahka infrastruktura na odjemalcu • Slabosti • Sprememba podatkov je posredna • Precej kode potrebne za razreševanje konfliktov Sporočilno orientiranasinhronizacija podatkov

  18. Smart Client Offline Application Block • Offline block ponuja • Razširljiv nabor komponent • Omogoča delovanje sporočilno orientiranih aplikacij brez povezave • Shranjevanje in izvajanje odloženih storitvenih zahtevkov • Zaznavanje prisotnosti komponent na omrežju

  19. Nameščanje

  20. Nameščanje pametnih odjemalcev • Nameščanje ogrodja .NET • Prednamestitev • Orodja za nameščanje v večjih podjetjih – SMS • Group policy • Zahtevamo od uporabnikov, da si ga namestijo sami (Windows Update, na lokalnem omrežju, …) • Nameščanje z aplikacijo • Ogrodje zapečemo v MSI (v namestitvenem projektu že imamo možnost vključevanja “dotnetfxredist_x86.msm”) • Ogrodje .NET že vgrajeno vStrežnik Windows 2003, Longhorn … in naslednje različice 

  21. Nameščanje pametnih odjemalcev • Nameščanje rešitve • Namestitev No-Touch • Hibridno: No-Touch s kodo za osveževanje rešitve • XCOPY • Poganjanje z omrežnega diska • MSI • Visual Studio 2005 (.NET 2.0) – ClickOnce

  22. Namestitev No-Touch URL rešitve 1 Namestitvenistrežnik Aplikacija Odjemalec Config 3 Aplikacija Download Cache 2 Assembly Config Assembly Aplikacija Config Ogrodje .NET Assembly

  23. Omejitve NTD • Konfiguracijske datoteke se ne naložijo samodejno • Omejene privzete varnostne pravice • Pisanje na disk • Uporaba “unmanaged” kode • Nameščanje komponent, ki zahteva registracijo • Dostop do virov, ki niso na istem strežniku • Access resources no on originating server • Nezanesljivo delovanje brez povezave • Leno doljemanje (Lazy downloading) • IE cache • Odvisnost od IE nastavitve “Offline” • Ni transakcijskih namestitev (problem v primeru prekinitve povezave med namestitvijo)

  24. Posodabljanje • Vsakokratno ponovno nameščanje ni praktično • Nameščanje No-touch • Samo spremenimo vsebino na web strežniku • Samodejne posodobitve • Možnost vgradimo v aplikacijo • Posodobitve z omrežnega diska • Posodobimo vsebino na omrežnem disku • Posodabljanje Xcopy • Kopiranje novih preko starejših datotek • Windows Installer • Patch paket (*.msp) • Posodobitev obstoječega MSI • Ustvarjanje novega MSI

  25. Updater Application Block Updater Downloader 1 Validator Namestitvenistrežnik 2 Post-Proc Manifest Aplikacija Odjemalec 4 Aplikacija Application Folder Config Assembly 3 Config Aplikacija Assembly Config .NET Framework Assembly

  26. Priporočila za posodobitve • VS 2003 / .NET 1.1 • Vgradite infrastrukturo za posodobitve • Odlično za večino rešitev • Na voljo je Application Updater Block v2 • V2 omogoča enostavnejšo nadgradnjo na ClickOnce • Windows Installer • Primerno za obsežna okolja (enterprise) • VS 2005 / .NET 2.0 • ClickOnce • Windows Installer

  27. Varnost

  28. Razmislek o varnosti • Storitev je meja zaupanja • Odjemalcu ni mogoče zaupati • Obramba v globino • Avtentikacija • Avtorizacija • Preverjanje podatkov • Zaščita občutljivih podatkov • Beleženje • Upravljanje izjem • Upravljanje sprememb

  29. Security Application Block Application Security Context Authentication Module(s) Principal Credentials (username, password) Roles Identity • IPrincipal • Identity • IsInRole() • Windows • Forms • Passport • GenericPrincipal • Identity • IsInRole() • WindowsPrincipal • Identity • IsInRole() • Custom Principal • Identity • IsInRole() • custom methods

  30. Aplikacijski bloki

  31. UI Components UI Composition & Process E Business Entities Local Business Logic E E Service Agents E E E Aplikacijski bloki Management Communication & State Mgmt Security CAB UIP Profile Service Location Caching Authentication & SSO Configuration Asynchronous Comm. Code Security Logging Reconciliation Authorization Offline Exception Handling Notifications Secure Comm. Install & Updates Offline Auditing Updater Services

  32. Bloki rešitev • http://www.microsoft.com/resources/practices/code.mspx • CAB – Caching Application Block • UIP - User Interface Process Application Block • Offline - Smart Client Offline Application Block • Updater - Updater Application Block–v 2.0 • E – Enterprise Library

  33. Povzetek • Pametni odjemalci združujejo najboljše s svetov bogatih in lahkih odjemalcev • Pri načrtovanju se je potrebno zavedati obsega rešitve in omejitev, ki jih določa okolje v katerem bodo delovale • Kot pomoč pri načrtovanju in izvedbi so na voljo načrtovalski vzorci in aplikacijski bloki

  34. VPRAŠALNIKI VPRAŠALNIKI VPRAŠALNIKI VPRAŠALNIKI VPRAŠALNIKI IZPOLNITE VPRAŠALNIK Z MALO SREČE DO BOGATIH NAGRAD

More Related