Aplikacja przepływu pracy

Aplikacja przepływu pracy to aplikacja , która automatyzuje, przynajmniej w pewnym stopniu, proces lub procesy. Procesy te są zwykle związane z działalnością biznesową, ale mogą to być dowolne procesy, które wymagają zautomatyzowania szeregu kroków za pomocą oprogramowania . Niektóre etapy procesu mogą wymagać interwencji człowieka, na przykład zatwierdzenia lub opracowania niestandardowego tekstu, ale funkcje, które można zautomatyzować, powinny być obsługiwane przez aplikację. Zaawansowane aplikacje pozwalają użytkownikom wprowadzać nowe komponenty do działania.

Rozważmy na przykład zamówienie zakupu , które przechodzi przez różne działy w celu autoryzacji i ostatecznego zakupu. Zamówienie może być przenoszone z działu do działu w celu automatycznego zatwierdzenia. Po uzyskaniu wszystkich autoryzacji zleceniodawca zamówienia zostaje powiadomiony i otrzymuje autoryzację. Proces przepływu pracy może wymagać częstej konserwacji. Na przykład normalna osoba zatwierdzająca zamówienia zakupu może przebywać na urlopie, w takim przypadku aplikacja zażąda zatwierdzenia od alternatywnych osób zatwierdzających.

Rozwój

Aplikacje przepływu pracy można opracowywać przy użyciu projektanta graficznego, języka programowania lub kombinacji tych dwóch.

Niektóre produkty oprogramowania umożliwiają tworzenie aplikacji przepływu pracy za pomocą samego projektanta graficznego opartego na diagramach. Tego typu systemy opierają się na możliwości przechwytywania wszystkich informacji istotnych dla procesu przepływu pracy za pośrednictwem wyspecjalizowanego interfejsu przeznaczonego dla osób niebędących programistami, a następnie kompilowania tych informacji w funkcjonalną aplikację przepływu pracy. Czasami jednak potrzeba użycia języka programowania pojawia się, gdy do przepływu pracy trzeba zintegrować bardziej złożone reguły, takie jak obliczenia do sprawdzania poprawności danych w formularzach wejściowych.

W przypadku projektowania przepływu pracy opartego na kodzie aplikacje przepływu pracy można tworzyć w dowolnym języku programowania ogólnego przeznaczenia , ale istnieją również specjalistyczne języki przepływu pracy. Zwykle są one dostarczane z powiązaną notacją graficzną (taką jak BPMN ), ale niektóre są tekstowe lub oparte na XML . Wyspecjalizowane języki, których można użyć do zdefiniowania przepływu pracy w ten sposób, obejmują:

  • XPDL
  • YAWL (jeszcze inny język przepływu pracy)
  • SCUFL (prosty, koncepcyjny, ujednolicony język przepływu)

Powyższe języki są oparte na składni XML i choć nadają się do manipulowania przez oprogramowanie, mogą być trudne w obsłudze dla osób nietechnicznych. Dlatego ich użycie jest generalnie rozszerzane przez notacje graficzne umożliwiające tworzenie diagramów przypominających schematy blokowe, które są łatwiejsze do opracowania i interpretacji przez ludzi: tworzenie takich diagramów jest w rzeczywistości formą programowania „graficznego”. Pakiet oprogramowania, który umożliwia użytkownikowi opracowanie diagramu przepływu pracy, zwykle tłumaczy diagram na jego odpowiednik XML.

Innym podejściem do tworzenia aplikacji przepływu pracy jest użycie języka programowania w połączeniu z bibliotekami i interfejsami, które przechwytują abstrakcje w celu koordynacji zadań. Poniżej przedstawiono przykłady takich bibliotek i interfejsów:

Korzystanie z bibliotek jest na ogół uzupełnieniem technik tworzenia diagramów, które same w sobie nie zawsze wystarczają do stworzenia w pełni funkcjonalnych aplikacji (chyba że narzędzie do tworzenia diagramów jest częścią określonego systemu zarządzania przepływem pracy). Na przykład przepływy pracy WF można tworzyć schematycznie za pomocą Microsoft Visual Studio (ich odpowiednikiem XML jest XAML ), a ich funkcjonalność została rozszerzona o kod napisany w języku C# lub VB.NET: dany przepływ pracy może zostać wywołany przez istniejącą aplikację jako usługa sieciowa. Narzędzia do tworzenia oprogramowania, takie jak Visual Studio lub liczne środowiska kodowania dla języka Java, pozwolą również na zaprojektowanie poszczególnych komponentów w całości w kodzie, a następnie wykorzystanie ich jako bloków konstrukcyjnych w diagramach przepływu pracy po ich skompilowaniu.

Jednym z ograniczeń niektórych technik opartych wyłącznie na diagramach, takich jak BPMN powyżej, jest to, że aby pasowały do ​​celu specyfikacji przepływu pracy, takie notacje muszą zostać wzbogacone o dodatkowe konstrukcje w celu uchwycenia przekazywania danych, transformacji danych i warunków trasowania, powiązania zadań z ich implementacji itp. BPMN, chociaż ma służyć jako standard, jest pod tym względem niewystarczający, dlatego kilka komercyjnych pakietów (takich jak Microsoft Biztalk ) zaspokaja te potrzeby w zastrzeżony sposób (w szczególności poprzez rozszerzenie podstawowego zestawu ikon diagramów o dodatkowe ikony obsługujące potrzebne funkcje).

Dla celów analizy statycznej, np. w celu wykrycia błędów semantycznych w czasie projektowania, możliwe jest również przedstawienie przepływu pracy w postaci matematycznej przy użyciu formalnej notacji, takiej jak sieci Petriego .

Linki zewnętrzne