Pamięć Transakcyjna, to eksperymentalna metoda synchronizacji w programach współbieżnych, stanowiąca alternatywę dla znanych blokad, mutexów i monitorów. W poprzednim wpisie przedstawiłem ideę takiego podejścia, w tym opisują ten mechanizm od podszewki.
Programowanie rozproszone 5265 dni, 10 godzin, 51 minut temu 47 źrodło rozwiń
Tworząc systemy współbieżne, należy dobrze przemyśleć kwestię synchronizacji. W jaki sposób udostępniać wspólną pamięć, jak chronić do niej dostęp. W większości przypadków należy skorzystać z szeroko dostępnych i udokumentowanych blokad, monitorów itp. Co jeśli potrzeba nam bardziej zaawansowanych narzędzi? W tym artykule opisuję Pamięć Transakcyjną, podejście znane dotychczas jedynie w bazach danych.
Programowanie rozproszone 5266 dni, 21 godzin, 45 minut temu 108 źrodło rozwiń
Microsoft Research opublikował pierwszą wersję Biology Foundation - zestawu narzędzi kierowanych do specjalistów od bioinformatyki, które stanowi rozszerzenie dla platformy .NET.
Programowanie rozproszone 5266 dni, 21 godzin, 45 minut temu 77 źrodło rozwiń
Programowanie równoległe, wielowątkowe czy wieloprocesorowe, znane jest nie od dziś, ale to właśnie teraz, będzie najbardziej wykorzystywane. Dzisiejsze komputery nie mają już jednego rdzenia, serwery mają ich kilkanaście, a domowe pcety przynajmniej dwa. Jak wykorzystać wszystkie z nich? Zagadnienie z pewnością trudne ale i ciekawe, a dodatkowo stało się głównym tematem mojej pracy magisterskiej.
Programowanie rozproszone 5271 dni, 8 godzin, 20 minut temu 105 źrodło rozwiń
Autor: W ostatnią sobotę miałem przyjemność wygłosić sesję na Visual Studio 2010 Community Launch w Krakowie zatytułowaną "Programy równoległe są dla każdego". Dla zainteresowanych poniżej zamieszczam swoje materiały.Prezentacja Przykłady
Programowanie rozproszone 5314 dni, 11 godzin, 12 minut temu 97 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Ci z Was, którzy obsługiwali już wątki w .NET wiedzą, że nie jest to specjalnie skomplikowane. Najczęściej problemy występują przy obsłudze kontrolek Windows Forms, ponieważ ich właściwości mogą być zmieniane tylko w wątku, który je stworzył. Innym problemem jest wykorzystywanie lokalnej pamięci wątków do przechowywania informacji o kontekście, gdy proces nieoczekiwanie zmienia wątki, te dane mogą zniknąć. Z te...
Programowanie rozproszone 5314 dni, 22 godziny, 25 minut temu 76 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Współbieżność (ang. concurrency) w serwisie WCF występuje, kiedy jednocześnie więcej niż jedno wywołanie ma miejsce. Celem serwisu WCF jest przetwarzanie przychodzących żądań. Kiedy żądanie przychodzi do serwisu, serwis rozdziela (ang. dispatch) komunikaty na własne wątki, które brane są z puli wątków. Z każdym żądaniem powiązany jest obiekt serwisu – instancja klasy, która implementuje interfejs serwisu. W WCF...
Programowanie rozproszone 5316 dni, 8 godzin, 24 minuty temu 78 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. No to wiemy już jak włączyć transakcje i co trzeba zrobić, zarówno po stronie serwisu jak i po stronie klienta, aby informacje o transakcji były przekazywane w obie strony. Dzisiaj dowiemy się więcej o obsłudze transakcji od strony kodu.Transakcje otoczenia W .NET Framework 2.0 w przestrzeni nazw System.Transaction zostały wprowadzone tzw. transakcje otoczenia (ang. Ambient Transactions). Polega to na tym, że ...
Programowanie rozproszone 5322 dni, 12 godzin, 16 minut temu 67 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Podstawową funkcją transakcji jest zagwarantowanie zasad ACID:atomowości (ang. atomicity),spójności (ang. consistency),izolacji (ang. isolation),trwałości (ang. durability). Kiedy operacje związane z bazą odbywają się na wielu maszynach i wielu zbiorach danych, nie jest to takie proste. WCF wspomaga programistę w tym zadaniu. W celu spełnienia zasad ACID najczęstszym podejściem jest wykorzystanie dwuetapowego ...
Programowanie rozproszone 5322 dni, 23 godziny, 23 minuty temu 39 źrodło rozwiń
.NET Framework pozwala na łatwe wczytywanie, uruchamianie i wykorzystywanie obcych assembly. Należy jednak pamiętać, że nie wolno mieć pełnego zaufania do cudzego kodu. Ma to jeszcze większe znaczenie gdy dopuszczamy sytuację, w której pozwalamy na wykonywanie kodu, którego nigdy nie testowaliśmy, z którym nigdy nie mieliśmy do czynienia. Oczywiście w takim przypadku otrzymujemy bardzo dobre wsparcie ze strony .NET Framework, a mianowicie obsługę tzw. Domen aplikacji. Domena aplikacji (ang. Application...
Programowanie rozproszone 5324 dni, 10 godzin, 38 minut temu 85 źrodło rozwiń
W listopadzie 2008 roku nikt jeszcze nie słyszał o Parallel Extensions. W ramach wydarzenia IT Academic Day na moim wydziale, przygotowałem prezentację o programowaniu równoległym i jako pierwszy publicznie pokazałem Community Technology Preview środowiska Visual Studio 2010. Moja krótka relacja oraz materiały znajdują się w pełnej wersji artykułu.
Programowanie rozproszone 5328 dni, 16 godzin, 22 minuty temu 93 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. WCF jest odpowiedzialny za wiązanie przychodzącego komunikatu do określonej instancji serwisu. Tryb wystąpienia (ang. instance mode) określa związek pomiędzy klientem a instancją serwisu (np. czy istniejąca instancja serwisu jest w stanie przetworzyć żądanie). Ta lekcja przedstawia, różne rodzaje możliwych wystąpień, sposób w jaki są tworzone i konsekwencje wyborów. Dla InstanceContextMode dostępne są trzy wybo...
Programowanie rozproszone 5330 dni, 16 godzin, 45 minut temu 38 źrodło rozwiń
· Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Wiemy już, że WCF może tworzyć oddzielne instancje klasy serwisu dla poszczególnych wywołań, dla poszczególnych sesji lub używać tylko jednej instancji do obsłużenia wszystkich klientów i ich wywołań. Dzisiaj dowiemy się jak zarządzać poszczególnymi instancjami klasy serwisu.Zabezpieczanie serwisu W rzeczywistym świecie głównym problemem są ataki typu “Odmowa usługi” (ang. Denial of service). Ataki te powoduj...
Programowanie rozproszone 5333 dni, 7 godzin, 39 minut temu 43 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Istnieje oraz zapewnie będzie istniała nadal potrzeba tworzenia serwisów, które mogą otrzymywać komunikaty w postaci dokumentu Plain old XML (POX). Serwis musi umieć sprawdzić taki komunikat bez dokładniej wiedzy na temat jego struktury. Wiele aplikacji klienckich nie potrafi utworzyć komunikatu sformatowanego jako SOAP. Przykładowo przeglądarki internetowe nie mają wsparcia dla protokołów opartych na SOAP. Pot...
Programowanie rozproszone 5334 dni, 8 godzin, 49 minut temu 24 źrodło rozwiń
WSDL w PHP Czym w ogóle są webserwisy i po co nam one? Webserwisy (inaczej usługi sieciowe) to aplikacje udostępniające za pomocą protokołu SOAP interfejs, do którego mogą podłączyć się inne, niezależne platformowo, aplikacje. Dzięki temu możemy w prosty sposób budować duże, rozproszone aplikacje zapewniając przy tym spójność przesyłanych danych. Nic nie stoi więc na przeszkodzie, by przygotować na linuksie webserwis w php, łączący się za pomocą PDO z bazą danych MySQL, z którego będzie korzystać WPF’ow...
Programowanie rozproszone 5337 dni, 13 godzin, 55 minut temu 148 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Dzisiaj dowiemy się jak obsługiwać wyjątki serwisu po stronie klienta. WCF sygnalizuje wyjątki wykorzystując błędy SOAP. Wyróżniamy dwa typy błędów które mogą być wykorzystane: błędy typowane/deklarowane (ang. typed faults/declared SOAP faults) i beztypowe/niedeklarowane (ang. untyped faults/nondeclared SOAP faults).Odbieranie błędów Teoretycznie podczas korzystania z WCF’a możliwie jest występowanie wielu róż...
Programowanie rozproszone 5338 dni, 8 godzin, 14 minut temu 33 źrodło rozwiń
W poprzednim poście przedstawiłem w skrócie czym jest WCF Data Service i jak stworzyć prostą usługę sieciową opartą o WCF Data Service. Dzisiaj przyjrzymy się jak stworzyć aplikacje kliencką za pomocą bibliotek dołączonych do .NET. .NET ułatwia znacząco dostęp do usług WCF Data Service. Programista nie musi samemu tworzyć zapytań URL. Korzystanie z WCF Data Service bardzo przypomina pracę z lokalnym EntityFramework. Stwórzmy więc aplikację kliencką:Tworzymy nowy projekt aplikacji klienckiej np. WPF lub...
Programowanie rozproszone 5339 dni, 14 godzin, 28 minut temu 81 źrodło rozwiń
WCF Data Service to usługa sieciowa umożliwiająca łatwy dostęp do danych. Wyobraźmy sobie następujący przypadek: Mamy pewną bazę danych zawierającą np. informacje o produktach. Można napisać ręcznie usługę WCF, która wyeksponuje wszelkie potrzebne dane za pomocą metod. Usługa w takim przypadku zawierałaby metody typu Create, Update, Delete, GetById, GetByQuery itp. Implementacja usługi dla każdej tabeli w bazie jest dość czasochłonna i niezbyt interesująca. Za pomocą WCF Data Service, usługa zostanie ...
Programowanie rozproszone 5342 dni, 15 godzin temu 54 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Już mniej więcej wiemy czym dysponujemy w zakresie zabezpieczeń zarówno warstwy transportowej jak i samych wiadomości. No to teraz dowiemy się jak określać dostęp do określonych metod serwisu w zależności od tego kim jest ten, który się do niego podłączył.Autoryzacja Wiemy już km jest osobnik podłączony do serwisu, ale jeszcze nie wiemy co możemy mu udostępnić. W skład obsługi autoryzacji w WCFie wchodzą trzy e...
Programowanie rozproszone 5342 dni, 15 godzin temu 62 źrodło rozwiń
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. W tej lekcji zajmiemy się tematyką uwierzytelniania – określaniem kto jest kim (potwierdzaniem tożsamości), czy szyfrowaniem. Uwierzytelnianie będzie obejmowało zarówno weryfikację klienta przez serwis, jak i serwisu przez klienta. WCF oferuje następujące mechanizmy uwierzytelniania:Brak uwierzytelniania (No authentication) – dostęp anonimowy bez potwierdzania tożsamości,Uwierzytelnianie Windows (Windows authen...
Programowanie rozproszone 5345 dni, 13 godzin, 54 minuty temu 69 źrodło rozwiń