自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SDOvsEJB 3.0詳細比較

開發(fā) 后端
本文把SDO和EJB 3.0做了比較,從支持的語言,數(shù)據(jù)類型和格式等方面。

其實,SDO2和EJB3(也稱Java Persistence API - JPA) 規(guī)范之間差異還是很大的,與其說它們之間是競爭關(guān)系,倒不如說互補更為合適。

SDO野心很大,它妄圖為各種SOA架構(gòu)下的數(shù)據(jù)類型提供一個統(tǒng)一而靈活的API。EJB3則著眼于基于ORM的新型數(shù)據(jù)持久化技術(shù),讓EJB變得更簡單,期間它還得到了來自Hibernate和Oracle ORM工具開發(fā)者的支持。

支持的語言

◆EJB 3.0僅用于Java
◆SDO API有著Java和C++兩個版本, 但可以用其他語言實現(xiàn)(現(xiàn)在有PHP版本的). SDO定義了一套SDO的數(shù)據(jù)類型,確保了不同數(shù)據(jù)源之間和不同語言之間的可移植性。倒目前為止,SDO已有Java, C++, 和 PHP三個版本. 而EJB 3.0 僅面向Java,沒有多語言的兼容性。

數(shù)據(jù)類型和格式

◆EJB 3.0 的數(shù)據(jù)持久化著眼于數(shù)據(jù)庫中的關(guān)系型數(shù)據(jù)。
◆SDO 面向的是各種類型的數(shù)據(jù),關(guān)系型數(shù)據(jù)只是其中的一種。開發(fā)人員了解SDO API后,可以訪問任何SDO實現(xiàn)所支持的數(shù)據(jù)類型。除了有統(tǒng)一的數(shù)據(jù)訪問API來從各種數(shù)據(jù)源讀取數(shù)據(jù)以外,SDO還同時有統(tǒng)一的訪問數(shù)據(jù)源的元數(shù)據(jù)的 API。其中,DataGraph和DataObject接口是SDO提供用來訪問數(shù)據(jù)的,Type和Property接口則提供了訪問元數(shù)據(jù)的API。

EJB 3.0 基于ORM, SDO關(guān)注數(shù)據(jù)

◆EJB 3.0 非常依賴ORM技術(shù),而ORM技術(shù)在設(shè)計是為了將java對象持久化到關(guān)系型數(shù)據(jù)庫(也稱作‘邏輯優(yōu)先’方式)或者是在Java對象和已有數(shù)據(jù)庫間做映射(也稱作‘意大利面條’方式).
◆SDO 采用 \'數(shù)據(jù)優(yōu)先\' 的方式, 它假定數(shù)據(jù)庫可以被優(yōu)化(和范式化),并且比上層業(yè)務(wù)層有更長的生命周期?;跀?shù)據(jù)庫是數(shù)據(jù)焦點的假定,F(xiàn)ireStorm/SDO 將數(shù)據(jù)庫結(jié)構(gòu)反向工程以生成持久化代碼。

SDO 是面向SOA架構(gòu)的


◆EJB 3.0 是用于傳統(tǒng)的單個Java應(yīng)用,通常是C-S架構(gòu)(譯者按:這點牽強,不是很贊同)
◆SDO 支持脫機應(yīng)用模型的概念,這非常適合SOA的架構(gòu)。脫機狀態(tài)的DataGraph意味著可以不鎖數(shù)據(jù)庫表,因為所有修改都是離線修改。

SCA 和 J2EE 規(guī)范


◆EJB 3.0 是JEE (J2EE的新叫法)的一部分, JEE是過去幾年主要的應(yīng)用部署平臺
◆***版本的SDO規(guī)范同SCA規(guī)范一同發(fā)布了。SCA實現(xiàn)了分布式SOA架構(gòu)下服務(wù)之間的點到點互動。SCA是業(yè)界對微軟的 Indigo/WCF 戰(zhàn)略的強有力的回應(yīng),也許是這兩年 SOA/Web Services 上最重要的發(fā)展。

緊耦合和松耦合

◆EJB 3.0 是嵌入式,和應(yīng)用耦合緊密。
◆SDO 的實現(xiàn)可以設(shè)計成適用于輕量級以及分布式的架構(gòu)。SDO規(guī)范同時允許靜態(tài)(強類型)調(diào)用和動態(tài)(弱類型)調(diào)用。

所以,由于目標和特性上的這些差異,不能說EJB3或SDO2哪個是更好的持久化規(guī)范,不過,我們可以從中得到一些思路:
◆如果你開發(fā)的是一個傳統(tǒng)(非SOA)應(yīng)用,用的是關(guān)系型數(shù)據(jù)庫且全部用Java,那么EJB3是個不錯的選擇。
◆如果你使用SOA架構(gòu)進行開發(fā),或者需要訪問不同類型的數(shù)據(jù),那么SDO是個不錯的選擇。

【編輯推薦】

  1. Spring支持EJB的實現(xiàn)
  2. EJB和Spring全面比較
  3. Weblogic開發(fā)和EJB基礎(chǔ)應(yīng)用
  4. JDO、EJB CMP、Hibernate和Amber比較
  5. 采用EJB開發(fā)的三個優(yōu)勢
責任編輯:佚名 來源: IT專家網(wǎng)
相關(guān)推薦

2009-09-14 14:20:36

LINQ ORM

2014-03-10 10:06:40

WebSocket.Net

2022-05-10 09:47:10

Bash字符串Linux

2009-12-08 10:00:36

PHP比較運算符

2024-04-12 15:52:42

藍牙

2010-01-06 16:25:58

.Net Framew

2009-09-07 15:04:07

2024-02-19 18:06:04

PythonJuliaRust

2021-06-15 09:00:00

Web技術(shù)開發(fā)

2021-11-15 13:24:02

云計算云計算環(huán)境云應(yīng)用

2011-11-25 10:58:51

2023-10-31 18:03:42

GitHub人工智能開發(fā)

2011-06-27 10:17:15

EXT4 Btrfs

2020-10-15 07:48:35

微信PC版3.0正式版

2009-04-10 14:34:18

LinuxGNOME 3.0

2009-11-30 18:30:11

EVDO路由器

2014-11-04 09:44:37

WebjQuery

2012-04-24 13:39:28

多方通信

2012-08-13 17:01:16

Web 3.0移動互聯(lián)

2009-12-29 16:21:46

silverlight
點贊
收藏

51CTO技術(shù)棧公眾號