Bezpieczne dane dla każdego

Jedną z ważniejszych innowacji pakietu Office System 2003 jest program InfoPath m.in. do tworzenia dynamicznych formularzy połączonych z danymi, które dzięki językowi XML mogą być łatwo udostępniane, a dzięki technologii IRM skutecznie zabezpieczane. Razem z SharePoint, XML tworzy swoisty krwiobieg wymiany informacji.

Jedną z ważniejszych innowacji pakietu Office System 2003 jest program InfoPath m.in. do tworzenia dynamicznych formularzy połączonych z danymi, które dzięki językowi XML mogą być łatwo udostępniane, a dzięki technologii IRM skutecznie zabezpieczane. Razem z SharePoint, XML tworzy swoisty krwiobieg wymiany informacji.

XML stał się uniwersalnym narzędziem do wymiany informacji. Równocześnie programiści mają bardzo rozbudowane API, które pozwala przetwarzać informacje w tym formacie. Dzięki temu, praktycznie każda współczesna aplikacja może się komunikować z innymi systemami za pośrednictwem XML. Powoli ten format wypiera nawet pliki tekstowe, używane w najprostszych programach.

Jakie zalety ma XML? Generalnie - na tę technologię można patrzeć z dwóch punktów widzenia. Obecnie powstało bardzo dużo standardów opartych na XML-u - praktycznie trudno znaleźć informację, która nie miałaby swojej reprezentacji w tej postaci. Co gorsza - te formaty stają się coraz bardziej skomplikowane i niezrozumiałe, wymagają specjalnego API czy dodatkowych narzędzi, aby można było je przetwarzać. Ale dzięki temu praktycznie "wszystko" da się zapisać w XML.

W istocie XML to specjalny format pliku tekstowego, w którym każda informacja otoczona jest znacznikami. Przypomina to format HTML - ale tam mamy do czynienia ze ściśle określoną pulą znaczników. Siła XML polega na tym, że można swobodnie rozbudowywać dostępne znaczniki, definiując tzw. schemat. W ten sposób, w stosunkowo prostym formacie zapisuje się dowolną informację - pod warunkiem, że da się w niej wyodrębnić pewną strukturę.

Ponieważ jest to plik tekstowy, łatwo może być przekazywany pomiędzy różnymi systemami i platformami. Opracowana została specyfikacja tzw. usług WWW - specjalnego mechanizmu, który za pośrednictwem XML pozwala przesyłać "żądanie" i odbierać wyniki. Technicznie wykorzystywany jest protokół HTTP (ten sam, który jest używany do przeglądania stron WWW). Protokół SOAP określa, jak przekazywane jest żądanie i odbierany wynik.

XML w Office

Można dokładnie określić, jakie informacje będą zapisywane w dokumencie XML. Oczywiście znaczniki XML mogą być ukryte i niewidoczne dla użytkownika pracującego z danym dokumentem.

Można dokładnie określić, jakie informacje będą zapisywane w dokumencie XML. Oczywiście znaczniki XML mogą być ukryte i niewidoczne dla użytkownika pracującego z danym dokumentem.

Do pracy z prostym dokumentem XML wystarczy edytor tekstowy. Jednak gdy schemat się komplikuje, potrzebne są wyspecjalizowane edytory. Niestety, takie edytory - Altova XML Spy czy Stylus Studio - dostosowane są do potrzeb programisty i "zwykły" użytkownik nie umie efektywnie z nimi pracować.

A XML naprawdę jest wymarzonym formatem do przekazywania danych. Nie muszą one pochodzić z innych systemów - często są wprowadzane ręcznie i powstaje problem, w jaki sposób przesłać je innym. Obecnie często wykorzystywane są różne dokumenty Excela czy Worda. Taka forma jest wygodna dla użytkowników, ale trudna do automatycznej dalszej obróbki. W Office 2003 udało się połączyć wygodę z łatwością dalszego przetwarzania danych.

Pracując z dokumentem, można zdefiniować w nim określone miejsca i przypisać im odpowiednie elementy schematu - na przykład na wzorcu arkusza kalkulacyjnego, który potem zostanie rozesłany do współpracowników. Po wypełnieniu takiego arkusza mogą oni zamiast odsyłać skoroszyt, wybrać opcję Zapisz tylko dane XML i na podstawie przypisanego schematu oraz rozmieszczonych elementów powstanie "czysty" dokument XML, łatwy do dalszej obróbki.

Dokument XML może być także "źródłem" danych np. arkusza Excela. Można utworzyć skoroszyt, który będzie przeliczał dane z określonego dokumentu XML (mapowanie elementów przebiega tak, jak w wypadku przygotowywania wzorca do wypełnienia). Następnie bez problemu można zmienić bazowy dokument XML, analizując np. zgromadzone dane dotyczące innego okresu rozrachunkowego. Tak naprawdę - dla Office 2003 XML jest takim samym formatem danych, jak plik tekstowy czy baza danych, natomiast dzięki swojej strukturze i możliwościom daje się bez trudu przekształcać tak, że "pasuje" do założonego arkusza analitycznego.

Bez problemu można także wykorzystywać usługi WWW . Jest to również źródło danych do pakietu Office. Dodatkowo w pakiet wbudowane są mechanizmy wyszukiwania usług WWW (np. można szybko znaleźć usługę oferującą przeliczanie walut według aktualnych kursów). Usługę WWW można także wykorzystać jako element, który wypełni listę w Excelu czy w inny sposób będzie wykorzystywany podczas przeliczania formuł.

Każdy dokument Office można także zapisać w postaci XML. W takim dokumencie zostanie zapisana pełna postać - dokument po wczytaniu wygląda dokładnie tak samo jak binarny DOC czy XLS. Dotychczas opublikowany był format RTF (Rich Text Dokument), pozwalający zapisać dokument DOC razem z formatowaniem, ale niezbyt wygodny w użyciu.

Format zapisu dokumentów Office w postaci XML jest dokładnie opisany - Microsoft udostępnił odpowiednie schematy i nie wymaga dodatkowych opłat licencyjnych. Z pełną dokumentacją można się zapoznać na stronie http://www.microsoft.com/office/xml/default.mspx .

Opublikowany został WordprocessingML (ML pochodzi od MetaLanguage), SpreadsheetML, a także FormTemplate (dla InfoPath 2003) oraz DataDiagrammingML (Visio 2003). Opisane są także schematy do OneNote, Microsoft Project, a także dokładnie wiadomo, jak dodać nowe elementy do tzw. panelu badań (gdzie można bezpośrednio z poziomu Office przeszukiwać różne zasoby. Oprócz schematu dostępny jest pełny opis z przykładami zapisywania określonych elementów w postaci XML.

Warto na marginesie wspomnieć, że struktura tego XML przypomina "binarny" format zapisu dokumentów Office, oparty na tzw. dokumencie złożonym OLE.

Dzięki temu, że każdy dokument może być wiernie zapisany w postaci XML, programiści zyskali nowe możliwości przetwarzania dokumentów Office. Dotychczas, chcąc np. wybrać wszystkie nagłówki z dokumentu Worda, trzeba było odwołać się do struktury obiektowej API i poruszając się po drzewie dokumentu, wybrać odpowiednimi poleceniami potrzebne informacje.

Jedną z technologii towarzyszących XML są rozbudowane mechanizmy translacyjne - XSL(T). To specjalny arkusz, który (w uproszczeniu) na podstawie jednego dokumentu XML może generować inny. Dzięki XPath można wybrać np. tylko akapity zawierające nagłówek stopnia 1. i wyodrębnić je w oddzielnym pliku.

Podobnie można publikować dokumenty DOC - nie jako pliki do ściągnięcia, które wymagają, żeby w przeglądarce został de facto uruchomiony Word, ale jako zwykłe strony HTML, dynamicznie generowane na podstawie arkusza XSL(T) i dokumentu zapisanego w postaci XML.

Co ciekawsze, dokumenty XML są przeważnie prawidłowo czytane przez starsze wersje Office.

InfoPath

Źródłem informacji w InfoPath może być także baza danych.

Źródłem informacji w InfoPath może być także baza danych.

Częścią pakietu Office jest nowy program - InfoPath. Jest to narzędzie przeznaczone do wprowadzania danych. Projektant definiuje źródło danych i w zasadzie, przeciągając kilka elementów do formularza, tworzy interfejs użytkownika. InfoPath zajmie się zapisaniem danych, pozwoli tymczasowo przechować formularz, wydrukować go itp.

Źródłem danych może być baza danych, (MDB lub Sql Server), plik XML, z którego InfoPath odgadnie schemat (analizując jego strukturę), a także plik schematu (XSD). Jeśli wykorzysta się w tym celu usługę WWW, może ona służyć zarówno do pobierania danych do formularza, jak i być miejscem, gdzie wypełnione informacje będą przesyłane.

Warto dodać, że około 80 procent operacji w "klasycznym" systemie wspomagającym działanie firmy to wprowadzanie lub poprawianie dokumentów, np. faktur, zleceń, czy rejestracja innych informacji potrzebnych do funkcjonowania firmy. I z punktu widzenia użytkownika wygodny interfejs do wykonywania tych operacji jest bardzo ważny.

InfoPath na pewno może być zastosowany wszędzie tam, gdzie trzeba wypełniać ręcznie raporty, delegacje, informować przełożonych o rozliczeniach kosztów itp.

Jeżeli jednak mamy system informatyczny, w którym informacje mogą być przekazywane za pośrednictwem usług www albo w prostszych scenariuszach bezpośrednio zapisywane w tabelach, to InfoPath posłuży jako podstawowe narzędzie do wprowadzania informacji.

Możliwości UI

Definiując schematy do dokumentu Excela, można od razu połączyć się z docelowym systemem informatycznym. Może to być nawet lista SharePoint Services czy rozwiązanie MBS.

Definiując schematy do dokumentu Excela, można od razu połączyć się z docelowym systemem informatycznym. Może to być nawet lista SharePoint Services czy rozwiązanie MBS.

Projektowane formularza można zacząć od zdefiniowania automatycznego układu kontrolek (formantów w nomenklaturze Office). Po wybraniu określonego układu wszystkie elementy "wrzucane" do formularza będą automatycznie rozmieszczane i projektant może zdać się na swego rodzaju "automat" estetyczny.

Wśród kontrolek dostępne są wszystkie standardowe sposoby wprowadzania informacji - pole tekstowe, pole przyjmujące tekst sformatowany, listy, pola wyboru itp. Można też definiować powtarzające się sekcje (wtedy trzeba je powiązać z elementem schematu, który może wystąpić wielokrotnie - w wypadku bazy relacyjnej to wiersz).

Oczywiście można też dodać zwykły przycisk polecenia, ale w InfoPath jego funkcje dostosowane są do założeń pakietu: przesyłanie wprowadzonych informacji do bazowego systemu, wykonywanie kwerendy (i wypełnianie odpowiedniej sekcji formularza). Można przypisać proste akcje - typu pokazanie okna dialogowego, czy przełączenie widoku na inny, a także wprowadzić dowolny kod JavaScript, który wykona potrzebną operację.

Projektując formularz, użytkownik ma do dyspozycji wiele różnych formatów.

Projektując formularz, użytkownik ma do dyspozycji wiele różnych formatów.

InfoPath pozwala w różny sposób prezentować wprowadzane informacje, np. ograniczyć pokazywane pola tam, gdzie trzeba szybko zgromadzić niezbędne informacje. Potem użytkownik może przełączyć się na pełny widok i uzupełnić je. Równocześnie można utworzyć widok wydruku do Worda, aby sformatowany formularz przekazać do edytora tekstów i potem np. wydrukować. Warto też dodać, że widok może być "warunkowy" - jeżeli na przykład zostanie wprowadzona zbyt wysoka kwota wydatków, formularz może rozwinąć widok, w którym trzeba wprowadzić bardziej szczegółowe informacje.

Rozbudowane są możliwości sprawdzania informacji wprowadzanych w formularzu. Formułowane reguły są dostosowane do pracy "bezpołączeniowej" - innymi słowy można sprawdzić poprawność informacji bez sięgania do docelowego systemu, gdzie np. wprowadzana ankieta ma ostatecznie trafić.

Warto dodać, że Service Pack 1 do InfoPath wniósł dużo nowych zmian, obsługę typów abstrakcyjnych w schemacie XML czy bardzo przydatną opcję formatowania warunkowego. Co ciekawsze, można włączać i wyłączać te nowe funkcje.


Zobacz również