锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 浜?.SOA浣撶郴鏂規硶 涓?. 浜у搧鐨刄I鍔熻兘
The main driver for SOA is to define an architectural approach that assists in the
flexible integration of IT systems. Organizations spend a considerable amount of
time and money trying to achieve rapid, flexible integration of IT systems across
all elements of the business cycle. The drivers behind this objective include:
SOA涓昏椹卞姩鏄負浜嗗畾涔変竴涓綋緋繪柟娉曚互姝ゆ潵澧炲姞鍦↖T緋葷粺鏁村悎鐨勪幾緙╂?閫氳繃涓氬姟鍛ㄦ湡鐨勬墍鏈夊厓绱?鍙互鑺辮垂涓瀹氶噺鐨勬椂闂村拰閲戦挶榪呴熸彁鍗囦綋緋?IT緋葷粺鏁村悎鐨勪幾緙╂?
涓烘椹卞姩鍖呮嫭:
1> Increasing the speed at which businesses can implement new products and
processes, can change existing ones, or can recombine them in new ways
鍔犻熶笟鍔″疄鐜版柊浜у搧鎴栬呮柊嫻佺▼,鎴栨敼鍙樼幇鏈?鐢氳嚦鑳戒互鏂扮殑鏂瑰紡緇勫悎瀹冧滑.
2> Reducing implementation and ownership costs of IT systems and the
integration between them
鍑忓皯IT緋葷粺瀹炵幇浠ュ強鎵鏈夋潈鐨勮姳璐?鍑忓皯緋葷粺涔嬮棿鏁村悎.
3> Enabling flexible pricing models by outsourcing more fine-grained elements of
the business than were previously possible or by moving from fixed to
variable pricing, based on transaction volumes
閫氳繃澶栭儴閲囪喘鍙幾緙╂т環鍊兼ā鍨嬫瘮浠ュ墠鏇寸粏綺掑害涓氬姟鍏冪礌,鐢氳嚦鍙互鍩轟簬浜嬪姟閲忎粠鍥哄畾縐誨姩鍒板彲鍙樹環鍊?br />4> Simplifying the integration work that is required by mergers and acquisitions
鍚堝茍涓庨渶姹傞渶瑕佺畝鍖栨暣鍚堝伐浣?
5> Achieving better IT utilization and return on investment
瀹屾垚鏇村ソIT鍒╃敤鍙婂叾鎶曡祫鍥炴姤.
6> Achieving implementation of business processes at a level that is
independent from the applications and platforms that are used to support the
processes
鍦ㄦ煇涓駭鍒笂瀵逛笟鍔℃祦紼嬪疄鐜?騫朵粠搴旂敤鍜屽鉤鍙頒腑鐙珛鏉ユ敮鎸佹祦紼?
SOA prescribes a set of design principles and an architectural approach to
achieve this rapid, flexible integration.
涓轟簡瀹炵幇蹇?鍙幾緙╂ф暣鍚?SOA 瑙勫畾浜嗕竴緋誨垪璁捐鍘熺悊鍜屼竴涓粨鏋勪綋緋繪柟娉?/p>
SOA is an integration architecture approach based on the concept of a service.
The business and infrastructure functions that are required to build distributed
systems are provided as services that collectively, or individually, deliver
application functionality to end-user applications or other services.
SOA specifies that within any given architecture, there should be a consistent
mechanism for services to communicate. That mechanism should be loosely
coupled and support the use of explicit interfaces.
SOA brings the benefits of loose coupling and encapsulation to integration at an
enterprise level. It applies successful concepts proved by Object Oriented
SOA鏄熀浜巗ervice姒傚康鏁村悎浣撶郴鏂規硶.涓氬姟鍜屽熀鏈粨鏋勮繍琛岄渶瑕佸垱寤哄垎甯冨紡緋葷粺浣滀負service,騫舵彁渚涘叡鍚屾垨縐佹湁鍙戝竷鍔熻兘鎬х殑搴旂敤緇?br />緇堢鐢ㄦ埛鎴栧叾浠杝ervice.SOA浠呭湪浠諱綍緇欏畾浣撶郴鎸囧畾,鍙兘鏄粠鍟嗕笟鍒伴氳涓鑷寸殑service.鍟嗕笟鍙兘鏄澗鏁h﹀悎,鏀寔浣跨敤澶栭儴鎺ュ彛.
SOA鎻愪緵鏉捐﹀悎琛屼負鍜屽湪浼佷笟綰у埆灝佽鏁村悎.
]]>
瀹冪殑涓昏鐗圭偣鏄?
1.瀹炵幇澶氫粙璐ㄥ瓨鍌?BR> 2.瀹炵幇瀹氭椂鍙戦?BR> 3.閫氳褰曠鐞?BR> 4.榪囨護鍣ㄥ畾鍒?BR> 5.緋葷粺鎵樼洏
6.璺ㄥ鉤鍙?BR> 7.絎笁鏂規帴鍙?BR>
鍓嶆湡闇姹?
mail鐨勫熀鏈姛鑳藉寘鎷?mail鐨勬敹鍙?mail鐨凥TML,TEXT鐨勫唴瀹規牸寮?宸茬粡甯﹂檮浠剁殑鏀跺彂,鎶勯?杞彂,鍥炲,鏀舵潯
3.mail鐨勫瓨鍌?BR> mail鐨勫瓨鍌ㄥ寘鎷?LOCAL瀛樺偍鍜孌ATABASE瀛樺偍
4.mail鐨勭兢鍙?BR> mail鐨勭兢鍙戞槸鎸囧悓鏃跺彂閫侀偖浠?涓嶆槸鎶勯?
5.mail鐨勫畾鏃跺彂閫?BR> mail鍙互鍦ㄥ埗瀹氱殑鏃墮棿鍙戦?涔熷彲浠ュ懆鏈熷彂閫?濡?PM2:00鍙戠粰JOHN涓浠組AIL
6.mail鐨勮繃婊ゅ櫒
mail榪囨護鍣ㄦ槸瀵歸偖浠剁殑榪囨護,涔熷彲浠ュ畾鍒惰繃婊よ鍒?
7.閫氳褰?BR> mail鐨勯氳褰曞彲浠ュ鍙戜歡浜虹殑淇℃伅璁板綍,涔熷娣誨姞,淇敼閫氳褰?
8.mail鐨勯偖綆?BR> 鍖呮嫭鍙戜歡綆?鏀朵歡綆?鑽夌ǹ綆?鍨冨溇綆?/P>
0.UI鐨勫竷灞鐣岄潰
UI甯冨眬鍖呮嫭:涓葷晫闈?閫氳褰曠晫闈?
涓葷晫闈?鍖呮嫭:閭鍒楄〃,鐢ㄦ埛緙栬緫鍖哄煙(鏀寔澶氱獥鍙?,璇︾粏鍒楄〃鍖?BR> 閫氳褰曠晫闈?鏄竴涓狣IALOG,鍙互瀵瑰ソ鍙嬩俊鎭繘琛屾坊鍔?緙栬緫,鍒犻櫎絳夋搷浣?
1.閰嶇疆鐨刄I鐣岄潰
鏂板緩閭WIZARD-鍙互鏂板緩閭宸茬粡瀵瑰叾閰嶇疆.
閰嶇疆閭DIALOG-鍙互瀵歸偖綆辯殑瀛樺偍絳夐厤緗?
鏂板緩閭歡WIZARD-鍙互瀵歸偖浠惰繘琛岄厤緗?
2.鏈灝忓寲鎵樼洏
FLYSKYMAIL鍙互瀹炵幇緋葷粺鎵樼洏鐨勫姛鑳?
]]>
]]>
聽 浜嬪姟鏄湁澶氫釜浠誨姟鏋勬垚,姣忎釜浠誨姟閮芥垚鍔熷畬鎴愬悗浜嬪姟鎵嶈兘澶熸垚鍔熷畬鎴?鍚﹀垯浜嬪姟澶辮觸灝嗚繑鍥炰簨鍔″紑濮嬬殑鐘舵?
2.浜嬪姟鐨勭壒鎬CID
聽 1.atomic 鍘熷瓙鎬?br />聽 2.cosistent涓鑷存?br />聽 3.Isolation瀛ょ珛鎬?br />聽 4.Durability鎸佷箙鎬?br />3.浜嬪姟JAVA SAMPLE
聽 InitialContent ctx=new InitialContent();
聽 UserTransaction tran=(UserTransaction )ctx.lookup("java.comp/UserTransaction");
聽 //begin
聽 tran.begin();
聽 //transaction action
聽 //end
聽 tran.commit();
聽4.浜嬪姟鍩烘湰鍘熺悊
聽 afterBegin聽浜嬪姟澶勭悊鍒氬垰寮濮?br />聽 beforeCompletion 浜嬪姟澶勭悊蹇緇撴潫
聽 afterCompletion(boolean) 浜嬪姟澶勭悊宸茬粡緇撴潫.boolean 鏄寚鎻愪氦浜嗚繕鏄挙閿浜?
聽 5.浜嬪姟綆$悊鍣?br />聽 2PC(2 phase commit 涓ゆ鎻愪氦)鏄簨鍔$鐞嗗櫒鍜岃祫婧愮鐞嗗櫒鐨勪竴涓氦浜掓満鍒?
聽 2pc鐨凴DBMS蹇呴』鏀寔XA-compliant.
PS: 閫氬父JAVA鍦ㄥ簲鐢ㄧ▼搴忎腑浣跨敤driverManager寤虹珛榪炴帴Connection.浣嗗湪J2EE涓槸浣跨敤DataSource鏉ヨ幏寰桟onnection 瀵硅薄鐨?
聽 J2EE榪樻彁渚涗簡PooledConnection(榪炴帴姹?,瀹冩槸浠嶤onnectionPoolDataSource鑾峰緱鐨?XADataSource鍜孹AConnection 涓庝箣鐩稿叧鐨勫瓙鎺ュ彛.
聽 6.JTA
聽 API: javax.transaction
聽 7.JTS
聽 8.Hibernate鐨勪簨鍔℃?br />聽 9.JBPM鐨勪簨鍔℃?br />
]]>
Light Directory Access Protocol(杞婚噺綰х洰褰曡闂崗璁?/SPAN>)
鐩綍鏈嶅姟鎶鏈垚涓鴻澶氭柊鍨嬫妧鏈疄鐜頒俊鎭瓨鍌ㄣ佺鐞嗗拰鏌ヨ鐨勯閫夋柟妗堬紝鐗瑰埆鏄湪緗戠粶璧勬簮鏌ユ壘銆?/SPAN>
鐢ㄦ埛璁塊棶鎺у埗涓庤璇佷俊鎭殑鏌ヨ銆佹柊鍨嬬綉緇滄湇鍔°佺綉緇滃畨鍏ㄣ佸晢鍔$綉鐨勯氱敤鏁版嵁搴撴湇鍔″拰瀹夊叏鏈嶅姟絳夋柟闈紝
閮介渶瑕佸簲鐢ㄧ洰褰曟湇鍔℃妧鏈潵瀹炵幇涓涓氱敤銆佸畬鍠勩佸簲鐢ㄧ畝鍗曞拰鍙互鎵╁睍鐨勭郴緇熴?/SPAN>
鐩綍鏈嶅姟灝辨槸鎸夌収鏍戠姸淇℃伅緇勭粐妯″紡錛屽疄鐜頒俊鎭鐞嗗拰鏈嶅姟鎺ュ彛鐨勪竴縐嶆柟娉?/SPAN>.
鐩綍鏈嶅姟緋葷粺涓鑸敱涓ら儴鍒嗙粍鎴愶細絎竴閮ㄥ垎鏄暟鎹簱錛屼竴縐嶅垎甯冨紡鐨勬暟鎹簱錛屼笖鎷ユ湁涓涓弿榪版暟鎹殑瑙勫垝錛?IMG alt="" hspace=0 src="E:\temp\My Pictures\jndi.JPG" align=baseline border=0>
絎簩閮ㄥ垎鍒欐槸璁塊棶鍜屽鐞嗘暟鎹簱鏈夊叧鐨勮緇嗙殑璁塊棶鍗忚銆?/SPAN>
1.X.500
2.LDAP
java鍙互閫氳繃JNDI涓庡簳灞傚懡鍚嶆湇鍔¢氳
JNDI
JNDI鐨勭粨鏋勫浘
Context ctx=new InitialContent();
//find
ctx.lookup(鈥渢est鈥?;
//bind
ctx.bind(鈥渢est鈥?;
//unbind
ctx.unbind(鈥渢est鈥?;