我試圖定義一個分佈式平臺我工作,這是基於以下架構規範數據模型:如何在分佈式平臺中設計規範數據模型?
- 一個RESTful API的外觀,功能暴露給客戶
- 底層中間件,基於Apache駱駝和用於路由和轉換客戶端請求由中間件
的想法是讓立面層翻譯傳入的請求調用我
- 標題應包含由中間件(Apache的駱駝)所需的信息,以將消息路由到所請求的工作流程(所以基本上façade知道應該調用哪個業務流程來處理來自客戶端的每個傳入請求)。它可以被建模爲一個枚舉映射或作爲代表自定義消息的類的一組屬性。
- 有效負載應該包含一個適當的Java bean,代表傳入請求的「業務模型」(例如TicketOrder或Customer對象)。它可以在代表自定義消息的類中作爲Object屬性建模,並且管理該消息的工作流中涉及的Camel的所有處理器/轉換器都應該期待該有效負載類型(選定的Java bean)。
簡而言之,我試圖爲中間件定義一個業務數據模型,該模型僅包含Camel處理傳入請求並將它們路由到業務服務所需的相關信息。這些數據被建模爲一個Java bean,並作爲一個有效載荷附加到消息中,消息的頭部包含對Camel有意義的路由細節。
你會如何改進上述解決方案?你會說這是一個好方法,足夠靈活嗎?非常感謝你。
感謝您的回覆。我的確在使用Camel作爲「輕量級ESB」,並且這個想法遲早會變成一個完整的SOA平臺。我知道Camel足夠靈活,可以讓我使用不同的數據格式,實際上它是一個集成框架。我的問題需要更「實用」的答案,那就是:建議的模型是否適合使用?我應該使用地圖,對象(例如,Java bean作爲DTO)還是其他一些方法(以JSON等形式表示的自定義有效內容)?基本上我需要對提議的設計進行一些驗證,以及替代方案:)非常感謝! –