電子商務系統(tǒng)結構課程五_第1頁
電子商務系統(tǒng)結構課程五_第2頁
電子商務系統(tǒng)結構課程五_第3頁
電子商務系統(tǒng)結構課程五_第4頁
電子商務系統(tǒng)結構課程五_第5頁
已閱讀5頁,還剩94頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《電子商務系統(tǒng)結構》

施敏華(smh@)

浙江杭州玉泉,浙江大學計算機學院,310027

Tel/p>

應用開發(fā)架構

?單層應用模型

?兩層客戶/服務器模型

?三層應用程序模型

?WebServi-

數據存儲

應用支撐一什么是目錄?

?目錄是一種分類條目。

?目錄有:

>日常目錄:如電話目錄、電視目錄、圖書館目錄、書

的目錄等。

>在線目錄:在計算機中的目錄,是一種分層式的數據

庫。主要有LDAP目錄。

應用支撐一目錄服務

?目錄服務:提供目錄搜索。

?目錄服務系統(tǒng):是軟件、硬件、策略等資源的定位集合

體。包括:

>目錄中的信息

'>目錄服務端硬、軟件

->目錄客務端硬、軟件

>客戶端到服務端、服務端之間的網絡基礎設施

>策略等

目錄服務的需求

對計算機資源定位的需要

在海量數據中進行查詢(主要為讀操作)

關系數據庫的低效率

LDAP目錄服務

?X.500是一種CCITT(ITU)針對已經被國際標準化組織

(ISO)接受的目錄服務系統(tǒng)的建議。

?是目錄服務的一種國際標準。

?但其在數據表示、編碼和傳輸方面都顯得比較笨重。

什么是LDAP?

LDAP的全稱是LightweightDirectoryAccess

Protocol,BP:輕量級目錄存取服務。

它是基于X.500標準的,但簡化了,所以稱為輕量級。

另外,與X.500不同,LDAP支持TCP/IP,這對訪問

Internet是必須的。

傳統(tǒng)方法的劣勢

(1)對于大規(guī)模數據,系統(tǒng)整體的性能降低,因為關系數據

庫需要不斷的進行數據類型的驗證和事務的完整性的確

iko

(2)擴充問題,任意的擴充會導致索引的爆炸性變化。

LDAP的優(yōu)勢

(1)可以在任何計算機平臺上,訪問LDAP目錄。

(2)LDAP目錄可放在任何服務器上,因為LDAP是一個跨平臺的協(xié)議。

(3)有較好的安全和訪問控制,如:

>給予用戶改變他們自己的電話號碼和家庭地址的權限,但是限制

他們對其它數據(如,職務名稱,經理的登錄名,等等)只有

“只讀”權限。

>給予“HR-admins〃組中的所有人權限以改變下面這些用戶的信息:

經理、工作名稱、員工號、部門名稱和部門號。但是對其它域沒

有寫權限。

>禁止任何人查詢LDAP服務器上的用戶口令,但是可以允許用戶改

變他或她自己的口令。

>給予經理訪問他們上級的家庭電話的只讀權限,但是禁止其他人

有這個權限。

>給予“host-admins〃組中的任何人創(chuàng)建、刪除和編輯所有保存在

LDAP服務器中的與計算機主機有關的信息

>通過Web,允許組的所有者刪除或添加他們擁有的組的成員。

LDAP的優(yōu)勢(continued)

(4)能夠進行目錄的復制

LDAP服務器可以復制部分或全部數據,例如:可以

把數據復制到遠程的辦公室,以增加數據的安全性,

也可為多個用戶所用。

⑸可使目錄分布在網絡內的多臺計算機上。

⑹為了保存大的對象,能夠將目錄分為多個分區(qū)進行存

儲。

什么時候使用LDAP存儲數據?

(1)需要在任何平臺上都能讀取數據

(2)每一個單獨的記錄項都只有很少的改變

(3)可以把數據存在平面數據庫(flatdatabase:文本

性質的數據庫),而不是關系型數據庫中。

LDAP存儲各種類型的數據

電子郵件地址

郵件路由信息

人力資源數據

公用密匙

聯(lián)系人列表等等

LDAP的層次結構

LDAP的層次結構(continued)

CN=SuzanFine,OU=Sales)OU=Finance,DC=contoso,DC=ibm

LDAP://CN=SuzanFine)OU=Sales)OU=FinanceJDC=contoso,DC=ibm

一個實例

?用標識名來訪問打印機:_

pl.printers,finance,hz.zj.gov的寫法是:

?LDAP://CN=P1,OU=Printers,DC=finance,DC=hz,DC=zj,D

C二gov

DNSvs.目錄服務

?DNS主要目的是把主機名轉換成IP地址而目錄有更普遍的

作用

?DNS有一套專門的、固定的計劃,而目錄允許擴展

?DNS不充許更新它的信息,而目錄可以。

如何在企業(yè)集成中使用?

使用DNS域名空間,定義和命名根域。

確定是一棵樹還是一個森林。

參考你的組織結構。

為集成而設計

可連接的應用程序

互聯(lián)網將全球的企業(yè)聯(lián)系起來,同時面臨應用整合的挑戰(zhàn):

?不同平臺的集成

?不同的網絡的集成

?不同的數據表示的集成

?全球化協(xié)同計算

?松耦合

?可編排

?基于標準

?跨平臺

軟件形式

?單機軟件

>整體發(fā)布

?Client/Server軟件

>簡單的網絡應用

分布式軟件

軟件發(fā)展面臨的問題

?軟件的復雜度增加

>代碼開發(fā)管理

?軟件升級和更新

>牽一而發(fā)動全身?

?分布式軟件的發(fā)布和配置

>用戶需要培訓,程序員和設計人員更需要

軟件發(fā)展面臨的問題(續(xù))

?Custom-madeversusstandardsoftware

>如何平衡?

?依賴于全才開發(fā)人員

>軟件層次劃分

?軟件的可擴展性

>用戶可定制、腳本支持

?與標準接軌

>如Web——〉B/S

軟件發(fā)展趨勢

?組件軟件、軟件組件,

>中間件市場已經形成

?軟件基礎設施的重要性

>經驗和成果的重用

?軟件的可重用性要求

>重用粒度不同

?API的多樣化

?軟件方案(solution),consulting市場

PowerBuilder

VisualBasic

Delphi

C/C++

OLE

ECI

>1

數據表示

CICSClient

基于CICS的多層系統(tǒng)架構

組件軟件

?部分升級

>補丁

>縮短軟件的更新周期

?增加了異構軟件的可能

>標準接口、標準規(guī)范、標準協(xié)議

?動態(tài)組合,提高軟件生產力

?符合現(xiàn)代軟件的發(fā)展要求

軟件組件

?關鍵:接口設計

>接口不變性5

>接口可擴展性

?對基礎設施的依賴

>COM、CORBA>...

?內部獨立設計、獨立開發(fā)

?獨立發(fā)布、獨立測試

基礎設施:組件體系

?COM(ComponentObjectModel)

>93年發(fā)布,脫胎于MS的OLE

>規(guī)范+實現(xiàn)

?CORBA(CommonObjectRequestBroker

Architecture)

>91年第1版,OMG(ObjectManagementGroup)

>規(guī)范+實現(xiàn)

?EJB(EnterpriseJavaBean)

>98年第1版,sun

>規(guī)范+實現(xiàn)

COM:組件對象模型

?建立在二進制層次上的標準

>許多概念與C++的特征相似,如viable

>程序與程序之間的通信建立在此基礎上

?COM規(guī)范

>平臺無關

>定義了大量的標準接口用于各種用途

?COM實現(xiàn)

>平臺相關

>Windows實現(xiàn)了規(guī)范要求以及許多輔助功能

COM:COM體系

?基本的功能

?擴展功能

>連接點

>結構化存儲

>名字服務

>自動化

>其他

?COM+

COM:COM+

?建立在COM的基礎上,COM的自然延伸

?Services

>事件服務

>隊列服務

>事務服務

>負載平衡

>其他

COM:應用

OLE

ActiveXcontrol

腳本功能擴展

OLEDB

ADSI

ASP

其他

COM:分布式應用

?COM/COM+為基于Windows的分布式應用提

供了基礎設施

>Transaction

>Security

>OLEDB

>Web

>集成ActiveDirectory

>管理功能

CORBA

?OMG,800多家廠商聯(lián)合制定的標準

>91年1.0,主要是C語言映射

>95年2.0,加入HOP

>目前最新版本3.0

?CORBA規(guī)范

>制訂了互操作規(guī)范,上層標準協(xié)議

>一系列映射到多種語言的規(guī)范

>各種服務相關的規(guī)范

?CORBA實現(xiàn):ORB

CORBA體系結構

ORBCore

CORBA:跨平臺、跨語言

?典型的語言:C++語言、Java語言、Smalltalk

?多種平臺

>關鍵:IOR(lnteroperableObjectreference)

ORB實現(xiàn)

部分ORB實現(xiàn)

?商業(yè)ORB

>Orbix,IONA公司

?Visibroker,Inprise公司,4.0版完全支持2.3規(guī)范

Netscapecommunicator瀏覽罌嵌入Visibroker

?自由ORB

>ORBit,遵循CORBA2.2規(guī)范,支持C語言,性能較

>mico,GNU,OpenSource

aTAO,美國華盛頓大學分布式對象計算研究小組

>omniORB,AT&T劍橋實驗室

?國產ORB

>國防科大的嵌入式CORBA(eBus)

>東南大學的ORBUS

CORBA:服務

?命名服務

>層次命名

>綁定

?TradingService

>功能更強、使用更靈活的對象查詢服務

事件服務

>事件發(fā)送方和接受方之間的decouple

EnterpriseJavaBean

EJB體系是JAVA平臺上的服務器端組件模型

?目標是最大限度地減輕分布式應用程序的開發(fā)工作。

■安全、事務處理盡可能不再由手工編碼的方式實現(xiàn),

而是通過使用JavaBean自身的標記實現(xiàn)。

組件開發(fā)中的參與者(Role)

?提供者(Provider)-設計Bean

■安裝者(Deployer)-將EJB類安裝到EJB容器中

?應用程序開發(fā)者(ApplicationAssembler)

?容器提供者(ContainerProvider)-M供運行環(huán)境

業(yè)務對象(BO)

功能對象(FO)數據對象(DO)實體對象(EO)

業(yè)務對象(BO)

無狀態(tài)對象(SLO)狀態(tài)對象(SO)

功能對象(FO)

控制對象(CO)協(xié)調對象(CRO)交易對象(TO)

分析階段設計階段

業(yè)務對象在設計階段進行適當的歸類

r

TO

S

FO

\DO

.CRO\a

▲?

檄EOEOFO

◎應用服務器

表示存儲

不同功能的業(yè)務對象合作實現(xiàn)應用需求

DB2

傳統(tǒng)的事務處理

1000+

動態(tài)負載均衡和故障恢復

組件往往是分布的

XA工業(yè)標準

.NET和J2EE技術實現(xiàn)架構

.NET技術架構

B適B

安NN

業(yè)

t配

服a

-器s-

務kk

公共語言運行時

Windows

企業(yè)應用平臺

緩存/代理/放火墻

商業(yè)

集成

合作

H內容管理蒯京

無線/移動

數據

應用服務器

操作系統(tǒng)

Microsoft.Net

J;

tjE

j

lbE

e

b

fflutjag

Micros為『方心.二

?RJCL

.NETFramework架構

v

-

s

u

a

-

S

f

u

d

b

N

E

T

(CommonLanguageRuntime)

?.Net應用的運行環(huán)境

?管理運行代碼

>確認類型的安全性

>提供垃圾收集,錯誤處理

>對半信任代碼的訪問安全控制

?提供公共類型系統(tǒng)

?可以訪問系統(tǒng)資源

>本地API,COMinterop

?軟件構造的突破■?基于特性的編程

統(tǒng)一的開發(fā)模式

?.NetFramework

?Windows應用

>System.Windows.Forms

?Web應用

>System.Web

?移動設備應用

>MMIT

>.NetCompactFramework

多語言開發(fā)

?統(tǒng)一的對象系統(tǒng)

>只要選擇喜歡的語言使用即可

>不需要學習更多的規(guī)則或API

?先進的多語言互用功能

>跨語言繼承,異常處理

?目前支持20多種語言

>VB,C++,C#,Java,JScript,Perl,COBOL

?功能強大的工具

>調試器等可以跨語言工作

.Net技術概覽

?展示層-ASP.Net,WindowsForms

?中間層-.Net組件

?中間層可使用的企業(yè)服務

>System.EnterprisesServices

>事務服務MTS

>消息服務MSMQ

>目錄服務ADSI,UDDI

>對象池ObjectPooling

>異步組件QueuedComponent

?數據層-ADO.Net

?遠層調用一.NetRemoting/WebService

?利用現(xiàn)有資源-.NetInterop/WebService/BizTalk

對XML的普遍內在支持

DataDocuments

Remoting

J2EE體系架構

什么是J2EE?

Java2Platform,EnterpriseEdition(J2EE)

?運用Java技術開發(fā)企業(yè)應用的標準

?包括了

>多層應用開發(fā)模型

>開發(fā)平臺-APIs和服務

>測試軟件包

>參考實現(xiàn)

?將所有Sun的企業(yè)技術集合在一個體系結構下的平臺

>特定版本下的EJB,Servlet,JSP

>JavaWebServer

>JNDI,JDBC,JTA,JMS,JavaMail,CORBA...

Servlet/JSP引螫

數據庫服務器

基于EJB的三層系統(tǒng)架構DB2

J2EE技術架構

e

安JbJ

MJXC

全T

SAMA

L

<_____A___________△___________人AA

組件

組件

組件mework

Java虛擬機

任何平臺

舊M平臺

WebSphereEdgeServer

WebSphereCommerceSrvrH

VisualT3

WebSphe.integration<p0

鬻sh

JavateeWr

LotusdWebSpherePortal?silyzA

alW

WebSphenjU

StudioContentMgmtServer4

EveryplaceServers

DB2E*JDB

WebSphereAppServer

MultipleOperatingSystems

WebSphere集成框架

WebSphereApplicationServer

EJBEJBServlet

JDBCJMS統(tǒng)一集成框架

I

OJ

PSO

QU§S

XIQ

nWa

lQO

d

RDBMSMOMs

Java運行環(huán)境

?JVM-Java應用的運行環(huán)境

編譯運行Java語言

?管理運行代碼

二>類型安全

>內存管理

>異常處理

?跨越平臺

>ffindows/UNIX/Linux

EJB

?J2EE的中間件技術

?SessionBean

>傳統(tǒng)的對象

:A無隱含的數據映射

>編寫你自己的數據訪問代碼

?EntityBean

->對象等價于數據庫記錄

>提供數據映射方法

■Create,Load,StoreandRemove

>BMP/CMP

EntityBean

?TransactedEntityBean

>Propertytrue意味著在每個事務的開始和結束都要讀數據和寫

數據(即使數據沒有變化)

>Properyfalse指僅在生成時讀一次數據,以后再也不讀(即使數

據已陳舊)

?Read-onlyBean(BEA特有的功能)

>BEA特有的功能以防止在狀態(tài)無變化時不調Store方法

>BEA亦有刷新的設置可允許數據按時間間隔刷新

>只讀的,事務的entitybean行為類似于.NET中運用

DataReader的類(每次讀,重不寫)

?CMPOptTool是WebSphere的優(yōu)化

>讀取bean的源代碼,判斷數據訪問模式,刪除不必要的Store

調用

>OptionA,BandCcaching亦可規(guī)定bean的數據庫訪問是否

是排他的

>OptionC意味著排他的數據訪問,所以Storemethod可以懶方

式調用

J2EE應用開發(fā)

?企業(yè)級Web應用的開發(fā)

?J2SE-RichClient

?J2ME-移動設備應用開發(fā)

?均基于Java2/JDK

J2EE技術概覽

?展示層-ServLet/JSP

?中間層-EJB

?中間層可用的企業(yè)服務

:>事務服務JTA

>目錄服務JNDI

>消息服務JMS

>異步組件Message-DrivenEJB

?數據層-JDBC

?遠程調用-RMI/IIOP

?使用現(xiàn)有資源-JCA

對XML的支持

?J2EE標準未包括對XMLWeb服務的支持

?各個廠商提供自己的方案

>支持UDDI/WSDL/SOAP

>WSI組織保證互操作性

?SUN的方案

>JAXP/JAXB/JAXM/JAXR/JWSDL

>JAX/RPC

>JAX*-JavaAPIforXML*

,Net與J2EE的比較

技術架構整合

WindowsLinux

Web架構:J2EEvs.NET

.NETJ2EE

表示層可運行于大多

ASP.NETWeb表單JSP

Server控件Servlets數主要應用及

IISCode-BehindWeb服務器

狀態(tài):ASP.NETSession,狀態(tài):封裝于EJB中,

,NET數據緩存也可在WebSessions中

.NETAssemblyJ2SE/EE

業(yè)務邏輯層JavaBeans

ADO.NETJDBC(事務使

EJBs

(可使用C0M+服用JTA)

務;比如事務)

數據層支持大多數

數據庫(通

過Type4

驅動程序)

.Net/J2EE主要技術比較

J2EE

?JDBC

?JTA

?JNDI

?JMS

?JavaMail

?RMI/IIOP

?JAF

.NET與J2EE平臺的詳細對比

技術.NETJ2EE

支持技術

發(fā)布協(xié)議DCOM,SOAPRMI/IIOP

防火墻ISA*沒有定義

HTML頁面緩存ISA*,ASP.NET沒有定義

表示層技術

基礎結構IISJWS

程序設計模型.ASP.NETServlets,JSP

高可用性NLBS*,ACS*,其他沒有定義

負載平衡NLBS*,ACS*,其他沒有定義

中間層技術

基礎結構COM4-EJB

程序設計工具VisualStudio.NET沒有定義

高可用性ACS*______沒有定義

負我平衡ACS*歿有定義

安全性APICOM4-SecurityCallContextJAAS

消息隊列APIMSMQJMS1.0

異步組件_________________________________________Queued(C0M+)Messagedrivenbeans(EJB2.0)

命名與目錄服務ADSIJNDI

數據房技術

分布式事務處理MS-DTC_JTS

關系型數據庫APIADO.NETJDBC2.0

層次型數據庫APIADO.NET_,

數據庫存儲SQLServer**1

大型機數據庫連接性HIS*Java連接器

架構技術

電子商務架構CommerceServer*1

B2BBizTalkServer*-

技術的成熟性

JAXP

1996

Microsoft

Mar1992

ASP

ODBCADSI

EJB與.NET組件比較

J2EE.NET

對象等價于數據庫記錄

數據映射通過以下4個方法:

Create,Load,StoreandRemove

BMP=這4個方法由你自己編寫

CMP=container提供這些方法

除了這4個方法再沒有其它的數據訪問

J2EE的移植性與互操作性

?理論上J2EE應用可以采用多個廠商的產品

>只要符合J2EE的標準

?實際情況

>J2EE標準不完整,如WebService

>J2EE的技術需改進,如EJB

>各廠商發(fā)展各自的技術?

>不同產品很難協(xié)同和移植

?J2EE可選擇同一廠商支持的不同操作系統(tǒng)

.Net的移植性與互操作性

?理論上.Net應用可移植到任何平臺

>CLS提交給標準化組織

>只要支持CLR

?實際情況

>只有Windows/FreeBSD

??Net支持WebService

>可以使用任何平臺運行的WebService

>任何平臺可使用.NetWebService

技術比較結論

?.Net和J2E

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論