锘??xml version="1.0" encoding="utf-8" standalone="yes"?> • BPEL(Business Process Execution Language)鍙堝彨BPEL4WS(Business Process Execution Language For Web Service)錛岄潰鍚?/span>Web鏈嶅嫏鐨勬キ鍕欐祦紼嬪煼琛岃獮璦銆傛槸涓紼嬌鐢?/span>Web鏈嶅嫏瀹氱京鍜屽煼琛屾キ鍕欐祦紼嬬殑瑾炶█銆?/span>BPEL鎻愪緵浜嗕竴紼浉灝嶇啊鍠槗鎳傜殑鏂規硶錛屽彲灝囧鍊?/span>WEB鏈嶅嫏緄勫悎鍒頒竴鍊嬫柊鐨勫京鍚堟湇鍕?/span>(紼變綔妤嫏嫻佺▼)涓?/span> • BPEL鏈韓鏄竴鍊?/span>Web鏈嶅嫏錛屽彲浠ヤ綔鐐烘湇鍕欑殑鎻愪緵鑰呫?/span> • BPEL鏄熀鏂?/span>Web鏈嶅嫏鐨勶紝娌掓湁Web鏈嶅嫏灝辨矑鏈?/span>BPEL銆?br />
• 涓鍊嬩互bpel鐐哄緦綞寸殑鏂囦歡(渚嬪MyFlow.bpel) • 涓鍊?/span>WSDL鏂囦歡 • 涓鍊嬮儴緗?/span>XML鏂囦歡錛屾ǎ瀛愬艦浼?/span>bpel.xml • 闇瑕佺啛鎮夊柈鍊嬬殑Web Service鐨勪嬌鐢ㄦ柟娉?/span> • 闇瑕佷簡瑙e叿楂旂殑妤嫏嫻佺▼ • 闇瑕佷竴鍊嬮亱琛?/span>BPEL鐨勮檿鐞嗗櫒 • 闇瑕佷竴鍊嬫祦紼嬭ō璦堝櫒 • 鐣剁劧闇瑕佸皪BPEL瑾炴硶妯欑敖鐨勬帉鎻$瓑 BPEL鐨勪竴鑸祼妲?/span> • <process> • <partnerLinks> • <partnerLink> • </partnerLink> • </partnerLinks> • <variables> • <variable/> • </variables> • <faultHandlers> • </faultHandlers> • <sequence> • Activities • </sequence> • </process> <process>鐨勫爆鎬?/span> <process name="ncname" targetNamespace="uri" queryLanguage="anyURI"? expressionLanguage="anyURI"? suppressJoinFailure="yes|no"? enableInstanceCompensation="yes|no"? abstractProcess="yes|no"? xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"> . . </process> <partnerLinks>妯e紡 <partnerLinks> <!– 娉ㄦ剰:鑷沖皯瑕佹寚瀹氫竴鍊嬭鑹?/span>. --> <partnerLink name="ncname" partnerLinkType="qname" myRole="ncname“ partnerRole="ncname"> </partnerLink> </partnerLinks> <variables>妯e紡 <variables> <variable name="ncname" messageType="qname“/> </variables> <faultHandlers>妯e紡 <faultHandlers> <catch faultName="qname“ faultVariable="ncname"> activity </catch> <catchAll> activity </catchAll> </faultHandlers> Activities鍖呭惈鍏烽珨濡備笅 • <receive> • <reply> • <invoke> • <assign> • <throw> • <terminate> • <wait> • <empty> • <sequence> • <switch> • <while> • <pick> • <flow> • <scope> • <compensate> 鍩烘湰媧誨嫊涓 • <invoke> – 瑾跨敤鏌愬?/span> Web 鏈嶅嫏涓婄殑鎿嶄綔 • <receive> – 絳夊緟涓姊濇秷鎭締鍥炴噳鐢辨煇浜哄緸澶栭儴閫茶瑾跨敤鐨勬湇鍕欎粙闈㈢殑鎿嶄綔 • <reply> – 鐢熸垚杓稿叆錛忚幾鍑烘搷浣滅殑鍥炴噳 • <wait> – 絳夊緟涓孌墊檪闁?/span> 鍩烘湰媧誨嫊浜?/span> • <assign> – 鎶婅硣鏂欏緸涓鍊嬪湴鏂硅瑁藉埌鍙︿竴鍊嬪湴鏂?/span> • <throw> – 鎸囨槑鏌愬嬪湴鏂瑰嚭閷簡 • <terminate> – 緄傛鏁村嬫湇鍕欏渚?/span> • <empty> – 浠楹戒篃涓嶅仛 緄愭鍖栨椿鍕?/span> • <sequence> – 瀹氱京涓緄勬椹熺殑鏈夊簭搴忓垪 • <switch> – 浣跨敤鐝懼湪甯歌鐨?/span>“case-statement”杈︽硶渚嗙敚鐢熷垎鏀?/span> • <while> – 瀹氱京涓鍊嬭看鍦?/span> • <pick> – 鍩瘋騫炬鍙伕璺緫涓殑涓姊?/span> • <flow> – 浠ュ強鎸囨槑涓緄勬椹熸噳瑭蹭甫琛屽湴鍩瘋 涓鍊嬪畬鏁寸殑綈″柈紺轟緥 <process name="test" targetNamespace="http://acm.org/samples" suppressJoinFailure="yes" xmlns:tns="http://acm.org/samples" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"> <partnerLinks> <!-- The 'client' role represents the requester of this service. --> <partnerLink name="client" partnerLinkType="tns:test" myRole="testProvider"/> </partnerLinks> <variables> <variable name="input" messageType="tns:testRequestMessage"/> <variable name="output" messageType="tns:testResponseMessage"/> </variables> <sequence name="main"> <receive name="receiveInput" partnerLink="client" portType="tns:test" operation="process" variable="input" createInstance="yes"/> <assign name="creatReturnStr"> <copy> <from expression="concat("Hello", bpws:getVariableData('input','payload','/tns:testRequest/tns:input'))"></from> <to variable="output" part="payload" query="/tns:testResponse/tns:result"/> </copy> </assign> <reply name="replyOutput" partnerLink="client" portType="tns:test" operation="process" variable="output"/> </sequence> </process>
BPEL鐨勯亱浣滄柟寮?/span>
BPEL鐨勪竴鑸鎴?/span>
BPEL鐨勫鐝鵑渶姹?/span>
8.6 BPEL鐨勭祼妲?/span>
紼嬪簭鍚嶇ū
|
JBoss ESB |
|
鏁告摎搴礬寰戝拰鍚嶇ū
|
222.118.20.108\jbossesb |
|
紼嬪簭鐨勬枃浠舵鎴愯鏄?/span>
|
||
1)聽聽聽聽聽聽
Jboss
2)聽聽聽聽聽聽
jbossesb-4.0Beta1MP1聽聽聽聽
2.1 jbossesb-appl.ear
2.2 jbossEsb.properties
2.3
JBossESB-ds.xml
2.4 properties-service.xml
2.5 ObjStore.xml
閰嶇疆姝ラ濡備笅
:
|
||
閬嬭姊濅歡鍜岄厤緗鏄?/span>
|
||
|
Windows
Linux |
|
|
1)鏁告摎婧愰厤緗湪JBossESB-ds.xml鏂囦歡閰嶇疆錛岃┏绱頒俊鎭涓?/span>: <datasources> 聽 <local-tx-datasource> 聽聽聽 <jndi-name>JBossESBDS</jndi-name>
聽聽聽 <connection-url>jdbc:jtds:sqlserver://222.118.20.108;DatabaseName=jbossesb</connection-url> 聽聽聽 <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class> 聽聽聽 <user-name>dbname</user-name> 聽聽聽 <password>access</password>
聽聽聽 <min-pool-size>10</min-pool-size> 聽聽聽 <max-pool-size>100</max-pool-size> 聽聽聽 <blocking-timeout-millis>1000</blocking-timeout-millis> 聽聽聽 <idle-timeout-minutes>5</idle-timeout-minutes>
聽 </local-tx-datasource>
</datasources> 2.淇敼jbossEsb.properties鏂囦歡: org.jboss.soa.esb.mail.smtp.host=www.163.com org.jboss.soa.esb.mail.smtp.port=23 org.jboss.soa.esb.mail.smtp.user=ejinmy org.jboss.soa.esb.mail.smtp.password=123456789abc
# # Object Store Settings # org.jboss.soa.esb.objStore.configfile=file:/e:/temp/ObjStore.xml |
|
|
蹇呴渶鏄?/span>
JBoss .
閬嬭
JBoss App Server
灝卞暉鍕曚簡
JBoss ESB. |
|
|
鏁告摎搴〃(script) CREATE TABLE batches ( 聽聽聽 batch_num int NOT NULL, 聽聽聽 seq integer NOT NULL, 聽聽聽 data varchar, 聽聽聽 CONSTRAINT batches_pk PRIMARY KEY (batch_num,seq) );
CREATE TABLE object_snap ( 聽聽聽 uid int NOT NULL, 聽聽聽 stamp int, 聽聽聽 snap_type varchar, 聽聽聽 object_uid int, 聽聽聽 batch_num int, 聽聽聽 xml_data varchar, 聽聽聽 CONSTRAINT object_snap_pk PRIMARY KEY (uid) );
CREATE TABLE people_index ( 聽 聽聽uid bigint NOT NULL, 聽聽聽 stamp int, 聽聽聽 latest_snap_uid int, 聽聽聽 latest_snap_date varchar, 聽聽聽 name varchar, 聽聽聽 phone varchar, 聽聽聽 address varchar, 聽聽聽 CONSTRAINT people_index_pk PRIMARY KEY (uid) );
CREATE TABLE uid_table ( 聽聽聽 uid integer NOT NULL, 聽聽聽 sequence_name varchar NOT NULL, 聽聽聽 last_used_uid bigint NOT NULL, 聽聽聽 CONSTRAINT uid_table_pk PRIMARY KEY (uid) );
INSERT INTO uid_table (uid, sequence_name, last_used_uid) VALUES (1, 'jbossEsb_objuid', 10500000); INSERT INTO uid_table (uid, sequence_name, last_used_uid) VALUES (2, 'jbossEsb_batchuid', 251000); |
|
鍌?/span>
聽聽聽
娉?/span>
|
||
姝ゆ枃妾旀槸閰嶇疆瀹夎JBOSS ESB鐨勬椹熻鏄庢浉. |
||
銆銆銆
聽聽
聽聽jinmy
聽聽聽聽
|
||
浜?JBI(Java Business Integration)
JBI鏄疭OA鐨勮В姹哄拰闆嗘垚鐨勫熀紺?br />JBI鎻愪緵浜嗙祫浠朵箣闁撲氦浜掔殑娑堟伅鍩虹錛?br />聽1)NormalizedMessage(NM) 鎵鏈夊熀浜庢秷鎭殑鏁告摎鐗囨鈥斺擲OAP鐗囨銆丮OM娑堟伅銆丠TTP鏁告摎鎴栧叾瀹冧俊鎭斺旇鑱氬悎銆侀泦涓?br />聽鎳夌敤鍒版キ鍕欓倧杓佸偝杓革紝濡傛灉鏈夊繀瑕佸墖杞夋彌鎴愬叾浠栨牸寮忛毃寰岃鍒嗘淳鍒版渶緄傜洰鐨勫湴
聽2)JBI machine (SE)
聽聽 緄勪歡鎻愪緵鎴栬呮秷璨繪湇鍕欐槸鍩烘柤鏈湴鐨?br />聽3)JBI binding (BC)
聽聽 緄勪歡 鎻愪緵鎴栬呮秷璨繪湇鍕欐槸閫氶亷涓浜涢氫俊鍗旇鎴栬呮槸鍏朵粬閬犵▼鎶琛?br />聽緄勪歡涔嬮枔鐨勪氦浜掗氶亷娑堟伅浜ゆ彌錛屾秷鎭槸鏈嶅嫏鎻愪緵鑰呯櫦浣堢殑WSDL聽
鏈嶅嫏鍏冧歡(Service Unit)
聽涓鍊嬫湇鍕欏厓浠剁湅浣滄槸涓鍊嬮粦鐩掑瓙,瀹冩彁渚涗簡涓鍊嬮潨鎱嬬殑鏈嶅嫏錛?br />聽鏈嶅嫏鍏冧歡涓寘鍚湁錛屾彁渚涚殑鏈嶅嫏鍜屾湇鍕欐秷璨昏呫傚畠鍊戦兘寰炲爆鏈嶅嫏鍏冧歡錛屼竴鍊嬫湇鍕欏厓浠跺彲浠ユ湁0鍊嬫垨鑰呭鍊嬫湇鍕?/p>
聽鏈嶅嫏闆嗗悎(service Assembly)
聽緄勫悎鏈嶅嫏鍏冧歡鏄ぇ鐨勬噳鐢ㄧ▼搴忔垨鑰呮柊鐨勬湇鍕欏艦寮忓嚭鐝?A Service Assembly:涓緄凧BI 鏈嶅嫏鍏冧歡閫e悓鎻忚堪瀹冨戠殑闂滀總鍜岀洰妯欑祫浠?br />綹界祼:
JBI鏄疭OA緄愭鐨勫熀紺庯紝瀹冩妸鍘熶締鐨勬キ鍕欏嚱鏁擱泦鎴愮偤涓鍊嬫湇鍕欙紝浣挎湇鍕欐彁渚涜呭拰鏈嶅嫏娑堣不鑰呬箣闁撶殑浜や簰鏄澗鑰﹀悎鐨勶紝閫氶亷service assembly(鏈嶅嫏闆嗗悎錛?br />鍙互緄勫悎涓嶅悓鐨勭▼搴忥紝鏋舵鍦?
servicemix
浣嗘槸鍑虹従閫欐ǎ鐨勭暟甯?
javax.xml.bind.JAXBException: Unable to locate jaxb.properties for package com.shingwai.webserivces
聽at javax.xml.bind.ContextFinder.searchcontextPath(ContextFinder.java:205)
聽at javax.xml.bind.ContextFinder.find(ContextFinder.java:149)
聽at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:281)
聽at com.shingwai.webservices.xml.jdom.JDOMParse.getXMLStr_obj(JDOMParse.java:48)
聽at com.shingwai.webservices.xml.jdom.RunTest.main(RunTest.java:28)
涓嶆噦鎬庨杭鍥炰簨??
闆e埌sun鐨勬澅瑗垮氨閫欓杭闆d嬌鐢紝濂藉儚oracle鐨凧AXB欏炰腑鐨勬暩鎿氱敓鎴恱ml涓嶆渻鍑虹従閫欐ǎ鐨勫晱欏屻?br />閫欏嬮倓鏄鐪嬩竴涓嬪叾浠栨湅鍙嬫湁娌掓湁瑙f焙鐨勮睛娉曟墠琛?