2016-03-13 65 views
0

我工作的這家公司是在逐步淘汰RPG程序訪問的AS400 IBM中型服務器上的數據的過程中,最終目標是整合公司20個不同地點的基於Web的解決方案。我想提出最具成本效益的解決方案,並且正在考慮創建ASP.NET MVC應用程序,並儘可能在Azure上實現實際的應用程序(不是要求只是一個想法)。創建ASP.NET MVC基於Web的應用程序

我遇到的主要問題是我怎麼能仍然需要的功能和使用IBM大型機來存儲數據,同時能夠整合快速和容易的ASP.NET MVC應用程序的強項優勢在哪裏?在IIS服務器上創建具有所有邏輯的可重用的.dll是很好的做法,但另一方面,IBM服務器功能強大,並且已經包含高質量邏輯,因此很難決定在哪裏繪製數據庫和邏輯之間的界限多層架構方法。

目前我的經紀人已經使用具有阿帕奇其購買作爲一個附加的IBM中端服務器上的虛擬Web服務器上的PHP。問題是沒有設計架構,即:沒有類或模板,這就是爲什麼我想採用MVC架構方法,但我也可以用php創建一個自定義MVC。現在我們有一個只包含ajax請求的虛擬服務器,所有的php都被硬編碼到每個html/php文件中。我們目前還有12名RPG程序員最終退休。

目前嵌入到RPG程序它們基本上所有存儲過程將SQL存儲過程允許RPG和PHP/ASP.NET溝通SQL。當我們的客戶的客戶在結帳時掃描產品時,我可能希望有一天創建一個讀取UPC條形碼的Web服務。成本效益分析將在做出最終決定之前進行,但我希望儘快開始一個項目計劃,並且我希望一些有經驗的IBM/RPG程序員使用DB2(或其他適配器/管道)進行基於Web的解決方案那些不是使用WebSphere創建的可以提供一些有用的信息。我將根據需要最終編輯這個問題,再次輸入。也許有更好的解決方案,並且ASP.NET將不實用,如Apache服務器w/PHP。我只是覺得創建和管理MVC應用會容易得多,但可能並不實用。

+1

DB2可以完全訪問Microsoft平臺,使MVC成爲此項目的絕佳選擇。有些人甚至可以說DB2遠優於MSSQL服務器。原因在於AS/400的性能比最好的PC要強500倍左右,而且對於業界最好的I/O,DB支持的時間更長。另外一件你應該知道的優點是DB2完全支持Entity Framework,所以你真的不會出錯! –

+0

謝謝你這麼快的迴應!所以你建議根據需要創建邏輯?我正在考慮設計一個基於域驅動的環境,我可以根據需要在單個域下基本創建虛擬應用程序,並創建我的存儲庫,並且最終不會在MVC中使用JSON和客戶端體系結構。我只是覺得MVC太棒了。 :-) – yardpenalty

+0

是的,使用EF和/或Repository層進行數據訪問和業務邏輯。人們可能會說EF很慢,但事實並非如此,但也有許多人不知道你可以直接向ADO.NET層下發查詢,直接向DB發出查詢,因此實質上你什麼也沒有。如果您可以從現有DB2數據庫創建EF模型,則可以立即編寫類對象。從字面上來說,需要兩分鐘才能從任何DB2表生成這些類!聽起來像一個潛在的噩夢真的很容易! –

回答

0

因此,我們現在設置的是,所有的業務和數據庫邏輯都與使用購買的SQL DB2通用數據庫擴展的rpg程序內嵌的rpg程序和sql過程相混雜。我們有安裝在Apache虛擬服務器上的zend服務器,以及駐留在這個虛擬服務器上的php。大多數NET.Data宏已經在當前的Web應用程序的php中重寫,因此在ASP.NET MVC中重新使用此應用程序將不具有成本效益。

我的下一個項目將是一個電子商務網站,所以我將建議使用IIS服務器來管理ASP.NET MVC應用程序(HTTPS/SSL)。我可以通過使用.NET Provider Windows適配器訪問.NET庫等來集成此項目。目前,我們當前的Web應用程序的安全措施並不是很好,但我們並不需要確保它的安全,除非我們添加處理實際事務的功能。

最終我想創建一個ASP.NET MVC應用程序,它可以處理實際的事務,我可以通過將apache服務器上的http.config文件編輯爲虛擬路徑來將URI指向ASP.NET應用程序的ASP.NET MVC Web應用程序。

當前的Web應用程序如此緊密地聯繫在一起,大多數代碼在某種意義上是不可重複使用的,但RPG程序員確實在編寫高質量代碼方面做得非常出色,甚至可以將一些編碼技術集成到撥打寧靜的Ajax請求等

enter image description here

注* 請記住,如果你正在創建一個新的ASP.NET應用程序,然後使用ADO.NET和老ASP.NET網頁是不是很如果你是從頭開始(利用最新和最好的)

我不想堅持使用php框架的主要原因是因爲我是一個.NET迷,但使用第三方CMS會同樣有效;也就是說,如果您可以找到一個不使用MySql並基本允許完全自定義的應用程序。另外,我們是Windows辦公室,所以我想開始整合微軟Web堆棧,這可以使公司的一些內部程序更加靈活。 ASP.NET MVC是一個真正的n層體系結構,大部分繁重的工作已經預先定義好了,這使得這個框架成爲我最喜歡的一個。

0

首先,運行IBM i的IBM POWER服務器被視爲中端系統。大型機是一套不同的硬件和軟件。

既然你說的RPG邏輯是非常有用的,考慮採取的Integrated Web Services for IBM i優勢。它允許您將ILE RPG和ILE COBOL程序作爲Web服務調用。

另一種選擇是開放源代碼XML Service。看起來有人已經爲它組裝了一個.NET wrapper

最後,您可能想加入web400端的郵件列表...因爲你會比這裏的SO找到更多的參與在那裏。

+0

這是正確的先生,我的道歉。我們擁有一臺IBM Midrange服務器,該服務器已與另一臺用作熱備份的IBM中端服務器虛擬成三臺服務器。 – yardpenalty

相關問題