Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Platforma .NET Maria DEMS.

Podobne prezentacje


Prezentacja na temat: "Platforma .NET Maria DEMS."— Zapis prezentacji:

1 Platforma .NET Maria DEMS

2 Instalacja pakietów platformy .NET
Kolejność instalacji: 1. Microsoft .NET Framework 1.1, plik dotnetfx.exe Pakiet redystrybucyjny systemu Microsoft .NET Framework w wersji 1.1 c14b-4cff-9671-d419842d792d/dotnetfx.exe 2. Microsoft .NET Framework 1.1 — plik langpack.exe Pakiet języka polskiego, dfd6-4eca-87a1-a2fe5e580774/langpack.exe 3. Pakiet programowania Microsoft Asp.NET Web Matrix Project, plik WebMatrix.msi

3 Ogólna charakterystyka platformy .NET
Platforma .NET jest to nowej generacji środowisko przeznaczone do tworzenia oraz instalacji oprogramowania internetowego oraz aplikacji Windows. Platformę tworzą trzy podstawowe elementy: wspólne środowisko uruchomieniowe CLR, umożliwiające wykonywanie aplikacji napisanych w dowolnym języku programowania, zbiór klas tego środowiska, nowa wersja ASP.NET - dynamiczna technologia internetowa działająca po stronie serwera. Produkty .NET obejmujące zintegrowane w ramach tego środowiska główne produkty Microsoftu, takie jak Windows, Visual Studio oraz pakiet Office.

4 Ogólna charakterystyka platformy .NET
Integracja produktów .NET oparta jest na: XML- języku opisu danych, SOAP - protokole transmisji danych między produktami. Usługi .NET, umożliwiające współpracę niezależnych zespołów programistów tworzących aplikacje oparte na platformie .NET. Jako kolejne produkty przewidywane są usługi składowe, zapewniające: obsługę tożsamości, powiadamianie oraz komunikację (zintegrowana obsługa poczty elektronicznej, poczty głosowej i faksu), personalizację, przechowywanie w formacie XML, opcje kalendarza, klasyfikację katalogową i wyszukiwanie informacji oraz dynamiczną dostawę produktów platformy.

5 Ogólna charakterystyka platformy .NET
Programy napisane w Visual Studio .NET uruchamiane są w wirtualnej maszynie .NET Framework, a więc są niezależne od systemu operacyjnego. Platformę .NET Framework dla Windows 2000, Windows 98, Windows Me, można pobrać ze strony: Platforma .NET Framework dla Windows 2003 jest instalowana automatycznie podczas instalacji systemu.

6 Schemat platformy .NET C# VB C++ Java Script J# Itd. Vi-sual Stu- dio.
NET lub inne Wspólna specyfikacja języków (CLS) Język pośredni (IL) Serwisy Web Strony ASP.NET Formularze Windows Aplikacje ASP.NET ADO.NET i XML Biblioteka podstawowa (BCL) Środowisko uruchomieniowe (CLR) System operacyjny Windows Schemat platformy .NET

7 Ogólna charakterystyka platformy .NET
Rdzeń platformy stanowi .NET Framework zawierający: właściwą platformę językową i wykonawczą CLR obszerne biblioteki klas bazowych, zapewniające wysoki poziom wbudowanej funkcjonalności. .NET Framework korzysta ze standardu XML oraz protokołu SOAP. .NET Enterprise Server to rodzina produktów serwerowych, zastępujących serwery MS. Standardowym mechanizmem komunikacji komponentów platformy jest COM+. Platforma .NET oferuje rozbudowane narzędzia do generowania aplikacji internetowych korzystających z baz danych (np.. sklep internetowy), takie jak np. Web Services, ASP.NET, ADO.NET.

8 Główne komponenty platformy .NET
Architektura .NET składa się z trzech warstw: Interfejsy użytkownika i programowe ASP.NET WinForms, Web Forms, Web Service Standardowy system usług nowej generacji ADO.NET Klasy bazowe platformy .NET XML Środowisko uruchomieniowe CLR zarządzanie pamięcią wspólny system typów monitorowanie Taka Architektura zapewnia integrację technologii prezentacji, komponentów oraz danych.

9 Środowisko uruchomieniowe CLR
Główne elementy środowiska CLR Wspólny system typów Kompilacja kodu IL Obsługa wykonywania (tradycyjne funkcje środowiska uruchomieniowego) Bezpieczeństwo Zarządzanie stosem i pamięcią, opóźnianie pamieci Ładowanie klas i układ pamięci Jest to środowisko uruchamiania aplikacji, skompilowa-nych na wspólny język pośredni MSIL lub IL

10 Główne cele środowiska CLR
Łatwiejsze i szybsze tworzenie oprogramowania. Automatyczna obsługa procesów „udrażniania”, takich jak zarządzanie pamięcią i komunikacja procesów. Proces udrażniania ułatwiło wprowadzenie metadanych generowanych przez kompilator i automatycznie przechowywane w plikach EXE lub DLL. Do metadanych na platformie .NET zaliczamy: złożenia, takie jak: publiczny klucz uwierzytelnienia, typy eksportowane przez złożenie, inne złożenia, na których oparte jest złożenie, zezwolenie bezpieczeństwa potrzebne do uruchomienia.

11 Główne cele środowiska CLR
klasy bazowe oraz interfejsy używane przez złożenia, atrybuty definiowane przez użytkownika i przez kompilator Metadane są wykorzystywane do obsługi przez CLR szerokiej grupy narzędzi, takich jak: narzędzia projektowania, narzędzia testowania, narzędzia profilowania, generatory proxy, inne kompilatory - narzędzia najczęściej używane, przeglądarki obiektów i typów, generatory schematów.

12 Główne cele środowiska CLR
Proste i bezpieczne wdrażanie aplikacji: aplikacje tworzone w środowisku .NET można instalować przez skopiowanie plików na dysk lub z płyty CD i uruchomienie aplikacji, gdyż kompilatory .NET wstawiają identyfikatory w kompilowane moduły, a CLR automatycznie zarządza tymi identyfikatorami. istnieje możliwość wykonywania jednocześnie kilku wersji tego samego komponentu, którymi CRL zarządza i wybiera zdefiniowaną wersję. Aplikacje tworzone w .NET instalują jedynie własna logikę bez środowiska uruchomieniowego lub np. modułów obsługi ADO lub XML).

13 Główne cele środowiska CLR
Skalowalność, która głównie dotyczy: funkcji wykonawczych działających na poziomie systemu, wykorzystywanych do tworzenia aplikacji w środowisku .NET, zarządzania pamięcią i przetwarzania; pamięć w środowisku CLR jest automatycznie konfigurowana i optymalizowana, języków programowania;wszystkie języki kompilowane są na standardowy kod bajtowy języka pośredniego IL, więc praktycznie w środowisku CLR nie różnią się wydajnością, platformy sprzętowej (od palmtopów do rozbudowanych systemów sieciowych)

14 Główne cele środowiska CLR
Integracja i obsługa różnorodnych języków: W środowisku .NET Framework przy pomocy jednego języka można tworzyć podklasy klasy zaimplemento-wanej w innym języku, np. klasy napisane w VB mogą dziedziczyć z klas bazowych napisanych w C++ lub COBOL-u. Integracje języków umożliwia wspólny system typów, w którym wszystkie wspólnie używane typy danych, nawet bazowe, są implementowane jako obiekty, oraz wspólna biblioteka typów. Wykorzystanie przestrzeni nazw do organizowania bibliotek i hierarchii obiektów, uproszczenia używania referencji do obiektów i określania zakresu identyfikatorów obiektów.

15 Wdrażanie i uruchamianie programów w środowisku CLR
Aplikacja zbudowana jest z jednego lub kilku złożeń, a także może zawierać właściwe dla niej dane lub pliki. Złożenie jest jednostką wdrażania aplikacji. Może się ono składać z jednego lub kilku plików. Moduły kodu źródłowego złożenia są kompilowane na IL - język pośredni środowiska CLR, a następnie na kod wykonywalny, z wykorzystaniem mechanizmu kompilacji na żądanie JIT (Just-In-Time). W środowisku .NET kompilowane są również skrypty ASP czy VBScript, które podczas pierwszego użycia przetwarzane są na kod IL. Kompilacja skryptów jest przeprowadzana automatycznie i na bieżąco.

16 Biblioteka klas bazowych BCL
Warstwa środkowa platformy .NET obejmuje: usługi, modele obiektów danych zawierające obiekty ADO oraz ADO.NET , XML oraz klasy bazowe platformy .NET. Wszystkie języki programowania platformy .NET korzystają z tej samej biblioteki klas bazowych BCL (Base Code Library) Biblioteka BCL jest biblioteką klas języka MSIL. Klasy bazowe zostały podzielone między logiczne, hierarchicznie uporządkowane przestrzenie nazw (Namespaces) Podstawową przestrzenią nazw jest przestrzeń System, zawierające wszystkie definicje i klasy bazowe

17 Przestrzeń nazw System
Przestrzeń nazw System - zawiera podstawowe klasy oraz klasy bazowe, które definiują: najczęściej używane typy danych, zdarzenia i procedury obsługi zdarzeń, interfejsy, atrybuty i wyjątki. Inne klasy w przestrzeni nazw System udostępniają usługi związane z: konwersją typów danych, manipulowaniem parametrami metod, obliczeniami matematycznymi, zdalnym i lokalnym wywoływanie programów zarządzaniem środowiskiem aplikacji, nadzorowaniem kodu.

18 Przestrzenie nazw Kolejne w hierarchii są przestrzenie niskiego poziomu, takie jak: System Collection - zawiera klasy zawierające definicje sposobu porządkowania danych System.Configuration - zawiera klasy i interfejsy które pozwalają na programowy dostęp do ustawień konfiguracyjnych .NET Framework i obsługę błędów w plikach konfiguracyjnych (pliki .config).

19 Przestrzeń nazw System
System.Data - zawiera głównie klasy składające się na architekturę dostępu do danych ADO .NET. Architektura ta umożliwia tworzenie komponentów, które pozwalają na wydajne zarządzanie danymi pochodzącymi z różnych źródeł. System.Data.Common - zawiera klasy współdzielone przez dostawców danych .NET Framework. System.Data.ODBC - zawiera klasy składające się na .NET Framework Data Provider for ODBC, czyli dostawcę danych dla interfejsu ODBC System.Data.OleDB - zawiera klasy składające się na .NET Framework Data Provider for OleDB

20 Przestrzeń nazw System
System.Data.SqlClient - zawiera klasy składające się na .NET Framework Data Provider for SQL Server, czyli dostawcę danych dla serwera MS SQL Server. System.Data.SqlTypes - udostępnia klasy reprezentujące rodzime typy danych serwera Microsoft SQL Server. System.Diagnostics – udostępnia klasy służące do śledzenia wykonania kodu i usuwania błędów (np..Debug) System.DirectoryServices – umożliwia wygodny dostęp do Active Directory z poziomu kodu zarządzanego

21 Przestrzeń nazw System
System.Drawing - umożliwia dostęp do podstawowej funkcjonalności graficznej biblioteki systemowej GDI+. System.Drawing.Drawing2D - udostępnia zaawansowaną funkcjonalność związaną z grafiką 2D i grafiką wektorową. System.Drawing.Text - udostępnia zaawansowaną funkcjonalność związaną z typografią i wykorzystaniem kolekcji czcionek System.IO - zawiera typy umożliwiające synchroniczny i asynchroniczny odczyt i zapis strumieni danych i plików.

22 Przestrzeń nazw System
System.Net - udostępnia proste interfejsy programistyczne dla wielu protokołów używanych we współczesnych sieciach. System.Runtime.InteropServices - Udostępnia różnorodne klasy obsługujące współpracę z modelem COM i wywoływanie usług systemowych. System.Runtime.Serialization - Zawiera klasy które mogą być używane do serializowania i deserializowania obiektów. Proces serializacji polega na konwersji obiektu lub całego grafu obiektów do postaci liniowej sekwencji bajtów, którą można następnie zachować lub przesłać do innej lokalizacji. Deserializacja jest procesem odwrotnym.

23 Przestrzeń nazw System
System.Net.Sockets - Udostępnia zarządzaną implementację interfejsu Windows Sockets System.Security - Umożliwia dostęp do podsystemu zabezpieczeń .NET Framework. System.Security.Cryptography - Udostępnia usługi kryptograficzne, w tym bezpieczne kodowanie i dekodowanie danych, tworzenie skrótów jednokierunkowych, generowanie liczb losowych i uwierzytelnianie komunikatów. System.Text.RegularExpressions - Zawiera klasy umożliwiające manipulacje na wyrażeniach regularnych.

24 Przestrzeń nazw System
System.Threading - Zawiera klasy i interfejsy umożliwiające programowanie wielowątkowe. System.Timers - Zawiera komponent Timer umożliwiający wywoływanie zdarzenia w określonych odstępach czasu. System.Web - Zawiera klasy i interfejsy umożliwiające komunikację przeglądarki internetowej z  serwerem, a ponadto: manipulacje plikami cookie, transfer plików, obsługę wyjątków i zarządzanie buforem wyjściowym. System.Web.Caching - Zawiera klasy pozwalające na buforowanie często używanych danych po stronie serwera.

25 Przestrzeń nazw System
System.Web.Configuration - Zawiera klasy pozwalające na odczyt i modyfikację konfiguracji ASP .NET System.Web.Mail - Zawiera klasy umożliwiające tworzenie i wysyłanie wiadomości za pośrednictwem komponentu CDOSYS Messaging. System.Web.Security - Zawiera klasy używane do implementowania zabezpieczeń ASP .NET w aplikacjach sieci Web. System.Web.Services - Zawiera klasy umożliwiające tworzenie usług webowych XML Web Serwices oraz klientów tych usług.

26 Przestrzeń nazw System
System.Web.SessionState - Zawiera klasy i interfejsy umożliwiające przechowywanie danych specyficznych dla poszczególnych klientów aplikacji ASP .NET. Informacje o stanie sesji dają użytkownikowi wrażenie stałego połączenia z aplikacją. Informacje o stanie sesji mogą być przechowywane w lokalnej pamięci procesu na serwerze Web lub np. w  zewnętrznej bazie danych SQL Server. System.Web.UI - Zawiera klasy umożliwiające tworzenie kontrolek HTML działających po stronie serwera. Kontrolki HTML są mapowane bezpośrednio na tagi HTML interpretowane przez przeglądarki internetowe i pozwalają na programowe manipulowanie elementami HTML na stronie internetowej.

27 Przestrzeń nazw System
System.Web.UI.WebControls - Zawiera klasy umożliwiające umieszczanie na stronie internetowej kontrolek webowych działających po stronie serwera, takich jak elementy formularzy (np. przyciski i pola tekstowe), oraz takich jak kalendarz czy DataGrid. Mogą być one manipulowane za pośrednictwem kodu działającego po stronie serwera, a ich model obiektowy niekoniecznie musi przekładać się na kod HTML. System.Windows.Forms - Zawiera klasy umożliwiające tworzenie funkcjonalnych aplikacji działających pod kontrolą systemu Microsoft Windows.

28 Przestrzenie nazw System.Math - biblioteka funkcji matematycznych (np..Sqrt, Cos, Log, Min) System.Reflection - funkcje analizy metadanych (np..Assembly, Module) System.Xml - Zawiera klasy umożliwiające przetwarzanie dokumentów XML.

29 Przestrzenie nazw Microsoft.Csharp - zawiera klasy obsługujące kompilację i generowanie kodu przy użyciu języka programowania C#. Microsoft.Jscript - zawiera klasy obsługujące kompilację i generowanie kodu przy użyciu języka programowania JScript. Microsoft.VisualBasic - zawiera klasy obsługujące kompilację i generowanie kodu przy użyciu języka programowania Visual Basic .NET.

30 Interfejsy użytkownika
Warstwa górna platformy .NET umożliwia trzy sposoby wyświetlania i zarządzania interfejsem. Są to: formularze Windows, formularze Web oraz aplikacje konsolowe. Formularze Widows (WinForms) oparte są na klasach Windows Foundation Classes (WFC), utworzonych dla J++, będące częścią klas środowiskowych przestrzeni nazw System.Windows.Forms. WinForms oparty jest na mechanizmie tworzenia formularzy Visual Basica. W VisualStudio.NET do tworzenia formularzy służy wizualny kreator EWinForms.

31 Interfejsy użytkownika
Formularze Web (WebForms) stanowią nową generacje narzędzi tworzenia interfejsów WWW. Podstawowe narzędzia WebForms to: szablon zawierający kod HTML, z informacjami na temat sposobu wyświetlania wszystkich elementów interfejsu, komponent zawierający informacje o strukturze logicznej interfejsu. Formularze Web składają się z dwóch części: pierwsza zawiera informacje o kontrolkach i ich rozmieszeniu, druga zawiera kod, przy czym zdarzenia w kontrolkach uruchamiają schematy zdarzeń w kodzie.

32 Interfejsy użytkownika
Kontrolki w Formularzach Web obsługiwane są na serwerze, ale wynik ich działania dostępny jest na komputerze klienta. Dla elementów interfejsu użytkownika, formularza Web lub strony ASP na serwerze tworzony jest serwer pośredniczący proxy. Kontrolka działająca po stronie serwera sprawdza lokalną strukturę logiczną i tworzy własny interfejs użytkownika w postaci kodu HTML, rozsyłany we wszystkich stronach zawierających kontrolki. Kontrolki działające na serwerze mogą zarządzać własnym stanem.

33 Interfejsy użytkownika
Formularze Web wysyłają wraz ze stroną skompresowaną informację o stanie do przeglądarki klienta, a kontrolki po stronie serwera ją przechwytują i wykorzystują przy generowaniu strony. W środowisku .NET Framework dostępny jest interfejs do tworzenia aplikacji konsolowych. Do interfejsu konsolowego mogą być zapisywane zintegrowane komponenty zawarte w procesach przetwarzających w trybie wsadowym. Interfejs konsolowy, podobnie jak formularze Windows i formularze Web dostępny jest dla aplikacji napisanej w dowolnym języku platformy .NET.

34 Interfejsy programowe
Interfejsem programowym są usługi Web, umożliwiające tworzenie aplikacji wykorzystujących rozproszone lokalne i zdalne zasoby, integrowane w spójne rozwiązanie. Na platformie .NET usługi Web są implementowane jako cześć technologii ASP .NET, która obsługuje wszystkie interfejsy WWW. Technologia ta pozwala integrować w jednolite aplikacje rozproszone usługi internetowe. Integrację na platformie .NET zapewnia w znacznym stopniu język XML. W postaci XML są najczęściej przechowywane metadane. Technologia XML jest wykorzystywana w ADO.NET, umożliwiając zdalne zarządzanie i reprezentacje danych.

35 Interfejsy programowe
Platforma .NET umożliwia sprawne posługiwanie się komponentami dotychczasowej technologii oprogramowania COM/COM+, tak jakby były one komponentami .NET. Translacja interfejsu przebiega automatycznie. Pierwszym komponentem platformy .NET jest Visual Studio .NET - kolejna wersja Visual Studio. Visual Studio .NET zawiera języki: Visual Basic, Visual C++, C# (który zastąpił J++). Wszystkie języki Visual Studio.NET używają identycznego zintegrowanego środowiska programistycznego IDE (Integrated Development Environment).

36 Instalacja Visual Studio .NET
Przy instalacji Visual Studio .NET zostaną zainstalowane komponenty:

37 Następny krok to opcje instalacji.
Do tworzenia ASP.NET potrzebne będzie >>>>

38 .NET Framework SDK ( niezbędne)
Visual Basic .NET lub C# .NET (oba języki maja ta możliwość) .NET Framework SDK ( niezbędne)

39 Strona startowa Visual Studio .NET

40 Start Page in Visual Studio .NET.
Navigation Buttons Location bar Recent projects Hidden windows (Server Explorer and Toolbox) ASimpleProgram Project

41 Szablony projektów Po wybraniu opcji New Project, otworzy się okno New Project, zawierające szablony projektów. Windows Application

42 Szablony projektów Najważnieksze szablony projektów dostępne w Visual Studio.NET są następujące: Windows Application - szablon standardowego programu typu EXE, komunikującego się z uzytkownikiem za pomocą interfejsu graficznego, Class Library - biblioteka klas zawierająca pliki DLL, Windows Control Library - szablon programu typu OCX, pozwalający tworzyć kontrolkiX, ASP .NET Web Application - szablon programu typu DLL, pozwalający tworzyć programy uruchamiane w przeglądarkach internetowych zdalnych użytkowników.

43 Szablony projektów WebApplication ASP .NET programowana z wykorzystaniem Visual Basic .NET

44 Szablony projektów Console Application - szablon programu typu EXE, działającego w wierszu polecenia systemu Windows, Windows Service - szablon programu typu EXE, uruchamianego jako usługa systemu Windows. W celu utworzenia nowego projektu należy wybrać jego typ, a następnie szablon oraz podać nazwę i określić (lub zaakceptować domyślną) lokalizację projektu. Okno nowo utworzonego projektu ma podobną postać zarówno dla Windows Application jak i dla Web Application i zawiera okienka: Solution Explorer umożliwiające zarządzanie plikami, Properties umożliwiające ustawienie własności.

45 Design view of Visual Studio .NET.
Solution Explorer Tabs Menu bar Active tab Properties window Form (Windows application) titled Form1

46 Projekt, pliki i dokument

47

48 Down arrow indicates additional commands are available
IDE toolbar. Toolbar icon indicates a command to open a project or solution Toolbar Down arrow indicates additional commands are available Toolbar Contains icons that represent commonly used commands Down arrow indicates additional commands

49 Tool-tip demonstration.
Tool tip displayed when the mouse pointer has rested on the icon for a few seconds Tool tip Appears when mouse pointer held over icon Displays description of icon

50 Toolbar icons for three Visual Studio .NET IDE windows.
Properties icon Solution Explorer icon Toolbox icon Toolbar icons Contains commands for opening: Solution Explorer window Properties window Toolbox

51 Toolbox displaying the contents of the Windows Forms tab.
Tabs Scroll arrow (disabled) Controls Additional Windows Forms tab controls (displayed after the down-scroll key has been clicked several times Scroll arrow (enabled) Tabs

52 Properties window displaying a Form’s properties.
Object’s class (System.Windows.Forms.Form) Object’s name (Form1) Component object box Down arrow for selecting Form or control objects Categorized icon Toolbar Alphabetic icon Scrollbar Selected property Scrollbox Design icon Properties (left column) Description of selected property Property values (right column)

53 Solution Explorer Kliknięcie na którymś elemencie w Solution Explorer powoduje pojawienie się okna Properties pokazujące szczegółowe informacje o elemencie.

54 Displaying a hidden window with Auto Hide enabled.
Title bar Horizontal pin icon (Auto Hide enabled) Mouse pointer over the tab for the Toolbox Toolbox is displayed when the mouse pointer is placed on the tab for the Toolbox

55 Hiding the Toolbox by moving the mouse pointer outside of Toolbox’s area.
Mouse pointer outside the tab for the Toolbox (Toolbox windows is hidden)

56 Solution Explorer Po rozwinięciu w oknie Solution Explorer folderu References, można zobaczyć listę automatycznie ustawionych przestrzeni nazw. Projekt typu Windows Application zawiera domyślny formularz Form1.vb, natomiast projekt typu Web Application zawiera domyślny formularz WebForm.aspx Po kliknięciu w oknie Solution Explorer prawym klawiszem formularza można z menu kontekstowego wybrać View Code (okienko edytora kodu) lub View Designer (projekt formularza).

57 Atrybuty projektu Lista atrybutów projektu jest podzielona na dwie grupy: Common Properties Configuration Properties W sekcji General obu typów atrybutów można określić nazwę programu i obiekt startowy. Typ programu można zmieniać w ograniczonym zakresie; nie można zmienić programu tworzonego przy pomocy szablonu Windows Application na program typu Web Application. Otwierając projekt należy wskazać plik z rozszerzeniem .sln

58 Dodawanie kontrolek Okno Toolbox zawiera wiele zakładek (np.. Web Forms, Data, HTML) Każda zakładka rozwija się po kliknięciu, Zakładki zawierają kontrolki takie jak Label (etykieta), Text Box (pole tekstowe), itp. Kontrolki „przeciągamy” na dokument, a następnie będziemy mogli zmieniać ich właściwości.

59 Kontrolki Data Obsługują wyświetlanie i wysyłanie danych z i do bazy.
Po przeciągnięciu usta-wiamy ich właściwości w oknie Properties Solution Explorer zawiera kontekstową pomoc w oknie Dynamic Help

60 Języki plarformy .NET Języki używane na platformie .NET muszą być zgodne ze specyfikacją języków CLS (Commin Language Specyfication). Rozróżnia się trzy kategorie zgodności języków platformy .NET: zgodność produkcji - wymienne komponenty języka, zgodność użytkowania - wymienne klasy, rozszerzalność, w wyniku dziedziczenia. Wszystkie języki Visual Studio musza podlegać konwersji przy przenoszeniu na platformę .NET ze względu na pewne różnice składniowe.

61 Środowisko CLR Środowisko uruchomieniowe CLR (Common Language Runtime) odpowiada za zarządzanie i wykonanie kodu skompilowanego do platformy .NET. Umożliwia ono: płynną integrację kodów napisanych w różnych językach, zadeklarowanie odpowiedniego poziomu bezpieczeństwa dla kodu zarządzalnego, sterującego zezwoleniami, obsługę kilku wersji równocześnie oraz wdrażania, profilowanie i testowanie kodu zarządzalnego, automatyczne zarządzanie pamięcią, kompilację kodu zarządzalnego na kod pośredni IL, a następnie na kod wykonywalny. CRL może być przeniesione na inne platformy sprzętowe i do innych systemów operacyjnych.

62 Struktura aplikacji .NET
Aplikacja .NET składa się z trzech podstawowych elementów: Złożenie Manifest Moduł Metadata Język pośredni IL TYP metody, właściwości, pola TYP metody, właściwości, pola

63 Struktura aplikacji .NET
Złożenie (assembly) - jest to podstawowa jednostka wdrożeniowa kodu zarządzalnego. Składa się ono z: manifestu - zawierającego: informacje o tożsamości złożenia (nazwa, nr. wersji, klucz publiczny), deklaratywne żądania potwierdzenia bezpieczeństwa (wymagane, opcjonalne i odrzucone), listę powiązanych złożeń, listę innych używanych typów i zasobów. Manifest przechowywany jest w oddzielnym pliku lub w jednym z modułów jednego lub kilku modułów.

64 Struktura aplikacji .NET
Moduły - są to pliki DLL lub EXE Windows PE (Portable Executable). Moduł zawiera: kod języka pośredniego IL, metadane powiązane z kodem IL, dostarczające informacji na temat typów deklarowanych w IL, manifest złożenia. Typy - są to szablony używane do opisu hermetyzacji danych oraz powiązanego zbioru zachowań. Zakres typów jest ustawiany na poziomie złożeń. Platforma .NET wprowadza wspólny system typów CTS Typ ma właściwości, metody oraz pola, stanowiące dane elementów w obrębie typu.

65 Struktura aplikacji .NET
Metadane - są to informacje pozwalające komponentom na samoopisanie się. Określają one takie aspekty komponentu jak klasy, metody, pola oraz samo złożenie. W środowisku CRL metadane pozwalają na analizę i weryfikację złożenia przed jego uruchomieniem oraz na porządkowanie pamięci podczas wykonywania kodu zarządzalnego i innych procesów. W modelach COM/COM+ metadane przechowywane są oddzielnie od części wykonywanej aplikacji, natomiast metadane opisujące komponent .NET są przechowywane w zawierającym go pliku, co umożliwia wykorzystanie komponentów bezpośrednio po skopiowaniu do systemu, bez dodatkowej rejestracji.

66 Struktura aplikacji .NET
Dostęp do wszystkich metadanych powiązanych z kodem zarządzalnym jest możliwy dzięki interfejsowi Reflection API. Interfejs Reflection API pozwala analizować metadane powiązane z bieżąco wykonywanym złożeniem. Dostęp do metadanych powiazanych z typem uzyskujemy za pomocą obiektu Type, zwracanege przez metodę GetType znajdujaca się w System.Object. Metoda Type.Method umozliwia nawigację w górę hierarchii obiektów. Dostęp do metadanych powiazanych z poszczególnymi polami, własciwościami oraz metodami umozliwiają metody Type.GetFields, Type.GetMethods oraz Type.GetProperties.

67 Wspólny system typów CTS
Wspólny system typów CTS umożliwia każdemu językowi programowania korzystanie z podstawowego systemu typów oraz mechanizmów rozszerzania tych typów. Rozróżniamy dwa rodzaje typów CTS: typy refernecyjne, będące odpowiednikami klas, typy wartości odpowiadające strukturom. Każdy typ obsługiwany przez CTS jest wyprowadzany z przestrzeni nazw System.Object i obsługuje następujące metody: Boolean Equals (Object) - sprawdza równoważność z innym obiektem

68 Wspólny system typów CTS
Int32 GetHashCode ( ) - generuje liczbę odpowiadającą wartości obiektu, Type GetType - pozwala użyć obiektu Type w celu uzyskania dostępu do metadanych powiązanych z typem, StringToString - domyślnie, zwraca pełna nazwę klasy obiektu. Podstawowe typy wartości (tzw. typy proste - primitive types) obsługiwane na platformie .NET dostępne są w głównej przestrzeni nazw System. Są to: Boolean - typ logiczny, Byte - jeden bajt bez znaku ( ), Sbyte - 8-mio bitowa wartość liczby całkowitej ze znakiem (-128 do +127),

69 Wspólny system typów CTS
GUID - unifikatowy identyfikator (128 bitowa liczba całkowita), Int16, Int32, Int64 - odpowiednio 16-, 32, 64-bitowa wartość liczby całkowitej ze znakiem, Decimal - 28 cyfr znaczących ze znakiem Double - 64-bitowa liczba zmiennoprzecinkowa ze znakiem, Single - 4-bajtowa liczba zmiennoprzecinkowa ze znakiem, DateTime - wartość daty i czasu, TimeSpan - czas ze znakiem, Char - wartość znaku Unicode.

70 Wspólny system typów CTS
Przestrzeń nazw System.XML zawiera typy potrzebne do tworzenia dokumentów XML. Przynależność typu do kategorii typów wartości lub typów referencyjnych zależy od sposobu traktowania jego instancji przez środowisko CRL: instancje typów wartości są tworzone na stosie; dwie zmienne typu wartości są sobie równe, jeśli ich stany są równe instancje typów referencyjnych są tworzone na stercie zarządzalnej - są one inicjalizowane wartością NULL. Dwie zmienne typu referencyjnego są sobie równe, jeśli obie stanowią odwołanie do tego samego obiektu.

71 Tworzenie własnych typów
Definiowanie typów referencyjnych na platformie .NET polega na deklarowaniu klas. Instancje obiektów typów referencyjnych tworzymy przy pomocy operatora new i inicjalizujemy za pomocą konstruktora lub w instrukcji przypisania. Definiowanie typów wartości na platformie .NET polega na deklarowaniu struktur. Wszystkie typy wartości są pochodną metody System. ValueType, która przesłania metody Object.Equals oraz Object.GetHashCode. Modyfikowanie i dostęp do danych hermetyzowanych przez instancję typu wartości jest możliwe tylko przez odpowiadająca im zmienną.

72 Pakowanie typów wartości
Pakowanie typów wartości (boxing) ma miejsce gdy instancja typu wartości jest to konwertowana na instancje typu referencyjnego, natomiast odpakowanie typów wartości ( unboxing) jest procesem odwrotnym. Pakowanie typów wartości może być formalne i nieformalne. Formalne pakowanie instancji typów wartości stosujemy, gdy zachodzi konieczność przekazania jej do metod wymagających typu referencyjnego.

73 Atrybuty Atrybuty służą do określania dodatkowych informacji o takich elementach jak złożenia, klasy, metody oraz właściwości. Mogą one: mieć znaczenie czysto informacyjne, być wykorzystane do zażądania określonego zachowania podczas wykonywania programu, do wywołania określonego zachowania innej aplikacji. Na platformie .NET można tworzyć własne atrybuty metadanych opisujących komponenty. Atrybuty mogą być stosowane do metod i do klas. Przy tworzeniu atrybutu należy zdefiniować klasę atrybutu, będącą pochodną klasy System.Attribute, która nie powinna być rozszerzalna i musi mieć przynajmniej jeden konstruktor.

74 Dane zarządzalne Jedną z najważniejszych możliwości środowiska CLR jest zarządzanie danymi aplikacji, alokowanymi na stercie zarządzalnej. Sterta zarządzalna jest to obszar pamięci alokowany i zarządzany przez środowisko CLR, w której umieszczane są wszystkie obiekty zarządzalne, a zwłaszcza typy referencyjne. CRL nadzoruje dostęp do tych obiektów, zachowując bezpieczeństwo typów. Sterta zarządzalna cechuje się wydajną alokacją pamięci, lokując pamięć dla kolejnych obiektów dokładnie nad ostatnio przydzielonym fragmentem pamięci, do którego sterta zarządzalna utrzymuje odwołania.

75 Dane zarządzalne Obiekty, do których nie ma już odwołań są usuwane przez automatyczny odśmiecacz, który jednocześnie przesuwa pozostawione obiekty w dół sterty zarządzalnej, wypełniając luki po obiektach usuwanych. Pozwala to na eliminację fragmentacji pamięci oraz aktualizację odwołań do ostatniej alokacji na stercie. Odśmiecacz może być uruchamiany automatycznie przez środowisko CLR lub z aplikacji poleceniem GC.Collect, Odśmiecacz umożliwia likwidację przecieków pamięci. Przeciek pamięci następuje wtedy, gdy pamięć alokowana przez aplikację jest zablokowana mimo, że aplikacja przestaje ją używać.

76 Dane zarządzalne Przecieki w kodzie niezarządzalnym występują gdy:
aplikacja napisana w C++ lokuje na stercie zarządzalnej pamięć związaną z obiektem, natomiast odśmiecacz zbiera tylko obiekty do których nie ma już odwołań w aplikacji, dwa obiekty COM zawierają odwołania cykliczne (A do B, a B do A). Automatyczny odśmiecacz bezpośrednio przed usunięciem obiektu wywołuje metodę Object.Finalize, która powinna zawierać wszystkie czynności związane z porządkowaniem pamięci. Uruchomienie automatycznego odśmiecacza następuje dopiero wtedy, gdy brakuje wolnej pamięci.

77 Dane zarządzalne Niezbędne porządkowanie pamięci należy przeprowadzać w metodzie Finalize, której ścieżka kodu powinna być możliwie jak najkrótsza. Metoda Finalize nie powinna być traktowana przez programistę jako destruktor obiektów, a jedynie używana wtedy gdy brakuje pamięci. Implementując metodę Finalize należy zaimplementować metodę Dispose lub Close, która może być wywołana przez klienta, gdy obiekt przestaje być używany. Metoda Finalize nie powinna wywoływać metod dla innych obiektów, do których odwołuje się zbierany obiekt. Kolejność zbierania obiektów na stercie zarządzalnej przez automatyczny odśmiecacz jest nieokreślona.

78 Literatura Dino Esposito : Tworzenie aplikacji za pomocą ASP.NET oraz ADO.NET (Microsoft Press, Wydawnictwo RM Warszawa 2002) Julian Templeman, David Vitter : Visual Studio .NET: .NET Framework. Czarna Księga (Helion 2003) Microsoft Press : Microsoft Visual C#.NET Encyklopedia (Helion 2003) Rusty Harold : XML. Księga Eksperta (Helion 2001) Scott Worley : ASP.NET. Vademecum Profesjonalisty (Helion, 2003) Steaven Holzner : XML. Vademecum Profesjonalisty (Helion2001) 2069/


Pobierz ppt "Platforma .NET Maria DEMS."

Podobne prezentacje


Reklamy Google