2009-05-18 20 views
6

Chúng tôi đang trong quá trình viết lại một hệ thống kế thừa lớn giúp việc sử dụng rộng rãi (sai) của một công cụ quy trình làm việc. Trong tương lai, tôi muốn xem xét các lựa chọn thay thế cho một công cụ luồng công việc cho ứng dụng mới. Một khả năng rất thú vị là Công cụ Quy tắc Space-based architecture +. Những mô hình khác tồn tại là gì?Một số lựa chọn thay thế cho một Workflow Engine là gì?

Tôi sẽ đề cập rằng ứng dụng này phối hợp các luồng công việc xuất bản tài liệu phức tạp với nhiều chỉnh sửa khác nhau tùy thuộc vào quốc gia/vùng/v.v ... nhưng tôi muốn giữ câu trả lời chung hơn nếu có thể.

Chỉnh sửa: Tôi đã thêm tiền thưởng cho câu hỏi này để nhận thêm phản hồi. Tôi muốn nghe từ ai đó đã thực sự thực hiện một thay thế quy trình làm việc. Nếu không có gì được sản xuất, tôi sẽ chấp nhận câu trả lời BPEL, mặc dù tôi hoàn toàn không có hứng thú với chính công nghệ đó.

+0

không có ý tưởng về khía cạnh lập trình, nhưng bạn đã xem WWF (Nền tảng quy trình làm việc của Windows) chưa? http://msdn.microsoft.com/en-us/netframework/aa663328.aspx – balexandre

+0

Tôi không tìm kiếm triển khai quy trình làm việc, mà là thay thế cho mẫu công việc – rcampbell

+1

Lý do thiếu câu trả lời là bạn đã không làm như vậy t mô tả vấn đề thực tế bạn đang cố gắng giải quyết. Mô tả tóm tắt thành "các lựa chọn thay thế cho quy trình công việc cho ứng dụng mà dàn xếp luồng công việc", loại trừ bất kỳ câu trả lời nào ngoài "quy trình công việc". – ima

Trả lời

2

Nó có vẻ như một câu trả lời rõ ràng như vậy nhưng không ai khác đã quyên góp được nó, vì vậy ở đây đi : bạn có coi Phần mềm quản lý Tài liệu (hoặc Nội dung) không?

0

NetBpm (cổng .Net của JBpm)

+0

Tôi không yêu cầu triển khai quy trình làm việc thay thế, mà là thay thế cho các công cụ luồng công việc hoàn toàn – rcampbell

2

Quy trình dựa trên BPEL là một tùy chọn. Bạn sẽ đi tuyến đường đó nếu bạn hình dung tận dụng các công cụ BPEL trong tương lai cho công việc. Nếu không, BPEL là một loại lộn xộn quá mức (như tất cả các giải pháp chung "tất cả có thể cắm vào").

Điều gì đó đơn giản là nhận ra rằng luồng công việc thực sự thường là về hàng đợi chứ không phải luồng công việc. Đó là, nó là nhiều hơn về việc đặt một cái gì đó trên bàn một ai đó thay vì chỉ đạo dòng chảy của công việc theo một mô hình cứng nhắc. Trong bối cảnh đó, cái gì đó chứa một hàng đợi, đó là một giai đoạn công việc được xác định, và sau đó liên kết với các khối công việc tiềm năng khác một cách linh hoạt. Có một quy trình chung, nhưng có những ngoại lệ đối với quy trình đó. Một công cụ quy tắc có thể di chuyển mọi thứ giữa hàng đợi như một quá trình chung (và khởi động các tiến trình bên ngoài nếu cần), với tùy chọn cho người dùng tùy ý di chuyển mọi thứ vào hàng đợi "đúng" khi các quy tắc được xác định không cắt nó.

1

Vâng, bạn đã đề cập đến xử lý dựa trên quy tắc. Mô hình xử lý dựa trên sự kiện có phần tương tự, nhưng ít bị ràng buộc về mặt chính thức hơn trong việc đáp ứng các sự kiện. Nói chung, tôi không tin rằng người ta phải tuân thủ một mô hình cụ thể.

(Ví dụ, một sự kiện có trụ sở cuối trước -> quy tắc dựa trên dàn nhạc -.> Cụ thể (tuyến tính) xử lý công việc)

1

Nếu bạn nhìn vào nó từ 30.000 feet bạn có hai lựa chọn:

  • Một quy trình kiểm soát các cuộc thăm dò hàng đợi và lưu trữ dữ liệu kiểm tra những gì là ở đâu, và di chuyển mọi thứ dựa trên một bộ quy tắc.
  • Một hệ thống chờ thông báo về các sự kiện và xử lý chúng dựa trên một bộ quy tắc.

Trong cả hai trường hợp, "quy tắc" có thể được xác định trong luồng công việc/dàn nhạc, công cụ quy tắc hoặc mã.

Chúng tôi đã lựa chọn để thực hiện các hệ thống dựa trên các tiêu chí sau:

  • quy tắc đơn giản tương đối, impemented trực tiếp trong mã
  • logic phức tạp trong công việc.Để chúng tôi có thể hiển thị nó cho khách hàng, hãy hỏi họ xem đây có phải là ý của họ hay không và biết rằng điều đó là ổn, vì những gì họ đang xem là những gì thực hiện.
  • Orchestration pub/sub cho việc di chuyển những thứ xung quanh dựa trên một bộ quy tắc

tôi làm việc với công nghệ MS để cho các loại hệ thống bạn mô tả, tôi sẽ thực hiện nó trong Sharepoint, trong đó có một quản lý tài liệu hệ thống và quy trình công việc được xây dựng để quản lý tài liệu. Giấy phép Sharepoint cấp cao hơn Windows Sharepoint Services được bao gồm trong hệ điều hành.

1

Từ góc độ KISS Luồng công việc không là gì ngoài hàng đợi và công cụ quy tắc chỉ là nếu có - chúng tôi có hệ thống tài liệu mà chúng tôi có quy trình làm việc như xử lý. Chúng tôi xem xét quy trình làm việc của websphere và WLI từ weblogic nhưng đơn giản với JMS (MDBs cũng như các nhà cung cấp dịch vụ) với lưu trữ liên tục đã hoạt động rất tốt cho chúng tôi mà không gặp bất kỳ vấn đề gì. Tôi nghĩ rằng bạn đang dùng đúng cách ở đây - chúc may mắn!

2

Bạn có thể làm điều đó đúng như một động cơ Máy hữu hạn của Nhà nước mà bạn xây dựng động dựa trên người dùng hoặc văn hóa hoặc bất cứ thứ gì. Bạn sẽ cần phải duy trì các automata cụ thể như trạng thái cho các giao dịch chạy dài. Sau đó, khi người dùng nhớ lại trạng thái hoặc thực hiện một "hành động" khác (về cơ bản được mô hình hóa như một trạng thái chuyển tiếp), bạn cho phép chuyển tiếp có đầu ra (máy Mealy) hoặc trạng thái mới (máy Moore).

-1

Bạn có thể xem xét Apache Camel. Nó là EIP và hầu hết các Langugae Workflow như thể, sự lựa chọn được hỗ trợ, nhưng bạn phải viết mã cho nó.

Các vấn đề liên quan