Giả sử bạn đang xây dựng một ứng dụng web dựa trên Python yêu cầu quản lý luồng công việc như trong jBPM hoặc Windows Workflow Foundation. Có thư viện nào cung cấp thư viện này trong thế giới Python không?Quy trình làm việc có thể nhúng/Thư viện BPM cho Python?
Trả lời
Ồ vâng, tấn. Nhưng hầu hết trong số họ phụ thuộc vào một khuôn khổ cụ thể. DCWorkflow được tích hợp với Zopes CMF, ví dụ. Đó là bởi vì bạn cần phải có một cái gì đó để áp dụng quy trình làm việc, và điều đó có nghĩa là bạn cần phải thực hiện một số giả định cơ bản về các đối tượng bạn sử dụng.
Hurry.workflow có lẽ là một trong những độc lập hơn, nhưng nó vẫn giả định cả hai bạn sử dụng thư viện Persistence (và do đó trong thực tế ZODB), và mô hình bảo mật của zope3.
Vì vậy, bạn có thể cần mở rộng một chút về các yêu cầu của bạn tại đây ...
SpiffWorkflow có vẻ ** không ** giả sử sql-giả kim thuật, hoặc ít nhất, tôi không tìm thấy bất kỳ điểm tham chiếu nào theo hướng đó. Nó có thể là một cái gì đó đã thay đổi kể từ khi đăng bài này ... Một tìm kiếm nhanh trong danh sách gửi thư dường như chỉ ra [mechamism dai dẳng hiện tại sử dụng dưa chuột] (http://groups.google.com/group/spiff-devel/browse_frm/ thread/448348770062f96). –
Nó được sử dụng để yêu cầu SQLAlchemy, có. Pickling chỉ là hạn chế. –
Bạn đã xem xét điều này chưa? http://code.djangoproject.com/wiki/GoFlow
Đề xuất của mỗi Lennart dưới đây tôi sẽ mở rộng ở trên. Hệ thống sẽ bao gồm nhiều khách hàng tương tác với một lớp trung gian, một phần, phải có một hệ thống con công việc của một số loại. Hệ thống con luồng công việc tồn tại để tạo một "BPM được nhúng" có thể quản lý linh hoạt các yêu cầu xử lý thay đổi. Lớp "client" phía trên đầu tiên có thể sẽ là một ứng dụng web có liên quan đến CherryPy và AJAX trên trình duyệt. Phần cuối có thể sẽ là PostGRES. Điều này là hơi có thể thay đổi. Tôi có thể thêm thông tin nào khác? – alphadogg
Để thêm, tôi nói "khách hàng đầu tiên" bởi vì cuối cùng sẽ có nhiều hơn, và họ sẽ không nhất thiết phải dựa trên web, vì vậy một cái gì đó quá gắn vào Zope hoặc một số khuôn khổ khác sẽ không hoạt động. Nó phải có khả năng đứng một mình. – alphadogg
Hệ thống quy trình làm việc phải rõ ràng nằm ở lớp giữa chứ không phải của khách hàng. Các khách hàng sau đó cần phải hỏi lớp trung lưu về những giao dịch dòng công việc nào có sẵn dựa trên mục và bảo mật. Nếu bạn muốn lưu trữ những thứ trong postgres tôi khuyên bạn nên sử dụng sqlalchemy, và sau đó SpiffWorkflow có thể làm việc, nhưng tôi đã không sử dụng nó và không biết nếu nó là tốt. Tìm kiếm quy trình làm việc trên PyPI, nhưng lưu ý rằng hầu hết các sản phẩm đều có Plone. :) –