<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java 人生

    java (Java EE)&Linux

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      15 Posts :: 2 Stories :: 5 Comments :: 0 Trackbacks

    2006年10月21日 #

     

    BPEL的概念

          BPEL(Business Process Execution Language)又叫BPEL4WS(Business Process Execution Language For Web Service),面向Web服務的業務流程執行語言。是一種使用Web服務定義和執行業務流程的語言。BPEL提供了一種相對簡單易懂的方法,可將多個WEB服務組合到一個新的復合服務(稱作業務流程)中。

          BPEL本身是一個Web服務,可以作為服務的提供者。

          BPEL是基於Web服務的,沒有Web服務就沒有BPEL


      

     BPEL
    的運作方式


     BPEL的一般構成

          一個以bpel為後綴的文件(例如MyFlow.bpel)

          一個WSDL文件

          一個部置XML文件,樣子形似bpel.xml

     BPEL的實現需求

          需要熟悉單個的Web Service的使用方法

          需要了解具體的業務流程

          需要一個運行BPEL的處理器

          需要一個流程設計器

          當然需要對BPEL語法標簽的掌握等

    8.6 BPEL的結構

    BPEL的一般結構

                <process>

                  <partnerLinks>

                    <partnerLink>

                    </partnerLink>

                  </partnerLinks>

                  <variables>

                    <variable/>

                  </variables>

                  <faultHandlers>   

                  </faultHandlers>

                  <sequence>

                      Activities

                  </sequence>

                </process>

    <process>的屬性

    <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>樣式

    <partnerLinks>

        <!– 注意:至少要指定一個角色. -->

        <partnerLink name="ncname"

                             partnerLinkType="qname"

                             myRole="ncname“

                             partnerRole="ncname">

        </partnerLink>

     </partnerLinks>

    <variables>樣式

    <variables>

        <variable name="ncname"  

                        messageType="qname/>

     </variables>

    <faultHandlers>樣式

    <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>

    – 調用某個 Web 服務上的操作

                <receive>

    – 等待一條消息來回應由某人從外部進行調用的服務介面的操作

                <reply>

    – 生成輸入/輸出操作的回應

                <wait>

    – 等待一段時間

    基本活動二

                <assign>

    – 把資料從一個地方複製到另一個地方

                <throw>

    – 指明某個地方出錯了

                <terminate>

    – 終止整個服務實例

                <empty>

    – 什麼也不做

    結構化活動

                <sequence>

    – 定義一組步驟的有序序列

                <switch>

    – 使用現在常見的“case-statement”辦法來産生分支

                <while>

    – 定義一個迴圈

                <pick>

    – 執行幾條可選路徑中的一條

                <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(&quot;Hello&quot;, 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>

    posted @ 2007-09-14 08:51 jinmy liao 閱讀(499) | 評論 (0)編輯 收藏

    配置說明

    程序名稱

    JBoss ESB

    數據庫路徑和名稱

    222.118.20.108\jbossesb

    程序的文件構成說明

    1)?????? Jboss4.0.4GA (contain Ejb3.0)

    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

    配置步驟如下 :

    1. jbossesb-appl.ear 復制到 <JBoss-home>/server/default/deploy
    2. properties-service.xml 復制到 <Jboss-home>/server/default/deploy
    3. 復制 Jbossesb.properties <Jboss-home>/server/default/conf
    4. 編輯 JBossESB-ds.xml
    5. 復制 JbossESB-ds.xml <JBoss-home>/server/default/deploy

    ?

    運行條件和配置說明

    運行平臺和條件

    Windows

    Linux

    數據源配置

    1)數據源配置在JBossESB-ds.xml文件配置,詳細信息如下:

    <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

    程序運行配置

    必需是 JBoss .4.0.4 版本,還要支持 EJB3.0

    運行 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);

    ???

    此文檔是配置安裝JBOSS ESB的步驟說明書.

    ?

    填寫日期: 2006/10/18      填寫人: ?? ??jinmy ????
    ? 更新日期:

    ?

    ?

    有使用JBoss ESB的可以一起探討,QQ:182529178
    posted @ 2006-10-21 14:20 jinmy liao 閱讀(2330) | 評論 (1)編輯 收藏

    主站蜘蛛池模板: 五月婷婷综合免费| 久久精品无码专区免费青青| 免费人成视频在线| 中文无码亚洲精品字幕| 皇色在线视频免费网站| 亚洲中文字幕久久精品无码A| 国产va免费精品观看精品| 亚洲香蕉在线观看| 日韩特黄特色大片免费视频| 国产精品无码亚洲一区二区三区| 国产美女无遮挡免费视频| 国产精品亚洲综合一区在线观看| 亚洲av中文无码| 国内精品免费视频精选在线观看| 亚洲av永久无码精品表情包| 一区二区免费视频| 久久综合久久综合亚洲| 免费看男女下面日出水视频| eeuss免费天堂影院| 亚洲好看的理论片电影| 成人免费午夜无码视频| 国产精品亚洲一区二区三区久久 | 国产大片51精品免费观看| 国产亚洲视频在线| 久久精品国产精品亚洲精品| 久久久久高潮毛片免费全部播放| 一本天堂ⅴ无码亚洲道久久| 亚洲情侣偷拍精品| 无码国产精品一区二区免费式芒果 | 2048亚洲精品国产| 日韩av无码久久精品免费| 亚洲熟女综合色一区二区三区| 亚洲国产精品狼友中文久久久| 色www永久免费网站| 亚洲精品456人成在线| 亚洲国产一区二区三区| **毛片免费观看久久精品| 亚洲AV无码一区二区大桥未久| 亚洲日韩精品射精日| 在线观看视频免费完整版| 国产美女视频免费观看的网站 |