11 lutego
2012
09:21
Tomasz D.
Egzamin w sesji egzaminacyjnej
Po 50pkt do zdobycia z wykładu i laboratorium
Zalicza suma większa od 50% (bez progów z teorii czy laboratorium)
Platformy technologiczne
- Definicja [Technologia, Platforma] - sposób jak coś zrobić (inżynieria, Technologia) - szczegóły inżynierskie (na czym to zrobić) - to są platformy;
- Rys historyczny
- Przetwarzanie w chmurach - wiemy tylko jak coś zrobić (brak platform)
- Porównanie technologii - schemat
- Czemu nie ma PHP? - to zwykły program (interpreter nie kompilator), można go uruchomić w konsoli na maszynie - nie otrzebuje serwera WWW;
- Serwer aplikacyjny aplikacji Windows to windows server! (IIS to tylko serwer WWW)
- Warstwa runtime - po to aby aplikacja była przenośna (CLR i Java runtime);
- CLR - przenośny ale tylko na windowsach!
- Java - jvm (kilkanaście wersji)
- Warstwa obsługi bazy danych (JDBC,JPA, ADO.NET);
- Mapowanie obiektowo - relacyjne (wcześniej LINQ teraz entity …);
- Komponenty(biblioteki) prezentacji danych (Servlets,JSP,JSF,ASP.NET)
- JSF - ściągnieta technologia z Microsoft ASP.NET - w tej chwili na wymarciu obie bo zbyt zamulają
- Na końcu aplikacje najwyższego poziomu
[cała godzina na jednym slajdzie!!!]
Ostatnia modyfikacja: 2012-02-11; 10:13
Po przerwie
- Środowiska wykonawcze - tytuł slajdu
- Bytecode dla javy
- Microsoft ściągnął to i stworzył MSIL - są bardzo podobne do siebie
- PHP - Zend Server - moduł od wersji 5 - zapamiętuje się pierwszą interpretację i w następnej wersji jest wykorzystywany (zamieniony kod na bytecode) - mechanizm cache'owania - na razie zarzucone - ma być włączone w wersji 6.
- Porównanie maszyn wirtualnych JVM i CLR
- JVM - bierze bytecode i tłumaczy
- CLR - mechanizm cache'owania przetłumaczonych kodów (z MSIL )
- JIT a ENGEN
- Interpreter PHP spowalnia środowisko;
Obsługa żadania w PHP - Konfiguracja krok po kroku
- Instalacja serwer WWW
- Biblioteki
Współpraca Apache - Tomcat - Java
- Też jest serwer WWW - Apache
- Dodany Tomcat (wymaga JVM) - kontener
- Załadować trzeba moduły mod_jserv
- Komunikacja między nimi oparta o sockety
Obsługa żądania JSP - Żądanie http (klient-server)
- Serwer wysyła żądanie do kontenera (Serwer - java engine)
- W razie potrzeby JVM odczytuje plik .jsp (java engine - kompilator)
- JSP jest parsowane na kod serwletu
- Serwlet zostaje uruchomiony i generuje HTML (w sliniku Java)
- Kontener wysyła HTML do serwera
Mechanizm wolny przy pierwszym uruchomieniu
Przy kolejnych bardzo szybko (gotowe serwlety)
HTTP Runtime
- Przeglądarka - html - IIS
- IIS zwraca HTML
- Przeglądarka - aspx -IIS
- IIS ładuje bibilotekę aspnet_isapi.dll
- Przy użyciu aplikacji Inetinfo.exe ….
- Po kompilacji otrzymamy plik dll (w przypadku javy był to class);
- Obiekt po wygenerowaniu dll zostaje usunięty z pamięci (w javie był cache'owany)
Czas życia obiektów - Najszybszy JSP, ASP na drugim miejscu, i php na końcu
Przetwarzanie żądań w potoku HTTP(na przykładzie APS.NET) - Cały mechanizm ukryty przed programistą
- Aplikacja skalowalna - ten sam kod posadzony na wielu serwerach
- HttpRuntime pobiera jedną z instancji aplikacji serwera - wybiera wolną instancję
- Żądanie po obróbce trafia do fabryki obiektów usługi - rozpoznaje po rozszerzeniach
- Stronie aspx - fabryka sięga do bibliotek standardowo przypisanych do strony 9np. Page)
- Po obróbce przez moduły wylatuje to do klienta
- Przed tym w HttpContext przechowywana jest informacja o stanie sesji
- Podobny mechanizm jest w Javie (moduły nazywają się filtrami)
Czas życia obiektów - ASP.NET - zapisywany stan obiektu przed usunięciem
Kontrolki serwerowe - Znajduje się tablica kontrolek w klasie Page
- W kodzie znajduje nazwę kontrolki i przepytuje tablicę
- Po znalezieniu jej w tablicy kontrolek wywoływana jest metoda render tworząca kod html
- Po przepytaniu całej tablicy wszystko zbierane jest w całość i wyjściowo tworzy się strona html
??
Utrzymanie stanu kontrolek
Ostatnia modyfikacja: 2012-02-11; 11:15
Mechanizm sesji
- Sam serwer aplikacji nie potrafi zapewnić sesji;
- W ramach sesji: utrzymanie (wymiana inf między klientem a serwerem że one wiedzą że maj asię ze sobą komunikować) i śledzenie (obiekty przechowywania sesji);
- Śledzenie sesji
- ID sesji przechowywane po obu stronach (klient - serwer)
- ID sesji po stronie serwera przechowywane są w pamięci, pliku, lub bazie danych - wyboru dokonuje administrator serwera;
- 3 rodzaje utrzymania sesji: cookies, przepisywanie url , ukryte formsy
- Wyboru konfiguracji sesji dokonuje administrator serwera
- W jaki sposób serwer wykonuje wyboru metody?
- Użyć wszystkiego!
- Użyj cookies
- Jeśli odpowie cookies i url to serwer wie że mają być cookies
- Jeśli tylko url to musi szukać dalej (bo klient nie obsługuje cookies)
- Ustawiany zegar sesji przez administratora serwera
- Ważne jest zamknięcie sesji - można spreparować cookies przy nie zamkniętej sesji
[pare slajdów ominięto]
Wnioski - Współdzielony dostęp do danych
- Skalowalność aplikacji - sesja w pamięci -> nie da się - po dodaniu serwerów nowe nie będą miały dostępu do pamięci (trzeba zastosować pliki lub bazę)
Przechowywanie stanu sesji - InProc
- Out-of_proc
- Serwer stanu (coś jak aplikacyjny)
- Dane sesji w bazie danych (InstallSqlState.sql, InstallPersistantSqlState.sql)
- Rozwiązanie najwolniejsze ale najmniej zawodne
[dużo slajdów pominiętych][…]
WZORCE PROJEKTOWE
Wzorzec MVC - Model ustawia wartości obiektu
- Kotroler wybiera widok
JSP - W widoku osadzane są obiekty
- Klasa kontrolera - serwlet
- Klasa widoku JSP
- Klasa modelu - bean (bean ma obecnie prawo przetwarzania danych do obiektów - może być użyte przez serwlet i widok - kiedyś model to tylko baza danych)
PHP - Wadą bałaganiarstwo (brak uporządkowania standardów)
- Nowe frameworki wymuszają wzorzec mvc
- [Mało opisu php]
ASP - Stary asp wykorzystywał viewState (który java ukradła do JSF), który zamulał i zdecydowano wyciąć to
- Powstał ASP.NET MVC - który nawiązuje do rowiązań Javy (pierwotnej) i PHP;
[…]pominięt slajdy - mówi że za dużo chciał powoedzieć - nie wyrobi się
Aplikacje webowe
Konfiguracja web.config
Konfiguracja global.asax
Co to jest serwer aplikacji ?
- Obsługa komunikatów
- Komunikacja z bazą danych
- Obsługa poczty
- Obsługa dostępu do katalogów
- Utrzymywanie puli połączeń
Ostatnia modyfikacja: 2012-02-11; 12:10
PRZETWARZANIE W CHMURACH
Przetwarzanie w chmurach - Modele chmury
- Kolokacja (historycznie)Hoteling, kolokacja – usługa (zwykle informatyczna) polegająca na ulokowaniu sprzętu klienta w siedzibie (serwerowni) dostawcy, który zobowiązuje się do utrzymania tego sprzętu.
Usługa świadczona przez ISP polegająca na udostępnieniu zasobów serwerowni. W ramach usługi klient może otrzymywać miejsce w szafie serwerowej, dostęp do sieci, zasilanie i wsparcie administratorów, samemu dostarczając serwer(y), czym różni się ta usługa od hostingu. - IaaS - zapewnienie infrastuktury
- PaaS - zapewnienie platformy
- SaaS - jak google docs, lub sklep inter netowy (zapewnienie aplikacji)
- Dostępne platformy:
- NET - MS Azure
- Java - Google Apps Engine, Amazon…
- PHP - MS Azure
Windows AZURE
Zasadność stosowania - Chwilowe zapotrzebowanie na większą moc obliczeniową (np.. Sklep internetowy w okresie świątecznym)
[Cennik] - Koszty- najmniej ok. 280 zł, optymalnie 1000 zł/ miesiąc (windows Azure)
- Z Home.pl ok. 850 zł;
- Możliwość rozliczenia godzinowego (windows azure i amazon);
\Windows Azure składa się z trzech elementów: - aplikacje(wgrywanie),
- baza danych(storage - pamięci folderowe/plikowe,
- struktura płaska,
- Baza danych
- Struktura kolejek
- Moduł diagnostyczny
- Azure Fabric
Brak komentarzy:
Prześlij komentarz