Posted on 2007-09-13 10:53
my 閱讀(313)
評論(0) 編輯 收藏 所屬分類:
個人收藏
0427
SQL翻頁程序
ORACLE:
sql = "select * from ( select t1.*,rownum r1 from (" + sql + ") t1)t2 where t2.r1>"+ ((curPageNO - 1) * pageSize) + " and t2.r1<=" + (curPageNO * pageSize);
SQL SERVER:
select top pagesize * from table1
where id not in(select top pagesize*(pageno+1) id from table1)
0706
orcacle查看表結(jié)構(gòu)
desc tablename
Sybase查看表結(jié)構(gòu)
sp_help xyz
go
0716
hashCode()的返回值和equals()的關(guān)系如下:
- 如果x.equals(y)返回“true”,那么x和y的hashCode()必須相等。
- 如果x.equals(y)返回“false”,那么x和y的hashCode()有可能相等,也有可能不等。
0730
1.
jdb 調(diào)試java程序,java的調(diào)試器
javap java反編譯命令
2.
8,64,256都是2的階次方數(shù)(例8是2的3次方),用java編寫程序,用兩種方法來判斷一個整數(shù)是不是2的階次方數(shù),并說明哪個方法更好。
二進制形如10,1000,1000000的都是
0801
最近研究SOA,在看梁愛虎老師寫的《精通SOA:基于服務(wù)總線的整合應(yīng)用開發(fā)》,發(fā)現(xiàn)第八章的例子里面出現(xiàn)。enum的沖突錯誤(就是用eclipse打開第八章的工程,jdk中enum是關(guān)鍵字和axis的enum出現(xiàn)沖突)。幾經(jīng)折騰,終于找到了解決辦法,axis采用1.4,將org.apache.axis.enum和org.apache.axis.constants替換就可以了。
0814
wap上撥打電話
<anchor>[拨打]<go method="get" href='wtai://wp/mc;02028376388'></go></anchor>
0823
什么是SOA
面向服務(wù)的體系結(jié)構(gòu)(service-oriented architecture,SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應(yīng)該獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進行交互。
這種具有中立的接口定義(沒有強制綁定到特定的實現(xiàn)上)的特征稱為服務(wù)之間的松耦合。松耦合系統(tǒng)的好處有兩點,一點是它的靈活性,另一點是,當組成整個應(yīng)用程序的每個服務(wù)的內(nèi)部結(jié)構(gòu)和實現(xiàn)逐漸地發(fā)生改變時,它能夠繼續(xù)存在。而另一方面,緊耦合意味著應(yīng)用程序的不同組件之間的接口與其功能和結(jié)構(gòu)是緊密相連的,因而當需要對部分或整個應(yīng)用程序進行某種形式的更改時,它們就顯得非常脆弱。
對松耦合的系統(tǒng)的需要來源于業(yè)務(wù)應(yīng)用程序需要根據(jù)業(yè)務(wù)的需要變得更加靈活,以適應(yīng)不斷變化的環(huán)境,比如經(jīng)常改變的政策、業(yè)務(wù)級別、業(yè)務(wù)重點、合作伙伴關(guān)系、行業(yè)地位以及其他與業(yè)務(wù)有關(guān)的因素,這些因素甚至會影響業(yè)務(wù)的性質(zhì)。我們稱能夠靈活地適應(yīng)環(huán)境變化的業(yè)務(wù)為按需(On demand)業(yè)務(wù),在按需業(yè)務(wù)中,一旦需要,就可以對完成或執(zhí)行任務(wù)的方式進行必要的更改。
雖然面向服務(wù)的體系結(jié)構(gòu)不是一個新鮮事物,但它卻是更傳統(tǒng)的面向?qū)ο蟮哪P偷奶娲P停嫦驅(qū)ο蟮哪P褪蔷o耦合的,已經(jīng)存在二十多年了。雖然基于 SOA 的系統(tǒng)并不排除使用面向?qū)ο蟮脑O(shè)計來構(gòu)建單個服務(wù),但是其整體設(shè)計卻是面向服務(wù)的。由于它考慮到了系統(tǒng)內(nèi)的對象,所以雖然 SOA 是基于對象的,但是作為一個整體,它卻不是面向?qū)ο蟮摹2煌幵谟诮涌诒旧怼?/span>SOA 系統(tǒng)原型的一個典型例子是通用對象請求代理體系結(jié)構(gòu)(Common Object Request Broker Architecture,CORBA),它已經(jīng)出現(xiàn)很長時間了,其定義的概念與 SOA 相似。
然而,現(xiàn)在的 SOA 已經(jīng)有所不同了,因為它依賴于一些更新的進展,這些進展是以可擴展標記語言(eXtensible Markup Language,XML)為基礎(chǔ)的。通過使用基于 XML 的語言(稱為 Web 服務(wù)描述語言(Web Services Definition Language,WSDL))來描述接口,服務(wù)已經(jīng)轉(zhuǎn)到更動態(tài)且更靈活的接口系統(tǒng)中,非以前 CORBA 中的接口描述語言(Interface Definition Language,IDL)可比了。
Web 服務(wù)并不是實現(xiàn) SOA 的惟一方式。前面剛講的 CORBA 是另一種方式,這樣就有了面向消息的中間件(Message-Oriented Middleware)系統(tǒng),比如 IBM 的 MQseries。但是為了建立體系結(jié)構(gòu)模型,您所需要的并不只是服務(wù)描述。您需要定義整個應(yīng)用程序如何在服務(wù)之間執(zhí)行其工作流。您尤其需要找到業(yè)務(wù)的操作和業(yè)務(wù)中所使用的軟件的操作之間的轉(zhuǎn)換點。因此,SOA 應(yīng)該能夠?qū)I(yè)務(wù)的商業(yè)流程與它們的技術(shù)流程聯(lián)系起來,并且映射這兩者之間的關(guān)系。例如,給供應(yīng)商付款的操作是商業(yè)流程,而更新您的零件數(shù)據(jù)庫,以包括進新供應(yīng)的貨物卻是技術(shù)流程。因而,工作流還可以在 SOA 的設(shè)計中扮演重要的角色。
此外,動態(tài)業(yè)務(wù)的工作流不僅可以包括部門之間的操作,甚至還可以包括與不為您控制的外部合作伙伴進行的操作。因此,為了提高效率,您需要定義應(yīng)該如何得知服務(wù)之間的關(guān)系的策略,這種策略常常采用服務(wù)級協(xié)定和操作策略的形式。
最后,所有這些都必須處于一個信任和可靠的環(huán)境之中,以同預期的一樣根據(jù)約定的條款來執(zhí)行流程。因此,安全、信任和可靠的消息傳遞應(yīng)該在任何 SOA 中都起著重要的作用。
什么是SOAP
SOAP(Simple Object Access Protocol)簡單對象訪問協(xié)議是在分散或分布式的環(huán)境中交換信息的簡單的協(xié)議,是一個基于XML的協(xié)議。它包括四個部分:SOAP封裝(envelop),封裝定義了一個描述消息中的內(nèi)容是什么,是誰發(fā)送的,誰應(yīng)當接受并處理它以及如何處理它們的框架;SOAP編碼規(guī)則(encoding rules),用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實例; SOAP RPC表示(RPC representation),表示遠程過程調(diào)用和應(yīng)答的協(xié)定;SOAP綁定(binding),使用底層協(xié)議交換信息。
目前最新以及最流行的技術(shù)非XML莫數(shù)了,MS的OFFICE2003也發(fā)布了,據(jù)說也是基于XML開發(fā)的,具有很強的擴展性。
0831
更新字段內(nèi)容
update contentinfo set OriginalFileName=replace(OriginalFileName,'.3gp','')where OriginalFileName like'%.3gp'
0904
wml語法
<img src=’XXXXX’ alt=’’ />必須加上alt=’’,否則有些老手機撐不住
0906
Oracle時間計算
SYSDATE是插入當前時間,如果加十天則直接SYSDATE+10
例如:
INSERTINTO Voucher VALUES(1,100200,1,10,0,SYSDATE,(SYSDATE)+10)
0912
java中的四舍五入運算
BigDecimal b1 = new BigDecimal(Double.toString(700.00));
BigDecimal b2 = new BigDecimal(Double.toString(522.00));
System.out.println((int)b1.divide(b2,0,BigDecimal.ROUND_HALF_UP).doubleValue());//取整數(shù),0代表精確到小數(shù)部分哪一位