TechArch

Architektura i jej aspekty technologiczne

PDC 2008, Microsoft Research, dzień 3

clock 30 listopada, 2008 19:00 przez author tkopacz
Microsoft Research to dział Microsoft zajmujący się badaniami podstawowymi (głównie związanymi z Computer Science, jednak też we współpracy z uniwersytetami prowadzone są badania kliniczne (np. nad Aids) czy też inne, gdzie używane są obliczenia i komputery). Obecnie dział liczy ponad 850 pracowników z tytułem doktora, ma ponad 4000 publikacji naukowych (od 1991 roku, gdy MSR został założony). Co ciekawsze - zbiera więcej nagród naukowych niż ośrodki badawcze Bell-a czy IBM-a.
Wśród nowych (lub mniej znanych) projektów MSR warto wymienić :
SLAM - narzędzie, które generuje 100% pokrycie testami aplikacji (w tym sensie - że przetestowane będą wszystkie "ścieżki" przejścia w kodzie. Mechanizm jest wykorzystywany przy weryfikacji sterowników do Vista. Podczas działania narzędzia generowany jest model abstrakcyjny (w języku SLIC) który w sposób zero-jedynkowy opisuje przepływy w programie.
Chaos - to narzędzie do analizy kodu równoległego. Wykrywa takie konfiguracje wątków czy procesów gdzie pojawiają się deadlocki czy inne błędy wynikające z natury programowania równoległego i rozproszonego.
CCR / DSS Toolkit - Była to część Robotics Studio, obecnie jest to "samodzielny" produkt do programowania równoległego i rozproszonego. Jednym z klientów, który go używa jest Siemens.
DryadLINQ - to mechanizm rozproszonego zadawania zapytań. Ale nie jest to PLinq, gdzie po prostu wykorzystywane są wszystkie lokalne rdzenie/procesory, ale zapytanie, które wykonywane jest na 1000 czy więcej węzłach.
Pex - narzędzie analizujące kod i wskazujące, które obszary należy bardzo dokładnie testować. Można je znaleźć tutaj: research.microsoft.com/research/downloads/rss_redirect.aspx?0rc=d&id=1355
SensorMap to specjalna rozproszona. Co ciekawsze SensorMap wykorzystywany jest tez do analiz data center. Dzięki temu że wiemy gdzie jest najbardziej efektywne chłodzenie, wiemy na którym serwerze można uruchomić intensywne obliczenia (będzie to prawdopodobnie rozszerzenie schedulera HPC). MSR zainicjował także inicjatywę SensorWeb, gdzie dzięki data center Microsoft są gromadzone dane z różnych pomiarów -tak by były dostępne dla innych jednostek badawczych. Obecnie w projekcie jest zaangażowane 11 uniwersytetów.
WorldWideTelescope to projekt agregujący ogromną ilość informacji astronomicznych, zawierający także materiał edukacyjny (np. rozmaite "virtual tour" po różnych zakątkach nieba. Obecnie ilość danych zwiększona została ponad 2 razy (w ramach projektu Equinox); pojawiły się także zdjęcia z wypraw na Księżyć czy te dostępne zdjęcia Marsa z powierzchni. Z projektem można zapoznać się tutaj: www.worldwidetelescope.org/Home.aspx .
Opracowany został (to jest już w zasadzie projekt) Boku - język (czy raczej środowisko) do pisania "aplikacji" dla dzieci. "UI" programisty to po prostu wirtualny świat gry. Programowanie to wybieranie piktogramów przy użyciu kontrolera Xbox (bez konieczności użycia klawatury. Polecenie ma postać "jeżeli widzisz czerwone jabłko, to jedź w jego kierunku".
Co ciekawsze, instrukcje są wykonywane równolegle, w sposób naturalny dla dziecka (nie musi "przekładać" algorytmu w sekwencje). Czyli robot równocześnie szuka obiektu, a jak natknie się na wroga to strzela itp. Można także programować (wykorzystywać) pewne elementy AI, czy pozwalać użytkownikowi samodzielnie kierować elementem świata wirtualnego.
Do czasu opublikowania webcastu na stronach PDC, Boku można obejrzeć tutaj: on10.net/Blogs/laura/techfest-07-boku/. Produkt powinien on być dostępny w przyszłym roku.
Pokazany został także nowy Surface - gdzie obraz może być rzucany na 2 niezależne powierzchnie. Czyli np. na kartkę znajdującą się "nad" stołem surface. Na tej drugiej powierzchni także działa technologia Multi-touch. O nowej wersji urządzenia można przeczytać tutaj: www.pcmag.com/article2/0,2817,2332945,00.asp .Proszę sobie wyobrazić kartkę z RFID z zamówieniem, na której po prostu zaznaczamy palcem co chcemy zamówić. Tylko kartkę musimy trzymać nad powierzchnią Surface (gdzie widzimy np. szczegóły produktu)
Pokazany był także prototyp, gdzie działanie surface można było uzyskać na dowolnej powierzchni - ni e na specjalnym stole (wykorzystywany jest m. innymi rzutnik i kilka kamer).

Pierwszy oceń post!

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


PDC 2008, Windows Azure, dzień 1

clock 30 listopada, 2008 19:00 przez author tkopacz

Keynote Ray Ozzie, Amitabh Srivastava, Bob Muglia i David Thompson poświęcone było Windows AZURE - nowej wersji systemu operacyjnego Windows przeznaczonego do działania w chmurze. W odróżnieniu od tradycyjnych serwerów, klient nie instaluje samodzielnie oprogramowania, a ma do dyspozycji data center zarządzanie przez Microsoft na którym uruchamia własny kod. Na dzień dzisiejszy DataCenter znajduje się w USA, ale niedługo Windows Azure będzie instalowane w innych DataCenter rozrzuconych po całym świecie. System oferuje praktycznie nieograniczone skalowanie "horyzontalne". Z punktu widzenia "zarządzania" - konfiguruje się jedną maszynę z dużą (bardzo) liczbą serwerów (nodów). Na platformie można uruchamiać kod .NET, ale także kod natywny. Warto dodać, że Azure programuje się w taki sam sposób jak normalne aplikacje .NET - SDK pozwala nawet na lokalne testowanie aplikacji, które potem "publikuje się" i uruchamia na Windows Azure. Jedyne co trzeba zdefiniować (w porównaniu z "klasycznymi" aplikacjami) to tzw. Service Model, który określa rolę / grupę do jakiej należy tworzona usługa (lub portal ASP.NET) oraz definiuje wymagania co do środowiska hostingowego (liczbę zasobów w postaci np. procesorów). Zwiększenie zasobów to zmiana jednej liczby w konfiguracyjnym XML. Dla programisty dostępna jest nowa przestrzeń obiektów ServiceHosting.ServiceRuntime (polecam ściągnięcie SDK - www.microsoft.com/azure/register.mspx . Zawiera on m. innymi gotowe wzorce do generowania rozwiązań w VS.NET 2008 i początkową dokumentację. Wszystkie usługi Azure (storage itp.) są co najmniej duplikowane - w ten sposób w dosyć tani (w porównaniu z budową własnej infrasturktury) można zapewnić wysoką dostępność serwisów na całym świecie. Przykładem aplikacji, która wykorzystuje Azure może być m.bluehoo.com/ (działać będzie za kilka godzin), która pozwala na budowanie dynamicznych sieci społecznych gdzie, jako narzędzie komunikacyjne wykorzystywane są telefony wyposażone w bluetooth. Inne pokazywane przykłady to pewne scenariusze biznesowe (np. obsługa reklamacji z workflow realizowanym w ramach .NET Services) Więcej informacji można znaleźć pod adresem www.microsoft.com/azure/windowsazure.mspx; Nowi użytkownicy będą się mogli rejestrować "niedługo". Azure może być obsługiwany z poziomu linii poleceń. Ma dostępny także interfejs REST. Azure oprócz samego systemu operacyjnego ma także pewne usługi dla programistów. Na dzień dzisiejszy dostępne są: - usługi Live - .NET Services (czyli m. innymi Workflow, obsługa zarządzania tożsamością oraz kontrola dostępu. Mechanizmy autoryzacyjne wykorzystują federację) - SQL Services (dawniej Sql Server Data Services). Obecnie jest to platform do przechowywania danych, dostępne są Reporting Services, oraz początkowe wersje Data Mining i Analysis Services. Niedługo mają się pojawić Data Sync Services (synchronizacja klientów i rozproszonych "cache") a także pewnego rodzaju "reference data", które będą zawierały dane typu listy krajów, stanów itp. - tak by każdy z klientów używających Sql Services nie musiał ich duplikować - Sharepoint - Dynamics CRM Bardzo ciekawą możliwość daje Geneva - element zarządzania tożsamością w Windows Azure. Pozwala on połączyć istniejące metody uwierzytelniania tak by były one dostępne dla usług działających w chmurze. Bardzo ciekawe było Demo Bob Muglia, gdzie po "federacji" Active Directory z .NET services, Dynamic CRM Online automatycznie "widział" uprawnienia użytkowników, którzy z wewnątrz sieci korporacyjnej korzystali z usług w chmurze. Warto dodać, że "Atlanta" - wersja System Center wykorzystuje platformę Azure do działania (w tym np. daje administratorowi możliwość definiowania własnych raportów - właśnie dzięki Reporting w SQL Services). Są dwa główne cele budowy platformy Azure. Po pierwsze - pozwolić klientom taniej skorzystać z niezawodnej infrastruktury. Ale drugi, równie wazny cel jest taki, by nie trzeba było pisać nowych rozwiązań, by projekty pisane w .NET, przetestowane w Visual Studio mogły działać zarówno na serwerach "lokalnych", on-premise jak i (gdy zajdzie taka potrzeba) w chmurze (na Windows Azure) Warto dodać, że obok Azure dostępne są także usługi Microsoft Online (typu Hosted Exchange, Hosted Sharepoint itp.) które, dzięki wielu punktom rozszerzeń i możliwości współpracy z Windows Azure mogą bez problemu korzystać z możliwości jakie daje "chmura". Ps. Warto dodać, że keynote będzie też dostępny w formie Webcastu "on demand" na stronie microsoftpdc.com/Default.aspx . PS2. Druga część wpisu związanego z wydajnością (PERFORMANCE BY DESIGN USING THE .NET FRAMEWORK) pojawi się "za jakiś czas" - po zebraniu listy narzędzi, które używali prelegenci by pokazać jak analizować wydajność w aplikacjach.

Pierwszy oceń post!

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


PDC 2008, Windows 7, dzień 2

clock 30 listopada, 2008 19:00 przez author tkopacz
Na pierwszym keynote drugiego dnia konferencji został pokazany Windows 7. Uczestnicy konferencji otrzymają (od godziny pierwsze) nośniki z wersją "przed CTP" Windows 7.
Windows 7 będzie zgodne "w dół" z Vista pod względem modelu sterowników do urządzeń, czy generalnie - sposobu konstruowania oprogramowania. Zmieniają się natomiast pewne wewnętrzne mechanizmy, które mają sprawić, że system będzie działał sprawnie. Na przykład przebudowany jest indekser oraz generalnie mechanizmy związane z obsługą I/O. Jest przyspieszony start aplikacji, zmieniony został mechanizm TaskBar i Explorera, by te programy szybciej reagowały na to co użytkownik chce zrobić. Programista będzie wiedział jak dużo energii zużywają np. timery używane przez jego aplikację. Windows 7 ma mieć małe wymagania sprzętowe - pokazywany był Netbook działający pod kontrolą tego systemu, z 1 GB ram, który po uruchomieniu miał 512 MB wolnego.
Plik VHD (z Virtual PC/Hyper-V) jest normalnym "dyskiem" widzianym przez Windows 7. Co więcej - można go tworzyć z poziomu disc manager itp. Można nawet uruchomić Windows 7 z pliku VHD tak jak się wskazuje aktywną partycję.
Ponieważ Windows 7 ma mieć to samo jądro co Windows 2008 R2 (czyli serwerowa "wersja" ), można będzie go uruchomić na komputerach PC wyposażonych w 256 procesorów. Więcej informacji na temat tych elementów Windows 7 będzie można znaleźć na WinHec w następnym tygodniu.
Urządzenia dołączane do Windows 7 mają być szybciej wykrywane i szybciej będzie wczytywany sterownik. Ciekawym pomysłem jest tzw. Device stage, który pozwala wykryć zdolności danego urządzenia z poziomu Windows 7 i np. - je wykorzystać. W ten sposób laptop z Windows 7 może powiedzieć, że dany utwór ma być odtworzony na domowym centrum rozrywki.
Document Library to nowy, indeksowany obszar na dokumenty, czy pliki wideo/obrazy. Pełni podobną role co My Documents, ale - może znajdować się także na zewnętrznym nośniku który automatycznie będzie wykrywany w momencie dołączenia do komputera.
Ciekawą koncepcją są tzw. homegroup, które na podstawie identyfikatora sieci wykrywają miejsce gdzie podłączył się dany komputer i wykrywa sąsiednie urządzenia (komputery czy np. drukarki). Można w ten sposób współdzielić swoje"document libr ary".
Wśród nowych możliwości interfejsu warto zwrócić uwagę na kilka "ulepszeń". Taskbar zawiera tylko ikony aplikacji. Jeżeli program zostanie uruchomiony i będzie miał okno, to po najechaniu na ikonę, będzie widać wszystkie okna danej aplikacji. Nie ma oddzielnego UI do uruchamiania i oddzielnego do przełączania pomiędzy oknami.
Windows 7 zawiera obsługę Multi-touchscreen, co pozwala budować zupełnie nowy typ interakcji z użytkownikiem (wykorzystuje to już np. Autodesk 2009). Co ciekawsze, Windows 7 zawiera emulator myszki dla ekranu dotykowego, co pozwala by nawet aplikacje które nic nie wiedzą o multi-touch screen te mogły korzystać z tych możliwości. Obsługiwane są także gesty (do tyłu, do przodu itp.)
Obsługa wielu monitorów została usprawniona. Okno może się "przyciągać" do krawędzi (także na drugim monitorze). Można łatwo np. jedno okno przyciągnąć do lewej, a drugie - do prawej strony ekranu i w ten sposób podzielić obszar na 2 części. Remote Desktop może wyświetlać okno na 2 ekranach. Łatwo można zmieniać rozdzielczość DPI w interfejsie. Wbudowany jest mechanizm "powiększania" aktywnego obszaru okna / desktopu. Łatwo też przełączać się między róznymi "profilami" wyświetlania - na przykład związanych z rzutnikiem.
Windows Gadgets są samodzielnymi aplikacjami (nie wymagają by na desktopie znajdował się SideBar) .
Użytkownik ma pełną kontrolę nad tym co się znajduje w "notification area" - czyli obszarze koło zegarka. Program wyświetla swoją ikonę w specjalnym oknie, ale to użytkownik przeciąga ikonę na obszar koło zegara. Oczywiście - tak jak w Vista można po prostu wyłączać wyświetlanie powiadomień danego typu.
Można mieć dokładniejszą kontrolę nad UAC - dostępny jest lider, który określa jak często i kiedy okno będzie się pojawiać. Bo - mimo pewnej "nachalności" UAC sprawił, że (u "statystycznego użytkownika") systemy z Vistą są bardziej bezpieczne.
Odświeżony został także interfejs (i funkcjonalność) "klasycznych" aplikacji klienckich. WordPad i Paint ma interfejs oparty o Ribbon (wstążkę, analogiczną jak w Office 2007). Wordpad potrafi otwierać dokumenty OpenXML/ODF.
Dla programistów C/C++ pojawiło się API związane z obsługą Ribbona (natywnego interfejsu w Windows 7, JumpList (czyli mechanizmu pozwalające przypiąć polecenia do ikony widocznej w pasku zadań), Document Libraries, MultiTouch, nowe Ink API, nowe Speech API a także DirectX. Dostępne będzie także MFC for Windows 7.
Oczywiście dla programisty WPF także są dostępne nowe elementy - jednak to zostanie opisane w którymś kolejnym wpisie.

Pierwszy oceń post!

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


O autorze

Tomasz Kopacz, Microsoft

Zajmuje się współpracą z architektami oraz projektantami systemów wykorzystujących, między innymi, technologie Microsoft. W ramach współpracy doradza przy wyborze właściwych elementów pozwalających opracować rozwiązanie informatyczne. Zajmuje się również prezentacją wzorców architektonicznych (ze szczególnym naciskiem na koncepcję rozwiązań opartych o SOA – zorientowanych na usługi) oraz szeroko pojętym wykorzystaniem technologii .NET, serwerów Microsoft i różnych narzędzi wspierających prowadzenie projektów.

Zaloguj