Microsoft SharePoint

Integracja baz danych Access z systemem SharePoint Udostępnij na: Facebook

Autor: Peter Serzo

Opublikowano: 23 października 2008

Zawartość strony
 Od czego zacząć   Od czego zacząć
 Przenoszenie bazy danych do programu SharePoint   Przenoszenie bazy danych do programu SharePoint
 Widoki, formularze i raporty   Widoki, formularze i raporty
 Dostęp w trybie Offline   Dostęp w trybie Offline
 Szablony programu Access   Szablony programu Access
 Access a metadane   Access a metadane
 Wbudowane zabezpieczenia   Wbudowane zabezpieczenia
 Więzy integralności   Więzy integralności

Gdy rozmawiam z użytkownikami końcowymi o systemie Microsoft Office SharePoint Server (MOSS) 2007, zawsze proszę ich, aby pokazali mi, jakie narzędzia wykorzystują i w jaki sposób. Zawsze istnieje w organizacji ktoś, kto wykorzystuje program Microsoft® Office AccessTM w związku z realizacją kluczowych potrzeb biznesowych. Access nadal stanowi w wielu firmach funkcjonalne narzędzie i wartościowy zasób.

MOSS 2007 oferuje sposób wykorzystywania aplikacji zbudowanych przy użyciu programu Access i zintegrowania ich z systemem SharePoint® w celu stworzenia rozwiązania o dużo większym zasięgu. Niniejszy artykuł ma za zadanie pokazać, w jaki sposób system MOSS integruje się z programem Access oraz w jaki sposób użytkownik końcowy może zbudować rozwiązanie, konfigurując oba te produkty.

Wewnętrzne technologie, które system MOSS wnosi do programu Access, to między innymi przepływ pracy, wspólne repozytorium (SQL Server®) oraz interfejs webowy (przeglądarka). Funkcje SharePoint obejmują: zarządzanie dokumentami, obszary robocze oraz możliwość konfigurowania niestandardowych list, możliwość stosowania wbudowanych przepływów pracy oraz standardowych składników Web Part, które zajmują się wszystkim, od zdarzeń anonsujących poprzez budowanie listy kontaktów lub listy problemów po zarządzanie formularzami utworzonymi przez użytkowników. Co więcej, łatwe w użyciu i znajome technologie Office wzmacniają wiarę użytkowników końcowych we własne możliwości. Jak będzie można się przekonać, system MOSS nie zagraża istniejącym rozwiązaniom. Zamiast tego ułatwia ich efektywne wykorzystywanie, ponieważ umożliwia użytkownikom końcowym koncentrowanie się na rozwiązywaniu problemów biznesowych, a nie technicznych. I co więcej nie wymaga ponownego implementowania aplikacji.

Nie tylko użytkownicy końcowy odnoszą korzyści. Działy i administratorzy IT często wkładają wiele wysiłku w to, aby pomóc użytkownikom końcowym w utrzymywaniu wszystkich niestandardowych baz danych, które pojawiają się w związku z działalnością firmy. Wielu z nich nie ma nawet świadomości, że program Access jest wykorzystywany do rozwiązywania kluczowych problemów biznesowych, dopóki nie pojawią się pewne problemy, takie jak ograniczenia miejsca magazynowania, dostęp wielu użytkowników, naprawianie uszkodzonych baz danych, wykorzystanie w sieci Web, niekompatybilne wersje programu Access czy wdrażanie zmian na wielu komputerach. System SharePoint proponuje rozwiązanie dla każdego z tych problemów.

Choć program Access ma pewne ograniczenia, jest również funkcjonalny i przyjazny, w szczególności dla użytkowników, którzy nie zajmują się profesjonalnie pisaniem kodu. W jednym miejscu dostępne są konfigurowalne tabele relacyjne, proste (i skomplikowane) kwerendy, kreator formularzy z interfejsem „przeciągnij i upuść”, raporty bazujące na danych oraz możliwość konfigurowania dostępu wielu użytkowników. Budowanie rozwiązań w oparciu o programy Access oraz SharePoint ma sens zarówno dla organizacji, które szukają sposobu na zebranie zasobów i utalentowanych pracowników, jak i indywidualnych osób, które chcą nadal korzystać ze zdobywanych latami aplikacji i umiejętności.

Od czego zacząć

Access 2007 zapewnia kilka punktów integracji z systemem MOSS 2007. Jak widać na Rysunku 1, są to między innymi funkcje: importowania danych z listy SharePoint, publikowania danych w witrynie SharePoint, tworzenia listy SharePoint, wykorzystywania danych SharePoint w roli zewnętrznego źródła, migracji bazy danych Access do nowej lub istniejącej witryny SharePoint oraz dostęp w trybie offline do danych SharePoint.

Rysunek 1: Program Access 2007 oferuje łatwo dostępne punkty integracji z programem SharePoint.

Tworzenie listy programu SharePoint na podstawie tabeli Access to dobry sposób rozpoczęcia pracy. Lista SharePoint jest bardzo podobna do tabeli w programie Access. Jest zapisywana w bazie danych zawartości SQL Server, zawiera pewne atrybuty pól oraz wspiera wyszukiwanie.

Tworząc listę programu SharePoint, należy pamiętać o kilku ograniczeniach: firma Microsoft zaleca ograniczenie liczby elementów w widoku do 2000 w celu zapewnienia optymalnej wydajności, program SharePoint nie wymusza więzów integralności, obiekty OLE nie są eksportowane do programu SharePoint i walidacja danych jest ograniczona.

Aby stworzyć listę SharePoint na podstawie tabeli Access, należy wybrać najpierw kartę Dane zewnętrzne (External Data) i kliknąć aktywny przycisk Lista programu SharePoint (SharePoint List) w grupie Eksportowanie (Export). Następnie należy określić witrynę SharePoint, w której lista zostanie uaktywniona, wypełniając okno dialogowe Eksportowanie – Lista programu SharePoint (Export - SharePoint Site) pokazane na Rysunku 2 lub klikając tabelę prawym przyciskiem myszy i wybierając opcję Eksportuj|Lista programu SharePoint (Export|SharePoint List). Warto mieć świadomość, że gdyby tabela stanowiła podrzędny obiekt relacji, wszystkie tabele nadrzędne również zostałyby wyeksportowane.

Rysunek 2: Dane z programu Access zostaną wyeksportowane do określonej witryny SharePoint.

Po zakończeniu procesu eksportu istnieje możliwość zapisania kroków eksportowania tak, aby w przyszłości nie trzeba było ich powtarzać. Na tym etapie można przejść do witryny programu SharePoint i upewnić się, że dane zostały pobrane. Ta prosta operacja pomaga w przenoszeniu danych do systemu SharePoint i sprawia, że mogą tego dokonać nawet użytkownicy końcowi. Przynosi to korzyści w postaci zwiększonego bezpieczeństwa, ponieważ dane są obecnie zapisywane w bazie danych SQL Server oraz łatwiejszego dostępu, ponieważ informacje są dostępne za pośrednictwem przeglądarki.

Jednak istnieje inna operacja, łączenie list SharePoint jako tabel w programie Access, która stanowi dużo bardziej efektywny sposób integrowania programu Access z witryną SharePoint. W tym celu należy kliknąć kartę Dane zewnętrzne w programie Access i wybrać przycisk Lista programu SharePoint List z grupy Importowanie. To powoduje pojawienie się okna dialogowego pokazanego na Rysunku 3.

Rysunek 3: Łączenie programu Access z witryną SharePoint.

Należy określić witrynę zawierającą listę programu SharePoint, która posłuży jako połączone źródło danych, a następnie wybrać listę, która ma zostać połączona. Gdy operacja zostanie zakończona, lista pojawi się w formie połączonej tabeli w programie Access, a w prawym dolnym rogu aplikacji wyświetlony zostanie wskaźnik "W trybie online z witryną programu SharePoint". Skonfigurowana zostanie dwukierunkowa synchronizacja między programem Access a SharePoint, wspierająca operacje dodawania, zmiany i usuwania danych z programu SharePoint lub Access. Jak będzie można zobaczyć, istnieje możliwość napisania kodu wykorzystującego tabele w celu włączenia wsparcia dla dodatkowej funkcjonalności.

Łącząc listy SharePoint w programie Access, można zauważyć, że inna tabela, Windows® SharePoint Services (WSS) Users Information List, zostaje również zaimportowana i połączona w sposób domyślny. A ponadto tworzona jest tabela problemów o nazwie "Problemy z przenoszeniem do witryny programu SharePoint" (Move to SharePoint Site Issues). To tu można przeglądać wszelkie konflikty danych.

Więcej informacji na temat migrowania danych oraz mechanizmu postępowania z typami danych w czasie konwersji znaleźć można w artykule "How Access Converts between Access and SharePoint Data Types" (office.microsoft.com/en-us/access/HP010477131033.aspx) oraz w sekcji zatytułowanej "Limitations of migration" w artykule "Move the Tables in an Access Database to a SharePoint Site and Link to Them" (office.microsoft.com/en-us/access/HA101314681033.aspx).

Trzecia metoda integrowania tabel i list jest inicjowana za pomocą programu SharePoint. Należy wybrać listę i na karcie Akcje kliknąć opcję "Otwórz w programie Access" (Open with Access). Pojawi się okno dialogowe z prośbą o podanie nazwy bazy danych (nowej lub istniejącej). Po wpisaniu nazwy bazy danych należy zdecydować się na połączenie z danymi w witrynie SharePoint lub wyeksportowanie danych bezpośrednio do programu Access (patrz Rysunek 4).

Rysunek 4: Udostępnianie danych SharePoint w programie Access.

 Do początku strony Do początku strony

Przenoszenie bazy danych do programu SharePoint

Do tej pory poznaliśmy metody importowania listy SharePoint jako połączonej tabeli oraz eksportowania tabel do programu SharePoint w postaci list. A co jeśli chcemy uzyskać dostęp do całej bazy danych? Wiele organizacji posiada kluczowe aplikacje działające w programie Access i chce, aby aplikacje te były dostępne zdalnie, aby można było uruchamiać raporty i kwerendy oraz wpisywać dane. W takiej sytuacji nie zawsze istnieje możliwość ponownego zaimplementowania aplikacji - ze względu na brak środków finansowych lub umiejętności. Programy SharePoint oraz Access rozwiązują ten problem przy pomocy opcji Przenieś do programu SharePoint (Move to SharePoint), która znajduje się na karcie Listy programu SharePoint (SharePoint Lists) w programie Access. Przypomina ona metodę przenoszenia danych do programu SQL Server przy użyciu Kreatora Rozbudowy, który pojawił się po raz pierwszy w wersji Access 97.

Korzyści płynące z przeniesienia całej bazy danych Access do programu SharePoint są następujące: wszystkie tabele są konwertowane do list programu SharePoint, tworzona jest kopia zapasowa bazy danych Access, listy automatycznie stają się tabelami połączonymi w programie Access, można przenieść całą bazę danych (nie tylko tabele), baza danych działa w przybliżeniu tak jak przed przeniesieniem.

Gdy klikniemy przycisk Przenieś do programu SharePoint, pojawi się okno dialogowe zaprezentowane na Rysunku 5. Po określeniu witryny należy zadecydować, czy zaznaczyć opcję zapisania bazy danych. Jeśli opcja zostanie zaznaczona, cała baza danych zostanie zapisana w wybranej bibliotece dokumentów. A to oznacza, że cała baza danych (łącznie z formularzami, raportami, kwerendami oraz makrami) zostanie zapisana w programie SharePoint i tym samym będzie dostępna na serwerze. Gdy użytkownik będzie chciał uzyskać dostęp do bazy danych, wystarczy, że przejdzie do biblioteki, w które się ona znajduje i kliknie ją, a baza danych zostanie automatycznie umieszczona na jego pulpicie.

Rysunek 5: Określenie witryny SharePoint, do której ma zostać przeniesiona baza danych.

W przypadku wybrania opcji przeniesienia całej bazy danych, pod wstążką pojawi się pasek komunikatów Publikowanie zmian (Publish Changes). To pozwala na utrzymywanie synchronizacji lokalnych zmian projektu i danych z kopią na serwerze. Jeśli opcja ta nie zostanie wybrana, jedynie tabele zostaną przekonwertowane na listy i połączone w programie Access. W tym przypadku cała baza danych nie będzie dostępna dla społeczności użytkowników i nie zostanie stworzona jej kopia zapasowa jako obiektu w programie SharePoint.

Po wybraniu jednej z tych opcji baza danych i powiązane z nią informacje staną się dostępne za pośrednictwem wybranej witryny programu SharePoint. Jak poprzednio, automatycznie stworzona zostanie tabela "Problemy z przenoszeniem do witryny programu SharePoint". To w niej dokumentowane są wszelkie konflikty wynikające z migracji. Prezentuje ona problemy, które program Access napotkał, przekazując tabelę do witryny programu SharePoint.

 Do początku strony Do początku strony

Widoki, formularze i raporty

Po przeniesieniu bazy danych warto przetestować jej funkcjonalność. Na początku należy upewnić się, że widoczny jest wskaźnik "W trybie online z witryną programu SharePoint". Warto zauważyć, że kwerendy programu Access stają się widokami programu SharePoint, które są bardzo podobne do kwerend Access.

W przypadku przenoszenia całej bazy danych istniejące kwerendy są kopiowane do programu SharePoint w formie widoków. Użytkownicy programu Access rozumieją, że pisząc odpowiednie kwerendy, mogą uzyskiwać widok podzbioru danych. Poznając sposób realizowania tego celu przy pomocy widoków programu SharePoint, można lepiej zrozumieć organizację danych na listach SharePoint.

Jednym z najbardziej przydatnych widoków, jakie można stworzyć, jest Widok programu Access. W tym celu należy przejść do listy, dla której ma zostać utworzony widok, wybrać opcję Widoki (Views), a następnie opcję Utwórz widok (Create View). Wyświetlona zostanie opcja Widok programu Access (Access View), która umożliwia tworzenie formularzy i raportów w oparciu o listę. Po kliknięciu tej opcji i wybraniu bazy danych programu Access, wyświetlone zostanie okno dialogowe podobne do tego z Rysunku 6. Jak widać, można określić format (typ formularza Wykres przestawny, Tabela przestawna lub Raport), a po zakończeniu procesu w bazie danych programu Access znajdować się będzie połączony formularz lub raport.

Rysunek 6: Tworzenie widoku programu Access.

 Do początku strony Do początku strony

Dostęp w trybie Offline

W rzeczywistości rozszerzanie zasięgu kluczowych aplikacji przekłada się na zwrot z inwestycji. Jeden ze sposobów zwiększania zakresu zintegrowanych aplikacji Access/SharePoint wymaga uświadomienia sobie, że wcale nie trzeba być połączonym z programem SharePoint, aby z niego korzystać. Z myślą o zapewnieniu takiej elastyczności w programie Access 2007 wprowadzono możliwość pracy w trybie offline. Informacje są buforowane w lokalnej kopii bazy danych, aż do momentu połączenia z serwerem. Aby przenieść bazę danych w tryb offline, należy kliknąć przycisk Pracuj w trybie offline (Work Offline) w grupie Dane zewnętrzne| Listy programu SharePoint na Wstążce.

Gdy jesteśmy gotowi do ponownego połączenia się z serwerem SharePoint, możemy wybrać opcję Pracuj w trybie online (Work Online) lub Synchronizuj (Synchronize). Obie opcje przekierowują dane i prezentują konflikty, jednak w przypadku synchronizacji dane są przekazywane, lecz aplikacja pozostaje w trybie offline.

Warto zwrócić uwagę na jeszcze jeden element grupy Listy programu SharePoint, a mianowicie przycisk Odrzuć zmiany (Discard Changes), który zawiera dwie opcje. Pierwsza odrzuca wszystkie zmiany, ale nie aktualizuje danych SharePoint w programie Access. Druga opcja odrzuca wszystkie zmiany i aktualizuje dane SharePoint (listy połączone).

 Do początku strony Do początku strony

Szablony programu Access

Program Access 2007 posiada kilka wstępnie przygotowanych szablonów, które pomagają użytkownikom w błyskawicznym tworzeniu rozwiązań biznesowych. Można zobaczyć je, klikając przycisk Listy programu SharePoint na karcie Tworzenie (Create) w grupie Tabele (Tables) (patrz Rysunek 7). Wybranie tej opcji spowoduje automatyczne zdefiniowanie schematu dla tabeli połączonej z programem SharePoint. Aktualnie wspierane są jedynie Kontakty, Zadania, Problemy i Wydarzenia. To oznacza, że jeśli wyeksportujemy tabelę zawierającą wybranego typu informacje, do danych zostanie przypisany odpowiedni typ zawartości WSS (na przykład Problemy dla Problemów).

Rysunek 7: Wybór typu listy.

Istnieje również możliwość tworzenia niestandardowych szablonów, które mogą być wykorzystywane na listach programu SharePoint lub tworzenia szablonów witryn programu SharePoint z połączonymi bazami danych programu Access 2007. Do tego celu niezbędny jest pakiet Access 2007 Developer Extensions oraz ustawienie WSSTemplateID tabeli. Ta właściwość śledzi, które tabele posiadają odpowiadające im szablony list programu SharePoint.

 Do początku strony Do początku strony

Access a metadane

Firmy posiadające wzbogacone aplikacje Access nie zawsze mogą bądź chcą przenosić wszystkie aplikacje do systemu SharePoint. W takiej sytuacji czasem warto napisać w programie Access kod służący do aktualizacji programu SharePoint. Przy użyciu tego kodu można "skleić" ze sobą programy SharePoint i Access.

Prostym przykładem jest baza danych Northwind Trader, która służy do przechowywania informacji dotyczących produktów, dostawców i zamówień składanych przez klientów. Prawie każdy produkt posiada ulotkę, która jest dostarczana przez producenta w postaci pliku .pdf. Baza danych Access śledzi wszystkie informacje znajdujące się w ulotce, takie jak lokalizacja, numer produktu, historia poprawek oraz kod działu firmy. Informacje te muszą być dostępne dla dostawców i producentów za pośrednictwem ekstranetowego środowiska SharePoint.

Choć stworzona została witryna SharePoint, a wszystkie dokumenty zostały przeniesione do połączonej biblioteki dokumentów, pola metadanych pozostały puste (patrz Rysunek 8 ), ponieważ odpowiednie dane są śledzone w programie Access (a osoba nadzorująca ten proces jest bardzo przywiązana do programu Access i niechętnie nastawiona do zmian).

Rysunek 8: Dokument Northwind wyświetlany w witrynie SharePoint z brakującymi metadanymi.

Na szczęście, jak pokazuje Rysunek 9, można dodać kod Visual Basic® for Applications (VBA) służący do aktualizowania metadanych za pośrednictwem aplikacji Access. Dzięki temu aplikacja nie musi być ponownie implementowana. Pracownik może nadal korzystać z narzędzia, do którego jest tak przywiązany (rozszerzając zakres o sieć Web). Producenci mogą uzyskiwać dostęp do sieci Ekstranet w oparciu o swoje uprawnienia (aby widzieli tylko to, co powinni). I nie ma żadnych problemów z współbieżnością bądź rozmiarem bazy danych.

Rysunek 9: Aktualizacja metadanych przy użyciu kodu.

 Do początku strony Do początku strony

Wbudowane zabezpieczenia

Jedną z największych zalet przeniesienia aplikacji Access do systemu SharePoint jest możliwość wykorzystywania modelu zabezpieczeń programu SharePoint z wbudowanym uwierzytelnianiem Active Directory®. A to oznacza, że implementacja zabezpieczeń w aplikacjach Access nie nastręcza już takich kłopotów, jak tworzenie schematów oraz tabel, a następnie dodawanie użytkowników. Dzięki listom SharePoint można wykorzystywać mechanizm dostosowania zabezpieczeń, który sprawia, że użytkownicy widzą tylko to, do czego zostali upoważnieni - to wrodzona cecha programu SharePoint. Ponadto wcale nie trzeba przenosić do systemu SharePoint wszystkich komponentów bazy danych.

Program SharePoint zapewnia szczegółowy i bazujący na rolach model zabezpieczeń. Decydując, w jaki sposób i gdzie ma zostać przeniesiona baza danych, należy zaprojektować witrynę i zabezpieczenia przed migracją. To ułatwi konfigurowanie i testowanie uprawnień. Ponadto migracja przysporzy mniej problemów, a baza danych Access będzie bardziej wydajna.

 Do początku strony Do początku strony

Więzy integralności

Nie można pominąć tematu więzów integralności. Faktem jest, iż program SharePoint nie wymusza więzów integralności w taki sposób jak program Access. Wiele instalacji jest w pewnym stopniu znormalizowanych i cecha ta musi zostać uwzględniona, aby kluczowe bazy danych Access działały prawidłowo. Na szczęście istnieje kilka metod obejścia tego problemu i można je zastosować w postaci udoskonaleń istniejącego systemu.

Jak już wspominano, w przypadku przenoszenia bazy danych do programu SharePoint, przeniesienie tabel podrzędnych powoduje przeniesienie również tabel nadrzędnych. Ponadto program SharePoint wykorzystuje pola odnośników, gdy rozpoznaje, że wybrane pole bazuje na innej tabeli. Przypuśćmy na przykład, że w bazie danych Northwind Traders wybrany został klient i że umieszczone zostało zamówienie. Jeśli tabele zostały przeniesione do systemu SharePoint, pole klienta na liście zamówień będzie stanowiło odnośnik.

A co z kaskadowymi aktualizacjami/usuwaniem i bardziej złożonymi operacjami? W tym względzie warto zastanowić się nad zastosowaniem programu SharePoint i jego przepływów pracy. Wracając do bazy danych Northwind Traders, przypuśćmy, że klient dzwoni i anuluje istniejące zamówienie, co pociąga za sobą następujące akcje: rezerwacja towaru w magazynie musi zostać wycofana, dostawcy muszą zostać zawiadomieni, pracownik przypisany do zamówienia musi zakończyć obsługę klienta, przesyłka musi zostać anulowana, a dział księgowości musi zostać poinformowany. To wiele dynamicznych elementów i kwestii do skoordynowania.

Korzystając z narzędzia SharePoint Designer, można stworzyć przepływ pracy programu SharePoint, który realizuje wszystkie powyższe czynności, gdy tylko zmieni się stan zamówienia. Dostępne są 22 wbudowane przepływy pracy, które można łączyć ze sobą, tworząc setki akcji. SharePoint Designer to rewelacyjne narzędzie do dostosowywania witryny oraz tworzenia przepływów pracy.

A najlepsze jest to, że proces tworzenia przepływów pracy w narzędziu SharePoint Designer wymaga umiejętności bliskich użytkownikom, którzy umieją "programować" w środowisku Access. To oznacza, że użytkownik tworzący aplikację Access może przenieść i rozszerzyć zakres swoich umiejętności, tworząc przepływy pracy bez nadmiernego wysiłku. Tworzenie przepływów pracy w tym narzędziu nie wymaga pisania kodu, a ich wdrożenie nie nastręcza większych trudności.

O autorze

Peter Serzo pracuje jako Senior Engineer w firmie CDW Berbee. Specjalizuje się w projektowaniu architektur korporacyjnych rozwiązań SharePoint dla firm na całym świecie.

 Do początku strony Do początku strony  

Microsoft SharePoint