Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
´ÓUMLµ½BPEL
 
×÷ÕߣºKeith Mantell, IT Architect, À´Ô´£ºCSDN ·¢²¼ÓÚ 2015-9-15
  2543  次浏览      31
 

Web·þÎñÊÀ½çÖеÄÄ£ÐÍÇý¶¯Ìåϵ½á¹¹

±¾ÎÄÃèÊöÁËÒ»ÖÖй¤¾ß£¬¸Ã¹¤¾ßÊÇÔÚalphaWorksÍøÕ¾ÉÏ·¢²¼µÄEmerging Technologies Toolkit version 1.1 £¨ETTK£©£¬Ëü²ÉÈ¡ÓÃͳһ½¨Ä£ÓïÑÔ£¨Unified Modeling Language£¬UML£©¶¨ÒåµÄÁ÷³Ì²¢Éú³ÉÏàÓ¦µÄBPELºÍWSDLÎĵµÀ´ÊµÏÖ¸ÃÁ÷³Ì¡£ÕâÖÖÐÔÄÜÓÃÓÚÍ»³ö¶ÔÏó¹ÜÀí×飨OMGs£©Ä£ÐÍÇý¶¯Ìåϵ½á¹¹£¨MDA£©´´Ê¼µÄһЩÓŵ㣺Ìá¸ß¿ª·¢¹ý³ÌÖеijéÏóˮƽ£¬Òò´Ë»ñµÃ¸ü¸ßµÄÉú²úÂÊ£¬ ¸üºÃµÄÖÊÁ¿£¬Äܹ»¸ôÀëÓÚ¼¼ÊõµÄ¸ù±¾¸Ä±ä¡£

Èç´Ë¶àµÄXML ...

Ëæ×ÅÃæÏò·þÎñµÄÌåϵ½á¹¹£¨SOA£©µÄ³öÏÖ£¬Ó¦ÓóÌÐò¿ª·¢¾­ÀúÁËÒ»´Î³¹µ×¸Ä±ä¡£ÕâÖּܹ¹ºÏ²¢ÁË»ùÓÚXMLµÄ±ê×¼£¬ÀýÈçWSDL¡¢¼òµ¥¶ÔÏó·ÃÎÊЭÒ飨SOAP£©¡¢Í³Ò»ÃèÊö¡¢·¢Ïֺͼ¯³ÉЭÒ飨UDDI£©ºÍÏÖÔÚµÄBPEL¡£È»¶ø£¬µ±ÄúÄÜ×ö¸ü¶àµÄÊÂÇéʱ£¬¿ª·¢ÈÎÎñµÄ´óСºÍ¸´ÔÓÐÔÒѾ­Ìá¸ß£¬²¢ÇÒ¿ª·¢Õ߻ᷢÏÖËûÃdzÁÃÔÓÚÎĵµºÍÓï·¨ÖУ¬¶øÃÔʧÁËËûÃǹ¤×÷µÄÖ÷ҪĿ±ê¡£ÁíÍ⣬¿ª·¢ÈËÔ±µÄÄ¿±êÔÚ·¢Éú±ä»¯£¬±ê×¼±¾ÉíÒ²´¦ÔÚ·¢Õ¹Ö®ÖС£Òò¶ø£¬ÎªÁËÄÜ¿ìËٵIJÉÓÃWeb·þÎñ£¬¿ª·¢ÕßÕýÔÚѰÕÒ½â¾ö¸´ÔÓ¡¢¸ßЧºÍ¼¼Êõ¸Ä±äÎÊÌâµÄ´ð°¸¡£

UMLµ½BPELµÄÓ³É乤¾ßÄܹ»»ñµÃÓÃUML¹¤¾ß£¨ÀýÈ磺IBM RationalµÄXDE»òRose£©¿ª·¢µÄÁ÷³ÌÄ£ÐÍ£¬²¢ÇÒÄܽ«ËüÃÇת»»ÎªÕýÈ·µÄBPELºÍWSDLÎĵµÀ´ÊµÏÖ¸ÃÁ÷³Ì¡£ Emerging Technologies Toolkit version 1.1 £¨ETTK£©ÊDzâÊÔÓÐȤµÄм¼ÊõµÄ»·¾³£¬²¢ÇÒÏÖÔÚ¾ßÓÐÁ½ÖÖ¸ñʽ£ºautonomicºÍwebservices¡£±¾ÎÄÖØµã½éÉܺóÕß¡ª¡ªwebservices¡£

BPELÊÇʲô£¿

BPELÌṩÁËÒ»ÖÖXML×¢ÊͺÍÓïÒ壬ÓÃÓÚÖ¸¶¨»ùÓÚWeb·þÎñµÄÒµÎñÁ÷³ÌÐÐΪ¡£Ê¹ÓúÏ×÷»ï°éµÄ½»»¥·½Ê½£¬¶¨ÒåÁ˸ÃBPEL4WSÁ÷³Ì¡£ºÏ×÷»ï°é¿ÉÒÔ½«·þÎñÌṩ¸øÁ÷³Ì£¬Ò²¿ÉÒÔÏòÁ÷³ÌÇëÇó·þÎñ£¬»òÕß²ÎÓëµ½Á÷³ÌµÄË«Ïò½»»¥ÖС£BPELͨ¹ýÖ¸¶¨Ë³ÐòÀ´±àÅÅWeb·þÎñ£¬Õâ¶Ô·þÎñ¼¯ºÏµÄµ÷ÓÃÀ´ËµÒâÒåÉîÔ¶¡£BPEL»¹Õë¶Ôÿ¸ö·þÎñ·ÖÅäÁ˺Ï×÷»ï°éµÄÔðÈΡ£Äú¿ÉÒÔʹÓÃËüÀ´Ö¸¶¨ºÏ×÷»ï°éµÄ¹«¹²½Ó¿ÚºÍ¿ÉÖ´ÐÐÁ÷³ÌµÄÃèÊö¡£

BPEL 1.1ÊǸù淶µÄ×îа汾¡£Ëü³ýÁ˳ÎÇåÊõÓïÖ®Í⣬»¹ÔÊÐí½ÏºÃµÄ±äÁ¿·¶Î§ºÍ¸½¼ÓµÄʼþ´¦Àí³ÌÐò¡£Óйظù淶µÄ×îа汾ºÍBPEL½éÉÜ£¬Çë²ÎÔÄ×îÇ°ÃæµÄÁ½ÆªÏà¹ØÄÚÈÝÁ´½Ó¡£

ΪʲôʹÓÃUML£¿

UMLÊÇÒ»ÖÖOMG±ê×¼£¬¸Ã±ê×¼ÌṩÁËÒ»ÖÖ¿ÉÊÓ»¯µÄ½¨Ä£±íʾ·¨£¬Õâ¶ÔÉè¼ÆºÍÁ˽⸴ÔÓµÄϵͳºÜÓÐЧ¡£

UML¾ßÓÐÏÂÁм¸ÖÖͨÓÃÓŵ㣺ËüÊÇÖÚËùÖÜÖªµÄÃæÏò¶ÔÏó£¨Object-Oriented £¬oo£©½¨Ä£±íʾ·¨£¬¾ßÓзdz£ÈÝÒ×Àí½âµÄͼÐαíʾ·¨ÒÔ¼°Ò»Ì׷ḻµÄÓïÒ弯À´²¶»ñOOϵͳµÄ¹Ø¼üÌØÕ÷¡£ UML¹ã·ºµØÓ¦ÓÃÓÚÃæÏò¶ÔÏóµÄÈí¼þ¿ª·¢£¬»¹³£ÓÃÓÚ¶¨ÖƵġ¢»ùÓÚ×é¼þµÄÈí¼þ¿ª·¢¡¢ÒµÎñÁ÷³Ì½¨Ä£ºÍϵͳÉè¼Æ¡£Õâʹ´ó²¿·ÖUML¾­ÑéÄܱ»Ó¦Óõ½³ÉÊìµÄWeb·þÎñ¼¼ÊõÖС£

À©Õ¹UML

À©Õ¹»ò¶¨ÖÆUMLµÄÌØÐÔ¶ÔMDAÀ´ËµÊǺܱØÒªµÄ£»¿ÉÒÔͨ¹ý¶¨ÖÆUMLÀ´Ö§³Öϵͳ½¨Ä££¬ÕâÖÖϵͳÊÇÐèÒªÍêÈ«»ò²¿·ÖµÄ²¿Êðµ½Web·þÎñ»ù´¡¼Ü¹¹ÉÏ¡£±¾ÎÄÖ÷Òª½éÉÜÄ£°å£¨stereotypes£©¡£Ä£°å£¨stereotypes£©ÊÇÒ»ÖÖ¶ÔÄ£Ð͵ÄÔªËØ½øÐзÖÀàµÄ·½·¨¡£ÀýÈ磬Èç¹ûÄúÓÐÒ»¸ö±íʾ¹Ë¿ÍµÄÀ࣬ÄÇôÄú¿ÉÒÔ¸½¼Ó <<entity>> Ä£°å£¨stereotypes£©À´±íʾËü´ú±íÒ»¸öÊý¾Ý¶ÔÏ󣨻òÐíÊÇEntity Bean£©¡£ÕâÖÖÐÅÏ¢ÓÐÖúÓÚÈËÃǶÔÄ£Ð͵ĿɶÁÐÔ£¬ÉõÖÁ¿ÉÒÔÓÃÀ´¸Ä±ä±íʾCASE¹¤¾ß£¨ÀýÈçRational Rose£©ÖÐÀàµÄͼ±ê¡£È»¶ø£¬ÔÚÕâÖÖÇé¿öÏÂÄú¿ÉÒÔʹÓÃËüÀ´Ö¸µ¼Ä£Ð͵ķ­Òë¡£Òª¼Çס£¬Äú¿ÉÒÔ½«Ä£°å£¨stereotypes£©Ìí¼Óµ½UMLÄ£ÐÍÖеĸü¶àÔªËØÉÏ¡£»¹¿ÉÒÔÔÚÅäÖÃÎļþ£¨Profile£©ÖнáºÏÕâЩģ°å£¨stereotypes£©¡£ÎªÁ˱íÊ¾ÌØ¶¨µÄÐËȤÓò£¬UMLÅäÖÃÎļþ£¨Profiles£©ÓÃÓÚ¶¨Òå¶Ô»ù±¾UMLµÄÀ©Õ¹¼¯ºÏ¡£ÀýÈçÄÇЩΪCORBAºÍÊý¾Ý½¨Ä££¨Data Modeling£©¶¨ÒåµÄÅäÖÃÎļþ£¨Profiles£©¡£ÅäÖÃÎļþ¶¨ÒåÁËҪʹÓõÄUMLÔªËØ£¬ÈçºÎ¶ÔÆä½øÐÐÀ©Õ¹£¬ÒÔ¼°Ô¼ÊøÔªËؼ¯ºÏµÄÁ¼ºÃÐÔ¹æÔò£¨ well-formedness rules£©¡£

ÏÂÃæ²¿·Ö£¬ÎÒ½«½éÉÜÒ»ÖÖUMLÅäÖÃÎļþ£¨Profile£©£¬¿ÉÒÔͨ¹ý¹¹½¨ÓëBPEL4WS£¨Web·þÎñÒµÎñÁ÷³ÌÖ´ÐÐÓïÑÔ£©Ïà¶ÔÓ¦µÄÒ»Ì×ÓïÒå½á¹¹À´Ö§³Ö½¨Ä£¡£Í¬Ê±»¹½«ÃèÊöBPEL4WSÓ³É䣬BPEL4WSÓ³Éä¿ÉÒÔ´ÓÊʺÏÅäÖÃÎļþµÄUMLÄ£ÐÍ×Ô¶¯Éú³ÉWeb·þÎñÖÆÆ·£¨BPEL¡¢WSDL¡¢XSD£©¡£

ÏÂÃæ²¿·Ö½«Õ¹Ê¾Êµ¼ÊµÄBPELÀý×ÓÒÔ¼°UMLÅäÖÃÎļþ£¨Profile£©£¬²¢Öص㽲Êö¹Ø¼ü¸ÅÄî¡£

×Ô¶¯»¯ÒµÎñÁ÷³ÌµÄUMLÅäÖÃÎļþ£¨Profile£©

Õⲿ·Öͨ¹ýÒ»¸öÀý×Ó½éÉÜÁËUMLÅäÖÃÎļþ×Ó¼¯£¬¸ÃÀý×Ó¶¨ÒåÁËÒ»¸ö¼òµ¥±¾µÄ´û¿îÅú×¼Á÷³Ì¡£ÔÚ±¾ÀýÖÐÄú½«»áÔÚETTKµÄREADMEÎĵµÖз¢ÏÖת»»Æ÷¡£Ëü¿ÉÒÔ±»×ܽáΪÈçÏÂËùʾ£º

¡°ÔÚÊÕµ½´û¿îÇëÇóʱ£¬½«ÇëÇóµÄÊýÖµÓëÊýÖµ£¨10000£©±È½Ï¡£Èç¹ûÇëÇóµÄÊýÖµ±È½ÏÉÙ£¬ÄÇô½«µ÷ÓÃAssessor·þÎñ£¬·ñÔò½«½«µ÷ÓÃApprover·þÎñ¡£Èç¹ûAccessorÈÏΪ¸ÃÇëÇóµÄ·çÏձȽϸߣ¬ËüÒ²½«±»´«µÝ¸øApprover¡£µ±ApproverÍê³É»òÕßAccessor½ÓÊÜʱ£¬½«»á·µ»ØÅú×¼ÐÅÏ¢¡£¡±

BPELÁ÷³ÌÊÇÓÐ״̬µÄ²¢°üº¬ÊµÀý£¬ËùÒÔÔÚBPELÖУ¬ÕâÖÖÇé¿ö¶¼»á±»×÷Ϊһ¸öLoanApprovalÁ÷³Ì¶øÊµÏÖ£¬¶ÔÓÚ±»´¦ÀíµÄÿ¸öʵ¼Ê´û¿îÉêÇ룬LoanApprovalÁ÷³Ì¶¼»áÓÐÒ»¸öʵÀý¡£Ã¿¸öʵÀý¶¼ÓÃBPEL±äÁ¿À´²¶»ñËü×Ô¼ºµÄ״̬¡£ÔÚUMLÅäÖÃÎļþÖУ¬Á÷³Ì±»±íʾΪ <<Process>> Ä£°åÀà¡£ÀàµÄÊôÐÔÓëÁ÷³ÌµÄ״̬Ïà¶ÔÓ¦£¨ÔÚBPEL4WS 1.0ÊõÓïÖеÄÈÝÆ÷£¬»òÕßBPEL 1.1ÖеıäÁ¿£© ͼ1ÏÔʾÁ˱íʾ´û¿îÅú×¼Á÷³ÌµÄUMLÀà ¡£

ͨ¹ý»î¶¯Í¼¿ÉÒÔÇå³þµÄÃèÊöÀàµÄÐÐΪ¡£ ͼ2ÏÔʾÁË´û¿îÅú×¼Á÷³ÌµÄ»î¶¯Í¼¡£ÀýÈ磬 invokeAssessor »î¶¯ÏÔʾΪ´øÓÐÔ²½ÇµÄ³¤·½ÐΡ£Ö´ÐеIJÙ×÷ÏÔʾΪ»î¶¯µÄÈë¿ÚÌõ¼þ£»ÀýÈ磬 riskAssessment £¨Ò»¸ö±äÁ¿£©±»ÉèÖÃΪ¼ì²é·þÎñµÄ½á¹û¡£Í¨¹ýUML·ÖÇø£¨Ò²×÷ΪӾµÀ£©À´±íʾÁ÷³ÌÖÐͨÐŵĺÏ×÷»ï°é£ºcustomer¡¢assessorÒÔ¼°approver¡£Ã¿¸ö·ÖÇøÖÐÏÔʾÁËÍùºÏ×÷»ï°é·¢ËÍ»òÕß½ÓÊÕÐÅÏ¢µÄ»î¶¯¡£¼ýÍ·±íʾÁ÷³ÌÖ´ÐлµÄ˳Ðò¡£×¢Òâ·ÖÅÉ£¨assingment£©»î¶¯Ã»Óзŵ½Ò»¸ö·ÖÇøÖУ»ËüÃè»æÁË·¢ÉúÔÚËü×ÔÉíÁ÷³ÌÄڵĻ£¬¸ÃÁ÷³Ì²»ÐèÒªÍⲿ·þÎñ¡£

Ó¦´ð£¨reply£©»î¶¯Ïò¹Ë¿Í·µ»ØÏìÓ¦£¬Íê³ÉÁ÷³ÌµÄ´¦Àí¡£Ã¿¸ö»î¶¯¶¼ÓÐÒ»¸öÃèÊöÐÔµÄÃû³ÆºÍÊäÈë»î¶¯À´Ï¸»¯»î¶¯Ö´ÐеŤ×÷¡£

Ó³Éäµ½BPEL4WS

×Ô¶¯»¯ÒµÎñÁ÷³ÌµÄUMLÅäÖÃÎļþ±íʾ¿ÉÒÔ´ÓUMLÄ£ÐÍÉú³ÉÍêÕûµÄ¿ÉÖ´ÐÐBPELÖÆÆ·¡£ ±í1 ¸ÅÒªµÄչʾÁË´ÓÅäÖÃÎļþµ½BPELµÄÓ³É䣬¸²¸Çµ½Á˱¾ÎĽéÉܵÄÅäÖÃÎļþ×Ó¼¯¡£

Çåµ¥1£¨ÓÉÓÚ°æÃæ¿Õ¼äÔ­Òò£¬ÕâÀïÊ¡ÂÔÁ˺ܶàϸ½Ú´úÂ룩ÏÔʾÁËBPELÎĵµµÄËõ¼õ°æ±¾£¬¸ÃÎĵµÊÇÓɱ¾ÎĽéÉܵĴû¿îÅú×¼Àý×ÓÉú³ÉµÄ¡£

Çåµ¥ 1.BPELÇ嵥ժ¼

<process name="loanApprovalProcess" ...>
<variables>
<variable name="request"
messageType="loandef:creditInformationMessage"/>
<variable name="riskAssessment"
messageType="asns:riskAssessmentMessage"/>
...
</variables>
...

<flow>

<receive name="receive1" partner="customer"
portType="apns:loanApprovalPT"
operation="approve" variable="request"
createInstance="yes">
<source linkName="receive-to-assess"
transitionCondition=
"bpws:getVariableData('request', 'amount')<10000"/>
<source linkName="receive-to-approval"
transitionCondition=
"bpws:getVariableData('request', 'amount')>=10000"/>
</receive>
<invoke name="invokeAssessor" partner="assessor"
portType="asns:riskAssessmentPT"
operation="check"
inputVariable="request"
outputVariable="riskAssessment">
<target linkName="receive-to-assess"/>
<source linkName="assess-to-setMessage"
transitionCondition=
"bpws:getVariableData('riskAssessment', 'risk')='low'"/>
<source linkName="assess-to-approval"
transitionCondition=
"bpws:getVariableData('riskAssessment', 'risk')!='low'"/>
</invoke>
<assign name="assign">
<target linkName="assess-to-setMessage"/>
<source linkName="setMessage-to-reply"/>
<copy>
<from expression="'yes'"/>
<to variable="approvalInfo" part="accept"/>
</copy>
</assign>
...
<reply name="reply" partner="customer" portType="apns:loanApprovalPT"
operation="approve" variable="approvalInfo">
<target linkName="setMessage-to-reply"/>
<target linkName="approval-to-reply"/>
</reply>
</flow>
</process>

UMLµ½BPELÓ³ÉäÑéÖ¤Æ÷

´ÓIBM alphaWorks¿ÉÒÔ»ñµÃ×÷ΪETTKµÄÒ»²¿·ÖµÄ¼¼ÊõÑéÖ¤Æ÷£¬ËüÖ§³Ö´ÓUML¹¤¾ß£¨ÀýÈçRational XDE£©µ½BPEL4WSÔËÐÐʱ¼ä£¨BPWS4J£©µÄ¶Ëµ½¶ËÇé¾°¡£Ó³ÉäʵÏÖ±»¹¹½¨ÎªEclipse²å¼þ£¬Ëü²ÉÈ¡ÁËUMLÄ£ÐÍ£¨XMI£©½»»»µÄ¹¤Òµ±ê×¼Îļþ¸ñʽ×÷ΪÊäÈë¡£BPEL4WSÖÆÆ·£¨artifact£©Í¬ÐèÒªµÄWSDLºÍXSDÖÆÆ·ÊÇÒ»ÆðÉú³ÉµÄ¡£

ÈÃÎÒÃÇ¿´Ò»ÏÂÑéÖ¤Æ÷¡£Ê×ÏÈÒª¸ù¾ÝÄúµÄÐèÒª°²×°Ò»Ð©ÏȾöÌõ¼þ¡£ETTKÒ³ÃæÏÔʾÁËÏà¹ØÏêϸÐÅÏ¢£¨²ÎÔÄ ²Î¿¼×ÊÁÏÏÂÔØÁ´½Ó£©¡£¸ÅÀ¨ÆðÀ´£¬ÄúÐèÒªÏÂÁÐ×ÊÔ´£º

Rose»òXDE£¨±¾ÎIJÉÓõÄÊÇXDE v2003£©

Eclipse 2.0+»òWebSphere Studio Application Developer£¨WSAD£©5.0+

WebSphere Application Server (WAS) 5.0+»òApache Tomcat 4.1.24+

The ETTK±¾Éí£¨ÆäÖаüº¬ÁËBPWS4J£©¡£

¼ÙÉèÄúÒѾ­¾ßÓÐÏÂÃæÐèÒªµÄºÏÊÊ»·¾³¡£

ÑéÖ¤Æ÷Ëæ×Ų»Í¬Çé¾°µÄÒ»Ì×ÑùÀýÎĵµ¶ø²úÉú£¬ÀýÈç´û¿îÅú×¼»ò¹ºÂò¶©µ¥Á÷³Ì¡£ÑùÀýÎĵµ½«ÊÇÁ½ÖÖÀàÐÍ£ºÒ»ÖÖÊÇ¿ÉÒÔÓÉRose»òXDEUML´ò¿ªºÍÐ޸ĵÄÄ£ÐÍÎĵµ£¬ÁíÒ»ÖÖÊǰüº¬UMLÄ£Ð͵ÄXMI°æ±¾µÄXMLÎĵµ£¬¸ÃÎĵµ¿ÉÒÔͨ¹ýRose»òXDE½øÐÐÊä³ö¡£ÔÚ Í¼3ÖпÉÒÔ¿´µ½Rose»òXDEÖÐÏàÓ¦µÄÄ£ÐÍ£¬»òÕßÕâЩ¹¤¾ßµÄXMIÊä³öµÄÄ£ÐÍ¡£

ͼ3ʹÓÃÒ»¸öUML»î¶¯Í¼ÏÔʾÁËת»»ÎĵµµÄÈ«²¿Á÷³Ì£»UMLûÓÐÓÃÂ𣿷½¿ò±íÊ¾ÖÆÆ·£¨Í¨³£ÊÇÎĵµ£©£¬¶øÍÖÔ²±íʾһ¸ö²Ù×÷»ò»î¶¯¡£Ö÷Òª½×¶ÎÊÇ£º

¹¹½¨UMLÄ£ÐͲ¢½«Æäµ¼³öµ½XMI£¨Ê¹ÓÃRose»òXDE)

Éú³ÉBPEL¡¢WSDLºÍXSDÎĵµ

ÔÚBPWS4JÔËÐÐʱ¼ä²¿Êð²¢ÔËÐÐÕâЩÎĵµ¡ª¡ª ²âÊÔ¡£

¹¹½¨²¢Êä³öUMLÄ£ÐÍ

Èç¹û¾ßÓÐRose¶ø²»Ã»ÓÐXDE£¬Ôò¿ÉÒÔ´ò¿ªÆäÖÐÒ»¸öUMLÎĵµ£¨.mdl»ò.mdx£©£»ÔÚ±¾ÎÄÖÐÄúÒѾ­Í¨¹ý´û¿îÅú×¼µÄÀý×Ó¿´µ½ÁËÕâЩÀý×Ó¡£

ÔÚ Í¼4UMLÄ£Ðͱ»Êä³öµ½XMI¡ª¡ªÄúÐèҪʹÓÃXDE v2003»ò¸üа汾¡£×¢ÒâÕâÖÖ·½·¨µÄºÃ´¦ÊÇÄúÕýÔÚʹÓõÄÊÇÒ»°ãÐÔÓÃ;£¬¶ø²»ÐèÒªÐÞ¸ÄUML¹¤¾ßºÍUMLµÄ±ê×¼À©Õ¹»úÖÆÀ´¹¹½¨ºÍÊä³öÁ÷³Ì¶¨Òå¡£

Ò»µ©Ä£ÐÍÖ´ÐÐÍê±Ï£¬Ôò¿ÉÒÔµã»÷File -->Export²Ëµ¥£¬Ñ¡ÔñXMI Export½«ÆäÊä³ö£¬Èç ͼ4Ëùʾ¡£

Éú³ÉBPELºÍWSDLÎĵµ

ÔÚEclipse£¨»òWebSphere Application Developer (IE)£©Öд´½¨Java Project£¬È»ºóµ¼ÈëÄúÔÚÇ°Ãæ´´½¨µÄXMIÎĵµ£¨»òʹÓÃETTKÌṩµÄXMIÑùÀýÎĵµ£©¡£×îºóÑ¡ÔñXMIÎļþ²¢Í¨¹ýÓÒ»÷Êó±ê²Ëµ¥Ñ¡Ôñ¡°Generate BPEL from UML¡±£¬Èç ͼ5Ëùʾ¡£

ÏÂÃæÎªÄúÌṩÁ˸ü¸Ä²»Í¬Ç°×ºµÄ»ú»á£»ÐèÒª¶ÔÆä½øÐиĽøÀ´ÓëÄúµÄÉèÖÃÏàÆ¥Å䣬Èç¹ûÄúÇ¡ºÃʹÓõÄÊÇETTK°²×°£¬ÔòĬÈÏÖµ²»ÐèÒªÐ޸ģ¬Èç ͼ6Ëùʾ¡£

µ¥»÷¡°Finish¡±°´Å¥ºó£¬Ðí¶àÎĵµ½«ÏÔʾÔÚ¹¤³ÌÖУ¬ÆäÖаüÀ¨Ö÷ÒªµÄBPELºÍWSDLÎĵµ£¬LoanAssessorºÍLoanApprover·þÎñÒÔ¼°Êý¾Ý¶¨ÒåµÄWSDLÎĵµ¡£

²âÊÔ

Õâʱ£¬Éú³ÉµÄÎĵµÓ¦¸Ã×¼±¸½øÐв¿Êð¡£±¾ÎÄÖпÉÒÔ²¿Êðµ½Apache Tomcat£¬µ«ÊÇҲͬÑù¿ÉÒÔʹÓÃWebSphere Application Server¡£

µ¼º½µ½BPEL4WS²¿ÊðÃæ°å£¨µØÖ·ÊÇhttp://localhost:8080/bpws4j/admin/index.html)£©£¬½Ó×ÅÔÚ¸÷×ÔµÄ×Ö¶ÎÊäÈëÓëÖ÷Òª·þÎñÏàÓ¦µÄWSDLÎĵµ£¨¼´ Loan ApprovalProcess.wsdl£©ºÍBPELÎĵµ£¬£¨¼´ProcessOrder.bpel£©£¬Èç ͼ 7Ëùʾ¡£

µ¥»÷¡°Continue Deployment¡±°´Å¥Ö®ºó£¬ÔÚÁ÷³Ì²åÈ벻ͬ½ÇÉ«ÐèÒªµÄËùÓÐÎĵµ¡£ÔÚ±¾ÀýÖÐÓÐÁ½¸öÌØ±ðµÄÈÎÎñ£ºLoanAssessorºÍLoanApprover¡£

Ò»µ©²¿ÊðÍêÁ÷³Ì£¨²ÎÔÄ Figure 8Ëùʾ£©£¬È»ºóÔËÐеÄÀý×ÓÓëBPWS4JÀý×ÓÊÇÏàͬµÄ£ºµ÷ÓÃÓëÄúµÄ²Ù×÷ϵͳÏàÓ¦µÄLoanApprovalSample½Å±¾£º

LoanApprovalSample [soap-address] first-name last-name amount

ÀýÈ磬

LoanApprovalSample http://localhost:80/bpws4j/soaprpcrouter John Doe 10

¸ù¾ÝUML»î¶¯Í¼£¬¿ÉÒÔÖªµÀÊýÖµ10000ÊÇÖØÒªµÄ£¡

·´Éä

±¾ÎĽéÉÜÁË´øÓÐUMLµ½BPELת»»Æ÷µÄ×Ô¶¯»¯ÒµÎñÁ÷³ÌUMLÅäÖÃÎļþ¡£ÅäÖÃÎļþÔÊÐí¿ª·¢ÕßʹÓ󣹿µÄUML¼¼Çɺ͹¤¾ß£¬¿ª·¢»ùÓÚBPEL4WSµÄWeb·þÎñÒµÎñÁ÷³Ì¡£ÕâÖÖ·½·¨Ê¹ÃæÏò·þÎñµÄµÄBPEL4WS×é¼þºÏ²¢µ½È«ÃæµÄϵͳÉè¼Æ£¬¸ÃϵͳÉè¼ÆÀûÓÃÁËÏÖ´æµÄÈí¼þ¹¤³Ì·½·¨¡£ÁíÍ⣬´ÓUMLµ½BPEL4WSµÄÓ³ÉäÈÝÐíʹÓÃÄ£ÐÍÇý¶¯¿ª·¢·½·¨£¬´ÓUMLÄ£ÐÍ×Ô¶¯Éú³ÉBPEL4WS¿ÉÖ´ÐеÄÁ÷³Ì¡£

ÕâÖÖ·½·¨×ÅÖØÓÚÁËMDAµÄ¸ÅÄîÈçºÎÄܱ»ÔËÓõ½ÆäËüÁìÓòÒÔ¼°³éÏóµÄ¸ü¸ß¼¶±ð£¬¸Ã·½·¨Ê¹µÃ¿ª·¢Õß¿ÉÒÔ¸ôÀëÓÚ¼¼ÊõµÄ¸Ä±ä¡£

ÕâÀïÓм¸ÖÖ²»Í¬µÄÇé¿ö£¬Ã¿ÖÖÇé¿öÏÂÕâÖÖ·½·¨¶¼ÊÇÓÐÒæµÄ£º

µÚÒ»ÖÖÇé¿ö£¬ÆÁ±ÎÔÚÏîĿʹÓõļ¼Êõ°æ±¾µÄ¸ü¸Ä¡£BPEL¿ÉÒÔ£¨²¢ÇÒÒѾ­£©¸ü¸ÄÁ˰汾¡£Èç¹ûÁ÷³ÌËùʹÓõÄÓïÒåûÓз¢Éú¸ù±¾µÄ±ä»¯£¬¿ÉÒÔÖØÐÂÉú³ÉʵÏÖ¶øÎÞÐ迪·¢ÈËÔ±µÄ¸ÉÔ¤¡£ÕâÖÖת»»¼¼ÊõÒ²ÄÜÓÃÀ´±£»¤¿ª·¢ÕßÔÚ×î³õ¿ª·¢UMLÄ£Ð͵ÄͶÈ룺µ±ÓÐUMLа汾¿ÉÓõÄʱºò£¨ÀýÈ罫°æ±¾´Ó1.4Éý¼¶µ½2°æ±¾)£¬UMLÄ£Ðͱ¾ÉíÒ²ÄܽøÐÐת»»¡£

µÚ¶þÖÖÇé¿ö£¬¿ÉÒÔ²úÉúUMLÅäÖÃ±í£¬Ê¹ÓÃËüÄÜÉú³ÉÆäËü¹ý³ÌʵÏÖ£¬ÖîÈçBPML¡£

µÚÈýÖÖ·½·¨£¬¿ÉÒÔ´Óµ¥¸öÄ£ÐÍÉú³É¶àÖÖ¼¼ÊõµÄÖÆÆ·£¨artifact£©¡£ÔÚ±¾ÀýÖаüÀ¨BPELºÍWSDL£¬µ«²»ÄÜÄÜÉú³Énon-XMLÊä³ö£¬ÖîÈçJavaÊä³ö¡£

×îºó£¬×ª±äÊÇË«ÏòµÄ--ÔÚ±¾ÀýÖÐÓÐÒ»¸ö·´ÏòÓ³ÉäÀ´Ö§³ÖÏÖÓеÄBPEL4WSºÍWSDLÖÆÆ·£¨artifact£©µÄµ¼È룬ÒÔ¼°Ö§³ÖBPEL4WSºÍWSDLÖÆÆ·£¨artifact£©µÄͬ²½£¬Ò»·½·¢ÉúµÄ¸Ä±äÄܹ»·´Ó³µ½ÁíÒ»·½¡£

   
2543 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

¶àά·½·¨À´¿ª·¢ÓлúµÄÒµÎñÁ÷³Ì¼Ü¹¹
SCA Ó¦ÓóÌÐò¿ª·¢
BPM ºÍ SOA ÐÔÄÜ×î¼Ñʵ¼ù
ʵÏÖÆóÒµ·þÎñ×ÜÏßģʽ
Ïà¹ØÎĵµ

SCA½éÉܼ°Ó¦ÓÃʵÀý
»ùÓÚSOA¼Ü¹¹µÄESBƽ̨£ºInfomagic
SCA¼Ü¹¹
SOAµÄ»ù±¾¸ÅÄî
Ïà¹Ø¿Î³Ì

ÃæÏòÓ¦Óõļܹ¹Éè¼ÆÊµ¼ù
µ¥Ôª²âÊÔ+ÖØ¹¹+Éè¼ÆÄ£Ê½
Èí¼þ¼Ü¹¹Ê¦¡ª¸ß¼¶Êµ¼ù
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

»ùÓÚSOAµÄ¹¤×÷Á÷£¨WF£©ÕûºÏ
SOA 100ÎÊ - ÎÊÓë´ð
SOAP Ó¦ÓÃģʽ:´¦ÀíÓëÐÔÄÜ
ESB¼Ü¹¹Ö®Æóҵʵʩ°¸Àý
»ùÓÚSOA¼Ü¹¹µÄÆóÒµ¼¯³Éϵͳ
»ùÓÚSOAµÄÌåϵ¼Ü¹¹Éè¼Æ


ÃæÏòÓ¦Óõļܹ¹Éè¼ÆÊµ¼ù
µ¥Ôª²âÊÔ+ÖØ¹¹+Éè¼ÆÄ£Ê½
Èí¼þ¼Ü¹¹Ê¦¡ª¸ß¼¶Êµ¼ù
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù
SOAÌåϵ½á¹¹Êµ¼ù


ijµÚÈý·½µç×ÓÖ§¸¶ÆóÒµ SOA¼Ü¹¹Éè¼Æ
ijµç×ÓÆóÒµ SOAÓ¦ÓÃ
ÖйúÒÆ¶¯ SOAÅàѵ
±±¾©´óѧ SOA¼Ü¹¹Éè¼ÆÊµ¼ù
ÓѰÏÕ SOA¼Ü¹¹Éè¼Æ
ÉϺ£ SOA¼Ü¹¹Êµ¼ù
ɽ¶«Òƶ¯Í¨ÐÅ SOAÌåϵ½á¹¹Êµ¼ù