Đã có một số lượng lớn các nghiên cứu gần đây trong việc xem xét cách các cuộc gọi REST HTTP có thể thay thế khái niệm hàng đợi tin nhắn.
Nếu bạn giới thiệu khái niệm về một quy trình và một nhiệm vụ như một tài nguyên, thì nhu cầu về lớp nhắn tin giữa sẽ bắt đầu bay hơi.
Ví dụ:
POST /task/name
- Returns a 202 accepted status immediately
- Returns a resource url for the created task: /task/name/X
- Returns a resource url for the started process: /process/Y
GET /process/Y
- Returns status of ongoing process
Một tác vụ có thể có nhiều bước để khởi tạo và một quy trình có thể trả về trạng thái khi được thăm dò hoặc POST vào URL gọi lại khi hoàn tất.
Điều này thật đơn giản và trở nên khá mạnh mẽ khi bạn nhận ra rằng bây giờ bạn có thể đăng ký một nguồn cấp dữ liệu rss / nguyên tử của tất cả các quy trình và tác vụ đang chạy mà không cần bất kỳ lớp giữa nào. Bất kỳ hệ thống xếp hàng nào cũng sẽ yêu cầu một số loại giao diện web, và khái niệm này được tích hợp sẵn mà không cần một lớp mã tùy chỉnh khác.
Tài nguyên của bạn tồn tại cho đến khi bạn xóa chúng, điều đó có nghĩa là bạn có thể xem thông tin lịch sử lâu sau khi quá trình và nhiệm vụ hoàn thành.
Bạn đã xây dựng trong khám phá dịch vụ, ngay cả đối với một tác vụ có nhiều bước, không có bất kỳ giao thức phức tạp nào.
GET /task/name
- returns form with required fields
POST (URL provided form's "action" attribute)
Khám phá dịch vụ của bạn là một dạng HTML - một định dạng phổ quát và có thể đọc được.
Toàn bộ dòng chảy có thể được sử dụng theo chương trình hoặc bởi con người, sử dụng các công cụ được chấp nhận phổ biến. Đó là một khách hàng điều khiển, và do đó RESTful. Mỗi công cụ được tạo cho web có thể thúc đẩy các quy trình kinh doanh của bạn. Bạn vẫn có các kênh thông báo thay thế bằng cách POST không đồng bộ vào một mảng các máy chủ nhật ký riêng biệt.
Sau khi bạn xem xét nó một lúc, bạn ngồi lại và bắt đầu nhận ra rằng REST có thể loại bỏ nhu cầu về hàng đợi nhắn tin và ESB hoàn toàn.
http://www.infoq.com/presentations/BPM-with-REST