czwartek, 27 września 2007

Cardspace - Windows Live ID Beta + zmiany w .NET 3.5

Ostatnio dosyć intensywnie zgłębiam swoją wiedzę na temat Cardspace. Z czterech nowych elementów .NET 3.0 Cardspace wydaje się trochę stać w cieniu WPF, WCF i WF, a jest to bardzo interesujące zagadnienie -:)

Całkiem niedawno Microsoft udostępnił w wersji beta możliwość powiązania swojego Windows LiveID z kartą. W tym celu trzeba wejść na stronę testową.

Również niedawno twórcy Cardspace założyli bloga http://blogs.msdn.com/card/, w którym będą opisywać zmiany jakie wprowadzą w .NET 3.5. Zmiany zajdą również w elemencie icardie.dll (module IE7 odpowiedzialnym za komunikację przeglądarki z Cardspace), którego nowa wersja zostanie udostępniona wraz z Windows Vista SP1 i uaktualnieniem IE7. Na razie najważniejszą zmianą w stosunku do ostatniego wydania Cardspace jest możliwość współpracy ze stronami Web wymagającymi tożsamości za pomocą protokołu http. Tak więc strona z https i SSL przestaje być ograniczeniem Cardspace przy obsłudze witryn internetowych. Złagodzenie tej restrykcji pozwoli zwiększyć zakres zastosowań omawianej technologii.

poniedziałek, 17 września 2007

Sejmik Młodych Informatyków - III część tryptyku






W dniach od 13-15 września miałem przyjemność uczestniczenia w konferencji naukowej Sejmik Młodych Informatyków w Świnoujściu, na której wygłosiłem prezentację na temat swoich osiągnięć.

Miało to głównie związek z moją pracą magisterską Komunikacja i bezpieczeństwo w rozproszonych, interaktywnych i multimedialnych systemach telemedycznych, obronioną w zeszłym roku na AGH w katedrze Informatyki. Została stworzona platforma do budowania bezpiecznych usług z wykorzystaniem .NET 2.0 (.NET Remoting) i WSE 3.0. Znalazła zastosowanie w systemie do przeprowadzania konsultacji telemedycznych TELEDICOM.

Został zamknięty więc tryptyk, jaki powstał wokół tej pracy:
1. Wyróżnienie na XXIII Ogólnopolskim Konkursie na najlepsze prace magisterskie z informatyki (Polskie Towarzystwo Informatyczne)
2. Udział w konferencji naukowej Metody i narzędzia wytwarzania oprogramowania w Szklarskiej Porębie (Microsoft Research i PTI):
- artykuł "Konstrukcja platformy bezpieczeństwa w środowiskach .NET Framework 2.0 i Web Services Enhancements 3.0"
- prezentacja
- artykuł w PWN
3. Udział w SMI w Świnoujściu - prezentacja

wtorek, 11 września 2007

WCF, WF, Cardspace - książka

Ostatnio czytanie książek mi się spodobało. Postanowiłem ugruntować i uzupełnić swoją wiedzę o WCF. Spośród różnych pozycji wybrałem Windows Communication Foundation Unleashed autorstwa Craig McMurtry, Marc Mercuri, Nigel Watling, Matt Winkler.

Książka nie jest prostym spisem wyliczanek przepisanych wprost z dokumentacji, tylko pokazuje w sposób praktyczny wiele interesujących zagadnień. W dodatku nie ogranicza się tylko i wyłącznie do WCF-a, ale poświęca miejsce także technologiom WF i CardSpace. Ma to swoje uzasadnienie, ponieważ te technologie są ze sobą powiązane. Opisano również integrację WF-a z WCF-em w .NET 3.5 (co prawda w VS "Orcas" z marca tego roku, ale zazwyczaj książki nie są aż tak na bieżąco, więc i tak zaskoczyło mnie to pozytywnie) oraz zagadnienia związane z Windows Vista (np. rozszerzenia WCF-a dla MSMQ dostępne tylko w tym systemie operacyjnym czy kwestie konfiguracji i uprawnień)

Spośród wielu interesujących rzeczy, które zwróciły moją uwagę to:
- Reliable Sessions (behavior zapobiegający złej kolejności pakietów, ich gubieniu czy duplikowaniu oraz powodujący ponowne nawiązywanie zerwanych połączeń)
- integracja WF-a z WCF-em w .NET 3.5
- XSI (daje możliwość zapewnienia wygodniejszego sposobu autoryzacji niż ten oparty na PrincipalPermission)
- CardSpace (bardzo ciekawe zagadnienie i bardzo szczegółowo i kompleksowo opisane w 2 rozdziałach, należy zwrócić uwagę, że programiści po stronie klienta są odciążeni - selector kart jest automatycznie wołany albo przez WCF-a na podstawie konfiguracji klienta albo przez przeglądarkę wspierającą CardSpace, np. Internet Explorer 7)
- bogate możliwości budowania własnych rozszerzeń dla WCF-a (własne zachowania i bindingi - kanały i protokoły transportowe)
- możliwość strumieniowania, gdy rozmiar wiadomości utrudnia jej buforowanie
- budowanie systemów typu publish/subscribe (kontrakty typu callback, multicast w MSMQ, strumieniowanie z customowym strumieniem)
- budowanie aplikacji peer-to-peer: predefiniowany NetPeerTcpBinding (na Windows XP SP2 i Windows Vista wykorzystujący komponent systemowy Peer-to-Peer Networking, w Windows 2003 trzeba dostarczyć swojego resolvera)
- możliwość budowania serwisów REST POX (np. RSS) obsługujących zwykły XML zamiast SOAP
- zapowiedź komunikacji klienta przez JSON z serwisem WCF w .NET 3.5 (co pokazuje jak bardzo jest to aktualna książka)

piątek, 7 września 2007

WCF - hostowanie na IIS7 i Windows Vista

Ostatnio hostowałem serwis WCF na Windows Vista -:) Aby wszystko było ok, należy:

Primo: Po doinstalowaniu IIS 7, nie należy zapomnieć o doinstalowaniu pewnych elementów WCF. W Windows Vista są to składowe systemowe w gałęzi Microsoft .NET Framework 3.0:
- Windows Communication Foundation HTTP Activation
- Windows Communication Foundation Non-HTTP Activation

Secundo: powinna być stworzona aplikacja (sam katalog virtualny nie wystarczy)

czwartek, 6 września 2007

WCF - svcutil na VS 2008 Beta2

Chciałem wygenerować proxy serwisu WCF dla klienta. Okazało się, że svcutil jest uszkodzony w Visual Studio 2008 Beta2. Ale na szczęście to jedno z wielu Known Issues, opisanych w pliku ReadMe. Zgodnie z zaleceniami wpisałem komendę w konsoli VS (z powodu uprawnień Visty w trybie administratora, inaczej wypisuje, że nie ma uprawnień do rejestru -:)):

sn -Vr "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcUtil.exe"

No i pomyślnie wygenerowałem klasę w C# i plik konfiguracyjny XML.

WCF - rejestracja adresu HTTP na Windows Vista

Podczas odpalania aplikacji hostującej serwis WCF na podanym adresie HTTP (http://localhost:8000/Derivatives/Calculator) na Windows Vista wyskoczył mi wyjątek następującej treści:

HTTP could not register URL http://+:8000/Derivatives/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details).

Uh, znowu kwestia braku uprawnień -:)
Najpierw intuicja podpowiedziała mi, by odpalić skompilowany program w trybie administratora (Run As Administrator) i wtedy było ok.

Jednak nie poprzestałem na tym i postanowiłem rozeznać sprawę. Otóż okazuje się, że trzeba nadać uprawnienia dla konta do rejestracji odpowiedniego HTTP URL. W Windows 2003 służyło do tego narzędzie Httpcfg.exe. Jednak w Viście to narzędzie nie jest tak prosto dostępne. Zamiast niego lepiej użyć programu netsh.exe. Zgodnie z podawanymi opisami wpisałem dla swojej aplikacji:

netsh>http add urlacl url=http://+:8000/ user=Marcin

Teraz powinno zadziałać. I ... nie zadziałało (z powodu braku uprawnień - sic!). Odpaliłem netsh w trybie administratora, powtórzyłem komendę i nareszcie poszło.

Jak widać kwestia uprawnień Visty pojawia się niemal na każdym kroku (inny przykład z mej autopsji - aby zarejestrować ASP.NET na IIS-ie też trzeba odpalić konsolę w trybie administratora).

Silverlight - MS wciąż do przodu ....

Spożywając kolację spostrzegłem, że dnia września piątego roku bieżącego Microsoft wydał ostateczną wersję Silverlight 1.0. Natomiast aktualną eksperymentalną wersją edycji 1.1 jest Silverlight 1.1 Alpha September Refresh. Najbardziej jednak zwraca uwagę fakt, że na oficjalnej stronie Microsoftu dotyczącej Silverlight zamieszczone jest info, że wspólnie z Novellem pracują nad wersją dla Linuksa Moonlight ! Po zapewnieniu wsparcia dla różnych platform systemowych, sukces Silverlighta wydaje się całkiem prawdopodobny.

środa, 5 września 2007

WWF w .NET 3.0 - książka do poduszki -:)

Aby dobrze zrozumieć różnice między .NET 3.0 a .NET 3.5, nie trudno dojść do wniosku, że najpierw trza dobrze ugruntować wiedzę o .NET 3.0. Co może dać nam solidną wiedzę?

Na początek owszem można pobawić się samplami i poczytać fragmentami dokumnetację. Jednak czytanie szczegółowe dokumentacji najlepiej się sprawdza, gdy chcemy zgłębić jakiś szczegół, który jest nam w danym momencie potrzebny, natomiast jak technologia jest zupełnie nowa... Może jest to mało odkrywcze, ale gdy chcemy poznać całościowo jakąś technologię i mieć kompleksowe i jednocześnie dość wnikliwe spojrzenie, co można w niej zdziałać, nieraz szybciej i wygodniej można to osiągnąć siegając po książkę. Oczywiście, nie rezygnując z praktycznych prób podczas czytania jej. Takie przynajmniej jest moje osobiste zdanie (pod warunkiem, że zdążono wydać książkę do danej technologii).

I oto ok. 2 tygodnie temu natrafiłem na książkę Kenn Scribner Microsoft Windows Workflow Foundation Step by Step. Po jej przyczytaniu mogę powiedzieć, że bardzo mi się podoba sposób jej napisania. Konkretne omówienie aspektów WWF w logicznym ciągu myślowym z konkretnymi praktycznymi przykładami aplikacji.
Sporą część tych przykładów stworzyłem sobie w Visual Studio i sprawdziłem w praktyce. Co prawda przykłady w książce stworzone były z myślą o VS 2005 + WF extensions, ale ja użyłem do tego VS Studio 2008 Beta2 (z projektami ustawionymi na frameworka 3.0 - możliwość wyboru frameworka pomiędzy 2.0, 3.0 a 3.5 to użyteczna cecha nowego VS)

Natomiast nawiązując do tytułu posta, książkę czyta się bez zmęczenia, jednak niektóre jej treści lepiej jednak nie czytać w łóżku, bo wymagają pewnej koncentracji (np. korelacja instancji workflow, omówienie transakcji, itd). Nawet udostępnianie worklflow jako ASP.NET Web Service - chociaż zaumatyzowane w pewnym stopniu przez Visual Studio - rownież wymaga zachowania czujności w związku z użyciem dedykowanych aktywności i odpowiedniego ich skonfigurowania (sic!)

wtorek, 4 września 2007

Pierwszy post

Witam wszystkich.

Otóż postanowiłem swoje zainteresowania "przelać" w końcu na bloga, w którym od dzisiejszego dnia będę chciał się dzielić swoją wiedzą i "odkryciami" związanymi z najnowszymi technologiami firmy Microsoft, skupiając się głównie na platformie .NET.

Od końca 2006 na rynku obecny jest .NET 3.0, bazujący na .NET 2.0 i wprowadzający aż cztery nowe frameworki: WPF (nowy sposób tworzenia bogatego interfejsu użytkownika), WCF (nowe podejście do tworzenia systemów rozproszonych - unifikacja wszystkich dotychczasowych technologii Microsoftu w jedną), WF (po raz pierwszy w .NET framework do modelowania procesów biznesowych tzw.workflow), CardSpace (mechanizm typu meta identity dla usług webservice i stron www). Jak widać .NET 3.0 wprowadza bardzo dużo nowych rzeczy w stosunku do poprzednich wersji frameworka.

Jednak Microsoft nie zasypuje gruszek w popiele i już pracuje nad .NET 3.5 (obecnie beta2), który zostanie zaprezentowany na początku 2008 roku wraz z nowym Visual Studio 2008. .NET 3.5 wprowadza dwa istotne elementy: LINQ (zapytania SQL-a i XPatha na poziomie skladni C# 3.0 !) oraz AJAX (znany wcześniej jako oddzielny framework na bazie .NET 2.0). Oprócz tego 3.5 wprowadza m.in integrację WF-a z WCF-em oraz dodatkowe elementy i ulepszenia do WPF-a.

Jakby tego było mało powstaje też Silverlight (konkurent dla Flasha), ktory wykorzystuje podzbiór .NET 3.5 (elementy WPF-a, LINQ i nie tylko)

Podsumowując więc, z pewnością nie zabraknie tematów w tym blogu! Nie wykluczam poza tym zamieszczania informacji na temat ciekawych zagadnień z zakresu wcześniejszych edycji .NET, interesujących bibliotek, istotnych wydarzeń, itp ...

Do tej pory - jeśli chodzi o .NET 3.0 i wzwyż - rozpoznawałem głównie możliwości:
- WPF (November CTP 2004, Beta2, RC, RTM - Visual Studio 2005 + Expression Blend)
- WCF (CTP lato 2005, RTM)
- Silverlight (1.1 Alpha + Visual Studio Orcas Beta1 + Expression Blend 2 May Preview)
- trochę LINQ dla SQL-a i XML-a

Ostatnio zainstalowałem sobie na Windows Vista Visual Studio 2008 Beta2 (skończyło się to reinstalką Visty, bo nie mogłem odinstalować 2 poprawek - SP1 dla .NET 2.0 i SP1 dla .NET 3.0, a instalka .NET 3.5 beta2 chciała wgrać te łatki, a one już były)

Dołożę starań, by blog ten zawierał ciekawe i użyteczne informacje dla osób zainteresowanych technologią .NET