200 likes | 405 Views
Realizacja aplikacji internetowych. Click-once. Cechy aplikacji. Łatwa instalacja (brak instalacji) Niewielki wpływ na system Instalacja i działanie w trybie użytkownika Bogaty/interaktywny interfejs Praca bez dostępnej sieci Integracja z Windows Shell Komponenty współdzielone (COM/GAC)
E N D
Realizacja aplikacji internetowych Click-once
Cechy aplikacji • Łatwa instalacja (brak instalacji) • Niewielki wpływ na system • Instalacja i działanie w trybie użytkownika • Bogaty/interaktywny interfejs • Praca bez dostępnej sieci • Integracja z Windows Shell • Komponenty współdzielone (COM/GAC) • Brak ograniczeń przy instalacji) WWW Click Once MSI
Click Once • Aplikacje typu Windows Form / WPF • Nie wymaga dodatkowego kodowania • Wymaga .NET 2.0 u klienta, IE (FF IE tab/.NET Framework Assistant, Chrome + IETab) • Wspiera „zaufane" aplikacje • Wspiera instalacje na CD • Pozwala na instalacje aplikacji i modułów MS (np MDAC, MSInstaller, DirectX itd) • Nakłada pewne ograniczenia np.: • instalacja shared assemblies • dostęp do rejestru (COM, serwisy) • dostęp do systemu plików (konfigurowalne) • dostęp do schowka (konfigurowalne)
Instalacjaaplikacji • Typowy cykl życia aplikacji • projekt i kodowanie • testy • instalacja u klienta • ClickOnce: • łatwa instalacja (od użytkowka może być wymagana akceptacja uprawnień aplikacji) • możliwość (pół)automatycznej aktualizacji • możliwość realizacji ograniczonych uprawnień w oparciu o model piaskownicy (CAS określony przez lokalizację serwera instalacji Internet/Local Intranet Zone itd) • Chrome – plugin, FF – wycofalsiezewsparcia
Click Once • Po utworzeniu aplikacji wymagana jest publikacja na serwerze instalacji • Instalacja może być realizowan w oparciu o • serwer WWW • serwer plików (network share, CD) • „Publish” tworzy manifest aplikacji • Po kliknięciu na URL (hiperlink lub skrót) manifestu .NET runetime rozpoznaje typ aplikacji i inicjuje proces kopiowania i lokalnego uruchomienia aplikacji
Manifest • Manifest aplikacji • opisuje aplikację, assemblies, zależności, wymagane uprawnienia, zewnętrzne pliki • Manifest instalacji • opisuje proces instalacji tj. m.in położenie manifestu aplikacji, wersję aplikacji itd.
Aktualizacja • Po kliknięciu linku aplikacja jest kopiowana na komputer kliencki z sieci (WWW) lub uruchamiana bezpośrednio ze wskazanej lokcji • Aktualizacja aplikacji odbywa się przy uruchomieniu lub programowo po wywołaniu API • mozliwe jest określenie czy update jest wymagany czy opcjonalny
Manifest <subscription> <update> <beforeApplicationStartup /> </update> </subscription>
Security Execution Evironment • Poziom uprawnień zalieży od lokalizacji aplikacji • Internet • Trusted Internet • Local • Np. aplikacja uruchomiona z CD dysponuje pełnym poziomem uprawnień • W przypadku takiej konieczności (uruchomienie kodu unmanaged/dostęp do rejestru/dostęp do zewnętznych WS lub baz danych) może być konieczne podniesienie poziomu uprawnień w CAS (code access security)
Trusted applications • W przypadku gdy konieczny jest wyższy niż domyslny poziom uprawnień w organizacji klienta możliwe jest określenie zbioru „zaufanych” dostarczycieli oprogramowania • Identyfikacja odbywa się na podstawie certyfikatów zarejestrowanych na komputerach klienckich (Trusted Publisher’s Store) i dołączonych do aplikacji
Trusted applications • Jeśli komputer nie zawiera certyfikatu – użytkownik może być poproszony o podjęcie decyzji czy umożliwić podniesienie uprawnień aplikacji • Administrator może określić, które z uprawnień użytkownik może podnieść we własnym zakresie (np. dla aplikacji uruchamianych z Internetu niemożliwe może być uruchamianie kodu unmanaged)
Aktualizacja aplikacji • On startup pytanie o aktualizację przy uruchomieniu • After startuppytanie o aktualizację przy nast. uruchomieniu • Programatic • Requiredminimalna wymagana wersja • Future-Background Updateszbliżony do WindowsUpdate / tylko MS Vista
Rollback i deinstalacja • Możliwa jest deinstalacja bez uruchamiania sieci
Ograniczenia • COM • od Windows XP mozliwe jest uruchamianie COM bez instalacji w rejestrze „registy free COM” • wołanie COM jako statycznych bibliotek (bez pośrednictwa Windows RPC) • Windows bootsrapper (brak autoaktualizacji) • Lokalizacja binariów • aplikacje są składowane w Documents & Settings\LocalSettings\Apps • aplikacja nie ma wpływu na swoją lokalizację (można tom ustalić administracyjnie)
Ograniczenia • Menu Start • nie ma możliwości umieszczenia dodatkowych wpisów (do lokalnych binariów) w menu Start • wpisy można tworzyć przez wskazanie lokalizacji odpowiedniego manifestu • Rózne przeglądarki • mechanizm jest wspierany przez IE, Outlook, OutlookExpress, MSN Explorer • Firefox/Mozilla wymagają dodatkowej wtyczki (FFClickOnce dla .Net 2.0) • Framework 3.5 SP1 i 4.0 zawierają rozszerzenie do FF - .NET Framework Assistant
Ograniczenia lokalizacji • Kod zarzadzany - lokalizacja Internet nie zezwala na uruchamianie kodu niezarządzalnego do wołania zewnętrznego kodu wymagane jest podniesienie uprawnień i assembly musi mieć atrubutAllowPartiallyTrustedCallers • WebControl – klasa pozwala umieścić kontrolke przeglądarki w formatce aplikacji – wymagany jest poziom uprawnień full trust • ODBC.NET, Remoting, WCF - wymagany full trust • XML serialization – powinien działać dla Internet zone ale nie działa (bug?) • BinarySerialization - wymagany SerializationFormatter • SoapSerialization - wymagany full trust