İş akışı uygulaması - Workflow application

Bir iş akışı uygulaması bir yazılım uygulaması bir süreci veya işlemleri en azından bir dereceye kadar otomatikleştiren. Süreçler genellikle işle ilgilidir, ancak bir dizi adımın otomatikleştirilmesini gerektiren herhangi bir süreç olabilir. yazılım. Sürecin bazı adımları, özel metnin onaylanması veya geliştirilmesi gibi insan müdahalesi gerektirebilir, ancak otomatikleştirilebilen işlevler uygulama tarafından ele alınmalıdır. Gelişmiş uygulamalar, kullanıcıların operasyona yeni bileşenler eklemesine izin verir[1].

Örneğin, bir satın alma emri yetkilendirme ve nihai satın alma için çeşitli departmanlardan geçer. Sipariş, onay için departmandan departmana otomatik olarak taşınabilir. Tüm yetkiler alındığında, satın alma siparişini talep eden taraf bilgilendirilir ve yetki verilir. Bir iş akışı süreci, sık bakım gerektirebilir. Örneğin, satın alma siparişlerinin normal onaylayıcısı tatilde olabilir, bu durumda uygulama, alternatif onaylayıcılardan onay isteyecektir.

Geliştirme

İş akışı uygulamaları bir grafik tasarımcı, bir programlama dili veya ikisinin bir kombinasyonu kullanılarak geliştirilebilir.

Bazı yazılım ürünleri, yalnızca diyagram tabanlı bir grafik tasarımcıyla iş akışı uygulamaları oluşturmak için bir yol sağlar. Bu tür sistemler, programcı olmayanları hedefleyen özel bir arayüz aracılığıyla iş akışı süreciyle ilgili tüm bilgileri yakalama ve ardından bu bilgileri işlevsel bir iş akışı uygulamasında derleme becerisine dayanır. Ancak bazen, girdi formlarındaki verileri doğrulamak için hesaplamalar gibi daha karmaşık kuralların iş akışına entegre edilmesi gerektiğinde bir programlama dili kullanma ihtiyacı ortaya çıkar.

Kod tabanlı iş akışı tasarımı için, iş akışı uygulamaları herhangi bir genel amaçlı geliştirilebilir Programlama dili ancak özel iş akışı dilleri de mevcuttur. Bunlar genellikle ilişkili bir grafik gösterimle gelir (örneğin BPMN ), ancak bazıları metinsel veya XML tabanlı. Bu şekilde iş akışı tanımı için kullanılabilen özel diller şunları içerir:

  • XPDL
  • YAWL (Yine Başka Bir İş Akışı Dili)
  • SCUFL (Basit Kavramsal Birleşik Akış Dili)

Yukarıdaki diller XML sözdizimine dayanmaktadır ve yazılım tarafından manipüle edilmeye uygun olsalar da, teknik olmayan kişilerin birlikte çalışması zor olabilir. Bu nedenle, kullanımları genellikle insanların geliştirmesi ve yorumlaması daha kolay olan akış şeması benzeri diyagramların oluşturulmasını sağlayan grafiksel gösterimlerle artırılır: bu tür diyagramların oluşturulması aslında bir "grafiksel" programlama biçimidir. Bir kullanıcının bir iş akışı diyagramı geliştirmesine izin veren yazılım paketi, tipik olarak bir diyagramı XML eşdeğerine çevirecektir.

İş akışı uygulamaları geliştirmeye yönelik diğer bir yaklaşım, görev koordinasyonu için soyutlamaları yakalayan kitaplıklar ve arabirimlerle birlikte bir programlama dili kullanmaktır. Aşağıda bu tür kitaplıklara ve arabirimlere örnekler verilmiştir:

Kullanımı kütüphaneler genellikle, tamamen işlevsel uygulamalar oluşturmak için kendi başlarına yeterli olmayan diyagram oluşturma tekniklerini tamamlayıcı niteliktedir (diyagram oluşturma aracı belirli bir iş akışı yönetim sisteminin parçası değilse). Örneğin WF iş akışları, şematik olarak Microsoft Visual Studio kullanılarak oluşturulabilir (XML eşdeğerleri XAML ) ve işlevleri C # veya VB.NET ile yazılmış kodla artırılır: belirli bir iş akışı, mevcut bir yazılım uygulaması tarafından bir Web hizmeti olarak çağrılabilir. Visual Studio gibi yazılım geliştirme araçları veya Java için çok sayıda kodlama ortamı, belirli bileşenlerin tamamen kodda tasarlanmasına ve daha sonra derlendikten sonra iş akışı diyagramlarında yapı taşları olarak kullanılmasına da izin verecektir.

Yukarıdaki BPMN gibi, tamamen diyagrama dayalı belirli tekniklerin bir sınırlaması, iş akışı belirtiminin amacına uyması için, bu tür gösterimlerin, görevleri bunlara bağlamak için veri geçişini, veri dönüşümlerini ve yönlendirme koşullarını yakalamak için ek yapılarla geliştirilmesi gerektiğidir. uygulama, vb. BPMN, bir standart olarak hizmet etmesi amaçlansa da, bu bakımdan eksiktir ve bu nedenle birkaç ticari paket (Microsoft Biztalk ) bu ihtiyaçları özel yollarla ele alın (özellikle, gerekli işlevselliği destekleyen ek simgelerle temel diyagram oluşturma simgeleri setini geliştirerek).

Statik analiz amacıyla, ör. tasarım zamanında anlamsal hataları tespit etmek için, iş akışını matematiksel bir formda, örneğin Petri ağları.

Referanslar

  1. ^ Jörg Becker; Michael zur Muehlen; Marc Gille (2002). "İş Akışı Uygulama Mimarileri: İş Akışı Tabanlı Bilgi Sistemlerinin Sınıflandırılması ve Özellikleri". Fischer, L. (ed.). İş Akışı El Kitabı 2002. Lighthouse Point, FL: Gelecek Stratejileri. CiteSeerX  10.1.1.24.2311.