Sadece tek bir faydası var, ancak bunun çok büyük:
Endişelerin Ayrılması .
Dolayısıyla, sistemimize gömülü olan süreç düzenleme mantığı yerine, dış yapılandırma olur. Temelde bir harita. Bunu bağımsız olarak değiştirebilirsiniz (çok daha fazla), birden fazla işlem, birden fazla işlem sürümü, aynı anda çalışan birden fazla işlemin birden fazla sürümü olabilir ve bunların hepsi makul bir çözümdedir.
Tarihsel olarak, SoC kavramı birçok kez kazanmıştır - Unix ilkesinden başlayarak "bir şey yap, ama iyi yap" ve ESB gibi farklı sunucu sistemleri, önbellekleme, yük dengeleme gibi , HTML’den CSS’nin ayrılması gibi
İş süreciniz ve akış kuralları genellikle verilerinize, UI "ekranlarına" veya kullanıcıların "hiyerarşisine" göre diktir. Bu nedenle, onu sistemin diğer yönlerinden ayrı olarak geliştirmek ve değiştirmek mükemmel bir anlam ifade eder. Yani hangi öncül oldu BPM 1990'ların başlarında ortaya çıkmıştır.
O zamandan beri, bu kavramı desteklemek için birçok araç ve dil yaratıldı, en bilinenleri BPMN - doğrudan işlemlere eşlenen "akış çizelgeleri" oluşturmak için kullanılan grafik bir dil. İnsanlar büyük ve hantal olmadıklarından (kelime haznesinde 100'den fazla sembole sahip) ve S-BPM (sadece 5 temel sembole sahip) gibi modern yaklaşımları savunmaktan şikayet ederken , mevcut endüstri uygulaması BPMN'ye veya türevlerine, alt kümelerine veya kardeşlerine bağlı kalmaktır.
BPMN'den memnun görünmüyorsunuz:
Buradaki programcılar, gerçekten çok berbat, gerçekten basit bir görsel programlama dili gibi görünen çizgiler ve kutular katmanında önemli miktarda çalışma yapıyor gibi görünüyor.
Ama o kadar da kötü değil) Arkasında teori var. Ve sürüm 2.0, 1.0 eksiklikten biraz fikir aldı.
Eğer o kadar ileri gidecekseniz, neden sadece bir çeşit betik dili kullanmıyorsunuz?
Zorunlu paradigma ve betik dilleri her zaman en iyi cevap değildir. Muhtemelen bildirimsel dillerde gördüğünüz gibi (HTML, CSS, SQL, Drools veya Nginx, Graddle ve Maven, Puppet vb. Gibi dahili), sonuç kodu " iyi bir dilde " yazılmış bir sürümden çok daha küçük ve daha temiz olabilir. Java veya C ++ "gibi.
Diğer konuya gelince:
Söyleyebileceğim kadarıyla, bu noktada şartlandırma ve döngülerle birlikte görsel programlama dilleri var.
Eğer içine baktım Olaylar ve Tetikleyiciler ? BPMN bir dildir ve kullanmadan önce öğrenmek zorundasınız, ya da en azından aşina olmalısınız.
Kaputun altında, BPMN XML'dir, bu yüzden elle düzenleyebilir veya oluşturabilirsiniz. XML metin tabanlı olduğu için sürümleri kontrol edebilirsiniz. Bununla birlikte, akış çizelgelerine çevrilebilecek bir XML'in olması, goona'nın size yardımcı olduğu gibi gelmiyor ve bu doğru - kendi ayrıştırıcınızı veya editörünüzü yazmak, şüpheli faydaları olan zor ve pahalı bir iştir.
Neyse ki, zaten pazarda tam olarak bunu yapan araçlar var.
Activiti ücretsiz ve hem geliştiriciler hem de işletme sahipleri arasında oldukça popüler, çünkü ilk fiyatı ( sıfır ), bilginin kullanılabilirliği ve alçakgönüllülük. Son nokta gerçekten eşsizdir, çünkü Activi yalnızca iş süreçlerinizi yönetmeye odaklanır, sizi bütün paket çözümleriyle birleştirmeye çalışmadan. Ayrıca, onun açık - yani sadece onu çalıştırmak ve çalıştırmak için Java ve REST bilmek gerekir. Dezavantajı, müşteri tarafı, entegrasyon ve uygulama / işletme mantığı ve tüm mimarinin geliştiriciye bırakılmasıdır, yani geliştirme ekibiniz zayıfsa - başarısızlığa hazır olun. Toplam sahip olma maliyeti ücretsiz bir araç için şaşırtıcı derecede yüksek olabilir ;)
Spektrumun diğer tarafında, BPM sistemlerinin hükümdar kralı (Gartner ve Forester'e göre) Pega (Pega PRPC) var. Bu ve bir mutfak lavabosunun behemoth'u bile CRM, OCR ve (yanılmıyorsam) konuşma tanıma yetenekleri, tahmine dayalı analitik, işletme kuralları yönetimi ve WYSIWYG UI editörü yeteneğine sahiptir. Yine de, ciddi bir fiyat etiketi ile geliyor. Sadece bir servete mal olmakla kalmaz, aynı zamanda tüm geliştirmeler bir web uygulaması içerisinde gerçekleştirilir, yani IE8 (ayrıca bazı eklentileri ve çirkin kesimleri, veri tablolarını düzenlemek için Excel kullanmak gibi) tarayıcı kullanmanız gerekir. Ayrıca, Java, Javascript veya HTML / CSS düzenleme de web tarayıcısı ile yapılmaktadır - bu nedenle birim testlerine, IDE kodunu vurgulama, yeniden düzenleme ve sevdiğiniz tüm programlama oyuncaklarınıza elveda deyin.
Bunun iyi tarafı? WEEKS İLE karmaşık bir sistemi uygulayabilirsiniz [ PDF , bkz. sayfa 22]. Ve evet, sonuç garanti edilmez.
IBM bir süre önce (kurumsal zamana göre) Lombardi'yi satın aldı ve şimdi çok rekabetçi bir çözüm sunuyor (ama sonra her şeyi satın almak zorunda kalacaksınız). Appian , ilginç görüşlere ve olumlu geri bildirimlere sahip genç bir satıcıdır, ancak yazılma şekli (görsel olana ek olarak iki ilave DSL dili) sadece bana çekici gelmiyor.
Başka oyuncular ve çözümleri var. Birçoğu sade korkunç. Mesela - sadece onlara baktığınızda gözleriniz, beyniniz ve kalbiniz tam anlamıyla kanar. Yani, bağırsaklarına güven ve geliştiricilerinin ve kullanıcının senden nefret etmesini sağlama.
Kapanış notu:
BPM sistemi, Photoshop'ta görüntülerin ne olduğu işlemler için aynıdır. Görsel olarak korkma. İşe uygun olmayan işi yapmayın (tamamen Photoshop'ta oluşturulan ve düzenlenmesi imkansız olan web sitelerini hatırlayın). Basit tutun ve hata yapmayın;)