Gotowi do biegu

Nowy SQL do kieszeni

SQL Server CE doczeka się wkrótce następcy, którego oficjalna nazwa brzmi: SQL Mobile (kodowa nazwa to Laguna). Nowy serwer jest rozwijany równolegle z Yukonem. Beta 1 będzie dostępna wraz z betą 2 SQL Server 2005 i Visual Studio 2005 Beta 1. Wersja RTM pojawi się w pierwszej połowie 2005 r. wraz z SQL Server 2005 oraz VS 2005. Baza będzie działać na SmartPhone, Pocket PC, urządzeniach wyposażonych w CE .Net, a także na urządzeniach w rodzaju Tablet PC. W stosunku do CE 2.0 motor bazy uległ licznym zmianom. Obsługiwane są mechanizm blokad, i to na poziomie wierszy i stron, oraz transakcje ACID (Atomicity, Consistency, Isolation, Durability), co pozwala na równoległą aktualizację przez wielu użytkowników.

W przypadku urządzeń kieszonkowych pełna transakcyjność przydaje się w momencie, gdy kilka aplikacji chce skorzystać z bazy, albo też, gdy chcemy "w tle" synchronizować informacje z serwerem. Optymalizator, jak w normalnej wersji SQL Server, będzie analizował różne plany działania, gromadził statystyki itp. Wraz z wprowadzeniem .Net CF 2.0 biblioteka ADO .Net będzie obsługiwać te same mechanizmy, co w pełnym .Net Framework.

Laguna wprowadzi na platformę Windows CE możliwość wykorzystania specjalnego kursora SqlCeResultSet, który będzie mechanizmem specyficznym dla platformy Windows CE. W odróżnieniu od standardowego kursora DataReader pozwoli on nie tylko odczytywać, ale także aktualizować dane w bazie. SQL Mobile będzie się integrować z SQL Workbench - głównym narzędziem dla programisty w Yukonie. Elementy niedostępne w tej edycji SQL będą po prostu zablokowane, ale podstawowe mechanizmy, np. przeglądarka obiektów, edytor kwerend itp., będą takie same. Laguna będzie też obsługiwać mechanizmy transformacji danych (DTS).

W serwerze Laguna zmieniono mechanizmy synchronizacji. Po pierwsze, aplikacja może być łatwo informowana o postępach w przesyłaniu zmian na główny serwer. Można też tworzyć kopie błyskawiczne stanu replikowanych danych, by później móc łatwo wykonać synchronizację różnicową. Można również definiować replikację, wskazując tylko niektóre kolumny, a także po stronie SQL Mobile pisać własne moduły rozwiązywania konfliktów. Konfiguracja replikacji może także odbywać się z poziomu SQL Workbench.

Do projektowania baz można użyć Visual Studio 2005. Z poziomu IDE będą dostępne: Data Designer (projektowanie schematów, edycja i podgląd danych itp.) oraz Data Connector (tak jak w "normalnym" .Net upraszczający tworzenie standardowych formatek do pracy z danymi). Server Explorer umożliwi przedstawienie listy baz zainstalowanych na emulatorze lub urządzeniu fizycznym. W skład Compact Framework 2.0 będzie też wchodzić komponent SmartTask obsługujący relacje hierarchiczne, zaś zawierający bazę plik SDF będzie immanentną częścią aplikacji, w wyniku czego , nawet jeżeli ulegnie zmianie, np. podczas testowania, zmiany zostaną automatycznie przeniesione na docelową platformę.

Nie zmienią się zasady licencjonowania - serwer SQL Mobile będzie można swobodnie rozprowadzać (po uprzedniej darmowej rejestracji). W przypadku łączenia z SQL Server wymagane będą oczywiście licencja CAL oraz licencja "na procesor" w przypadku samego serwera SQL Server.

Mobilny dramat

Projektant, który ma zamiar wykorzystywać technologie mobilne, staje przed trudnym wyborem. Z jednej strony wybór jest "technologiczny" - Java, .Net, Code Warrior (PalmOS) itp. Z drugiej, bardziej istotny jest wybór typu urządzenia przenośnego. Czy potrzebny jest laptop, a może lepszy jest Tablet PC? A może wszystkie niezbędne moduły zmieszczą się na

Pocket PC? Albo też: czy jest sens walczyć z ograniczeniami prostego telefonu komórkowego? Tak naprawdę wybór technologii jest wtórny wobec wyboru platformy sprzętowej. Microsoft stara się, by jego platformy były możliwie jednolite, a co za tym idzie, aby tworzenie oprogramowania dla nich wyglądało w miarę podobnie. Taka polityka ma wyeliminować sytuację, w której jakaś gra jest "zoptymalizowana" dla jakiegoś modelu telefonu, zaś dla innego modelu istnieje wersja oddzielna.

Naturalną konsekwencją tego są jednak duże wymagania sprzętowe dla "SmartPhone", Microsoft stara się bowiem ujednolicać "w górę".

Platforma na piątkę

W kolejnej wersji systemu dla urządzeń przenośnych - Windows CE 5.0 - zmieniono licencję udostępniania kodu źródłowego. Po raz pierwszy Microsoft pozwala licencjobiorcom na podstawie kodu Windows CE tworzyć i sprzedawać własne rozwiązania. Dziewiątego lipca br. Windows CE 5.0 uzyskało status RTM.

Wsparcie projektów mobilnych ze strony Visual Studio 2005 zostało bardzo rozbudowane. Po pierwsze, projektant formatek nie jest "klonem" projektanta aplikacji dla Windows, tylko zupełnie nowym rozwiązaniem. Dzięki temu podczas projektowania interfejsu wyraźnie widać, jak aplikacja będzie wyglądać na małym ekranie. Przy projektowaniu można uwzględniać specyfikę konkretnego urządzenia, łatwo zmieniać orientację czy rozdzielczość, dodawać "skórki", czy też (jak w normalnych WinForms) używać dziedziczenia "układu" formatek.

Emulator urządzeń przenośnych w Windows CE 5.0 to zupełnie nowy produkt. Zmieniono mechanizm emulowania procesora ARM, dodano "prawdziwe" interfejsy sieciowe, można skorzystać z 4 portów COM, symulować połączenia ActiveSync itp. Podobnie jak w przypadku VirtualPC, można definiować "współdzielone" foldery, które będą dostępne dla symulowanego urządzenia. Przy śledzeniu wykonania programu na pewno przyda się możliwość wielokrotnego "zapisywania" stanu emulatora.

SQL Express zamiast MSDE

Mobilność to nie tylko komputery kieszonkowe - wiele rozwiązań mobilnych opiera się na klientach wykorzystujących notebooki i motor bazodanowy MSDE. MSDE spełnia też niejednokrotnie rolę bazy pośredniczącej pomiędzy mobilnymi klientami a głównym środowiskiem transakcyjnym firmy. To m.in. dlatego Microsoft zapowiedział ostatnio udostępnienie następcy motoru MSDE. Produkt o nazwie SQL Express będzie wywodzić się z kodu źródłowego serwera Yukon. Motor relacyjny będzie przy tym mieć takie same możliwości, jak "duży" serwer - będą obsługiwane m.in. procedury składowane napisane w .Net.

SQL Express będzie pozbawiony ograniczenia polegającego na możliwości jednoczesnej obsługi do 5 średniej złożoności zapytań (kolejne muszą czekać). W nowej wersji bezpłatnego serwera ograniczeniem będzie jeden procesor i 1 GB pamięci RAM po stronie sprzętu oraz dodatkowo - limit wielkości pliku bazy na poziomie 4 GB. SQL Express będzie mieć ponadto specjalną wersję narzędzia do zarządzania. Nie będzie to kopia SQL Workbench, ale specjalne, uproszczone narzędzie.

Na tym nie koniec. SQL Express nie obsługuje usług DTS i nie ma motoru wyszukiwania pełnotekstowego. Z punktu widzenia projektu bazy SQL Express są częścią rozwiązania. SQL Express będzie mógł być częścią pakietu instalacyjnego i uruchamiany jako jeden z etapów procesu instalacji. Plików serwera nie będzie można jednak "wtłoczyć" do pliku SETUP.EXE. Microsoft uznał, że takie podejście jest lepsze, ponieważ nie będzie rodzić problemów z dystrybucją ewentualnych poprawek. Mechanizm Windows Update będzie w stanie wykryć, iż SQL Express jest zainstalowany. Warto dodać, że aby połączyć się z bazą SQL Express z poziomu kodu ADO .Net 2.0, wystarczy przekazać ścieżkę do pliku z danymi, co uprości wdrażanie rozwiązań. Wersja beta produktu jest już dostępna do pobrania z witryny MSDN.

Microsoft zapowiada, że wraz z SQL Express dostępna będzie także edycja "Express" pakietu Visual Studio .Net. Będzie to (prawdopodobnie bezpłatna) wersja przeznaczona dla programistów z mniejszym doświadczeniem. Kolejna wersja Visual Studio będzie zawierać narzędzia do budowania, uruchamiania i zarządzania testami - tej funkcjonalności nie będzie w wersji Express, a szkoda, bo początkujący programiści popełniają błędy...

Sposób dystrybucji i licencjonowania narzędzi Visual Studio Express nie jest jeszcze znany. Wiadomo jedynie, że mają one zastąpić Visual Studio 2003 Standard Edition i mają być wyposażone w dodatkowe pomoce ułatwiające naukę technologii .Net. Możliwe, że wersja podstawowa będzie dostępna online, zaś dodatkowe materiały będą dołączane jedynie do wersji pudełkowych.


TOP 200