2013-05-06 79 views
3

我正在開發一個涉及數據庫創建,操作和擴展的專有格式的軟件,該軟件部分受SQL啓發,但更爲廣泛。 我的軟件的某些部分是用Python編碼的,大多數用Java編寫,而在Visual Basic中只是一些前端。如何在一個解決方案中將用Python和Java編寫的後端代碼與VB(2012)以及其中的調用函數集成在一起?如何將Java和Python集成到Visual Studio項目中?

回答

0

我會通過選擇三種語言之一作爲數據庫後端來處理它,然後開發一個使用HTTP或其他協議在它們之間進行交互的API。

例如,你可以使用Python Django最偉大的ORM開發你的數據庫模型,然後使用Django的Tastypie庫在端點暴露API的資源爲你的數據庫模型,如http://localhost/api/v2/foo/(FOO對象的列表)和http://localhost/api/v2/foo/24/ (具有foo.id = 24的詳細foo對象)。

然後,在您的VB.NET App_Code文件夾中編寫一個名爲localhostRESTfulApi的類,該類使用您的django-tastypie API。這可能是一個簡單或複雜的,只要你想。

簡單情況下會包括使用諸如localhostRESTfulApi.POST([endpoint URL], [new object data])之類的內容詳細調用API調用。您必須瞭解POST/GET/PATCH請求在所有情況下的工作方式,而且不是非常符合OOP-y。

複雜的解決方案是(在Java和再次)重新寫你的對象的包裝在VB中的Django的數據庫後端如類具有構造函數,要麼需要null一個新的對象或id爲對象,然後在實例化時通過API檢索對象(例如,通過使用localhostRESTfulApi.GET方法)。這樣,您只需在對象類的私有方法中編寫API GET/POST邏輯,而不是亂丟垃圾你的應用程序

你也可以編寫一個save()方法,在後臺執行相應的API PATCH/PUT請求以與數據庫後端進行同步 - 或者o在類上檢測並保存更改(不需要調用異步方法save())即可在類上使用get/set屬性方法。


我很想知道其他SO用戶提出的解決方案。這只是我之前在多語言/平臺應用程序上完成的一種方式(無論如何,我還需要一個外部RESTful API)。

相關問題