Windows HPC oraz aplikacje rozproszone, wielowątkowe i wielordzeniowe

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

Download "Windows HPC oraz aplikacje rozproszone, wielowątkowe i wielordzeniowe"

Transkrypt

1 Windows HPC oraz aplikacje rozproszone, wielowątkowe i wielordzeniowe Tomasz Kopacz III Konferencja MIC Nowoczesne technologie bliŝej nas Poznań,,

2 Agenda

3 Niemal 100% procesorów ma >=2 rdzenie

4 Czemu jest to waŝne? Wielordzeniowość to SZANSA Pozwala na nowy typ aplikacji, istotną zmianę jakościową w obrębie end-user experiences WyróŜnienie się Aplikacje rzeczywiście szybsze Wielordzeniowość to teŝ pewne wyzwanie i zakłócenie stanu obecnego Wiedza deweloperów Testowanie Czy tak samo się zachowa na 2,4,8,16 rdzeniach? Czy na pewno szybko? Nowe błędy Oprogramowanie ignorujące mechanizmy zrównoleglania z czasem będzie mniej konkurencyjne

5 Wyzwania Identyfikacja obszarów które moŝna zrównoleglić Opisanie zasad podziału (dane i/lub funkcje) Optymalny podział czasu procesorów / rdzeni Efektywność; ale teŝ multitasking Biblioteki i framework równoległy Narzędzia Migracja kodu sekwencyjnego

6 Parallel Computing Initiative Microsoft s Parallel Computing Initiative encompasses the vision, strategy, and innovative technologies for delivering transformative, natural, and immersive personal computing experiences, harnessing the compute power of manycore architectures.

7 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE Programowanie klasyczne

8 Programowanie klasyczne Zdanie się na system operacyjny Wielozadaniowość ma wbudowaną ZałoŜenie: wiele równoległych zadań Czyli kaŝde ma swój czas Problem: jeden wątek/zadanie ma się liczyć szybciej API i mechanizmy uruchamiania zadań w tle : BackgroundWorker, Thread, Synchronizacja klasyczna I to główny praktyczny problem

9 Przykład: przejście po drzewie Sekwencyjne static void ProcessNode<T>(Tree<T> tree, Action<T> action) { if (tree == null) return; } ProcessNode(tree.Left, action); ProcessNode(tree.Right, action); action(tree.data); ThreadPool (wersja prosta) static void ProcessNode<T>(Tree<T> tree, Action<T> action) { if (tree == null) return; } using (ManualResetEvent mre = new ManualResetEvent(false)) { ThreadPool.QueueUserWorkItem(delegate { ProcessNode(tree.Left, action); mre.set(); }); ProcessNode(tree.Right, action); action(tree.data); mre.waitone(); } CięŜka synchronizacja Interfejs + coś Blokowanie wątku

10 Przykład: drzewo, v 2 ThreadPool (lepiej ale nie perfekcyjne): static void ProcessNode<T>(Tree<T> tree, Action<T> action) { IEnumerator<T> enumerator = tree.getenumerator(); using (ManualResetEvent mre = new ManualResetEvent(false)) { int waitcount = Environment.ProcessorCount; WaitCallback wc = delegate { while(true) { T item; lock (enumerator) { if (!enumerator.movenext()) break; item = enumerator.current; } action(item); } Auć (1) Blokada Komplikacja; nie lokalne Jawna synchronizacja } } }; if (Interlocked.Decrement(ref waitcount) == 0) mre.set(); for (int i = 0; i < Environment.ProcessorCount - 1; i++) { ThreadPool.QueueUserWorkItem(wc); } wc(null); mre.waitone(); Auć (2) widzi tu ALGORYTM? Czy ktoś widzi tu ALGORYTM?

11 Klasyczne programowanie asynchroniczne BCL: Wiele operacji ma wersje asynchroniczne Para BeginOperation, EndOperation; Callback gdy operacja się zakończy / będzie błąd BeginRead(buffer, offset, count, callback, state) EndRead(asyncResult) Ale: Callback moŝe być wołany z dowolnego wątku Wywołującego (synchroniczne zakończenie) Nowy z puli (zagłodzenie w najgorszym razie) Brak czeka by powiedzieć Ŝe skończył Koordynacja - niejasna Sekwencje (zagnieŝdŝone delegaty, niejawne przekazanie sterowania); Rekurencja (ping-pong pomiędzy callbacka) Co z częściowym niepowodzeniem, jak ponowić operację Brak kontroli nad wątkami (ile/jak)

12 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE Visual Studio 2010 i.net 4.0

13 Główne problemy Niech do zrównoleglenia wystarczy ekspert domenowy (a nie specjalista od zrównoleglania) Wniosek: proste koncepcje WywaŜyć skalowalność z łatwością uŝycia i testowalnością Dane a przepływ zadań a blokady a wydajność Zadanie Integracja współbieŝności w narzędzia mainstream Narzędzia i środowisko developerskie + testy Zapakować równoległość w komponenty Najlepiej bez zmian w sposobie uŝycia MoŜe: drobne zmiany

14 Visual Studio 2010 i.net 4.0 Narzędzia Model programowania Parallel Debugger Toolwindows Profiler Concurrency Analysis PLINQ Task Parallel Library WspółbieŜne runtime Thread Pool Task Scheduler Data Structures Data Structures Parallel Pattern Library Agents Library Task Scheduler (+ API do rozszerzeń!) Resource Manager Resource Manager System operacyjny Wątki Kod zarządzalny Kod natywny Narzędzia

15 Parallel Extensions.NET 4.0 Biblioteka.NET (brak zmian w kompilatorze); dowolny język.net Podstawowe mechanizmy Imperatywne zrównoleglenie zadań i przetwarzania danych (Task Parallel Library) Deklaratywne zrównoleglenie przetwarzania danych (PLINQ) Struktury i kolekcje synchronizacyjne (Coordination Data Structures) Wspólny model obsługi wyjątków Izolowani agenci do uruchamiania współbieŝnego (Asynchronous Agents Library)

16 Normalne C# For (int i=0; i< m1.rows; i ++) { for (int j = 0; j < m2.columns; j++) { result[i, j] = 0; for (int k = 0; k < m1.columns; k++) { result[i, j] += m1[i, k] * m2[k, j]; } }

17 Parallel C# Parallel.For(0, m1.rows, i => { for (int j = 0; j < m2.columns; j++) { result[i, j] = 0; for (int k = 0; k < m1.columns; k++) { result[i, j] += m1[i, k] * m2[k, j]; } }

18 Kilka przykładów Parallel::For(0, rrd->imageheight, gcnew Action<int,ParallelState^>(rrd, &RenderImageData::RenderRow)); Parallel.Invoke( () => QuicksortParallel(arr, left, pivot - 1), () => QuicksortParallel(arr, pivot + 1, right)); _lasttask = Task.StartNew(delegate { Bitmap bmp = MandelbrotGenerator.Create(...);... // narysuj }); var left = Future.Create(() => SumParallel(tree.Left, curdepth+1)); int right = SumParallel(tree.Right, curdepth+1);

19 Task Parallel Library - Task Wątek w kodzie zarzadzalnym Lepszy podział zasobów Kolekcja wątków uruchamia kolekcję zadań Scheduler z małym narzutem Efektywne algorytmy do zarządzania zadaniami TaskScheduler; Rozkład oparty o policy Blokady pomiędzy schedulerami Wiele instancji schedulera Zarządzanie zasobami Wspólna pula zasobów Dynamiczny rozkład w oparciu o analizę aktualnego stanu i policy System.Threading.Tasks Task: Relacja rodzic dziecko; oczekiwanie, anulowanie, kontynuacja Task<TResult>: Tasks który zwraca wynik (realizacja Futures)

20 Coordination Data Structures Kolekcje Thread-safe ConcurrentStack<T> ConcurrentQueue<T> Wymiana danych BlockingCollection<T> Synchronizacja; operacje wieloetapowe CountdownEvent Blokady ManualResetEventSlim SemaphoreSlim SpinLock / SpinWait Inicjalizacja LazyInit<T> WriteOnce<T>

21 (P)LINQ var results = from baby in babies where baby.name == queryname && baby.state == querystate && baby.year >= yearstart && baby.year <= yearend orderby baby.year ascending select baby; Obsługa.NET Standard Query Operators Inteligentne i automatyczne partycjonowanie danych Wystarczy IEnumerable<T> Ale moŝe być implementowane przez innych providerów (bazy danych itp.)

22 WspółbieŜność w kodzie.net Aplikacja.NET Deklaratywne zapytania C# VB C++ Równoległe algorytmy Partycjon. danych Chunk Range Hash Striped Repartitioning Task Parallel Library (TPL) PLINQ Execution Engine Analiza kwerendy Typy operatorów Map Scan Build Search Reduction Łączenie Async (potok) Synch Order Preserving Sorting ForAll Coordination Data Structures F# Inne kompil..net PLINQ Task API Task Parallelism Futures Scheduling Thread-safe Collections Synchronization Types Coordination Types IL TPL lub CDS Wątki Proc 1 Proc p

23 Debugger i testowanie Debugger zna pojęcie Task TakŜe działa dla klasyczny wątków Narzędzia Analiza utylizacji procesorów/rdzeni Analiza blokad w wątkach ZaleŜności na poziomie I/O dysku + Pewne rozwiązania z Microsoft Research 23

24 Wsparcie dla Task Kod zarządzalny i natywny Parallel Tasks Parallel Stacks TeŜ obsługuje tradycyjne wątki

25 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE Przyszłość

26 RaceTrack (MSR) ck RaceTrack wykrywa tzw. dynamic race w kodzie zarządzalnym; sytucje gdy błąd się ujawnia przy drobnych przesunięciach czasowych w wątkach. Wykonuje instrumentalizację kodu i wykrywa podejrzane wzorce dostępu do współdzielonych danych (nie jest to 100% pewne)

27 Chess (MSR) CHESS to narzędzie do wykrywania tzw. Heisenbugs i wskazywania w jakiej konfiguracji wątków one się pojawiają

28 UI do CHESS

29 Transakcyjna pamięć Określić intencje: 1.Ma działać w izolacji od innych zadań 2.Ma nic nie zmieniać gdy jest błąd Nie jest to pełny ACID

30 APLIKACJE WIELORDZENIOWE / WIELOPROCESOROWE A moŝe inne podejście: CCR Concurrency and Coordination Runtime

31 CCR zasada działania Przesyłane są komunikaty które aktywują zadania Komunikaty są wysyłane do portów Port<int> myport = new Port<int>() ; myport.post (42) ; Port zawiera Strukturę FIFO do przechowywania przekazanych wartości Arbiter Odpowiada za zrównoleglenie operacji odbierających komunikaty z portu Zawiera lista delegatów które mogą być uruchomione dla oczekujących komunikatów Implementuje często spotykane konstrukcje współbieŝne jak join, przeploty itp. (przy przekazywaniu sygnałów/komunikatów)

32 CCR - Konfiguracja Port<int> p = new Port<int>(); 3 Arbiter delegate(int n) {/*handler*/} Kolejka Dispatchera Porty i TYP Arbiter zainicjowany i aktywuje port Sygnatura handlera musi pasować do typu portu Arbiter.Activate(q, Arbiter.Receive(true, p, delegate(int n) { /*kod do wykonania...*/ })); DispatcherQueue q = new DispatcherQueue("", d); 4 2 Dispatcher Dispatcher d = new Dispatcher(0, ""); 1

33 Prymitywy koordynacyjne CCR (technicznie metody obiektu Arbiter) Scheduler (bez portu) Obsługa portu Wiele portów

34 CCR a algorytm obliczeń using (DispatcherQueue q = new DispatcherQueue()) { PortSet<Success, Failure> ps = new PortSet<Success, Failure>(); int n = 10; Arbiter.Activate(q, Arbiter.MultipleItemReceive(ps, n, delegate(icollection<success> s, ICollection<Failure> f) { // Akcja po zakończeniu zadań })); for (int i = 0; i < n; ++i) Arbiter.Activate(q, Arbiter.FromHandler( delegate() { try { // praca współbieżna p.post(new Success(...); } catch(exception ex) p.post(new Failure(ex)); })); }

35 Kod asynchroniczny z iteratorami void Start() { Arbiter.Activate(q, Arbiter.FromIteratorHandler(Handler)); } IEnumerator<ITask> Handler() { PortSet<Success, Failure> ps = new PortSet<Success, Failure>(); service.post(new WorkItem(ps)); // wyślij asynchroniczną pracę // Czekaj na zakończenie bez blokowania wątków yield return Arbiter.Choice(ps, delegate(success s) {... }, delegate(failure f) {... } ); // Wyślij kolejne zadanie service.post(new WorkItem(ps));... yield break; // koniec i określenie co można wykonywać równolegle }

36 Połączenie klasycznego BCL i CCR UŜyć CCR do Modelowania współbieŝnych procesów Koordynacji operacji asynchronicznych Wykorzystanie BCL proste: W mechanizmie callback przekazać IAsyncResult do portu CCR

37 Iteracyjne zadanie 1)Rozpocznij odczyt Asynchr. odczyt 2) czekaj na wynik 3)Przetwórz dane IEnumerator<ITask> CcrReadFileAsync(string file) { Callback: Post var resultport = new Port<IAsyncResult>(); IAsyncResult jako using (var fs = new FileStream(file,,FileOptions.Asynchronous)) komunikat { var buf = new byte[fs.length]; fs.beginread(buf, 0, buf.length, resultport.post, null); IAsyncResult result = null; yield return Arbiter.Receive(false, resultport, ar => { result = ar; }); Port koordynujący asynchroniczne operacje } } try { fs.endread(result); ProcessData(buf); } catch { // handle exception } Yield otrzymuje zadanie, Task jest aktywowany przez dispatcher, Dispatcher woła MoveNext() gdy zadanie zakończone. Nie blokuje wątku!

38 CCR a strumień public static PortSet<int, Exception> Read( Wynik lub wyjątek Stream stream, byte[] buffer, int offset, int count) { var resultport = new PortSet<int, Exception>(); stream.beginread(buffer, offset, count, asyncresult => { try { resultport.post(stream.endread(asyncresult)); } catch (Exception e) { resultport.post(e); Post wyniku } lub wyjątku }, null); return resultport; }

39 Przykład CopyStream while (write > 0) { var writeresult = StreamAdapter.Write(dest, bufferb, 0, write); if (read > 0) Join : musi być int na { Choice tylko jedna gałąź readresult oraz EmptyValue // read new bytes and write będzie existing wykonana buffer na writeresult Handler readresult = StreamAdapter.Read(source, ); dostanie oba komunikaty yield return Arbiter.Choice( Arbiter.JoinedReceive<int, EmptyValue>(false, ); readresult, writeresult, (r, s) => { read = r; } Gałęzie dla wyjątków ), Arbiter.Receive<Exception>(false, readresult, e => { exception = e; }), Arbiter.Receive<Exception>(false, writeresult, e => { exception = e; })

40 SYSTEMY ROZPROSZONE HPC Server (krótko!)

41 Windows HPC Server

42 Typy aplikacji Zadania wsadowe Zadania teŝ interaktywne) Kolejkowanie zadań Alokacja zasobów Uruchamianie procesu Monitorowanie wykorzystania zasobów Zintegrowane uruchamianie MPI Zintegrowane bezpieczeństwo + Broker komunikacyjny WCF Wirtualny endpoint WS Load balancing Zintegrowana aktywacja usług Zarządzanie czasem Ŝycia Zintegrowane śledzenie WCF Service (DLL) Service (DLL) Service (DLL) Service (DLL)

43 Współpraca dzięki Web Service Chmura Aplikacje Inne OS Cienki klient Własne mechanizmy schedulera itp.. Windows Vista + HPC client HPC Basic Profile Web Service Węzeł główny (też Broker WCF) Windows HPC Server 2008

44 SYSTEMY ROZPROSZONE DSS Decentralized Software Services

45 Decentralized Software Services Usługa to jednostka orkiestracji; interfejs do komponentu; w środku uŝywany CCR Aplikacja to kompozycja usług Deklaratywne, dynamiczne związki + narzędzie do modelowania Zachowanie w środowisku rozproszonym jest funkcją zmiany stanu węzłów Wspólne operacje na stanie DSSP to protokół dla DSS Nadzbiór HTTP Dodaje manipiulację strukturami danych i powiadamianie o zdarzeniach Polecenia (verbs) DSSP Create / Drop: tworzenie i usuwanie usługi Manipulacja stanem: Get, Query, Insert, Update, Replace, i Delete Lookup kontekstu serwisu Subskrypcja (zwykle na zmianę stanu) Wysyłanie komunikatu (wywołanie operacji) bez zmiany stanu HTTP wspierany do łatwego interoperability i interakcji TCP wykorzystywany do komunikacji między usługami

46 Architektura DSS h Stan Port Usługa Uchwyt Usługa Uchwyt Stan Usługa Uchwyt Stan

47 Deklaratywna koordynacja usług [ServiceHandler(ServiceHandlerBehavior.Concurrent Concurrent)] public IEnumerator<ITask> GetHandler(Get get) { get.responseport.post(_state); yield break; } Deklaracja intencji, reszta to rola DSS [ServiceHandler(ServiceHandlerBehavior.Exclusive Exclusive)] public IEnumerator<ITask> UpdateHandler(Update update) { _state.currentresult += update.body.value; LogUpdate upd; yield return _logservice.update(out upd); UpdateResponse rsp = upd.responseport; update.responseport.post(new UpdateResponse()); }

48 Aktywacja usługi i przepustowość [ActivationSettings( ShareDispatcher=false, ExecutionUnits=2)] [ResourceGroup("MyServices")] [Contract(Contract.Identifier)] public class MyService:DsspServiceBase { [ServicePort("/myService", QueuingPolicy = DsspOperationQueuingPolicy.ConstrainDepth DsspOperationQueuingPolicy.DiscardWithFault, QueueDepthLimit = 1)] MyServiceOperationsPort _mainport; MyState _state; } // Dalej start metod i handlerów

49 DSS a WCF DSS: orkiestracja przy uŝyciu Visual Programming Language WCF (Windows Communication Foudation): orkiestracja przy uŝyciu Workflow Foundation WCF komunikacja zgodna z popularnymi standardami W tym z HPC Server CCR potęŝny framework do uŝytku na danej maszynie MoŜe: połączenie WCF i CCR? Tracimy: stan! Zyskujemy: interoperacyjność

50 SYSTEMY ROZPROSZONE CHMURA (Windows AZURE)

51 Platforma Windows Azure Zwirtualizowane środowisko z Windows NET 3.5 SP1 Aplikacja składa się z: Web Role UI w ASP.NET Worker Role zadanie obliczeniowe Komunikacja: Kolejka (b. szybka) Przechowywanie: Tabele, BLOBy, relacje PARTYCJNONOWANIE TeŜ geograficzne Łatwo przenieść kod.net na dowolną liczbę instancji (usługi integrujące z systemami on-permise - pominięte)

52 Skalowanie idea Web Role Worker Role Kolejka zadań i wyników A B C D ZałoŜenie: BRAK STANU po stronie serwera Ale: ciasteczko, GUID w storage itp..

53 Podsumowanie MAPA technologii Zrównoleglanie zadań Systemy sterujące w CCR fabrykach Monitorowanie urządzeń Podejmowanie decyzji Agenci WF TPL / PPL Nadzór nad procesem kontroli działania systemów w samochodzie Usługi internetowe do zamawiania zdjęć WCF Popularny sklep internetowy WF DSS Lokalne Obsługa źródeł obrazu OpenMP Kodowanie, kompresja itp.. Przetwarzanie obrazów TPL / PPL Wizualizacja danych PLINQ Mechanizmy shaderów System typu nasza-klasa Rozproszone / chmura MPI / MPI.Net Mechanizmy wyszukiwania, OLTP, współpraca Klastry SOA / HPC Animacje, renderowanie Przewidywanie Klastrowe TPL pogody Monitorowanie sejsmologiczne Poszukiwanie zasobów natruralnych (ropa naftowa itp.) Klastrowe PLINQ Windows Azure Zrównoleglanie przez podział danych

54 Podsumowanie Programowanie z uwzględnieniem wielu rdzeni/procesorów/serwerów to konieczność (bo sprzęt ) Narzędzia: PLINQ, TPL, TASK, FUTURES. Łatwiej przerobić algorytm! CCR framework realizujący współbieŝność bazujący na danych DSS(P) wyspecjalizowany protokół pozwalający na orkiestrację asynchronicznych usług Ciekawe połączenie WCF i CCR Visual Programming Language (Robotics Studio) HPC Server Windows Azure Wszystko programowane Visual Studio DuŜe inwestycje Microsoft w rozwój technologii pozwalających programować równolegle Idea: brak róŝnic pomiędzy programami pisanymi tradycyjnie a tymi które wykorzystują efektywnie wiele: rdzeni/procesorów/serwerów

55 PYTANIA?

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

msgbox("akcja: Początek, argument: " + argument.tostring()); Thread.Sleep(1000); //opóźnienie msgbox("akcja: Koniec"); return DateTime.Now.

msgbox(akcja: Początek, argument:  + argument.tostring()); Thread.Sleep(1000); //opóźnienie msgbox(akcja: Koniec); return DateTime.Now. Programowanie asynchroniczne. Operator await i modyfikator async Język C# 5.0 wyposażony został w nowy operator await, ułatwiający synchronizację dodatkowych zadań uruchomionych przez użytkownika. Poniżej

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:

Bardziej szczegółowo

Piotr Bubacz Cloud Computing

Piotr Bubacz Cloud Computing Cloud Computing ITA-112 Wersja 0.9 Warszawa, Czerwiec 2011 Spis treści Wprowadzenie i-4 Moduł 1 Wprowadzenie do Cloud Computing 1-1 Moduł 2 Wprowadzenie do Windows 2-1 Moduł 3 Storage Tabele 3-1 Moduł

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

Programowanie telefonów z Windows Phone 7, cz. 4

Programowanie telefonów z Windows Phone 7, cz. 4 Programowanie telefonów z Windows Phone 7, cz. 4 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU

Programowanie procesorów graficznych GPGPU Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja

Bardziej szczegółowo

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek www.ii.uj.edu.pl/~filipek

VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI. Bartłomiej Filipek www.ii.uj.edu.pl/~filipek VISUAL STUDIO 2008 I.NET 3.5 NOWOŚCI Bartłomiej Filipek www.ii.uj.edu.pl/~filipek plan Szybki start!.net 3.5 Visual Studio 2008 ogólnie Nowe narzędzia Czy zapomniano o C++? Podsumowanie Materiały źródłowe

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

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

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

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014

Leonard G. Lobel Eric D. Boyd. Azure SQL Database Krok po kroku. Microsoft. Przekład: Marek Włodarz. APN Promise, Warszawa 2014 Leonard G. Lobel Eric D. Boyd Microsoft TM Azure SQL Database Krok po kroku Przekład: Marek Włodarz APN Promise, Warszawa 2014 Spis treści Wprowadzenie........................................................

Bardziej szczegółowo

Komunikator internetowy w C#

Komunikator internetowy w C# PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej

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

Programowanie równoległe Parallel Extensions

Programowanie równoległe Parallel Extensions Programowanie równoległe Parallel Extensions W. Grześkowiak Instytut Informatyki, Wydział Elektroniki i Technik Informacyjnych, Politechnika Warszawska, ul. Nowowiejska 15/19, 00-665 Warszawa, Polska w.grzeskowiak@stud.elka.pw.edu.pl

Bardziej szczegółowo

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

Bardziej szczegółowo

Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003

Obliczenia równoległe i rozproszone w JAVIE. Michał Kozłowski 30 listopada 2003 Obliczenia równoległe i rozproszone w JAVIE Michał Kozłowski 30 listopada 2003 Wątki w JAVIE Reprezentacja wątków jako obiektów Uruchamianie i zatrzymywanie wątków Realizacja wątków Ograniczenia Mechanizmy

Bardziej szczegółowo

Aktualny stan i plany rozwojowe

Aktualny stan i plany rozwojowe Aktualny stan i plany rozwojowe Norbert Meyer Konferencja MIC Nowoczesne technologie bliŝej nas Poznań,, 16.04.2009 Centra MIC na świecie oferują studentom programistom specjalistom IT naukowcom Dostęp

Bardziej szczegółowo

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura

Bardziej szczegółowo

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT MONITOROWANIE DOSTĘPNOŚCI USŁUG IT POZIOMY MONITOROWANIA Services Transaction Application OS Network IBM TIVOLI MONITORING Proaktywnie monitoruje zasoby systemowe, wykrywając potencjalne problemy i automatycznie

Bardziej szczegółowo

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect

PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect PureSystems zautomatyzowane środowisko aplikacyjne. Emilia Smółko Software IT Architect Wbudowana wiedza specjalistyczna Dopasowane do zadania Optymalizacja do aplikacji transakcyjnych Inteligentne Wzorce

Bardziej szczegółowo

Programowanie.NET - kurs zaawansowany

Programowanie.NET - kurs zaawansowany Kod szkolenia: Tytuł szkolenia: NET/ADV Programowanie.NET - kurs zaawansowany Dni: 4 Opis: Adresaci szkolenia Szkolenie kierowane jest do programiostów chcących pogłębić swoją wiedzę z zakresu platformy.net

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

Bardziej szczegółowo

Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015

Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015 Załącznik nr 1 do zapytania ofertowego nr 1/POKL/2015 Dotyczy zapytania ofertowego nr 1/POKL/2015, z dnia 12.01.2015 r. w ramach projektu PWP Paragon i Attero finansowanego ze środków Unii Europejskiej

Bardziej szczegółowo

2011-11-04. Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

2011-11-04. Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL Instalacja, konfiguracja Dr inŝ. Dziwiński Piotr Katedra InŜynierii Komputerowej Kontakt: piotr.dziwinski@kik.pcz.pl 2 Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management

Bardziej szczegółowo

Programowanie usług działających w tle

Programowanie usług działających w tle Programowanie usług działających w tle Android Paweł Szafer Po co programować usługi działające w tle? Plan prezentacji O aplikacjach w Androidzie, Sposób podejmowania decyzji o zabiciu procesu, Rodzaje

Bardziej szczegółowo

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C#

Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C# Platformy programistyczne:.net i Java WYKŁ AD 3: WPROWADZENIE DO PL ATFORMY.NET / JĘZYK C# W poprzednim odcinku Git ciągle jest git.net Framework wprowadzenie.net is all around Ala ma kota na Ubuntu Pierwszy

Bardziej szczegółowo

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server {

namespace HostedReceiver { public class Receiver: IConfigureThisEndpoint, AsA_Server { Pobranie i instalacja: - http://www.nservicebus.com/ - download v3.0 now - rozpakować - MSMQ powinno być zainstalowane (Panel Sterowania -> Dodaj/Usuń programy -> Składniki systemu Windows -> Kolejkowanie

Bardziej szczegółowo

Kurs języka Python. Wątki

Kurs języka Python. Wątki Kurs języka Python Wątki Wątek Wątek (ang. thread) to jednostka wykonawcza w obrębie jednego procesu, będąca kolejnym ciągiem instrukcji wykonywanym w obrębie tych samych danych (w tej samej przestrzeni

Bardziej szczegółowo

Język Java wątki (streszczenie)

Język Java wątki (streszczenie) Programowanie współbieżna Język Java wątki (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Języka Java wątki Autor:

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji SIMON SAYS ARCHITECTURE! Usługi zdalne Technologie, techniki i praktyki implementacji O mnie Bloguję: SIMON-SAYS-ARCHITECTURE.COM Twittuję: www.twitter.com/szymonpobiega Koduję: DDDSample.Net, NetMX, WS-Man.Net

Bardziej szczegółowo

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań

Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań Wirtualizacja Hyper-V: sposoby wykorzystania i najnowsze wyniki badań zespół PCSS/MIC: Jacek Kochan, Jerzy Mikołajczak, Marek Zawadzki 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Koniec problemów z zarządzaniem stacjami roboczymi BigFix. Włodzimierz Dymaczewski, IBM

Koniec problemów z zarządzaniem stacjami roboczymi BigFix. Włodzimierz Dymaczewski, IBM Koniec problemów z zarządzaniem stacjami roboczymi BigFix Włodzimierz Dymaczewski, IBM Dlaczego zarządzanie stacjami roboczymi sprawia tyle problemów? Na ogół duŝa ilość Brak standardu konfiguracji Wielka

Bardziej szczegółowo

akademia androida Service, BroadcastReceiver, ContentProvider część IV

akademia androida Service, BroadcastReceiver, ContentProvider część IV akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver

Bardziej szczegółowo

e-off f i f ce: :Sekr k e r tari r at t w chm h urz r e Marcin Pytel

e-off f i f ce: :Sekr k e r tari r at t w chm h urz r e Marcin Pytel e-office: Sekretariat w chmurze Marcin Pytel Plan prezentacji 1. Wprowadzenie do systemu e-office. 2. Architektura systemu. 3. Doświadczenia praktyczne z pracy z Azure. 4. Plany dotyczące rozwoju systemu.

Bardziej szczegółowo

Przetwarzanie Równoległe i Rozproszone

Przetwarzanie Równoległe i Rozproszone POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNOLOGII INFORMACYJNYCH Przetwarzanie Równoległe i Rozproszone www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl

Bardziej szczegółowo

Przykłady interfejsu TCP i UDP w Javie

Przykłady interfejsu TCP i UDP w Javie Przykłady interfejsu TCP i UDP w Javie W Javie interfejsy TCP i UDP znajdują się w pakiecie java.net http://docs.oracle.com/javase/6/docs/api/java/net/packagesummary.html 1 Przykład interfejsu UDP Protokół

Bardziej szczegółowo

Laboratorium 10 - Web Services

Laboratorium 10 - Web Services Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana

Bardziej szczegółowo

WebAii Automation Framework

WebAii Automation Framework Wojciech Pająk Konferencja TESTWAREZ 2008 16-17 października 2008 testerzy.pl Agenda 1. WebAii - wprowadzenie 2. Metodyka automatyzacji 3. Budowa biblioteki 4. Integracja 5. Podsumowanie Co to jest, do

Bardziej szczegółowo

Komunikacja i wymiana danych

Komunikacja i wymiana danych Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX

Bardziej szczegółowo

Klastrowanie bazy IBM DB2. Adam Duszeńko

Klastrowanie bazy IBM DB2. Adam Duszeńko Klastrowanie bazy IBM DB2 Adam Duszeńko Typy klastrów Wydajnościowe Skalowalność Równoległość Obliczeń Składowania Wiele punktów dostępu Niezawodnościowe Bezpieczeństwo Zwielokrotnienie Danych Operacji

Bardziej szczegółowo

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie RESTful Android Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie Jacek Laskowski jacek@japila.pl http://www.jaceklaskowski.pl wersja 1.0, 08.12.2011 O prelegencie - Jacek Laskowski

Bardziej szczegółowo

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4

1 Wątki 1. 2 Tworzenie wątków 1. 3 Synchronizacja 3. 4 Dodatki 3. 5 Algorytmy sortowania 4 Spis treści 1 Wątki 1 2 Tworzenie wątków 1 3 Synchronizacja 3 4 Dodatki 3 5 Algorytmy sortowania 4 6 Klasa Runnable 4 Temat: Wątki Czym są wątki. Grafika. Proste animacje. Małe podsumowanie materiału.

Bardziej szczegółowo

Języki i Techniki Programowania II. Wykład 7. Współbieżność 1

Języki i Techniki Programowania II. Wykład 7. Współbieżność 1 Języki i Techniki Programowania II Wykład 7 Współbieżność 1 Programy, Procesy, Wątki Program to zestaw instrukcji do wykonania, dane do przetworzenia, mechanizmy sterujące (stos) Proces w komputerze to

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1. Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)

Bardziej szczegółowo

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4 Wykład 4 p. 1/1 Oprogramowanie i wykorzystanie stacji roboczych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Obsługa sieci Wykład

Bardziej szczegółowo

Microsoft SQL Server 2012 Krok po kroku

Microsoft SQL Server 2012 Krok po kroku Patrick LeBlanc Microsoft SQL Server 2012 Krok po kroku Przekład: Natalia Chounlamany APN Promise, Warszawa 2013 Spis treści Wprowadzenie.......................................................... xv Część

Bardziej szczegółowo

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski

Jak ujarzmić hydrę czyli programowanie równoległe w Javie. dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski Jak ujarzmić hydrę czyli programowanie równoległe w Javie dr hab. Piotr Bała, prof. UW ICM Uniwersytet Warszawski Prawo Moore a Ekonomicznie optymalna liczba tranzystorów w układzie scalonym zwiększa się

Bardziej szczegółowo

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową Plan 1 Uwagi na temat wydajności CPython a 2 Podstawowe techniki poprawiające wydajność obliczeniową 3 Podstawowe techniki poprawiające zużycie pamięci krótkie opisy modułów 1 array - jak oszczędzić na

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.

Proxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły

Bardziej szczegółowo

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący Przedmiotowy system oceniania Zawód: Technik Informatyk Nr programu: 312[ 01] /T,SP/MENiS/ 2004.06.14 Przedmiot: Systemy Operacyjne i Sieci Komputerowe Klasa: pierwsza Dział Dopuszczający Dostateczny Dobry

Bardziej szczegółowo

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra. N Wprowadzenie Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra. Wprowadzenie (podział ze względu na przeznaczenie) Wysokiej dostępności 1)backup głównego

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:

Bardziej szczegółowo

Microsoft IT Academy kurs programowania

Microsoft IT Academy kurs programowania Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

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

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 6. 6 listopada 2015 Plan wykładu Callable objects 1 Callable objects 2 3 Plan wykładu Callable objects 1 Callable objects 2 3 Callable objects Wszystko jest obiektem. Callable objects Wszystko jest

Bardziej szczegółowo

Ćwiczenie 1. Przygotowanie środowiska JAVA

Ćwiczenie 1. Przygotowanie środowiska JAVA Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.

Bardziej szczegółowo

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG

Java JMX. Marcin Werla. Monitorowanie i zarządzanie usługami sieciowymi w Javie. mwerla@man.poznan.pl PCSS/Poznań JUG Java JMX Monitorowanie i zarządzanie usługami sieciowymi w Javie Marcin Werla mwerla@man.poznan.pl PCSS/Poznań JUG Plan prezentacji Wprowadzenie Specyfikacja Dodatkowe narzędzia i biblioteki Studium przypadku

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

Aurea BPM Dokumenty pod kontrolą

Aurea BPM Dokumenty pod kontrolą Aurea BPM Dokumenty pod kontrolą 1 Aurea BPM unikalna platforma o wyróżniających cechach Quality Software Solutions Aurea BPM Aurea BPM system informatyczny wspomagający zarządzanie procesami biznesowymi

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

Aplikacja wielowątkowa prosty komunikator

Aplikacja wielowątkowa prosty komunikator Aplikacja wielowątkowa prosty komunikator Klient 0 (host 1) Wątek 0 Komponent serwera Wątek pochodny 3.1 Klient 1 (host 2) Wątek 1 Komponent serwera Wątek pochodny 3.2 Host 4 Serwer Wątek 3 Klient 2 (host

Bardziej szczegółowo

UWOLNIĆ INFORMACJĘ PUBLICZNĄ!

UWOLNIĆ INFORMACJĘ PUBLICZNĄ! UWOLNIĆ INFORMACJĘ PUBLICZNĄ! ARCHITEKTURA INTEROPERACYJNOŚCI I REUŻYTKOWANIA INFORMACJI PUBLICZNEJ NA PRZYKŁADZIE ROZWIĄZANIA CHMURY PRYWATNEJ DLA ADMINISTRACJI Krzysztof Skibicki Pion Rozwiązań Systemowych

Bardziej szczegółowo

Relacyjne, a obiektowe bazy danych. Bazy rozproszone

Relacyjne, a obiektowe bazy danych. Bazy rozproszone 2 Relacyjne, a obiektowe bazy danych. Bazy rozproszone Zastosowania baz danych systemy bankowe (bankomat) systemy masowej obsługi (hipermarket) rezerwacja biletów lotniczych telefonia komórkowa (sms) Dziekanat

Bardziej szczegółowo

Cele. Definiowanie wyzwalaczy

Cele. Definiowanie wyzwalaczy WYZWALACZE Definiowanie wyzwalaczy Cele Wyjaśnić cel istnienia wyzwalaczy Przedyskutować zalety wyzwalaczy Wymienić i opisać cztery typy wyzwalaczy wspieranych przez Adaptive Server Anywhere Opisać dwa

Bardziej szczegółowo

Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1

Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1 Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów

Bardziej szczegółowo

Systemy obiegu informacji i Protokół SWAP "CC"

Systemy obiegu informacji i Protokół SWAP CC Systemy obiegu informacji i Protokół SWAP Grzegorz Blinowski "CC" Grzegorz.Blinowski@cc.com.pl http://www.cc.com.pl/ tel (22) 646-68-73; faks (22) 606-37-80 Problemy Integracja procesów zachodzących w

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie WCF Data Services Obsługa żądania OData Podstawy języka OData Narzędzia i biblioteki Gdzie można skorzystać z OData OData w Web API

Bardziej szczegółowo

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii

Bardziej szczegółowo

Programowanie Rozproszone i Równoległe. Edward Görlich http://th.if.uj.edu.pl/~gorlich goerlich@th.if.uj.edu.pl

Programowanie Rozproszone i Równoległe. Edward Görlich http://th.if.uj.edu.pl/~gorlich goerlich@th.if.uj.edu.pl Programowanie Rozproszone i Równoległe Edward Görlich http://th.if.uj.edu.pl/~gorlich goerlich@th.if.uj.edu.pl Motywacja wyboru Programowanie rozproszone równoległość (wymuszona) Oprogramowanie równoległe/rozproszone:

Bardziej szczegółowo

Twisted. Silnik Twojego Internetu. Jan Urbański wulczer@wulczer.org. Ducksboard. PyWaw #25, Warszawa, 10 czerwca 2013

Twisted. Silnik Twojego Internetu. Jan Urbański wulczer@wulczer.org. Ducksboard. PyWaw #25, Warszawa, 10 czerwca 2013 Twisted Silnik Twojego Internetu Jan Urbański wulczer@wulczer.org Ducksboard PyWaw #25, Warszawa, 10 czerwca 2013 Jan Urbański (Ducksboard) Twisted PyWaw #25 1 / 23 1 Co to jest Twisted? Strona techniczna

Bardziej szczegółowo

Rozproszone systemy internetowe

Rozproszone systemy internetowe Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Rozproszone systemy internetowe Wprowadzenie do usług WWW (Web Services) Podniesienie potencjału uczelni

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

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

INFORMATYKA Pytania ogólne na egzamin dyplomowy INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja

Bardziej szczegółowo

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA NOWY OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA Załącznik nr 4 do SIWZ/ załącznik do umowy Przedmiotem zamówienia jest dostawa 2 serwerów, licencji oprogramowania wirtualizacyjnego wraz z konsolą zarządzającą

Bardziej szczegółowo

Programowanie równoległe i rozproszone. W1. Wielowątkowość. Krzysztof Banaś Programowanie równoległe i rozproszone 1

Programowanie równoległe i rozproszone. W1. Wielowątkowość. Krzysztof Banaś Programowanie równoległe i rozproszone 1 Programowanie równoległe i rozproszone W1. Wielowątkowość Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np.

Bardziej szczegółowo

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury

Bardziej szczegółowo

Asynchroniczne interfejsy

Asynchroniczne interfejsy Asynchroniczne interfejsy AJAX WWW mgr inż. Rafał Grycuk mgr inż. Patryk Najgebauer Strona służbowa: http://iisi.pcz.pl/~rgrycuk/ Kontakt: rafal.grycuk@iisi.pcz.pl Konsultacje: Środa, godz. 12-14 Agenda

Bardziej szczegółowo

SQL Server 2005. Łukasz Łysik llysik@gmail.com. 21 października 2008

SQL Server 2005. Łukasz Łysik llysik@gmail.com. 21 października 2008 SQL Server 2005 Łukasz Łysik llysik@gmail.com 21 października 2008 Zakres prezentacji SQL Server Management Studio Transakcje Lock, deadlocks Procedury CLR Triggery Service Broker SQL Server Profiler SQL

Bardziej szczegółowo

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe

2013-04-25. Czujniki obiektowe Sterowniki przemysłowe Ogólne informacje o systemach komputerowych stosowanych w sterowaniu ruchem funkcje, właściwości Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i transportowej

Bardziej szczegółowo

UML w Visual Studio. Michał Ciećwierz

UML w Visual Studio. Michał Ciećwierz UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować

Bardziej szczegółowo

Robert Szmurło. Projektowanie Graficznych Interfejsów Użytkownika

Robert Szmurło. Projektowanie Graficznych Interfejsów Użytkownika Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło 1 Nota autorska. Znaczna część ilustracji w tej prezentacji została zaczerpnięta z wielu źródeł ogólnie dostępnych w internecie. Oto główne

Bardziej szczegółowo

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans. GRZEGORZ FURDYNA Krótka Historia Co to jest NetBeans? Historia Wersje NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły NetBeans Profiler Narzędzie do projektowania GUI Edytor NetBeans

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

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

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r.

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Bazy danych dla producenta mebli tapicerowanych Bartosz Janiak Marcin Sikora Wrocław 9.06.2015 r. Założenia Stworzyć system bazodanowy dla małej firmy produkującej meble tapicerowane. Projekt ma umożliwić

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

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo