ASP.NET. Plan wykładu. Wykład prowadzi: Mikołaj Morzy. SSI - Przykład. Server Side Includes (SSI)

Wielkość: px
Rozpocząć pokaz od strony:

Download "ASP.NET. Plan wykładu. Wykład prowadzi: Mikołaj Morzy. SSI - Przykład. Server Side Includes (SSI)"

Transkrypt

1 Wykład prowadzi: Mikołaj Morzy ASP.NET Plan wykładu Server Side Includes (SSI) Active Server Pages (ASP) ASP.NET Dostęp do baz danych w aplikacjach ASP.NET Infrastruktura w aplikacjach ASP.NET Web Forms Logika prezentacji Logika prezentacji II () Server Side Includes (SSI) SSI - Przykład Najprostsza i najstarsza z technologii server pages Proste skryptowe dyrektywy zagnieŝdŝone w HTML uruchamiane na serwerze i zastępowane wynikiem Składnia: <!--#directive parameter=value --> Przykłady dyrektyw: include włączenie pliku exec uruchomienie programu echo wyświetlenie wartości zmiennej środowiskowej Problemy bezpieczeństwa powitanie.shtml <HTML><BODY> <!--#include file="naglowek.html"--> Jesteś <!--#exec cgi="/cgi-bin/counter.cgi"--> gościem na stronie. Korzystasz z przeglądarki <!--#echo var="http_user_agent" -->. </BODY></HTML> Logika prezentacji II () Logika prezentacji II ()

2 Active Server Pages (ASP) ASP - Przykłady Technologia Microsoft dla serwera IIS Oparta o interpretowane po stronie serwera wstawki skryptowe dynamicznie generujące HTML Domyślnie skrypty w VBScript, alternatywą JScript Skrypty odwołują się do predefiniowanych obiektów, reprezentujących funkcjonalność dynamicznych stron WWW ASP wprowadziło składnię dla server pages : <% %>, <%= %>, <%@ %> Następcą ASP jest ASP.NET pierwsza.asp <%@ language="vbscript"%> <HTML><BODY> <% response.write("hello") %> <%="World!"%> </BODY></HTML> druga.asp <HTML><BODY> Hello <%= request.querystring("imie") %>! </BODY></HTML> Logika prezentacji II () Logika prezentacji II () Platforma Microsoft.NET.NET Framework.NET Framework umoŝliwia tworzenie i uruchamianie: aplikacji desktopowych, aplikacji WWW, Web Services Microsoft Visual Studio zintegrowane środowisko programistyczne (IDE) wizualno-zdarzeniowe projektowanie aplikacji duŝa produktywność programisty Serwery: Windows Server 00, Microsoft SQL Server Oprogramowanie klienckie: WindowsXP, WindowsCE, OfficeXP UmoŜliwia tworzenie i uruchamianie nowoczesnych aplikacji i Web Services Wspiera ponad 0 języków programowania najwaŝniejsze to: Visual Basic.NET, C#, C++, J# Podstawowe cele.net Framework: zwiększenie produktywności twórców aplikacji łatwość tworzenia bezpiecznych i wydajnych aplikacji łatwość instalacji aplikacji i administrowania nimi Składniki.NET Framework: Common Language Runtime (CLR) biblioteki klas Logika prezentacji II (7) Logika prezentacji II (8)

3 Architektura.NET Framework ASP.NET Web Services Web Forms Windows Forms ASP.NET Dostęp do danych (ADO.NET), biblioteki XML Podstawowe biblioteki klas: I/O, łańcuchy znaków, sieć, Wspólne środowisko uruchomieniowe (CLR) Technologia tworzenia aplikacji internetowych.net dynamicznych stron WWW Web Services Zalety w porównaniu z klasycznym ASP moŝliwość korzystania ze wszystkich języków obsługiwanych przez CLR kod kompilowany - wydajność i wykrywanie błędów separacja HTML i kodu programu (Code Behind) Web Forms programowanie wizualno-zdarzeniowe Logika prezentacji II (9) Logika prezentacji II (0) ASP.NET Przykład aplikacji ASP.NET Przykład (C#) witaj.aspx <%@ Page Language="c#" %> <script runat="server"> void submitbutton_click(object sender, EventArgs e) { powitanie.text = "Witaj "+im.text+"!"; } </script> <html><body> <form runat="server"> Podaj imię: <asp:textbox id="im" runat="server"></asp:textbox> <asp:button id="submitbutton" onclick="submitbutton_click" runat="server" Text="Powitaj"></asp:Button> <br><asp:label id="powitanie" runat="server"></asp:label> </form> </body></html> Logika prezentacji II () Logika prezentacji II ()

4 ASP.NET Przykład (VB) C# czy Visual Basic? witaj.aspx Page Language="vb" %> <script runat="server"> Sub submitbutton_click(byval sender As Object, _ ByVal e As System.EventArgs) powitanie.text = "Witaj "+im.text+"! End Sub </script> <html><body> <form runat="server"> Podaj imię: <asp:textbox id="im" runat="server"></asp:textbox> <asp:button id="submitbutton" onclick="submitbutton_click" runat="server" Text="Powitaj"></asp:Button> <br><asp:label id="powitanie" runat="server"></asp:label> </form> </body></html> Logika prezentacji II () C# (C sharp) wprowadzony razem z.net nowoczesny i preferowany język dla.net atrakcyjny dla programistów C++ i Java Visual Basic.NET Visual Basic rozwinięty do w pełni obiektowego języka programowania na poziomie C++ i C# atrakcyjny dla programistów doświadczonych w tworzeniu graficznych aplikacji dla Windows w VB Logika prezentacji II () Porównanie C# i Java Rodzaje kontrolek ASP.NET Kwestionowana potrzeba opracowania C# Podobieństwa koncepcyjne, C# i Java to następcy C++ uproszczenie, kod pośredni W C# dostępne mechanizmy C++ niedostępne w Javie np. przeciąŝanie operatorów RóŜnice w organizacji kodu kilka klas w jednym pliku, koncepcja assembly Inne kwalifikatory dostępu ( internal dla assemblies) Drobne róŝnice składniowe we wspólnych konstrukcjach Logika prezentacji II () HTML Controls otoczki dla elementów HTML umoŝliwiają programowy dostęp do elementów HTML tworzone poprzez dodanie do znaczników HTML atrybutu runat= server Web Controls preferowany, rozszerzalny zestaw łatwych do oprogramowania kontrolek kontrolki proste i złoŝone elementy interfejsu i kontrolki walidacyjne tworzone przez specjalne znaczniki <asp: > zawsze z atrybutem runat= server Logika prezentacji II ()

5 HTML Controls i Web Controls - Przykłady Wiązanie kontrolek z danymi (/) HTML Controls <INPUT id="text" type="text" name="text" runat="server"> Do wiązania kontrolek ze źródłami danych w sposób deklaratywny w ASP.NET słuŝy konstrukcja <%#%> Wartościowanie wyraŝenia i umieszczenie zawartości ze źródła w kontrolce w momencie wywołania DataBind() Web Controls <asp:textbox id="textbox" runat="server"></asp:textbox> <asp:calendar id="calendar" runat="server"></asp:calendar> <script language="c#" runat=server> </script> <h><asp:label id="mytitle" runat="server"> <%# title %></asp:label></h> <asp:datalist id="mylist" runat=server> <ItemTemplate> Nazwa: <%# Container.DataItem %> </ItemTemplate> </asp:datalist> Logika prezentacji II (7) Logika prezentacji II (8) Wiązanie kontrolek z danymi (/) Zmienne sesyjne w ASP.NET <script language="c#" runat=server> string title = "Państwa:"; void Page_Load(Object sender, EventArgs e) { } MyTitle.DataBind(); ArrayList items = new ArrayList(); items.add("polska"); items.add("niemcy"); items.add("słowacja"); MyList.DataSource = items; MyList.DataBind(); </script> Logika prezentacji II (9) UmoŜliwiają współdzielenie danych między stronami Obiekt Session reprezentuje dane uŝytkownika UŜytkownik rozpoznawany poprzez cookie lub URL sesja.aspx <%@ Page Language="c#" %> <script runat="server"> private void Page_Load(object sender, System.EventArgs e) { Session["Imie"] = "Marek"; } </script> <html><body> Ustawiam zmienną sesyjną "Imie" na "Marek".</body></html> <%@ Page Language="c#" %> sesja.aspx <html><body> Zmienna sesyjna "Imie" ma wartość "<%= Session["Imie"] %>". </body></html> Logika prezentacji II (0)

6 Separacja kodu Code Behind Code Behind Przykład (/) Technika separacji kodu oparta o dziedziczenie strony ASP.NET są klasami! strona.aspx <%@ Page Language="c#" Src="WitajCB.aspx.cs" Inherits="WitajCB" %> <HTML> <asp:button id="submitbutton" > </HTML> Inherits strona.aspx.cs class WitajCB : Page { protected Button submitbutton; } Od ASP.NET.0 mechanizm Code Behind uproszczony dzięki klasom częściowym (ang. partial classes) WitajCB.aspx <%@ Page Language="c#" Src="WitajCB.aspx.cs" Inherits="WitajCB" %> <html><body><form runat="server"> Podaj imię: <asp:textbox id="im" runat="server"></asp:textbox> <asp:button id="submitbutton" runat="server" Text="Powitaj"></asp:Button> <br><asp:label id="powitanie" runat="server"></asp:label> </form></body></html> Logika prezentacji II () Logika prezentacji II () Code Behind Przykład (/) Uproszczony mechanizm Code Behind using System; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; public class WitajCB : Page { protected TextBox im; protected Button submitbutton; protected Label powitanie; override protected void OnInit(EventArgs e) { InitializeComponent(); base.oninit(e); } private void InitializeComponent() { this.submitbutton.click += new System.EventHandler( this.submitbutton_click); } WitajCB.aspx.cs private void submitbutton_click(object sender, EventArgs e) { powitanie.text = "Witaj "+im.text+"!"; } } Logika prezentacji II () WitajCB.aspx <%@ Page Language="c#" CodeFile="WitajCB.aspx.cs" Inherits="WitajCB" %> <html><body><form runat="server"> Podaj imię: <asp:textbox id="im" runat="server"></asp:textbox> <asp:button id="submitbutton" runat="server" Text="Powitaj"></asp:Button> <br><asp:label id="powitanie" runat="server"></asp:label> </form></body></html> using System; public partial class WitajCB : System.Web.UI.Page { } WitajCB.aspx.cs protected void submitbutton_click(object sender, EventArgs e) { powitanie.text = "Witaj "+im.text+"!"; } Logika prezentacji II ()

7 ASP.NET w Visual Studio ASP.NET w Visual Studio (cd.) Logika prezentacji II () Logika prezentacji II () Infrastruktura aplikacji WWW Infrastruktura aplikacji WWW dla platform.net i Java EE Stanowy, interaktywny interfejs uŝytkownika Nawigacja miedzy stronami Walidacja danych wprowadzanych do formularzy Bezpieczeństwo Obsługa wielu języków Obsługa róŝnych typów urządzeń końcowych Gotowe rozwiązania architektoniczne i szkielety aplikacji zwalniają twórców aplikacji z implementacji infrastruktury, zwiększając ich produktywność Poszczególne rozwiązania róŝnią się zakresem wsparcia Microsoft.NET: architektura Web Forms w ASP.NET Java EE: szkielety aplikacji (ang. frameworks) implementujące wzorzec projektowy Model-View- Controller (MVC): Struts JavaServer Faces (JSF) Logika prezentacji II (7) Logika prezentacji II (8)

8 ASP.NET i Web Forms Problem stanu interfejsu formularz HTML (/) Nacisk na stanowy i interaktywny interfejs aplikacji na wzór aplikacji desktopowych integracja z Visual Studio.NET Wsparcie dla: walidacji danych bezpieczeństwa obsługi urządzeń mobilnych nawigacji internacjonalizacji aplikacji zapewniania spójnego wyglądu stron i personalizacji Nie promuje wzorca Model-View-Controller (MVC) <%@ Page Language="c#" %> HtmlForm.aspx <html><body> <form> Podaj imię: <input type="text" name="imie"> <select name="kolor"> <option value="black">czarny</option> <option value="blue">niebieski</option> <option value="red">czerwony</option> </select> <input type="submit" value="powitaj"> <br><span style="color: <%= Request.Params["kolor"] %>"> Witaj <%= Request.Params["imie"] %>!</span> </form> </body></html> Logika prezentacji II (9) Logika prezentacji II (0) Problem stanu interfejsu formularz HTML (/) Web Forms: stanowy interfejs (/) Formularze HTML są bezstanowe kolejne wywołania tej samej strony obsługiwane niezaleŝnie problem szczególnie dotkliwy przy walidacji danych WebForm.aspx <%@ Page Language="c#" Src="WebForm.aspx.cs" Inherits="WebForm" %> <html><body> <form runat="server"> Podaj imię: <asp:textbox id="imie" runat="server"></asp:textbox> <asp:dropdownlist id="kolor" runat="server"> <asp:listitem Value="Black">Czarny</asp:ListItem> <asp:listitem Value="Blue">Niebieski</asp:ListItem> <asp:listitem Value="Red">Czerwony</asp:ListItem> </asp:dropdownlist> <asp:button id="submitbutton" runat="server" Text="Powitaj"></asp:Button> <br><asp:label id="powitanie" runat="server"></asp:label> </form></body></html> Logika prezentacji II () Logika prezentacji II ()

9 Web Forms: stanowy interfejs (/) Web Forms: stanowy interfejs (/) public class WebForm : Page { WebForm.aspx.cs protected TextBox imie; protected DropDownList kolor; protected Button submitbutton; protected Label powitanie; private void submitbutton_click(object sender, EventArgs e) { powitanie.text = "Witaj "+imie.text+"!"; powitanie.style["color"] = kolor.selectedvalue; } } Formularze Web Forms są stanowe wartości wprowadzane do formularzy zawsze zachowywane moŝliwe zachowanie stanu wszystkich kontrolek Logika prezentacji II () Logika prezentacji II () Stan interfejsu ASP.NET: View State View State dla dynamicznej zawartości list wyboru Zakodowany stan wszystkich kontrolek na stronie Przydatny do zapamiętania: stanu kontrolek wyświetlających dane zawartości programowo wypełnianych list wyboru Zapisany w ukrytym polu formularza na stronie <input type="hidden" name=" VIEWSTATE" value="ddwtmtcymtezndaznzs7pgdqcuwkhiqnyyrulch8x qba" /> Obsługa włączana atrybutem EnableViewState <asp:label id=label runat="server" EnableViewState="false" /> WebForm.aspx.cs private void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) { kolor.items.add(new ListItem("Czarny", "Black")); kolor.items.add(new ListItem("Niebieski", "Blue")); kolor.items.add(new ListItem("Czerwony", "Red")); } } WebForm.aspx <asp:dropdownlist id="kolor" runat="server" EnableViewState="true"> Logika prezentacji II () Logika prezentacji II ()

10 Mechanizm Auto Post Back Auto Post Back dla listy rozwijanej Zdarzenia z kontrolek Web Forms obsługiwane na serwerze Odwołanie do serwera tylko w wyniku zatwierdzenia formularza Kontrolki Web Controls posiadają atrybut AutoPostBack, którego ustawienie spowoduje zatwierdzenie formularza po zmianie stanu kontrolki poprzez automatycznie generowany kod JavaScript Mechanizm Auto Post Back zwiększa interaktywność aplikacji WebForm.aspx <asp:dropdownlist id="kolor" runat="server" AutoPostBack="true"> WebForm.aspx.cs private void kolor_selectedindexchanged(object sender, System.EventArgs e) { powitanie.text = "Witaj "+imie.text+"!"; powitanie.style["color"] = kolor.selectedvalue; } <select name="kolor" onchange=" dopostback('kolor','')" language="javascript" id="kolor"> Logika prezentacji II (7) Logika prezentacji II (8) Walidacja danych w ASP.NET Walidacja danych w ASP.NET - Przykład Predefiniowane kontrolki walidacyjne z grupy Web Controls: CompareValidator CustomValidator RangeValidator RegularExpressionValidator RequiredFieldValidator ValidationSummary Walidacja po stronie klienta (JavaScript) i na serwerze interaktywność, bezpieczeństwo <form runat="server"> Etat: <asp:textbox id="etat" runat="server"></asp:textbox> <asp:requiredfieldvalidator id="rfv" runat="server" ErrorMessage="Pole wymagane!" ControlToValidate="etat"></asp:RequiredFieldValidator> <br> Do: <asp:textbox id="p_do" runat="server"></asp:textbox> <asp:rangevalidator id="rv" runat="server" ErrorMessage="Wartość musi być nieujemna!" ControlToValidate="p_do" MinimumValue="0" MaximumValue="99999"></asp:RangeValidator> <br> </form> Logika prezentacji II (9) Logika prezentacji II (0)

11 Bezpieczeństwo w ASP.NET Nawigacja w aplikacjach ASP.NET Uwierzytelnianie (ang. authentication) None Windows Web.config Form-Based <authentication mode = "Forms" > Passport Autoryzacja ACL-based URL-based Kontrolki Login Controls <forms name= "fb" loginurl="loginform.aspx"/> </authentication> Web.config <authorization> <allow users= "admin" roles= "managers, admins" /> <deny users="*" /> </authorization> Logika prezentacji II () Formularz wywołuje sam siebie Kod obsługujący zdarzenie zatwierdzenia formularza moŝe przekazać sterowanie do innej strony: Response.Redirect() Server.Transfer() Przeglądarka URL Redirect URL Page Page Przeglądarka URL Transfer Page Page Logika prezentacji II () Nawigacja w ASP.NET - Przykład Deklaratywna nawigacja oparta o mapę serwisu i kontrolki nawigacyjne Pracownicy.aspx.cs private void submitbutton_click(object sender, EventArgs e) { if (etat.text == "DYREKTOR" etat.text == "PROFESOR") { Context.Items["etat"] = etat.text; Server.Transfer("Zakazane.aspx"); } } <sitemap xmlns="" > Web.sitemap <sitemapnode title="kontrolki ASP.NET" url="~/index.aspx" > <sitemapnode title="data Controls" url="~/datacontrols.aspx"> <sitemapnode title="gridview" url="~/gridview.aspx"/> <sitemapnode title="formview" url="~/formview.aspx"/> </sitemapnode> <sitemapnode title="html Controls" url="~/htmlcontrols.aspx"> </sitemap> Zakazane.aspx <%@ Page Language="c#" %> <html><body> Płace pracowników na etacie <%=Context.Items["etat"] %> są tajne! </body></html> <asp:sitemapdatasource ID="SM" runat="server"/> Strona.aspx <asp:treeview ID="MyTreeView" DataSourceId="SM" runat="server"> <LevelStyles></LevelStyles> <Databindings> <asp:treenodebinding TextField="Title" NavigateUrlField="Url" /> </Databindings> </asp:treeview> Logika prezentacji II () Logika prezentacji II ()

12 Internacjonalizacja aplikacji ASP.NET Podsumowanie Automatyczny odczyt preferencji kulturowych klienta Formatowanie dat i liczb zaleŝnie od ustawień kultury Lokalizacja komunikatów oparta o pliki zasobów <%@ Page UICulture="auto" Culture="auto" %> Strona.aspx <asp:label ID= "l" runat="server" Text="<%$ Resources:Greet %>! Infrastruktura aplikacji to kod obsługujący typowe mechanizmy wymagane w aplikacjach WWW Korzystanie z gotowych rozwiązań w zakresie infrastruktury zwiększa produktywność programistów Na platformie.net infrastruktura aplikacji jest zapewniana przez samą technologię ASP.NET <data name="greet"> <value>welcome</value></data> Strona.aspx.resx <data name="greet"> <value>witaj</value></data> Strona.aspx.pl.resx Logika prezentacji II () Logika prezentacji II () ADO.NET Architektura ADO.NET ADO.NET zapewnia aplikacjom.net spójne mechanizmy dostępu do źródeł danych takich jak relacyjne bazy danych i dokumenty XML następca ADO dla platformy.net ADO.NET umoŝliwia pracę ze zbiorami danymi bez konieczności utrzymywania połączenia ze źródłem poprzez obiekty DataSet Ścisła integracja z XML moŝliwość wypełniania obiektów DataSet danymi udostępnionymi w formacie XML domyślna serializacja obiektów DataSet w formie XML.NET Framework Data Provider Connection DataAdapter Command SelectCommand DataReader InsertCommand UpdateCommand DeleteCommand Baza danych DataSet XML Logika prezentacji II (7) Logika prezentacji II (8)

13 Obiekt DataSet Dostawcy danych dla.net Framework Udostępnia i buforuje dane z bazy danych dla aplikacji Nie wymaga utrzymywania połączenia z bazą danych NiezaleŜny od dostawcy danych Przechowuje dane DataSet w postaci jednej lub wielu tabel DataTableCollection zazwyczaj DataTable fragmenty tabel DataTable z bazy danych... DataRelationCollection SłuŜą do łączenia się z bazą danych, wykonywania w niej poleceń SQL i pobierania wyników KaŜdy z dostawców obejmuje dedykowane obiekty: Connection, Command, DataReader i DataAdapter Dostawcy danych dostępni w.net Framework dostawca danych dla Microsoft SQL Server dostawca danych dla OLE DB dostawca danych dla ODBC dostawca danych dla Oracle Obiekty dostawców róŝnią się prefiksem nazwy klasy Logika prezentacji II (9) Logika prezentacji II (0) Odczyt danych poprzez DataReader Odczyt danych poprzez DataSet using System.Data; using System.Data.SqlClient; SqlConnection prconn = new SqlConnection( "Data Source=(local)\\VSdotNET;" + "Integrated Security=SSPI;Initial Catalog=tempdb"); SqlCommand cmd = prconn.createcommand(); cmd.commandtext = "SELECT nazwisko, placa_pod FROM pracownicy"; prconn.open(); SqlDataReader dr = cmd.executereader(); while (dr.read()) Console.WriteLine(dr.GetString(0)+ ": " +dr.getdecimal()); dr.close(); prconn.close(); using System.Data; using System.Data.SqlClient; SqlConnection prconn = new SqlConnection(); SqlCommand cmd = new SqlCommand( "SELECT nazwisko, placa_pod FROM pracownicy", prconn); SqlDataAdapter da = new SqlDataAdapter(); da.selectcommand = cmd; prconn.open(); DataSet ds = new DataSet(); da.fill(ds, "Pracownicy"); prconn.close(); foreach (DataRow r in ds.tables["pracownicy"].rows ) Console.WriteLine(r["nazwisko"]+": "+r["placa_pod"] ); Logika prezentacji II () Logika prezentacji II ()

14 DataSet jako źródło danych dla kontrolek ASP.NET Wykonywanie poleceń DML i DDL prconn.open(); DataSet ds = new DataSet(); da.fill(ds, "Pracownicy"); prconn.close(); <asp:datagrid id="datagrid" runat="server"> </asp:datagrid> DataGrid.DataSource = ds.tables["pracownicy"]; DataGrid.DataBind(); SqlConnection prconn = new SqlConnection(); prconn.open(); SqlCommand cmd = prconn.createcommand(); cmd.commandtext = "UPDATE pracownicy SET placa_pod=placa_pod + 0 " + WHERE id_prac=0"; int modified = cmd.executenonquery(); Console.WriteLine("Zmodyfikowano wierszy: "+modified); prconn.close(); Logika prezentacji II () Logika prezentacji II () Parametryzacja poleceń SQL w ADO.NET Uaktualnianie bazy danych poprzez DataAdapter i DataSet (/) 7 SqlCommand cmd = new SqlCommand("UPDATE pracownicy + " SET placa_pod=placa_pod + " WHERE nazwisko=@p_nazwisko", prconn); SqlParameter param = new SqlParameter( "@p_podwyzka", SqlDbType.Decimal); param.value = ; SqlParameter param = new SqlParameter( "@p_nazwisko", SqlDbType.VarChar); param.value = "Siekierski"; cmd.parameters.add(param); cmd.parameters.add(param); cmd.executenonquery(); Modyfikacja zawartości DataSet w trybie odłączonym Uaktualnienie bazy danych poprzez przeniesienie zmian z obiektu Dataset metodą Update() obiektu DataAdapter mydataadapter.update(mydataset); DataAdapter musi zawierać polecenia SQL do przeniesienia zmian z DataSet do bazy danych InsertCommand UpdateCommand DeleteCommand Obiekt DataAdapter ze skonfigurowanymi poleceniami SQL moŝna wygenerować w Visual Studio Logika prezentacji II () Logika prezentacji II ()

15 Uaktualnianie bazy danych poprzez DataAdapter i DataSet (/) Typowane obiekty DataSet DataSet zaprojektowany z myślą o optymistycznym zarządzaniu współbieŝnością DataSet zawiera wersje kaŝdego wiersza: Original Current Default Proposed Dla kaŝdego wiersza w DataSet pamiętany stan: Added Modified Deleted Unchanged Detached Logika prezentacji II (7) Ułatwiają korzystanie ze zbioru danych, gdy jego struktura jest znana na etapie tworzenia aplikacji wiersze i atrybuty udostępniane jako właściwości Tworzone jako klasy dziedziczące z DataSet ręcznie lub kreatorem w Visual Studio Dają większą odporność na błędy programisty, kontrolę typów i uzupełnianie kodu za cenę elastyczności PracownicyDataSet ds = new PracownicyDataSet(); da.fill(ds.pracownicy); foreach (PracownicyDataSet.PracownicyRow r in ds.pracownicy) Console.WriteLine(r.Nazwisko); Logika prezentacji II (8) Transakcje w ADO.NET Automatyczne transakcje w ASP.NET Obiekt Transaction związany z Connection BeginTransaction(), Commit(), Rollback() SqlConnection prconn = new SqlConnection(); prconn.open(); SqlTransaction trans = prconn.begintransaction(); SqlCommand cmd = prconn.createcommand(); cmd.transaction = trans; cmd.commandtext = "UPDATE "; cmd.executenonquery(); cmd.commandtext = "DELETE "; cmd.executenonquery(); trans.commit(); prconn.close(); Logika prezentacji II (9) ASP.NET wspiera model transakcji automatycznych Zachowanie strony względem transakcji specyfikowane deklaratywnie poprzez atrybut Transaction Disabled NotSupported Supported Required RequiresNew <%@ Page Transaction="Required %> Logika prezentacji II (0)

16 Kontrolki dostępu do danych w ASP.NET Mechanizm connection pooling w ADO.NET Kontrolki źródeł danych np. SqlDataSource Kontrolki danych współpracujące z kontrolkami źródeł danych np. GridView <asp:gridview ID="GridView" DataSourceID="ds" runat="server"/> <asp:sqldatasource ID="ds" runat="server" SelectCommand="SELECT [nazwisko], [placa_pod] FROM [pracownicy]" ConnectionString="<%$ ConnectionStrings:Prac %>" /> Web.config <connectionstrings> <add name="prac" connectionstring="server=(local);integrated Security=True; Initial Catalog=tempdb providername="system.data.sqlclient" /> </connectionstrings> Logika prezentacji II () Pule połączeń zarządzane przez dostawców danych dla.net Framework domyślnie connection pooling włączony oddzielna pula dla kaŝdego łańcucha połączenia pula tworzona w momencie otwarcia pierwszego połączenia dla danego łańcucha połączenia moŝliwość konfiguracji puli połączeń parametrami w łańcuchu połączenia Dla optymalnego funkcjonowania mechanizmu connection pooling kluczowe jest zamykanie połączenia w kodzie aplikacji (Close() lub Dispose()) Logika prezentacji II () Podsumowanie Materiały dodatkowe Aplikacje ASP.NET realizują operacje na bazie danych poprzez bibliotekę ADO.NET orientacja na pracę w trybie odłączonym kontrolki ASP.NET do obsługi komunikacji ze źródłem danych i prezentacji danych na stronach NCSA HTTPd Tutorial: Server Side Includes (SSI), Active Server Pages, en-us/dnanchor/html/activeservpages.asp.net Framework Developer Center, ASP.NET Quickstart Tutorial, Logika prezentacji II () Logika prezentacji II ()

Infrastruktura aplikacji WWW

Infrastruktura aplikacji WWW ASP.NET WebForms Infrastruktura aplikacji WWW Gotowe rozwiązania architektoniczne i szkielety aplikacji zwalniają twórców aplikacji z implementacji infrastruktury, zwiększając ich produktywność Stanowy,

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Współpraca aplikacji WWW z bazami danych

Współpraca aplikacji WWW z bazami danych Współpraca aplikacji WWW z bazami danych Wykład prowadzi: Marek Wojciechowski Współpraca aplikacji WWW z bazami danych 1 Plan wykładu Dostęp do baz danych w aplikacjach Java EE JDBC źródła danych wprowadzenie

Bardziej szczegółowo

Logika prezentacji II

Logika prezentacji II Logika prezentacji II Wykład prowadzi: Marek Wojciechowski Logika prezentacji 1 Plan wykładu Server Side Includes (SSI) Active Server Pages (ASP) ASP.NET PHP Logika prezentacji II (2) Celem wykładu jest

Bardziej szczegółowo

Bazy danych 2. Wykład 6

Bazy danych 2. Wykład 6 Wykład 6 ADO model bezpołączeniowy Klasa DataSet kolekcja DataTable Obiekty DataColumn Obiekty DataRow Aktualizacja bazy za pomocą obiektu DataAdapter Definiowanie powiązań między tabelami w obiekcie DataSet

Bardziej szczegółowo

Plan wykładu. Tworzenie programów dla platformy.net. Kontrolki list. Kontrolki weryfikujące. Wiązanie danych. Dostęp do danych

Plan wykładu. Tworzenie programów dla platformy.net. Kontrolki list. Kontrolki weryfikujące. Wiązanie danych. Dostęp do danych Tworzenie programów dla platformy.net ASP.NET Odsłona trz ecia Gliwice, Maj 2004 Marek Mittmann Plan wykładu Kontrolki weryfikujące Kontrolki list i wiązanie danych ADO.NET w aplikacjach ASP.NET Korzy

Bardziej szczegółowo

Architektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski

Architektura MVC w ASP.NET. Autor wykładu: Marek Wojciechowski Architektura MVC w ASP.NET Autor wykładu: Marek Wojciechowski Modele programistyczne ASP.NET Web Forms Komponentowy interfejs użytkownika (kontrolki) Programowanie wizualno-zdarzeniowe Klasyczna składnia

Bardziej szczegółowo

Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy

Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy 2015-12-18 1 Języki i paradygmaty - 9 Architektura ADO.NET - zestaw abstrakcyjnych klas, które udostępniają

Bardziej szczegółowo

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Wykład 12. Programowanie serwera MS SQL 2005 w C# Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych

Bardziej szczegółowo

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Tworzenie aplikacji Web Alicja Zwiewka. Page 1 Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową

Bardziej szczegółowo

Infrastruktura aplikacji WWW I

Infrastruktura aplikacji WWW I Infrastruktura aplikacji WWW I Wykład prowadzi: Marek Wojciechowski Infrastruktura aplikacji WWW 1 Plan wykładu Infrastruktura aplikacji WWW Infrastruktura w aplikacjach ASP.NET Web Forms Architektura

Bardziej szczegółowo

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009 ASP.NET MVC Grzegorz Caban grzegorz.caban@gmail.com 20 stycznia 2009 Agenda Przyczyna powstania Co to jest ASP.NET MVC Architektura Hello World w ASP.NET MVC ASP.NET MVC vs ASP.NET WebForm Przyszłość framework'a

Bardziej szczegółowo

Ćwiczenie 8. Kontrolki serwerowe

Ćwiczenie 8. Kontrolki serwerowe Ćwiczenie 8 Temat: Kontrolki serwerowe ASP.NET cz.2 Cel ćwiczenia: W ramach tego ćwiczenie student zapozna się z kolejnymi kontrolkami serwerowymi oraz z metodami ich walidacji, a także z kontrolkami umożliwiającymi

Bardziej szczegółowo

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11 Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET

Bardziej szczegółowo

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact

Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013. Visual Basic.NET dostęp do bazy danych. Baza Microsoft SQL Server Compact Platforma.NET laboratorium 4 Aktualizacja: 15/11/2013 Prowadzący: mgr inż. Tomasz Jaworski Strona WWW: http://tjaworski.kis.p.lodz.pl/ Visual Basic.NET dostęp do bazy danych Baza Microsoft SQL Server Compact

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja

Bardziej szczegółowo

Wykład 4. Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy. Bazy danych 2

Wykład 4. Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy. Bazy danych 2 Wykład 4 Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy 2017-02-24 Bazy danych 2 W4 1 Architektura ADO.NET (Active Data Objects) Zestaw abstrakcyjnych

Bardziej szczegółowo

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET

Studia podyplomowe. Programowanie na platformie Microsoft Visual Studio.NET Studia podyplomowe Programowanie na platformie Microsoft Visual Studio.NET I. Charakterystyka kursów Aplikacje bazodanowe dla biznesu (Microsoft Visual Studio.NET 2008) (35 godz.) W ramach kursu słuchacze

Bardziej szczegółowo

Aplikacje WWW Wprowadzenie

Aplikacje WWW Wprowadzenie Aplikacje WWW Wprowadzenie Beata Pańczyk na podstawie http://www.e-informatyka.edu.pl/ http://wazniak.mimuw.edu.pl/index.php?title=aplikacje_www Plan wykładu Składniki architektury WWW: klient HTTP, serwer

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE

Web frameworks do budowy aplikacji zgodnych z J2EE Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym

Bardziej szczegółowo

Szczegółowy opis zamówienia:

Szczegółowy opis zamówienia: Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h

Bardziej szczegółowo

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne) 1 90 min. Aplikacje WWW Harmonogram ń, semestr zimowy -2017 (studia stacjonarne) 6 października Wprowadzenie do aplikacji WWW Rys historyczny Składniki architektury WWW o klient HTTP o serwer HTTP o protokół

Bardziej szczegółowo

z użyciem kontrolek ASP.NET

z użyciem kontrolek ASP.NET Wydział Informatyki i Zarządzaniaą Wyświetlanie informacji z baz danych z użyciem kontrolek ASP.NET Rafał Boborycki Zaawansowane Programowanie Internetowych SI Plan prezentacji ASP.Net i ADO.Net. Tryby

Bardziej szczegółowo

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA LABORATORIUM SYSTEMÓW MOBILNYCH ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA DANYCH NA URZĄDZENIACH MOBILNYCH I. Temat ćwiczenia II. Wymagania Podstawowe wiadomości z zakresu obsługi baz danych i języka SQL

Bardziej szczegółowo

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium ASP.NET. Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005 oraz dostęp do serwera Microsoft SQL Server 2005. Treść ćwiczenia

Bardziej szczegółowo

Technologie internetowe ASP.NET Core. Paweł Rajba

Technologie internetowe ASP.NET Core. Paweł Rajba Technologie internetowe ASP.NET Core Paweł Rajba pawel@cs.uni.wroc.pl http://itcourses.eu/ Plan wykładu Wprowadzenie Podstawowa aplikacja Usługi i middleware Obsługa błędów Request, Response, ciastka i

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 Wprowadzenie do J2EE Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2

Bardziej szczegółowo

Oracle Application Express -

Oracle Application Express - Oracle Application Express - Wprowadzenie Wprowadzenie Oracle Application Express (dawniej: HTML DB) to narzędzie do szybkiego tworzenia aplikacji Web owych korzystających z bazy danych Oracle. Od użytkownika

Bardziej szczegółowo

Aplikacje Internetowe, Servlety, JSP i JDBC

Aplikacje Internetowe, Servlety, JSP i JDBC Aplikacje Internetowe, Servlety, JSP i JDBC Opis Java 2 Enterprise Edition (JEE) jest potężną platformą do tworzenia aplikacji webowych. PLatforma JEE oferuje wszystkie zalety tworzenia w Javie plus wszechstronny

Bardziej szczegółowo

Wykład 12. ADO.NET model bezpołączeniowy

Wykład 12. ADO.NET model bezpołączeniowy Wykład 12 ADO.NET model bezpołączeniowy Klasa DataSet kolekcja DataTable Obiekty DataColumn Obiekty DataRow Ładowanie danych do obiektu DataSet użycie DataReader i DataAdapter Aktualizacja bazy za pomocą

Bardziej szczegółowo

ADO.NET. Obiektowy dostęp do danych. Przygotował Jakub Światły

ADO.NET. Obiektowy dostęp do danych. Przygotował Jakub Światły ADO.NET Obiektowy dostęp do danych Przygotował Jakub Światły Plan prezentacji Technologie dostępu do danych Cele i założenia ADO.NET Praca na danych podłączonych Praca na danych odłączonych Synchronizacja

Bardziej szczegółowo

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Programowanie komponentowe Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System Application

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

Kurs WWW ASP.NET. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW ASP.NET. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ ASP.NET Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Wprowadzenie Z czego składa się aplikacja w ASP.NET? ASP.NET Web Forms (.aspx) ASP.NET Web services (.asmx) Klas, stron,,code-behind''

Bardziej szczegółowo

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar) Tworzenie witryn internetowych PHP/Java (mgr inż. Marek Downar) Rodzaje zawartości Zawartość statyczna Treść statyczna (np. nagłówek, stopka) Layout, pliki multimedialne, obrazki, elementy typograficzne,

Bardziej szczegółowo

Narzędzia 4. dr inż. Tadeusz Jeleniewski

Narzędzia 4. dr inż. Tadeusz Jeleniewski - Narzędzie Windows Forms - - Przykładowe aplikacje - Architektura ADO.NET - - Dostawcy danych - - Modele dostępu do danych model połączeniowy - - Model bezpołączeniowy 1 Narzędzia WindowsForm Windows

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla

Bardziej szczegółowo

Dotacje na innowacje. Inwestujemy w waszą przyszłość.

Dotacje na innowacje. Inwestujemy w waszą przyszłość. PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w

Bardziej szczegółowo

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski Technologie dla aplikacji klasy enterprise Wprowadzenie Marek Wojciechowski Co oznacza enterprise-ready? Bezpieczeństwo Skalowalność Stabilność Kompatybilność wstecz Wsparcie Dokumentacja Łatwość integracji

Bardziej szczegółowo

Praca z bazą danych. Rysunek 1. Projekt tabeli UZYTKOWNIK bazy KURSY

Praca z bazą danych. Rysunek 1. Projekt tabeli UZYTKOWNIK bazy KURSY Praca z bazą danych Aby móc korzystać z niniejszego kursu musimy utworzyć bazę danych o nazwie KURSY, tabelę o nazwie UZYTKOWNIK, a w tabeli tej utworzyć następujące kolumny: user_id typu integer/autonumer

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Bezpieczne strony WWW dla edukacji, organizacji non-profit i uŝytkowników indywidualnych.

Bezpieczne strony WWW dla edukacji, organizacji non-profit i uŝytkowników indywidualnych. Bezpieczne strony WWW dla edukacji, organizacji non-profit i uŝytkowników indywidualnych. Jerzy Mikołajczak, Sebastian Petruczynik, Marek Zawadzki support-mic@man.poznan.pl 1 Plan prezentacji: 1. Wstęp

Bardziej szczegółowo

Programowanie komponentowe 5

Programowanie komponentowe 5 Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf

Bardziej szczegółowo

Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy,

Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy, Aplikacja internetowa vs Strona Internetowa. Aplikacja internetowa, (ang.) web application zwana również aplikacją webową, to program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć

Bardziej szczegółowo

Microsoft.NET: Warstwa dostępu do danych (DAL) w aplikacjach ASP.NET Web Forms

Microsoft.NET: Warstwa dostępu do danych (DAL) w aplikacjach ASP.NET Web Forms Microsoft.NET: Warstwa dostępu do danych (DAL) w aplikacjach ASP.NET Web Forms Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

Wykład 10 Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy

Wykład 10 Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy Wykład 10 Architektura ADO.NET Dostawcy danych Modele dostępu do danych model połączeniowy Model bezpołączeniowy 1 Architektura ADO.NET - zestaw abstrakcyjnych klas, które udostępniają dane z poziomu środowiska.net

Bardziej szczegółowo

Środowiska i platformy programistyczne

Środowiska i platformy programistyczne Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida

Web frameworks do budowy aplikacji zgodnych z J2EE. Jacek Panachida Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida Cel pracy Analiza wybranych ram projektowych dostępnych dla platformy Java Warunki selekcji napisany z wykorzystaniem języka Java oraz

Bardziej szczegółowo

Projekt: Mikro zaprogramowane na sukces!

Projekt: Mikro zaprogramowane na sukces! Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Projekt: Mikro zaprogramowane na sukces! Opis autoryzowanych szkoleń Microsoft planowanych do realizacji w ramach

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Aplikacje WWW. Statyczne oraz dynamiczne strony WWW. Skrypty po stronie klienta. dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

Projektowani Systemów Inf.

Projektowani Systemów Inf. Projektowani Systemów Inf. Wykład VII Bezpieczeństwo Copyrights by Arkadiusz Rzucidło 1 Bezpieczeństwo Bezpieczeństwo związane z danymi Konstrukcja magazynów danych Mechanizmy zapisu i modyfikacji danych

Bardziej szczegółowo

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2

Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Ewolucja projektowania aplikacji w PHP na bazie frameworka Symfony 2 Statyczne strony HTML Wczytanie statycznej strony HTML sprowadza się do odebrania żądania przez serwer, odnalezienia właściwego pliku

Bardziej szczegółowo

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Obsługa transakcji rozproszonych w języku j Java Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Plan prezentacji Transakcje i ich własności Proste transakcje w JDBC

Bardziej szczegółowo

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure Paweł Berus Zespół Bezpieczeństwa PCSS 36. Spotkanie Poznańskiej Grupy.NET Poznań, 13.10. 2011 1 Agenda

Bardziej szczegółowo

Java wybrane technologie

Java wybrane technologie Java wybrane technologie spotkanie nr 14 Bezpieczeństwo Podstawowe pojęcia uwierzytelniania (authentication) autoryzacja (authorization) atrybuty bezpieczeństwa informacji integralność danych (data integrity)

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje

Bardziej szczegółowo

Bazodanowe usługi sieciowe w technologii ASP.NET. dr inż. Tomasz Tatoń

Bazodanowe usługi sieciowe w technologii ASP.NET. dr inż. Tomasz Tatoń Bazodanowe usługi sieciowe w technologii ASP.NET dr inż. Tomasz Tatoń Spis treści 2 Część 1 Tworzenie bazy danych w Microsoft SQL Server Część 2 Tworzenie usługi sieciowej WebService (polecenie select)

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1 Wstęp - Prosta aplikacja internetowa w technologii Java EE 5 Programowanie komponentowe 1 Przykład 1- Wykonanie prostej aplikacji internetowej w technologii JavaEE w środowisku Netbeans 5.5 z wykorzystaniem

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ zajęcia 1: 2. Procedury składowane

Bardziej szczegółowo

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

Aplikacje internetowe i rozproszone - laboratorium

Aplikacje internetowe i rozproszone - laboratorium Aplikacje internetowe i rozproszone - laboratorium ASP.NET Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005 oraz dostęp do bazy danych z tabelą

Bardziej szczegółowo

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Wykład 3 Inżynieria oprogramowania Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz Struktura wykładu 1. Utworzenie użytkowników i ról na serwerze aplikacji Sun Java System

Bardziej szczegółowo

OpenLaszlo. OpenLaszlo

OpenLaszlo. OpenLaszlo OpenLaszlo Spis Treści 1 OpenLaszlo Co to jest? Historia Idea Architektura Jako Flash lub DHTML Jako servlet lub SOLO Jak to działa? Język LZX Struktura programu Skrypty Obiekty i klasy Atrybuty i metody

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium Serwlety Celem ćwiczenia jest przygotowanie kilku prostych serwletów ilustrujących możliwości tej technologii. Poszczególne ćwiczenia prezentują sposób przygotowania środowiska,

Bardziej szczegółowo

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. 2.1 Wiadomości: 2.2 Umiejętności: Scenariusz lekcji

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. 2.1 Wiadomości: 2.2 Umiejętności: Scenariusz lekcji Scenariusz lekcji 1 TEMAT LEKCJI: Obsługa baz danych w VB.NET 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: wymienić dostawców baz danych obsługiwanych przez VS.NET; wymienić klasy służące do obsługi baz

Bardziej szczegółowo

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.

Serwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Serwer aplikacji Serwer aplikacji to: Serwer wchodzący w skład sieci komputerowej, przeznaczony

Bardziej szczegółowo

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych)

Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych) Spis treści Wstęp... xi Część I Dostęp do danych oraz moŝliwości programowe (silnik bazy danych) 1 Program SQL Server Management Studio oraz język Transact SQL... 3 Omówienie programu SQL Server Management

Bardziej szczegółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

Bardziej szczegółowo

Dostępne grupy kontrolek. Podstawowe kontrolki Web

Dostępne grupy kontrolek. Podstawowe kontrolki Web Dostępne grupy kontrolek Toolbox (przybornik) zawiera obiekty, które moŝna umieścić na projektowanej stronie. Obiekty są pogrupowane w kategorie : Standard kontrolki ogólnego zastosowania. Wiele z nich

Bardziej szczegółowo

Aplikacje WWW - laboratorium

Aplikacje WWW - laboratorium Aplikacje WWW - laboratorium JavaServer Faces Celem ćwiczenia jest przygotowanie aplikacji internetowej z wykorzystaniem technologii JSF. Prezentowane ćwiczenia zostały wykonane w środowisku Oracle JDeveloper

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Przekazywanie danych. Dane zewnętrzne mogą pochodzić z róŝnych źródeł:

Przekazywanie danych. Dane zewnętrzne mogą pochodzić z róŝnych źródeł: Przekazywanie danych Dane zewnętrzne mogą pochodzić z róŝnych źródeł: - ze środowiska systemu - z parametrów adresu (przekazywane metodą GET) - z formularza przekazywane metodą GET - z formularza przekazywane

Bardziej szczegółowo

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia) WERSJA WSTĘPNA, BRAK PRZYKŁADOWYCH PYTAŃ DLA NIEKTÓRYCH PRZEDMIOTÓW Należy wybrać trzy dowolne przedmioty.

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo

Wybrane działy Informatyki Stosowanej

Wybrane działy Informatyki Stosowanej Wybrane działy Informatyki Stosowanej Aplikacje WWW. Statyczne oraz dynamiczne strony WWW. Skrypty po stronie klienta. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki

Bardziej szczegółowo

Bazy danych i strony WWW

Bazy danych i strony WWW Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty

Bardziej szczegółowo

I.Wojnicki, Tech.Inter.

I.Wojnicki, Tech.Inter. Igor Wojnicki (AGH, KA) Frameworks 28 maja 2012 1 / 31 Frameworks oraz Serwery Aplikacji Igor Wojnicki Katedra Automatyki Akademia Górniczo-Hutnicza w Krakowie 28 maja 2012 Igor Wojnicki (AGH, KA) Frameworks

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie i wykorzystanie usług sieciowych Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć

Bardziej szczegółowo

Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń. Cel: polecenia T-SQL Założenia do ćwiczeń: SQL Server UWM Express Edition: 213.184.8.192\SQLEXPRESS Authentication: SQL Server Authentication Username: student01,, student21 Password: student01,., student21

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia) Program szkolenia: Przygotowanie do nowoczesnego programowania po stronie przeglądarki (HTML5, CSS3, JS, wzorce, architektura, narzędzia) Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania:

Bardziej szczegółowo

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 7 Dynamiczny SQL i PL/SQL Pierwotny dynamiczny SQL Pierwotny dynamiczny DDL Pierwotny dynamiczny DML i SELECT Pakiet DBMS_SQL Transakcje

Bardziej szczegółowo