 |
Publikacyjne API programu HyperDoc Online |
Po co integrować HyperDoca Online z zewnętrznymi aplikacjami sieciowymi?
Wielu klientów HyperDoca używa aplikacji sieciowych, które publikują wybrane dokumenty przechowywane w jego (tj. HyperDoca) bazie danych. Doskonałym przykładem są aplikacje działające na polu zarządzania nieruchomościami, np. wspierające dział marketingu w sprzedaży lub wynajmie mieszkań (tzw. aplikacje FM WEB - Facility Management WEB applications). Jedną z najważniejszych części aplikacji FM WEB są graficzne plany i obrazy. Zazwyczaj są one przechowywane w bazie danych HyperDoca. Tradycyjny proces publikowania takich planów w Internecie wymagałby ich kopiowania i specjalistycznej obróbki. Zamiast tego możesz użyć publikacyjnego API programu HyperDoc Online, które dynamicznie dostarcza żądany widok wskazanego dokumentu (planu, obrazu). Unikalną funkcją oferowaną przez HyperDoc Online jest drukowanie przez Internet pozwalające łatwo sterować skalą wydruku. Najistotniejsze zalety publikacyjnego API programu HyperDoc Online:
- Widoki wskazanych planów przygotowywane są dynamicznie, co zwalnia cię z konieczności opracowywania specjalnych ich wersji przeznaczonych do publikowania w Internecie. W sytuacji częstych zmian oferty prezentowanych mieszkań cecha ta istotnie ułatwia zarządzanie plikami rysunkowymi.
- Masz pełną kontrola nad wyglądem stron oraz strukturą twojej siciowej aplikacji.
- Możesz drukować z przeglądarki z łatwą kontrolą skali wydruku.
- Możesz drukować według wskazanego szablonu, co umożliwia realizację skomplikowanych wydruków zawierających wiele planów (np. plan całego piętra i widok wybranego mieszkania), łącznie z fotografiami i innymi danymi pobranymidynamicznie z bazy danych.
Co powinieneś wiedzieć o programie HyperDoc?HyperDoc w pigułce
HyperDoc zarządza hierarchicznymi strukturami tzw. "obiektów biznesowych" przechowywanych w bazie danych. Do każdego "obiektu biznesowego" (np. mieszkania) można przyłączyć dowolną liczbę dokumentów (jednym z nich może być np. plan mieszkania). Dokument składa się z opisu (tj. rekordu w bazie danych) i zawartości (tj. pliku dyskowego). Opis dokumentu jest zbiorem atrybutów tego dokumentu. HyperDoc może być skonfigurowany tak aby pracować z dowolną liczbą typów dokumentów różniących się między sobą liczbą atrubutów. Rodzaj dokumentów przechowywanych przez program HyperDoc jest dowolny (np. dokumenty zeskanowane, rysunki wektorowe, dokumenty tekstowe itd.). HyperDoc potrafi wyświetlić i drukować pliki zapisane w szregu formatach rastrowych, popularnych formatach wektorowych, jak również dokumenty MS Office. Jeżeli napotkany zostanie nieznany format pliku to HyperDoc wywoła odpowiednią aplikację, która poradzi sobie z problemem. Hierarchie obiektów
Naturalnym sposobem organizowania różnych "obiektów biznesowych" jest strukturalizacja przez przypisanie im różnych poziomów pewnej hierarchii. Typowy skład dokumentów w dziedzinie zarządznia nieruchomościami (ZN) bazuje na następującej strukturze " obiektów biznesowych":
Posiadłość
Budynek
Piętro
Mieszkanie
Pokój
HyperDoc może pracować z wieloma hierarchiami, które definiują różne widoki lub inne aspekty twojej bazy danych. W aplikacjach ZN mogą być tworzone (poza przedstawioną powyżej) hierarchie wokół umów, usług, instalacji itd. Oprócz głównej hierarchii, która jest zazwyczaj również hierarchią umowną, wszystkie pozostałe różnią się między sobą swoją unikalną nazwą. Obiekty i spoty
HyperDoc pozwala na tworzenie graficznych elementów (nazywanych spotami) oraz na łączenie spotów ze wskazanymi "obiektami biznesowymi". Taki graficzny element może być następnie użyty do hipernawigacji, jak równiez do dynamicznej prezentacji położenia obiektów i ich stanu. Np. w aplikacji ZN możesz narysować wielokątny spot na planie piętra budynku i połączyć go z obiektem reprezentującym mieszkanie. Podświetlony spot pozwala na graficzne wyróżnienie położenia i stanu interesującego mieszkania. Nakładkowe rysunki wektorowe
Aby usprawnić pracę z graficznymi dokumentami pełniącymi rolę rysunków podkładowych i rozszerzyć funkcjonalność systemu HyperDoc dodaje dodatkowe rysunki wektorowe, które automatycznie umieszczne są na wierzchu zestawu wszystkich dokumentów podkładowych i utrzymywane tam dla określonych celów. Nazywane one będą rysunkami nakładkowymi. HyperDoc tworzy dwa aktywne rysunki, które są nakładane na każdy dokument: Rysunek adnotacji i Nakładka obiektowa.
Nakładka obiektowa przeznaczona jest do przechowywania wcześniej wspomnianych spotów. Rysunek adnotacji jest miejscem, gdzie użytkownik może umieszczać swoje uwagi, znaczniki i opisy odnoszące się do bieżącej wersji dokumentu. Identyfikacja obiektu
Jeżeli chcesz używać publikacyjnego API programu HyperDoc Online (HOPA - HyperDoc Online Publishing API) to kluczowym problemem, który należy rozwiązać jest problem identyfikacji obiektów. Należy zacząć od tego, że twoja aplikacja sieciowa oraz HyperDoc przechowują informacje o wspólnych zasobach. Jeżeli np. używasz sieciowej aplikacji zarządzania nieruchomościami to MIESZKANIE jest takim wspólnym zasobem. Twoja aplikacja publikuje informacje o mieszkaniu i jeżeli chcesz pozyskać obrazy związane ze wspomnianym mieszkaniem z HOPA to musisz wiedzieć w jaki sposób HyperDoc identyfikuje "obiekty biznesowe", a w tym i MIESZKANIE. Otóż robi on to w oparciu o dwa parametry: parametr ObjectClass (klasa obiektu) oraz unikalny w danej klasie identyfikator tego obiektu. Nazwa parametru ObjectClass jest zdefiniowana w pliku konfiguracyjnym HyperDoca i określa kategorię "obiektu biznesowego". Najczęściej ten parametr jest zdefiniowany przez tabelę w bazie danych. Wartość pola key rekordu w tabeli "object class" używana jest jako unikalny identyfikator danego obiektu. Selekcja dokumentu
Dopuszcza się aby w bazie danych HyperDoca z danym "obiektem biznesowym" związanych było wiele dokumentów.
HOPA oferuje dwie metody selekcji dokumentów. Po pierwsze możesz wybrać dokument związany z danym obiektem. HyperDoc użyje w tym wypadku dokumentu domyślnego (jeżeli taki dokument jest zdefiniowany). W przeciwnym razie posłuży się pierwszym odnalezionym dokumentem. Metoda ta nazywana jest "document w trybie obiekt".
W drugiej metodzie zbiór dokumentów do poszukiwań określony jest na podstawie spotów powiązanych z danym obiektem. Zazwyczaj obiekt biznesowy posiada dokładanie jeden powiązany ze sobą spot. W takim wypadku HOPA użyje dokumentu, na bazie którego zdefiniowany został ten właśnie spot. Jeżeli spotów jest więcej, użyty zostanie pierwszy znaleziony. Aby wybrać odpowiedni dokument możesz posłużyć się (w charakterze dodatkowego parametru) typem dokumentu. Poprzez HOPA możesz określać, jaka część obrazu zostanie zwrócona w odpowiedzi, a także jakie parametry zostaną uwzględnione przy generowaniu rezultatu. Metoda ta nazywana jest "document w trybie spot".
W obu przypadkach HOPA dopuszcza przeprowadzenie bardziej specyficznej selekcji na wskazanym zbiorze dokumentów przez definiowanie dodatkowych warunków dotyczących pożądanych wartości dowolnych atrybutów opisanych w bazie danych HyperDoca. Szablony do drukowania
Aby ułatwić realizację wydruków w kształcie zaprojektowanym przez użytkownika, w HyperDocu wprowadzono pojęcie szablonu. Szablon drukowania jest specjalizowanym rysunkiem wektorowym, w którym przechowywane są szczegółowe informacje o wyglądzie wydruku z uwzględnieniem jego formatu i wartości parametrów określonych w nastawach drukowania. W szczgólności szablon drukowania definiuje położenie dokumentu na kartce papieru za pomocą specjalnego elementu wektorowego nazywanego "okno widoku". Ponadto w szblonie mogą być również zdefiniowane dodatkowe elementy graficzne, takie jak: standardowa ramka, teksty opisujące rysunek, logo firmy oraz inne.
Szablon może zawierać specjalne makra tekstowe, które są interpretowane przez HyperDoca w trakcie drukowania. Aby makro zadziałało (zostało rozwinięte) powinno być zdefiniowane w specjanym formacie nazywanem tekstem dynamicznym. Sposób, w jaki HyperDoc rozwiązuje makra zakodowany jest w pierwszej jego literze.
Teksty zbioru predefiniowanych makr zaczynają się literą "$", np. "$Date", "$DocumentName". Definiowane przez użytkownika, uniwersalne SQLowe zapytania SELECT zaczynają się od znaku "@", tj. "@SELECT …". Teksty makr, które mają być rozwiązane zewnętrznie muszą zaczynać się znakiem "!", np. "!CompanyName".
Do zorganizowania bardziej złożonych wydruków służy szablon z wieloma oknami widoku, gdzie w każdym można zamieścić inny widok tego samego lub innego dokumentu. Daje to możliwość stworzenia np. takiego szablonu, w którym zdefiniowane będzie miejsce na widok szczegółowego planu mieszkania, obok miejsce na widok planu całego budynku, a dodatkowo miejsce na fotografię tego budynku.
HyperDoc używa oddzielnego programu o nazwie Edytor szablonów, który służy do kreowania rysunków będących szablonami drukowania. Dynamiczne prezentacje
HyperDoc oferuje elastyczny sposób wizualizacji wybranych własności obiektów biznesowych w dokumentach graficznych. Polega on na zastosowaniu zbioru predefiniowanych narzędzi grficznych (tj. kolorów linii i wypełnień, szrokości ramek, typów kreskowań) do spotów przyłączonych do takich obiektów, które spełniają założone kryteria wyspecyfikowane w ogólny sposób jako predykaty SQL.
Dynamiczne prezentacje zdefiniowane w HyperDocu i przechowywane w jego bazie danych mogą być aktywowane na życzenie przez wskazanie nazwy prezentacji. Jeżeli prezentacja jest zastosowana w dokumencie, który ma być wydrukowany to dodatkowo można spowodować umieszenie na wydruku pola legendy opisującej interpretację przypisaną poszczególnym narzędziom. Legenda taka powinna zostać wcześniej zdefiniowana w użytym do wydruku szablonie. HyperDoc Online
HyperDoc Online jest specializowanym modułem umożliwiającym internetowy dostęp w trybie tylko do odczytu do bazy danych HyperDoca. Jego interfejs użytkownika, zaimplementowany w formie ramek HTML i apletów napisanych w Javie, przypomina oryginalny interfejs HyperDoca, znany np. z jego lokalnej instalacji w środowisku Internetu.
Sposoby używania HOPA
Klienci najczęściej używają HyperDoca do zarządzania składami swoich dokumentów. Niektórzy z nich używają programu HyperDoc Online (HO) do przeglądania dokumentów ze składu w trybie tylko do odczytu. Najczęściej HyperDoc i HO są używane wewnątrz sieci lokalnej. Jest możliwe aby na bazie programu HO zbudować serwer dostępny w Internecie. Jeżeli HO jest dostępny przez Internet to w implementowanych aplikacjach sieciowych możesz użyć HOPA. Jeżeli nie chcesz aby twoja aplikacja sieciowa miała dostęp do wszystkich dokumentów przechowywanych w składzie to możesz użyć oddzielnej, zrealizowanej na zewnątrz sieci, lokalnej instalacji programu HO, w której powielone będą tylko wskazane dokumenty. Replikator, który jest dodatkiem (Add-In) do HyperDoca pozwala na przyrostową replikację podzbioru dokumentów do zdalnej bazy danych utrzymywanej przez HO. Bezpośredni dostęp do bazy danych HyperDoca za pomocą HOPA
Poniższy rysunek przedstawia tego rodzaju integrację zaimplementowaną w projekcie Telge Bostäder:  W Telge Bostäder użyto programów HyperDoc i HyperDoc Online w ich lokalnej sieci. Jako źródła rysunków, które powinny zostać opublikowane w Internecie, użyto istniejącą instalację HO.
Procedura integracyjna polegała na bardzo prostej modyfikacji aplikacji sieciowej. Sprowadzała się ona do tego, że w sytuacjach, w których była potrzeba wyświetlenia lub wydrukowania dokumentu związanego ze wskazanym obiektem należało posłużyć się publikacyjnym API programu HO.
Zobacz za pomocą HyperDoc Online zawartość bazy Telge Bostäder (konto: admin; hasło: admin) Użycie replikacji do ograniczenia ilości danych dostępnych dla zewnętrznej aplikacji sieciowej
Poniższy rysunek przedstawia tego rodzju integrację zaimplementowaną w projekcie ÖrebroBostäder /Momentum:  W ÖrebroBostäder użyto programów HyperDoc i HyperDoc Online w ich lokalnej sieci. Posiadano sieciową aplikację (HUSAR) zainstalowaną na zewnętrznym serwerze internetowym. Mając na względzie bezpieczeństwo składu oryginalnych dokumentów zdecydowano się na zainstalowanie drugiego programu HO mającego pełnić funkcję agenta publikacyjnego. Instalację przeprowadzono na tym samym serwerze, na którym zainstalowana była aplikacja sieciowa. Agenta skonfigurowano tak, aby mógł korzystać z bazy danych typu SQL o konfiguracji odpowiadającej bazie danych HyperDoca. Wybrano obiekty do zreplikowania w zdalnej bazie danych. Niezależnie istnieje możliwość ograniczenia liczby pól widocznych we wszystkich obiektach i dokumentach przechowywanych w tej bazie. Pracownik działu marketingu w ÖrebroBostäder użył Replikatora HyperDoca do przyrostowego transferu obiektów i dokumentów udostępnianych przez zdalną bazę danych. Zmodyfikowana została również sieciowa aplikacja HUSAR. Zmiany polegały na tym aby żądania danych graficznych, jakie pojawiają się w trakcie przygotowywania strony HTML o danym mieszkaniu kierować do publikacyjnego agenta programu HyperDoc Online.
Procedura integracji składa się z następujacych kroków:
- Instalacja i konfiguracja zdalnej bazy danych HyperDoca. Na zdalnym serwerze można użyć motoru bazodanowego innego niż ten, użyty przy oryginalnej instalacji. Jeżeli tą ostatnią utworzono np. na serwerze SQL, to kopia może skreowana jako baza typu Jet.
- Instalacja na zdalnym serwerze publikacyjnego agenta programu HyperDoc Online.
- Modyfikacja aplikacji sieciowej polegająca na realizacji żadań wyświetlania i drukowania dokumentów związanych z danym obiektem za pomocą publikacyjnegp API programu HyperDoc Online.
- Instalacja Replikatora.
- Okresowa replikacja na zdalnym serwerze danych podlegajacych publikacji.
Zobacz za pomocą HyperDoc Online zawartość bazy ÖrebroBostäder (konto: admin; hasło: admin) Opis publikacyjnego API programu HyperDoc Online
Warunkiem koniecznym korzystania z opisywanego API jest ustawienie (włączenie) w serwerze HyperDoc Online opcji logowania się w charakterze anoniomowego użytkownika. W tym celu należy wprowadzić w sekcji [anonymous user] pliku konfiguracyjnego HDocASP.ini ważną nazwę użytkownika programu HyperDoc tak, jak to opisano w Podręczniku użykownika tego programu.
Zwróć uwagę aby w wywołaniach stron ASP poprawnie definiować wszystkie ich parametry (patrz: RFC 2396).
Ostrzeżenie: istnieją drobne różnce w nazwach stron ASP w stosunku do tych, zdefiniowanych we wcześniejszych wersjach tej specyfikacji (do nazw wszystkich stron dodano przedrostek "HOPA", a końcówkę "XML" mają nazwy wszystkich tych stron, które zwracają XML).
Uwaga 1: waszystkie nazwy parametrów mogą być skrócone do kilku liter (wszystkie litery duże).
Uwaga 2: tablica opisująca parametry wejściowe ma pięć kolumn; nazwa, skrót nazwy, czy parametr jest obowiązkowy, wartość umowna, i opis.
|