2010年7月20日 星期二

Restlet已發布連接Java和.NET的橋樑


Restlet開源項目(面向Java的輕量級REST框架)主要是溝通連接Java和.NET的橋樑,以方便Java開發者輕鬆使用ADO.NET DataServices。

  近日位於法國的諮詢服務公司Noelios Technologies發布了Restlet開源項目(面向Java的輕量級REST框架)的新版本,該版本包含了針對ADO.NET Data Services的Restlet擴展。 此舉是微軟和NoeliosTechnologies協作的成果,這樣Java開發者就可以輕鬆使用ADO.NET Data Services了。

  通過ADO.NET Data Services框架,我們可以創建RESTful服務以及使用這些服務的客戶端。 根據MSDN所述:

  ADO.NET Data Services框架包含了很多模式與程序庫,以此創建並使用Web上的數據服務。 該框架的目標是簡化數據服務的創建,使用戶能夠輕鬆創建與Web集成良好、靈活的數據服務。 因此,ADO.NET Data Services使用URI指向數據片段並通過簡單、眾所周知的格式來代表數據,比如JSON和ATOM(基於XML的feed格式)。

  微軟技術佈道者Jean-Christophe Cimetiere撰寫了一篇文章對ADO.NET Data Services(此前叫做“Project Astoria”)進行了詳盡的介紹,並說明了該框架可以通過RESTful服務公開關係及非關係數據的原因。

  為了讓系統能夠理解並利用數據上的語義,ADO.NET Data Services使用Entity Data Model(EDM,一種實體關係衍生物)並通過數據服務來對數據進行建模。 這樣就會以“實體類型”實例或“實體”的形式來組織數據並管理實體之間的關聯關係。

  對於關係數據來說,ADO.NET Data Services可以暴露由ADO.NET Entity Framework所創建的EDM模型。 對於其他數據源(比如非關係數據)或是其他的數據庫訪問技術(比如LINQ to SQL)來說,ADO.NET Data Services又提供了一種機制將這些數據源建模為實體和關係(比如通過EDM schema描述)並將其暴露為數據服務。

  大家可以通過此鏈接深入了解ADO.NET Data Services。

  根據Restlet站點所述,Restlet是一個輔助開發RESTful客戶端與服務端應用的框架。 Restlet框架包含了一個Restlet API,該API提供了一套核心契約集來註冊Restlet實現。 這些實現可以是開源項目,也可以是商業產品。 Cimetriere說到:

  ADO.NET Data Services的Restlet擴展提供了一個高層次的client API來擴展Restlet框架的核心功能:可以訪問位於ASP.NET服務器或是Windows Azure雲計算平台上的遠程數據服務。

  Java開發者可以通過擴展的代碼生成器創建符合ADO.NET Data Services所暴露的數據實體的Java類。 之後Java應用就可以通過一個簡單的方法調用訪問這些數據了。 Restlet引擎和擴展的運行時組件會負責Java客戶端應用與ADO.NET Data Services之間的通信。

下面的組件圖描繪了整體的架構(來源)

resletextentionforadonetdataservicesarchitecture

  由微軟領導的其他Java互操作技術還有 Apache Stonehenge(跨平台的SOA/Web服務互操作)和Azure.NET Services SDK for Java。 大家可以通過www.interoperabilitybridges.com/projects/tag/Java.aspx了解更多關於Java-.NET互操作的信息。

不得不知的11個Java第三方類別庫

http://www.5umagazine.com/program/1830.html
星期日, 11月1, 2009

Java第三方library ecosystem是一個很廣闊的範疇。 不久前有人撰文:每個項目中,你必須知道的11個Java第三方類庫

單元測試

1.DBUnit

DBunit是一個基於junit擴展的數據庫測試框架。 它提供了大量的類對與數據庫相關的操作進行了抽象和封裝。

2.MOckito

Mockito是一個針對Java的mocking框架。 你可以使用簡潔的API編寫出漂亮的測試。

3.Hamcrest Matchers

Hamcrest 是一個測試輔助工具,提供了一套通用的匹配符Matcher,靈活使用這些匹配符定義的規則,程序員可以更加精確的表達自己的測試思想,指定所想設定的測試條件。

Junit4結合Hamcrest提供了新的斷言語句-assertThat,只需一個assertThat語句,結合Hamcrest提供的匹配符,就可以表達全部的測試思想。

Apache Commons

4.Configuration

這個工具是用來幫助處理配置文件的,支持很多種存儲方式

5.DbUtils

DbUtils可以將數據庫操作單獨做成一個包,簡化數據庫操作。

6.IO

可以看成是java.io的擴展。 它提供了文件閱讀功能,以及一些使用的方法,類似於DbUtils。

7.Lang

如果你要問我還有哪個庫一會在此名單之上,我會告訴你是Lang或者google Collections。 lang可以看成是對java.lang的擴展,提供了諸如StringUtils, StringEscapeUtils, RandomStringUtils, Tokenizer, WordUtils等工具類。

後起之秀

8.SLF4J

SLF4J是為各種loging APIs提供一個簡單統一的接口,從而使得最終用戶能夠在部署的時候配置自己希望的loging APIs實現。 Slf4j類似於Apache Common-Logging和Log4J,但Slf4j比它們都要優秀。

9.Google Collections

Java的集合框架是Java類庫當中使用頻率最高的部分之一,而Google Collections庫是由Google基於Java5.0 Collections Framework開發的一套新的Java集合框架,提供一些高級集合操作的API。

10.c3p0

C3P0是一個隨Hibernate一同分發的開源的JDBC連接池, 它位於lib目錄下。 包括了實現jdbc3和jdbc2擴展規範說明的Connection 和Statement 池的DataSources 對象。

11.Joda Time

Joda Time是一個強大易用的日期和時間庫,可以完全取代JDKDate和Calendar類。

20個常用PHP類別庫

http://www.5umagazine.com/program/1365.html
星期六, 07月18, 2009

下面是一些非常有用的PHP類庫,相信一定可以為你的WEB開發提供更好和更為快速的方法。

圖表庫

下面的類庫可以讓你很簡的創建複雜的圖表和圖片。 當然,它們需要GD庫的支持。

pChart -一個可以創建統計圖的庫。

Libchart -這也是一個簡單的統計圖庫。

JpGraph -一個面向對象的圖片創建類。

Open Flash Chart -這是一個基於Flash的統計圖。

RSS 解析

MagpieRSS -開源的PHP版RSS解析器,據說功能強大,未驗證。

SimplePie -這是一個非常快速,而且易用的RSS和Atom解析庫。

縮略圖生成

phpThumb -功能很強大,如何強大還是自己去體會吧。

支付

PHP Payment Library -支持Paypal, Authorize.net和2Checkout (2CO)

OpenID

PHP-OpenID -支持OpenID的一個PHP庫。 OpenID是幫助你使用相同的用戶名和口令登錄不同的網站的一種解決方案。 如果你對OpenID不熟悉的話,你可以到這裡看看:http://openid.net.cn/

數據為抽象/對象關係映射ORM

ADOdb -數據庫抽象

Doctrine -對象關係映射Object relational mapper (ORM) ,需要PHP 5.2.3+版本,一個非常強大的database abstraction layer (DBAL).

Propel -對象關係映射框架- PHP5

Outlet -也是關於對象關係映射的一個工具。

注:對象關係映射(Object Relational Mapping,簡稱ORM)是一種為了解決面向對象與關係數據庫存在的互不匹配的現象的技術。 簡單的說,ORM是通過使用描述對象和數據庫之間映射的元數據,將程序中的對象自動持久化到關係數據庫中。 本質上就是將數據從一種形式轉換到另外一種形式。 這也同時暗示者額外的執行開銷;然而,如果ORM作為一種中間件實現,則會有很多機會做優化,而這些在手寫的持久層並不存在。 更重要的是用於控制轉換的元數據需要提供和管理;但是同樣,這些花費要比維護手寫的方案要少;而且就算是遵守ODMG規範的對像數據庫依然需要類級別的元數據。

PDF 生成器

FPDF -這量一個可以讓你生成PDF的純PHP類庫。

Excel 相關

php-excel -這是一個非常簡單的Excel文件生成類。

PHP Excel Reader -可以解析並讀取XLS文件中的數據。

E-Mail 相關

Swift Mailer -免費的超多功能的PHP郵件庫。

PHPMailer -超強大的郵件發送類。

單元測試

如果你在使用測試驅動的方法開發你的程序,下面的類庫和框架絕你能幫助你的開發。

SimpleTest -一個PHP的單元測試和網頁測試的框架。

PHPUnit -來自xUnit家族,提供一個框架可以讓你方便地進行單元測試的案例開發。 並可非常容易地分析其測試結果。