基于.Net的SAP Portal開發(fā)
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、泰安網(wǎng)站維護、網(wǎng)站推廣。
最近因為項目的需要,必須考慮intelliFlow.Net與SAP的整合問題,于是抽空研究了一下,發(fā)現(xiàn)還真是有趣?,F(xiàn)整理一下,聊作記憶。
一、幾個基本術(shù)語
讓我們先了解幾個概念,在閱讀和查閱任何關(guān)于SAP Portal開發(fā)的資料之前,你必須了解它們。
(1)Portal Development Kit for Microsoft .NET (PDK for .NET)
SAP企業(yè)Portal開發(fā)包PDK.Net允許VS.Net開發(fā)者為SAP應(yīng)用構(gòu)建企業(yè)Portal組件。對于那些在Microsoft.Net平臺上有足夠投資的企業(yè)而言,這無疑是好消息,因為你將可以采用SAP NetWeaver技術(shù)通過PDK.Net極大的保護和重用你的.Net投資。
目前,PDK.Net支持C#和VB.Net兩種語言。
(2)SAP Enterprise Portal
SAP Enterprise Portal是一種應(yīng)用集成平臺,它把企業(yè)的商業(yè)信息、企業(yè)應(yīng)用和服務(wù)等等整合在一起,并且以獨立的基于Web的用戶界面的形式展示給操作者。
關(guān)于這一點,我以為與其它的Portal平臺沒有任何區(qū)別,比如BizTalk。
(3)Portal Content
Portal Content是一組Portal對象的統(tǒng)稱。這些Portal對象存儲在PCD-----Portal Content Directory中,Portal管理者可以構(gòu)建、定義這些對象的外觀和操作,并且訪問后臺的SAP應(yīng)用。
(4)iView
iView是Portal Content面對用戶的邏輯再現(xiàn),iView本質(zhì)上是一個可視化的組件,從物理的Portal Content獲取數(shù)據(jù)并且在Portal中感知和展示數(shù)據(jù)。
(5)Portal Component
Portal Component則是iView的支撐組件,它隱藏在iView的背后,所有展示給用戶的iView外觀的背后,都是經(jīng)由某個對應(yīng)的Portal Component從Portal Content獲取數(shù)據(jù)并且推介給iView展示。
(6)Portal Component VS. iView
Portal Component看起來與iView非常類似,但是請記住它們有很大的區(qū)別。它們之間的區(qū)別類似于“對象與對象的實例”的關(guān)系。
采用PDK.Net開發(fā)的Code Object(代碼化對象)被部署在企業(yè)Portal中,并且作為Portal Component引用。
當(dāng)Portal Content管理者利用Portal Component構(gòu)建自己的iView時,這些Portal Component被實例化。本質(zhì)上,一個iView是一個Portal Component的實例。
(7)Portal Application
Portal Application是一組部署在同一個Portal上的邏輯上相關(guān)的Portal Component的集合。
(8)Portal Services
Portal Services是一組為Portal Component提供服務(wù)的Portal Middleware。
二、基于PDK.Net的Portal架構(gòu)
考察上圖,我們會發(fā)現(xiàn)PDK.Net主要由三部分構(gòu)成:
A、 設(shè)計時環(huán)境(Portal Add-in)
B、 運行時環(huán)境(Portal Runtime)
C、 Java-.Net互操作框架(Interoperability Framework)
(1) 設(shè)計時環(huán)境(Portal Add-in)
Portal Add-in擴展了VS.Net的功能,使得.Net開發(fā)者可以構(gòu)建、部署和調(diào)試Portal Component。所有的Portal Object(如iView Profile, User Context)和Portal Service(如(Systems Landscape Service, User Management Service)將通過API的方式提供給Portal Component開發(fā)者。
(2) 運行時環(huán)境(Portal Runtime)
Portal Component的運行必須依賴于Portal Runtime,它以NT服務(wù)的方式托管在.Net引擎中。
(3) Java-.Net互操作框架(Interoperability Framework)
Java-.Net互操作框架使得用.Net構(gòu)建的Portal運行時與基于Java的SAP企業(yè)Portal之間可以通信。
通常在兩端各有一個組件:Portal端是Java Portal 組件,.Net端是Remoting組件。很奇怪,它們之間居然不是采用Soap協(xié)議,我不知道SAP的技術(shù)人員是出于何種考慮。
(4) SAP .Net連接橋(SAP .NET Connector)
通常SAP的.Net Connector是一個附加工具,該工具可以使得.Net的Portal Component連接到SAP的后臺系統(tǒng),并且完全的訪問其業(yè)務(wù)對象庫。
三、PDK.Net的運行時環(huán)境
PDK.Net的運行時環(huán)境包括.Net Portal運行時和Java-.Net互操作組件運行時
如下圖所示,運行時流程如下:
Portal從iView接受請求。
Portal 檢測到這是一個.NET iView。
Portal分發(fā)請求給Java-.Net互操作組件,因為只有該組件才能與.Net Portal 運行時通信。
Java-.Net組件傳遞請求給.Net Portal運行時。
如果該iView的請求需要訪問SAP后端系統(tǒng),那么該請求將被傳遞到SAP的.Net連接橋。
SAP的.Net連接橋連接到SAP后端系統(tǒng),獲取或者更新數(shù)據(jù)。
結(jié)果返回到iView。
該.Net iView必須被.Net Portal Runtime 處理和規(guī)則化(著色)后,傳遞給互操作組件。
處理結(jié)果通過互操作組件直接返回到Portal。
結(jié)果通過J2EE Server推送給瀏覽器。
注意:在設(shè)計狀態(tài),其過程與此相同。
四、其它
PDK.Net目前是2.5版,評估版有30天的試用期。我注冊,并根據(jù)SAP的要求下成功。安裝之后,感覺外觀很丑陋。SAP的東西就是這樣,有很好的理念和業(yè)務(wù)模型,但是技術(shù)上總是差強人意。
不過,我根據(jù)SAP的Manual嘗試著做了一個Case,發(fā)現(xiàn)這個東西和一般的.Net Assembly沒有什么區(qū)別,使用起來還是很方便的。
Visual Basic.NET是基于微軟.NET Framework之上的面向?qū)ο蟮闹虚g解釋性語言(名片中說VB.NET是"...中間解釋性語言“,這種說法極不準(zhǔn)確,甚至完全錯誤??赡茉庉嬚呤侵傅木幾g器會先將源碼翻譯成MSIL(Microsoft Intermediate Language)中間語言這回事,但這和”解釋性語言“有很大差別),可以看作是Visual Basic在·Net Framework平臺上的升級版本,增強了對面向?qū)ο蟮闹С?。但由于改動太大,?dǎo)致VB點虐 對VB的向后兼容性不好,在業(yè)界引起不小的爭議。 大多的VB.Net程序員使用Visual Studio .Net作為IDE(integrated development environment).SharpDevelop是另一種可用的開源的IDE。VB.Net需要在.Net Framework平臺上才能執(zhí)行。 VB.NET的主頁
詳情請看百度百科:;type=synfromtitle=VB.NETfr=aladdin
VB點虐 是微軟最新平臺技術(shù),是點虐 frameworkSDK的一種語言。VB點虐 和VC#點虐 在功能上沒有區(qū)別。編譯以后生成的可執(zhí)行文件被稱為Assembly,即
程序集
。
1、vb點虐 ?完全符合面向?qū)ο蟮木幊陶Z言抽象、封裝、繼承的四大特性,而vb不支持繼承。
2、錯誤處理不同。
vb中只是On Error.....goto和On Errer Resume Next ,這些錯誤稱為非結(jié)構(gòu)化異常處理。而在vb點虐 中采用的結(jié)構(gòu)化異常處理機制,try...catch....finally控制。
3、兩者產(chǎn)生的窗體不同。
vb點虐 允許創(chuàng)建不同類型的應(yīng)用程序,例如,創(chuàng)建ASP.NET和ASP.NET Web 服務(wù)應(yīng)用程序,還允許創(chuàng)建控制臺應(yīng)用程序和作為桌面服務(wù)運行的應(yīng)用程序。但是vb 只能創(chuàng)建Windows窗體。
4、數(shù)據(jù)庫訪問的差別。
vb6.0是通過ADO(Active X Data Objext)來實現(xiàn)對數(shù)據(jù)庫訪問。而vb點虐 是通過ADO.NET來訪問數(shù)據(jù)庫。
擴展資料
Visual Basic(簡稱VB)是Microsoft公司開發(fā)的一種通用的基于對象的程序設(shè)計語言,為結(jié)構(gòu)化的、模塊化的、面向?qū)ο蟮?、包含協(xié)助開發(fā)環(huán)境的事件驅(qū)動為機制的可視化程序設(shè)計語言。是一種可用于微軟自家產(chǎn)品開發(fā)的語言。
“Visual” 指的是開發(fā)圖形用戶界面 (GUI) 的方法——不需編寫大量代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對象add到屏幕上的一點即可。
“Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 語言,是一種在計算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的語言。
Visual Basic源自于BASIC編程語言。VB擁有圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以輕易的使用DAO、RDO、ADO連接數(shù)據(jù)庫,或者輕松的創(chuàng)建Active?X控件,用于高效生成類型安全和面向?qū)ο蟮膽?yīng)用程序 。
參考資料:百度百科-Visual Basic