Automatyzacja transformacji danych za pomocą serwera FlowForce
Firma Altova zaprojektowała serwer FlowForce Server, aby zapewnić kompleksową automatyzację, zarządzanie i kontrolę nad procesami transformacji danych, realizowanymi przez dedykowane, wysokowydajne serwery. Wersja beta 3 serwera FlowForce jest obecnie dostępna dla użytkowników edycji Enterprise i Professional programu MapForce, bezpłatnie, w trakcie okresu testów beta. Serwer FlowForce umożliwia automatyzację przetwarzania danych w folderach, a także prowadzi szczegółowy rejestr aktywności, który użytkownicy mogą monitorować zdalnie za pomocą przeglądarki internetowej. Poniższy zrzut ekranu przedstawia log serwera FlowForce, który przetwarza dane za pomocą narzędzia MapForce i mapuje dane z logów kamery do formatu GPX, o czym pisaliśmy w artykule blogowym zatytułowanym Przetwarzanie wielu plików wejściowych w ramach jednego procesu mapowania danych. To mapowanie wykorzystywało znaki wieloznaczne do określenia wielu plików wejściowych, które miały zostać przetworzone.

Konfiguracja, uruchomienie i przeglądanie wyników takich zadań na serwerze FlowForce zajmuje zaledwie kilka minut.
Użycie znaków wieloznacznych lub folderów monitorowanych? Znaków wieloznacznych i folderów monitorowanych zwiększają złożoność przepływu pracy transformacji danych, a ich skuteczne wykorzystanie wymaga starannego planowania. Poświęćmy chwilę, aby przyjrzeć się bliżej scenariuszowi, który chcemy zrealizować. Załóżmy, że jesteśmy działem IT w firmie, która publikuje przewodniki przyrodnicze i turystyczne. Zatrudniamy fotografów, którzy podczas wędrówek rejestrują swoje trasy, korzystając z funkcji śledzenia GPS w swoich aparatach cyfrowych. Chcemy przekonwertować pliki logów GPS z aparatów na format .gpx oparty na XML, aby móc je wykorzystać do mapowania i innych celów. Udostępnimy folder w naszej sieci, do którego fotografowie będą mogli wrzucać swoje pliki logów GPS. Ten folder będzie monitorowany przez serwer FlowForce, który będzie śledził pojawienie się nowych plików, które posłużą jako dane wejściowe do procesu konwersji CameraLogToGPX. Musimy przetwarzać każdy plik wejściowy tylko raz. Dlatego, po zakończeniu transformacji danych, możemy usunąć plik wejściowy z folderu monitorowanego. Chcemy również umieścić plik wynikowy w oddzielnym folderze. To sugeruje następujące kroki w procesie realizowanym przez serwer FlowForce:
- Sprawdź folder "wchodzący", aby zobaczyć, czy pojawiły się nowe pliki wejściowe
- Wykonaj mapowanie danych na podstawie pliku wejściowego i umieść plik wynikowy w oddzielnym folderze
- Przenieś plik wejściowy do trwałego miejsca przechowywania
Poniższy schemat przedstawia strukturę folderów, którą możemy wykorzystać w procesie pracy, z plikami gotowymi do umieszczenia w folderze docelowym w celu przetworzenia:

Folder monitorujący to C:CameraGPShotFolder, a wygenerowane pliki .gpx zostaną umieszczone w katalogu C:CameraGPSoutputFiles. Po zakończeniu mapowania, pliki wejściowe zostaną przeniesione do katalogu C:CameraGPScompletedInput.
Wdrożenie mapowania na serwerze MapForce Beta jest komponentem serwera FlowForce, który działa podobnie do MapForce, dodając funkcję wdrażania plików mapowania na serwerze FlowForce. Istniejące mapowania danych wymagają minimalnego lub żadnego specjalnego przygotowania przed wdrożeniem. Musimy jedynie pamiętać o nazwach plików wejściowych i wyjściowych. Skonfigurujemy serwer FlowForce tak, aby przekazywał nazwę pliku wejściowego jako parametr zadania, gdy nowe pliki pojawią się w monitorowanym folderze w celu przetworzenia. Oryginalne mapowanie przypisywało nazwę pliku wejściowego zawierającą znak wieloznaczny, co nie jest już potrzebne. Chcemy również, aby serwer FlowForce określał lokalizację pliku wyjściowego. Możemy otworzyć mapowanie w MapForce Beta, usunąć nazwę pliku z komponentu wejściowego i dodać funkcję ścieżki do folderu wyjściowego, aby serwer FlowForce mógł ustawić miejsce docelowe. Zrzut ekranu poniżej pokazuje nowe definicje nazw plików w mapowaniu.

W oknie dialogowym MapForce Beta, służącym do wdrażania transformacji danych, możemy wybrać opcję natychmiastowego otwarcia transformacji w oknie definicji zadania w serwerze FlowForce, w przeglądarce internetowej, aby dokończyć definiowanie operacji zadania.

Definiowanie zadań w serwerze FlowForce Zrzut ekranu poniżej przedstawia wszystkie kroki zadania zdefiniowane w oknie właściwości zadania w serwerze FlowForce:

Uruchomienie zadania jest definiowane w dolnej części okna. Serwer FlowForce co 30 sekund sprawdza folder monitorowany. Jeśli zawartość folderu uległa zmianie, serwer FlowForce wykonuje kroki zadania. Każdy krok może być zmapowaniem MapForce, krokiem systemowym lub nawet innym zadaniem serwera FlowForce. Nazwa każdego nowego pliku dodanego do folderu monitorowanego staje się parametrem o nazwie , który wykorzystujemy w kroku mapowania jako nazwę pliku wejściowego, a w kroku przenoszenia jako nazwę pliku do przeniesienia. Parametr "Katalog roboczy" w kroku mapowania określa, gdzie zostaną umieszczone pliki wyjściowe. Serwer FlowForce oferuje również funkcje umożliwiające ustawienie automatycznych godzin uruchamiania i zatrzymywania zadań, uprawnień i ról użytkowników oraz ustawienia kolejki, które pozwalają zdefiniować minimalny czas między uruchomieniami zadań oraz maksymalną liczbę równoległych instancji zadania. W naszym scenariuszu prawdopodobnie otrzymamy wiele plików wejściowych w grupach, ponieważ są one kopiowane z kart pamięci fotografów. Równoległe uruchamianie wielu instancji może znacznie zwiększyć wydajność. Zazwyczaj warto dopasować liczbę rdzeni lub procesorów w maszynie, na której działa serwer FlowForce.

Przeglądanie dziennika zdarzeń
Za każdym razem, gdy serwer FlowForce uruchamia nasze zadanie, do widoku logów, który jest pokazany na ilustracji na początku tego tekstu, dodawane są sześć wierszy. Pierwszy i ostatni wiersz rejestrują rozpoczęcie i zakończenie zadania, a każdy etap wykonania generuje własne komunikaty o rozpoczęciu i zakończeniu. Fraza „ukończono z kodem statusu: 0” oznacza, że etap został pomyślnie zakończony bez żadnych błędów.

Możemy kliknąć link "więcej", aby uzyskać szczegółowy raport dla każdego etapu procesu. Zrzut ekranu poniżej pokazuje komunikat dla etapu mapowania w MapForce:

Każdy plik umieszczony w folderze monitorowanym generuje oddzielną instancję zadania w serwerze FlowForce, nawet jeśli kilka plików jest dodawanych jednocześnie. Dzięki temu łatwo można śledzić każdy pojedynczy plik wejściowy, który spowodował błąd. Kiedy umieściliśmy cztery pliki w folderze monitorowanym, serwer FlowForce uruchomił cztery zadania, a zawartość folderu wyjściowego wyglądała następująco:
