Wstęp do ASP.NET Arkadiusz Popa Serwery Aplikacji

Slides:



Advertisements
Podobne prezentacje
Longhorn Academy - AD Warszawa, 12 kwietnia 2007
Advertisements

20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Decyzje projektowe w .NET Framework
Wprowadzenie do C++ Zajęcia 2.
ADAM Active Directory w trybie aplikacyjnym
CLR na platformie .NET Tomasz Kostarski.
ASP.NET 2.0 AJAX Extensions 1.0
Architektura systemu Gra strategiczna „Strusia Jama”
Politechnika Gdańska WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI
Platforma .Net i Vs.Net.
Tworzenie ASP.NET Web Form
Arkadiusz Twardoń ZTiPSK
PSZ wykład 1 > Systemy i środowiska zintegrowane
Wykład 2. Wprowadzenie do architektur systemów rozproszonych
ASP.NET i platforma.NET Technologie internetowe ( ) Tomasz Popów
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Information Bridge Framework platforma integracji Microsoft Office 2003 z aplikacjami Line of Business Krzysztof Michalski10/01/2005.
Enteprise Java Beans Emil Wcisło.
Wzorce projektowe w J2EE
Microsoft Serwer - wprowadzenie
Systemy zarządzania treścią CMS
1/18 LOGO Profil zespołu. 2/18 O nas Produkcja autorskich rozwiązań informatycznych dla małych i średnich firm w zakresie systemów: Baz danych Aplikacji.
Analiza, projekt i częściowa implementacja systemu obsługi kina
System katalogowania. Opis i architektura.
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
C# Windows Forms Zastosowania Informatyki Wykład 2
.NET gdzie szukać? .NET co warto wiedzieć?
Rozwój aplikacji przy wykorzystaniu ASP.NET
Aplikacje Internetowe
Witold Bołt Wprowadzenie do .NET Witold Bołt
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
Podstawy programowania II
Opracował : Przemysław Drzymała
Lokalne serwery www Serwer WWW - ang. Web server jest to oprogramowanie zainstalowane na serwerze podłączonym do sieci Internet. Używające technologii.
Licencjonowanie narzędzi dla programistów
Systemy zarządzania treścią Content Management System
Prezentacja i szkolenie
Arkadiusz Twardoń ZTiPSK
Witold Bołt. Agenda W czym tkwi problem..? Po co jest oprogramowanie? Kim jest użytkownik? Zbieranie danych Co to jest design Współpraca programista-projektant.
Przygotował: Paweł Ziaja
JAVA.
Wykonał: Michał Nikołajuk
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
Kostyantyn Doronovych, 79129, sr1640 Łukasz Marciniak, 79166, sr1640
SOS SYSTEM OBSŁUGI SZKOŁY
Systemy zarządzania treścią Wykład 5
SPECJALNOŚĆ: Oprogramowanie Systemowe
Technologie programowania systemów internetowych
Technologie internetowe Wykład 7 Kontrola danych użytkownika.
Projektowanie Aplikacji Internetowych Artur Niewiarowski Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Treści multimedialne - kodowanie, przetwarzanie, prezentacjaOdtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
System operacyjny Windows
Technologie internetowe i mobilne
1 Analiza możliwości języka C# w aspekcie oprogramowania dla myszy Łukasz Łysyganicz Nr indeksu Praca napisana pod kierunkiem: Prof. nzw. Dr hab.
Podstawy języka skryptów
Programowanie w językach skryptowych
Platforma .Net.
Podstawy programowania
Temat: Porównanie technologii php,c# oraz javascript na przykładzie webaplikacji typu społecznościowy agregator treści Autor: Wojciech Ślawski.
Języki i technologie wytwarzania stron WWW Autor: Michał Walkowski Referat.
Aplikacje Baz Danych ASP.NET
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
 Podstawowy składnik.NET Framework  Technologia tworzenia w pełni dynamicznych stron internetowych działających po stronie serwera  Zorientowanie na.
Wyższa Szkoła Informatyki i Zarządzania W Bielsku-Białej Kierunek informatyka Specjalność : Systemy informatyczne Praca dyplomowa inżynierska : System.
Wstęp - Prosta aplikacja internetowa w technologii Java EE 5
Windows Workflow Foundation
Aplikacje i usługi internetowe
Podstawy programowania
Zapis prezentacji:

Wstęp do ASP.NET Arkadiusz Popa Serwery Aplikacji Arkadiusz Popa, WMiI, UŁ 1 1

Co na wykładzie … Omówienie architektury platformy .NET CLR … wspólne środowisko uruchomieniowe Różnica … statyczne a dynamiczne www ASP.NET … omówinie ogólne ASP.NET … wymagania Developerskie Klienckie ASP.NET … omówienie działania Gotowe komponenty … Web forms Obsługa zdarzeń … Event Handling Jak odciążyć serwer … Validators Użycie Arkadiusz Popa, WMiI, UŁ 2 2

Omówienie architektura platformy .NET Czym jest platforma .NET? Oprogramowaniem łączącym informacje, ludzi, systemy, urządzenia (def. Microsoft) Platforma programistyczna opracowana przez Microsoft, obejmująca środowisko uruchomieniowe (CLR) oraz biblioteki klas dostarczające standardowej funkcjonalności dla aplikacji. (def. Wikipedia) Zintegrowane środowisko do tworzenia, kompilowania, testowania, zarządzania i utrzymania aplikacji spełniających wymagania klienta Arkadiusz Popa, WMiI, UŁ 3

Omówienie architektura platformy .NET cd … Czym jest platforma .NET? Środowisko wspierające różne języki programowania: C++, C#, VB i inne, z zestawem bibliotek do wykorzystania na różnego typu platformach systemowych, Środowisko posiadające rozbudowane nowe API (Application Programming Interface) Arkadiusz Popa, WMiI, UŁ

Omówienie architektura platformy .NET Różnice w API Stare API aplikacje kompilowane do kodu maszynowego, komunikujące się z systemem poprzez zestaw funkcji (WIN32) problem z przenośnością między różnymi procesorami, albo nie wykorzystanie ich możliwości problem z przenośnością między różnymi wersjami systemów Windows Nowe API kod pośredni – CIL kompilacja metod klasy w momencie pierwszego wywołania. Zmiana w budowie bibliotek klas. Arkadiusz Popa, WMiI, UŁ

Architektura.NET Framework Cechy platformy .NET (czyli co zrobiono dla developerów) Programowanie obiektowe – pełne wsparcie Garbage Collector - zarządzanie czasem życia obiektów C++, C#, J#, VB, … -możliwość programowania w wielu językach … nawet w ramach jednej aplikacji!! .NET Class Library - zbiór dostarczanych klas podstawowych Arkadiusz Popa, WMiI, UŁ 6

Architektura platformy .NET .NET Framework - Budowa C# C++ VB C++ … Web Forms Web Sercices Windows Forms ADO .NET + XML Class Library CLR Message Queueing IIS WMI COM + WIN 32 Arkadiusz Popa, WMiI, UŁ 7

CLR Wspólne środowisko uruchomieniowe (Common Language Runtime, w skrócie CLR) to podstawa całego systemu .NET Framework. Wszystkie języki środowiska .NET (na przykład C# czy Visual Basic .NET), a także wszystkie biblioteki klas obecne w .NET Framework (ASP.NET, ADO.NET i inne) oparte są na CLR. Ponieważ nowe, tworzone przez Microsoft oprogramowanie, także oparte jest na .NET Framework, każdy, kto chce korzystać ze środowiska Microsoft, prędzej czy później będzie musiał zetknąć się z CLR. (def: wikipedia) Środowisko CLR kompiluje i wykonuje zapisany w standardowym języku pośrednim Microsoft (CIL) kod aplikacji zwany kodem zarządzanym (ang. managed code), zapewniając wszystkie podstawowe funkcje konieczne do działania aplikacji. Podstawowym elementem CLR jest standardowy zestaw typów danych, wykorzystywanych przez wszystkie języki oparte na CLR, a także standardowy format metadanych, służących do opisu oprogramowania wykorzystującego te typy danych. CLR zapewnia także mechanizmy umożliwiające pakowanie kodu zarządzanego w jednostki zwane podzespołami. Arkadiusz Popa, WMiI, UŁ

Pierwsze uruchomienie Architektura platformy .NET Developer Kompilacja do CIL CIL Zbudowanie (Build) PLIK Pierwsze uruchomienie Użytkownik Kompilacja, uruchomienie CLR Arkadiusz Popa, WMiI, UŁ 9

Jak zmieniać treść dynamicznie? Strony statyczne a dynamiczne Strony statyczne HTML Treści statyczne Ograniczenia funkcjonalności Problemy techniczne, np.: aktualizacje Jak zmieniać treść dynamicznie? <html> <head> <title>Statyczna strona html</title> </head> <body> <h1>Dzień dobry i dobrywieczór</h1> Obecnie, jak i w przyszłości jesteś zawsze 1 odwiedzającym </body> </html> Jak zmieniać ilość? Arkadiusz Popa, WMiI, UŁ 10

Strony dynamiczne Strony dynamiczne Funkcjonalność ograniczona aktualnymi technologiami Treści zmieniane dynamicznie Asynchronizacja, np.Ajax HTML jest tylko efektem końcowym Treści zmieniają się z kazdym odswieżeniem strony <html> <head> <title>Dynamiczna strona html</title> </head> <body> <h1>Dzień dobry, mamy dokładnie 7:00, dziś jest 10.10.2008. Miłego dnia</h1> Jesteś 12345 odwiedzającym, a dziś jesteś 3. </body> </html> Wartości generują się automatycznie Arkadiusz Popa, WMiI, UŁ 11

ASP.NET co to za twór ? Nowoczesna technologia tworzenia dynamicznych stron internetowych Graficzne GUI Wbudowane i dostosowane do www obiekty Technologia wykorzystujące platformę MS .NET Framework Wykorzystuje wspólne środowisko uruchomieniowe CLR Następca ASP - Active Server Pages Arkadiusz Popa, WMiI, UŁ 12

ASP.NET co to za twór ? Dwie funkcjonalności: Web Forms –strony www Web Services – rozproszone usługi internetowe Generuje kod niezależny od przeglądarki Pozwala na tworzenie stron w wielu językach programowania Posiada wbudowane mechanizmy do debugowanie i profileingu Arkadiusz Popa, WMiI, UŁ

ASP.NET … mechanizmy zaawansowane Programowanie zdarzeniowe Akcje Validacje Dobre środowisko Developerskie… Visual Studio 2005/2008 Web Podpowiadani składni sprawdzenia syntaktycznej poprawności debugowanie Arkadiusz Popa, WMiI, UŁ 14

ASP.NET … mechanizmy zaawansowane Bogaty zestaw kontrolek HTML Web Forms (klasy z wbudowanymi metodami) Wbudowana obsługa mechanizmów uwierzytelniania - bezpieczeństwo Mechanizmy optymalizacyjne Buforowanie Wsparcie dla programowania urządzeń mobilnych Arkadiusz Popa, WMiI, UŁ

ASP.NET co potrzeba? Darmowy serwer ASP na którym można testować strony: kod dostępu do pobrania z C216 Developing: Maszyna z obsługą systemu Windows XP, Vista, Server 2003, Server 2008 MS Visual Studio 2005/2008 Web Express Edition – darmowy do pobrania ze stron Microsoft MSD Library – zbiór bibliotek Arkadiusz Popa, WMiI, UŁ 16

ASP.NET mix z HTML <%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <html> <head> <title>Tytuł strony – dynamiczna strone</title> </head> <body> <h2> Witam na mojej stronie</h2> Jesteś <% //Odczytanie wartości odwiedzin z pliku FileStream s = new FileStream("c:\\Licznik\\Odwiedzin.dat", FileMode.OpenOrCreate); int n; try { BinaryReader r = new BinaryReader(s); n = r.ReadInt32(); } catch { n = 0; } n++; //Podbicie wartości licznika s.Seek(0, SeekOrigin.Begin); BinaryWriter w = new BinaryWriter(s); //zapisanie nowej wartości do pliku i zamknięcie pliku w.Write(n); s.Close(); //Wyświetlenie ilości użytkowników na stronie Response.Write(n); // %> odwiedzającym. Witam. </body> </html> Arkadiusz Popa, WMiI, UŁ 17

ASP.NET Jak to działa? Counter.aspx HTML dla przeglądarki <%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> <html> <head> <title> Przykład strony …</title> </head> <body> <h2> Witam na mojej stronie</h2> Jesteś <% ... Response.Write(n); %> </body> </html> <html> <head> <title> Przykład strony … </title> </head> <body> <h1>Witamy na mojej stronie</h1> Jesteś 10 … </body> </html> Arkadiusz Popa, WMiI, UŁ 18

Web forms Kontrolki: Serwerowe HTML umożliwiają tworzenie programowalnych stron internetowych, służących jako interfejs użytkownika aplikacji internetowych Wszystkie elementy GUI są obiektami W ramach obiektów jest dostęp do metod i ich właściwości ilosc.Text ilosc.Color … Arkadiusz Popa, WMiI, UŁ 19

Web forms - przykłady Label TextBox Button RadioButton CheckBox DropDownList CheckBox List Bullet List abc Arkadiusz Popa, WMiI, UŁ 20

Web forms - standard Calendar HiddenField Arkadiusz Popa, WMiI, UŁ 21

Web forms – dwa pliki źródłowe w jeden HTML MojPlik MojPlik.aspx MojPlik.aspx.cs Imię: Nazwisko: Imię: Nazwisko: Class MojPlik { … } *.aspx – (tryb design i source) Warstwa prezentacji *.aspx.cs – (tryb source) Warstwa logiki Te dwa pliki składają się na plik wynikowy, który przesyłany jest do przeglądarki Arkadiusz Popa, WMiI, UŁ 22

Walidatory - validators Po co używać: Walidacja danych wejściowych przez przeglądarkę klienta Odciążenie działania serwera Rodzaje: RequiredFieldValidator – pole wymagane, nie puste CompareValidator – porównanie RangeValidator – sprawdzenie przedziału RegularExpressionValidator – dostosowanie do wyrażenia regularnego … inne Arkadiusz Popa, WMiI, UŁ 23

Walidatory - metody ControlToValidate – Powiązanie kontrolki z kontrolką walidacji ErrorMessage – Treść komunikatu o błędzie IsValid – czy walidacia udana (true, false) Validate – sprawdzenie poprawności danych i powiązanie z IsValid Display – wyświetlenie komunikatu o błędzie Arkadiusz Popa, WMiI, UŁ 24