±à¼ÍƼö: |
±¾ÎĽéÉÜÁËSCAµÄÖ÷ҪĿµÄºÍһЩ»ù±¾µÄ¸ÅÄ²¢Õ¹Ê¾ÁËÒ»¸ö×îΪ¼òµ¥µÄ·þÎñ×é¼þÀý×Ó¡£
À´×ÔÓÚcsdn£¬,ÓÉ»ðÁú¹ûÈí¼þAnna±à¼¡¢ÍƼö¡£ |
|
¸ÅÊö£º
Ŀǰҵ½çÖ÷ÒªµÄÈí¼þ³§É̶¼ÔÚ´óÁ¦ÍƹãÃæÏò·þÎñµÄ¼Ü¹¹£¨Service Oritented Architecture£¬SOA£©µÄ¸ÅÄµ«ÊǶÔÓںܶà¿Í»§À´Ëµ£¬SOAµÄ¸ÅÄÊÇÏÔµÃÏà¶Ô³éÏóµÄ¡£ÎªÁËʹ¿Í»§Äܹ»¸ü¼Ó¼òµ¥µÄʵÏÖÏòÕâÖÖÃæÏò·þÎñ¼Ü¹¹µÄת±ä£¬IBMÔÚÍÆ³öһϵÁÐWebSphereвúÆ·µÄͬʱ£¬Ìá³öÁËÒ»ÖÖеķþÎñ×é¼þÄ£ÐÍ¡£ÕâÊÇÒ»ÖÖȫеġ¢¸úÓïÑÔÎ޹صıà³ÌÄ£ÐÍ£¬ËüÌṩÁËÒ»ÖÖͳһµÄµ÷Ó÷½Ê½£¬´Ó¶øÊ¹µÃ¿Í»§¿ÉÒ԰Ѳ»Í¬µÄ×é¼þÀàÐÍ£¬±ÈÈçPOJO,
EJB, Á÷³Ì×é¼þ£¬È˹¤½»»¥×é¼þµÈ¶¼¿ÉÒÔͨ¹ýÒ»ÖÖ±ê×¼µÄ½Ó¿ÚÀ´·â×°ºÍµ÷Ó᣽áºÏSDOµÄÊý¾ÝÄ£ÐÍ£¬ÕâÖÖ·þÎñ×é¼þµÄ±à³ÌÄ£ÐÍ¿ÉÒÔ´ó´óµÄ¼ò»¯¿Í»§µÄ±à³Ì£¬Ìá¸ßÓ¦ÓõÄÁé»îÐÔ£¬Õâ¾ÍÊÇÃæÏò·þÎñ×é¼þµÄ¼Ü¹¹£¨Service
Component Architecture£¬SCA£©¡£Ä¿Ç°IBM ¶ÔSCAµÄÖ§³ÖÊÇÔÚ×î½üÍÆ³öµÄWebSphere
Process Server£¨WPS£©ÖУ¬µ«ÊÇÒÔºó¸Ã·þÎñ×é¼þÄ£Ðͽ«×÷Ϊһ¸öIBMÈí¼þÖØÒªµÄ±à³ÌÄ£Ðͱ»Ó¦Óõ½µ×²ãƽ̨µ±ÖС£±¾ÎĽ«½éÉÜSCA±à³ÌÄ£ÐÍÖеĻù±¾¸ÅÄ²¢ÒÔÒ»¸ö¼òµ¥µÄÀý×ÓÀ´ËµÃ÷ËüµÄһЩ»ù±¾Ó÷¨£¬ÆÚ´ýÄܹ»Å×שÒýÓñ£¬²¢Îª¶ÁÕßÒÔºóÉîÈëÁ˽âSCA´òÏ»ù´¡¡£
1.1 SCAµÄÆðÔ´
»ùÓÚ×é¼þµÄ±à³ÌÒ»Ö±ÊÇÈí¼þÒµ¼ò»¯±à³ÌºÍÌá¸ßЧÂʺÍÖÊÁ¿µÄÒ»¸öÖØÒª·½·¨£¬µ«ÊÇÍùÍù¶ÔÓÚ²»Í¬ÓïÑÔÎÒÃÇÓв»Í¬µÄ×é¼þÄ£ÐÍ£¬´Ó¶øÐèÒª²»Í¬µÄµ÷Ó÷½Ê½¡£±ÈÈçÔÚJ2EE¼¼ÊõÁìÓò£¬ÎÒÃǾÍÓÐEJB£¬POJO£¬JDBC£¬JMSµÈ£¬Õâ¶ÔÓÚ¿ª·¢ÈËÔ±À´ËµÊÇÒ»¸ö¼«´óµÄÌôÕ½¡£ÎªÁ˸øÕâЩ²»Í¬µÄ½Ó¿ÚÌṩһ¸öͳһµÄµ÷Ó÷½Ê½£¬IBMÌá³öÁËWSIF
£¨Web Service Invocation Framework£¬¾ßÌåÇë²Î¿¼http://ws.apache.org/wsif/
£©£¬²¢½«Ëü¹±Ï׸øApache×éÖ¯¡£WSIF×÷ΪWeb ServiceÁìÓòµÄÒ»¸ö¹æ·¶£¬ÌṩÁËÒ»ÖÖ»ùÓÚJava
APIͳһµ÷Óø÷ÖÖ·þÎñµÄÄÜÁ¦¡£µ«ÊÇWSIFûÓÐÐγÉÒ»¸ö»ùÓÚ×é¼þµÄ¼Ü¹¹Ä£ÐÍ£¬Òò´ËIBMÔÚ´Ë»ù´¡ÉÏÍÆ³öÁËÒ»¸öÃæÏò·þÎñµÄ×é¼þÄ£ÐÍ£¨Service
Oritented Architecture, SCA£©¡£Õâ¸öÄ£ÐͲ»µ«½â¾öÁËͳһµ÷ÓõÄÎÊÌ⣬»¹Ìá³öÁËÒ»¸ö»ùÓÚ×é¼þµÄ¹¹½¨Ä£ÐÍ£¬²¢ÌṩÁËÐí¶àÃæÏòÆóÒµ¼ÆËãµÄQoSÄÜÁ¦¡£Òò´Ë£¬´Ó¼¼ÊõµÄ½Ç¶ÈÀ´Ëµ£¬SCAÊÇWSIFµÄÑÓÐøºÍÀ©Õ¹¡£SCAµÄÄ¿µÄÊÇʹÓû§ÔÚ¹¹½¨ÆóÒµÓ¦ÓÃʱÓÐÒ»¸ö²»ÔÙÖ±½ÓÃæ¶Ô¾ßÌåµÄ¼¼Êõϸ½ÚµÄ²ã´Î£¬¶øÊÇͨ¹ý·þÎñ×é¼þµÄ·½Ê½À´¹¹½¨Ó¦Óá£ÕâÖÖ·½Ê½Ò²Ê¹µÃ¿Í»§µÄÆóÒµÓ¦ÓþßÓÐÁ¼ºÃµÄ·Ö²ã¼Ü¹¹£¬Äܹ»ºÜºÃµÄ·ÖÀëÓ¦ÓõÄÒµÎñÂß¼ºÍITÂß¼£¬²»µ«Ò×ÓÚÓ¦ÓõĹ¹½¨£¬Ò²Ò×ÓÚÓ¦Óõĸü¸ÄºÍ²¿Êð¡£
1.2 SCAÖеĻù±¾¸ÅÄî
·þÎñ×é¼þÄ£ÐÍ£¨SCA£©ÖÐÌá³öÁËһЩеĸÅÄ±ÈÈç·þÎñ×é¼þ£¬Ä£¿é£¬¹²Ïí¿â£¬µ¼ÈëºÍµ¼³öµÈ¡£ÏÂÃæ½«·Ö±ð½âÊÍÕâЩ·þÎñ×é¼þÖеĻù±¾¸ÅÄî¡£
1.2.1 ·þÎñ×é¼þ
·þÎñ×é¼þÊÇSCAÖеĻù±¾×é³ÉÔªËØºÍ»ù±¾¹¹½¨µ¥Î»£¬Ò²ÊÇÎÒÃǾßÌåʵÏÖÒµÎñÂß¼µÄµØ·½¡£ÎÒÃÇ¿ÉÒÔ°ÑËü¿´³ÉÊǹ¹½¨ÎÒÃÇÓ¦ÓõĻýľ¡£ÎÒÃÇ¿ÉÒԷdz£ÈÝÒ׵ذѴ«Í³µÄPOJO£¬ÎÞ״̬»á»°BEANµÈ°ü×°³ÉSCAÖеķþÎñ×é¼þ¡£
SCA·þÎñ×é¼þµÄÖ÷Òª½Ó¿Ú¹æ·¶ÊÇ»ùÓÚWSDL£¨Web Service Description Language£©µÄ£¬ÁíÍâΪÁ˸øJava±à³ÌÈËÔ±Ìṩһ¸ö±È½ÏÖ±½ÓµÄ½Ó¿Ú£¬SCAµÄ²¿·Ö·þÎñ×é¼þÒ²ÌṩÁËJava½Ó¿Ú¡£Òò´Ë£¬Ê¹Ó÷þÎñ×é¼þµÄ¿Í»§¶Ë¿ÉÒÔÑ¡ÔñʹÓÃWSDL½Ó¿Ú»òJava½Ó¿Ú¡£
·þÎñ×é¼þÌṩ¸ø±ðµÄ·þÎñµ÷ÓõÄÈë¿Ú½ÐInterface£¨½Ó¿Ú£©¡£¶ø·þÎñ×é¼þ±¾Éí¿ÉÄÜÒ²ÐèÒªµ÷ÓñðµÄ·þÎñ£¬Õâ¸öµ÷Óóö¿Ú½ÐReference£¨ÒýÓã©¡£ÎÞÂÛÊǽӿڻ¹ÊÇÒýÓã¬Æäµ÷Óù淶¶¼ÊÇWSDL»òJava½Ó¿Ú¡£SCA·þÎñ×é¼þµÄ½Ó¿ÚÄ£ÐÍÇë²Î¿¼Í¼
1£º

ͼ 1£º SCA ·þÎñ×é¼þ½Ó¿ÚÄ£ÐÍ
WebSphere Process Server ³ä·ÖÀûÓÃÁËSCAµÄÕâÖÖ×é¼þ¼Ü¹¹£¬²¢ÔÚ²úÆ·ÖÐÌṩÁËһЩÓëÒµÎñÁªÏµ±È½Ï½ôÃܵÄ×é¼þ£¬±ÈÈçÒµÎñÁ÷³Ì£¬È˹¤ÈÎÎñ£¬ÒµÎñ״̬»ú£¬ÒµÎñ¹æÔòµÈ¡£ÕâÑùÓû§¾Í¿ÉÒÔÖ±½ÓÀûÓÃÕâЩ·þÎñ×é¼þ£¬¹¹½¨×Ô¼ºµÄÒµÎñÁ÷³Ì»òÆäËüÒµÎñ¼¯³ÉµÄÓ¦Óá£ÔÚWebSphere
Process Server V6.0.1ÖУ¬·þÎñ×é¼þ¼°SCAÔڼܹ¹ÖеÄ×÷ÓÃÈçͼ 2Ëùʾ£º

ͼ 2£º WebSphere Process Server V6.0.1µÄ¼Ü¹¹»·¾³
ÎÒÃÇ¿ÉÒÔ´Óͼ 2 Öп´µ½·þÎñ×é¼þ¼Ü¹¹ÔÚWebSphere Process ServerÖеĻù´¡µØÎ»£¬Ò²¿ÉÒÔ¿´µ½¸÷ÖÖÓëÒµÎñÏà¹ØµÄ·þÎñ×é¼þ»ò¼¼ÊõÏà¹ØµÄ¸¨Öú·þÎñ×é¼þµÄ¹ØÏµ¡£¹ØÓÚWebSphere
Process ServerµÄÌåϵ¼Ü¹¹ÕâÀï²»Õ¹¿ªÂÛÊö£¬¾ßÌåÇë²Î¿¼developerWorksר¿¯£¬2005ÄêµÚÈýÆÚµÄÎÄÕ¨D¨DWebSphere
Process Srever V6Ìåϵ½á¹¹¸ÅÊö¡£
SCA·þÎñ×é¼þÓ봫ͳ×é¼þµÄÖ÷񻂿±ðÔÚÓÚ£º
1£® ·þÎñ×é¼þÍùÍùÊÇ´ÖÁ£¶ÈµÄ£¬¶ø´«Í³×é¼þÒÔϸÁ£¶È¾Ó¶à¡£
2£® ·þÎñ×é¼þµÄ½Ó¿ÚÊDZê×¼µÄ£¬Ö÷ÒªÊÇWSDL½Ó¿Ú£¬¶ø´«Í³×é¼þ³£ÒÔ¾ßÌåAPIÐÎʽ³öÏÖ¡£
3£® ·þÎñ×é¼þµÄʵÏÖÓëÓïÑÔÊÇÎ޹ص쬶ø´«Í³×é¼þ³£°ó¶¨Ä³ÖÖÌØ¶¨µÄÓïÑÔ¡£
4£® ·þÎñ×é¼þ¿ÉÒÔͨ¹ý×é¼þÈÝÆ÷ÌṩQoSµÄ·þÎñ£¬¶ø´«Í³×é¼þÍêÈ«ÓɳÌÐò´úÂëÖ±½Ó¿ØÖÆ¡£
1.2.2 ·þÎñÄ£¿é£¨Module£©
·þÎñÄ£¿é£¨¼ò³ÆÄ£¿é£©ÓÉÒ»¸ö»ò¶à¸ö¾ßÓÐÄÚÔÚÒµÎñÁªÏµµÄ·þÎñ×é¼þ¹¹³É¡£°Ñ¶àÉÙ·þÎñ×é¼þ·ÅÔÚÒ»¸öÄ£¿éÖУ¬»òÕß°ÑÄÄЩ·þÎñ×é¼þ·ÅÔÚÒ»ÆðÖ÷Ҫȡ¾öÓÚÒµÎñÐèÇóºÍ²¿ÊðÉÏÁé»îÐÔµÄÒªÇó¡£Ä£¿éÊÇSCAÖеÄÔËÐе¥Î»£¬ÒòΪһ¸öSCAÄ£¿é±³ºó¶ÔÓ¦µÄÊÇÒ»¸öJ2EEµÄÆóÒµÓ¦ÓÃÏîÄ¿¡£ÕâÀïÖ®ËùÒÔ˵ÊÇ"±³ºó"£¬ÔÒòÊÇÎÒÃÇÔÚ¿ª·¢¹¤¾ßWID£¨WebSphere
Integration Developer V6.0£©ÖУ¬Í¨¹ýÒµÎñ¼¯³É͸ÊÓͼ¿´µ½¶¼ÊÇSCA¼¶±ðµÄÔªËØ¡£µ«Êǵ±ÄãÇл»µ½J2EE͸ÊÓͼÄã¾Í»á·¢ÏÖÕâЩSCAÔªËØÓëʵ¼ÊJ2EEÔªËØÖ®¼äµÄ¶ÔÓ¦¹ØÏµ¡£Òò´Ë£¬ÔÚWIDÖй¹½¨Ò»¸öÄ£¿é¾ÍÏ൱ÓÚ¹¹½¨Ò»¸öÏîÄ¿¡£ÁíÍ⣬ÓÉÓÚÄ£¿éÊÇÒ»¸ö¶ÀÁ¢²¿ÊðµÄµ¥Ôª£¬Õâ¸øÓ¦ÓõIJ¿Êð´øÀ´ºÜ´óµÄÁé»îÐÔ¡£±ÈÈ磬ֻҪ±£³ÖÄ£¿é½Ó¿Ú²»±ä£¬ÎÒÃǺÜÈÝÒ×ͨ¹ýÖØÐ²¿ÊðеÄÄ£¿é¶øÌæ»»ÔÓеÄÒµÎñÂß¼£¬¶ø²»Ó°ÏìÓ¦ÓÃµÄÆäËü²¿·Ö¡£
ÓÉÓÚÒ»¸öÄ£¿éÖÐÍùÍù»á°üº¬¶à¸ö·þÎñ×é¼þ£¬ÄÇÎÒÃÇÈçºÎÀ´¹¹½¨ÕâЩ·þÎñ×é¼þÖ®¼äµÄÏ໥µ÷ÓùØÏµÄØ£¿ÔÚWID¹¤¾ßÖУ¬ÎÒÃÇÖ»Òª¼òµ¥µØÍ¨¹ý½Ó¿ÚÓëÒýÓÃÖ®¼äµÄÁ¬Ïߣ¬¾Í¿ÉÒÔÖ¸¶¨ËüÃÇÖ®¼äµÄµ÷ÓùØÏµ¶ø²»ÐèҪдһÐдúÂë¡£ÁíÍ⣬ÎÒÃÇ¿ÉÒÔÔÚÕâЩÁ¬ÏßÉÏÃæÉ趨ÐèÒªµÄQoSÒªÇ󣬱ÈÈçÊÂÎñ£¬°²È«µÈ¡£
1.2.3 µ¼È루Import£©ºÍµ¼³ö£¨Export£©
Óû§Êµ¼ÊµÄÓ¦Óþ³£ÊDZȽϸ´Ôӵģ¬Òò´Ëʵ¼ÊµÄÓ¦ÓÃͨ³£ÐèÒª¶à¸öÄ£¿é²ÅÄÜÂú×ãÒªÇ󣬶øÇÒÕâЩģ¿éÖ®¼äÓÖÍùÍù´æÔÚÏ໥µ÷ÓõĹØÏµ¡£
ÁíÍâÄ£¿éÖзþÎñ×é¼þ³ýÁ˵÷ÓñðµÄ·þÎñ×é¼þÖ®Í⣬ҲÐèÒªµ÷ÓÃÒÑÓеÄһЩӦÓ㬻òÕßÊÇÈÃһЩÒÑÓеÄÓ¦ÓÃÀ´µ÷ÓÃÄ£¿éµÄ·þÎñ£¬¶øÕâЩӦÓÿÉÄܲ»ÊÇ»ùÓÚSCA¼Ü¹¹µÄ¡£ÎªÁ˽â¾öÉÏÊöÎÊÌ⣬ÔÚÄ£¿éÖÐÎÒÃÇÒýÈëÁËÁ½¸öÌØÊâµÄ"¶Ëµã"£¬Ò»¸öÊǵ¼È루Import£©£¬ËüµÄ×÷ÓÃÊÇʹµÃÄ£¿éÖеķþÎñ×é¼þ¿ÉÒÔµ÷ÓÃÄ£¿éÍⲿµÄ·þÎñ¡£ÁíÒ»¸öÊǵ¼³ö£¨Export£©£¬ËüµÄ×÷ÓÃÊÇʹµÃÄ£¿éÍⲿµÄÓ¦ÓÿÉÒÔµ÷ÓÃÄ£¿éÖеķþÎñ×é¼þ¡£
ÓÉÓÚÉæ¼°µ½Ä£¿éÄÚÍâµÄµ÷Óã¬Òò´ËÐèÒªÖ¸¶¨×¨Ãŵİó¶¨ÐÅÏ¢¡£ÕâЩ°ó¶¨ÐÅÏ¢°üÀ¨ÁËÄ¿±ê·þÎñ»òÔ´·þÎñµÄµ÷Ó÷½Ê½£¬Î»ÖÃÐÅÏ¢£¬µ÷Óõķ½·¨µÈ¡£Ä¿Ç°£¬ÔÚWebSphere
Process Server V6.0ÖУ¬µ¼Èë¶ËµãÌṩÁËËÄÖְ󶨷½Ê½£¬°üÀ¨£ºJMS°ó¶¨£¬Web Service°ó¶¨£¬SCA°ó¶¨ºÍÎÞ״̬»á»°BEANµÄ°ó¶¨¡£µ¼³ö¶ËµãÌṩÁËÈýÖְ󶨷½Ê½£¬°üÀ¨£ºJMS°ó¶¨£¬Web
Service°ó¶¨ºÍSCA°ó¶¨¡£¶ÔÓÚSCAÄ£¿éÖ®¼äµÄµ÷Óã¬ÎÒÃÇ¿ÉÒԷdz£·½±ãµÄ°Ñ°ó¶¨·½Ê½ÉèÖÃΪSCA°ó¶¨£¬µ«ÊǶÔÓÚ·ÇSCAÄ£¿éÓëSCAÄ£¿éÖ®¼äµÄµ÷ÓÃÎÒÃÇÖ»ÄÜÑ¡ÔñÆäËü°ó¶¨·½Ê½¡£
1.2.4 ¹²Ïí¿â£¨Library£©
µ±ÎÒÃÇÔÚ¹¹½¨Á˶à¸öÄ£¿éµÄʱºò£¬Èç¹ûÓÐһЩ×ÊÔ´¿ÉÒÔÔÚ²»Í¬Ä£¿éÖ®¼ä¹²Ïí£¬ÄÇôÎÒÃÇ¿ÉÒÔÑ¡Ôñ´´½¨Ò»·Ý¿ÉÒÔÔÚ²»Í¬Ä£¿éÖ®¼ä½øÐй²ÏíµÄ×ÊÔ´£¬¶ø²»ÊÇÔÚ²»Í¬Ä£¿éÖÐÖØ¸´´´½¨¡£¹²Ïí¿â¾ÍÊÇ´æ·ÅÕâЩ¹²Ïí×ÊÔ´µÄµØ·½¡£¹²Ïí¿â¿ÉÒÔͨ¹ýÓëÄ£¿éÀàËÆµÄ·½Ê½ÔÚWIDÖд´½¨£¬µ«Êǹ²Ïí¿â°üº¬µÄÄÚÈÝÖ»ÓУºÊý¾Ý¶¨Ò壬½Ó¿Ú¶¨Ò壬Êý¾ÝÓ³ÉäºÍ¹ØÏµ¡£ÓëÄ£¿é×î´óµÄÇø±ðʹ¹²Ïí¿â²»°üº¬·þÎñ×é¼þ£¬Òò´ËÒ²¾Í²»°üº¬ÒµÎñÂß¼¡£´Ó°üº¬µÄ¹¦ÄÜÀ´¿´£¬ÎÒÃÇ¿ÉÒ԰ѹ²Ïí¿â¿´×÷ÊÇÄ£¿éµÄÒ»¸ö×Ó¼¯¡£µ±Ò»¸öÄ£¿éÐèÒªÓõ½¹²Ïí¿âÖеÄ×ÊÔ´µÄʱºò£¬ÎÒÃÇÖ»ÐèҪʹģ¿éÒÀÀµÓÚ¹²Ïí¿â¼´¿É¡£´Ó²¿ÊðµÄ½Ç¶È£¬Ò»¸ö¹²Ïí¿â»á¶ÔÓ¦Ò»¸öJAR°ü¡£ÔÚ²¿ÊðµÄʱºò£¬Ä£¿éËù¶ÔÓ¦µÄJ2EEÆóÒµÓ¦Óûá»á×Ô¶¯°üº¬ËùÒÀÀµµÄ¹²Ïí¿âJAR°ü¡£ÕâÀïÌØ±ðҪעÒâµÄÊÇ£¬ÕâÀïµÄ¹²Ïí¿â¸ÅÄîÓëWebSphereÓ¦Ó÷þÎñÆ÷ÖеĹ²Ïí¿â²»ÊÇÒ»¸ö¸ÅÄËüÃÇÖ®¼äûÓÐÈκÎÁªÏµ£¬Òò´Ë²»Òª»ìÏý¡£
1.2.5 Standalone Reference
Ä£¿éÖеķþÎñ×é¼þÊDz»ÄÜÖ±½Ó±»ÍⲿJava´úÂëʹÓõģ¬ÎªÁËÍⲿµÄJava´úÂ룬±ÈÈçJSP/ServletʹÓÃÄ£¿éÖеķþÎñ×é¼þ£¬WID¹¤¾ßÔÚÄ£¿éÖÐÌṩÁËÒ»¸öÌØÊâµÄ¶Ëµã£¬½Ð×öStandalone
Reference¡£Õâ¸ö¶ËµãÖ»ÓÐÒýÓã¨Reference£©£¬¶øÃ»Óнӿڣ¨Interface£©¡£Ö»Òª°ÑÕâ¸ö¶ËµãµÄÒýÓÃÁ¬½Óµ½ÐèÒªµ÷ÓõķþÎñ×é¼þµÄ½Ó¿Ú£¬ÍⲿµÄJava´úÂëͨ¹ýÕâ¸öÒýÓõÄÃû³ÆÀ´µ÷ÓÃÏàÓ¦µÄ·þÎñ×é¼þÁË¡£¾ßÌåÈçºÎµ÷ÓÃÇë²Î¿¼ºóÃæÀý×ÓµÄʵ¼Ê´úÂë¡£
ÖÁ´Ë£¬Óë·þÎñÄ£¿éÏà¹ØµÄÖ÷Òª¸ÅÄîÒÑ´ó¸Å½éÉÜÍêÁË£¬ËüÃÇÖ®¼äµÄ¹ØÏµÈçͼ 3 Ëùʾ£º

ͼ 3£º·þÎñÄ£¿é×ÜÀÀͼ
1.3 ͬ²½µ÷ÓúÍÒì²½µ÷ÓÃ
ÎÒÃÇÖªµÀ£¬³£¼ûµÄ·½·¨µ÷Óö¼ÊÇͬ²½µ÷Óã¬ÕâÖÖµ÷Ó÷½Ê½ÊÇÒ»ÖÖ×èÈûʽµÄµ÷Ó÷½Ê½£¬¼´¿Í»§¶Ë£¨Ö÷µ÷Ó÷½£©´úÂëÒ»Ö±×èÈûµÈ´ýÖ±µ½±»·þÎñ¶Ë£¨±»µ÷Ó÷½£©·µ»ØÎªÖ¹¡£ÕâÖÖµ÷Ó÷½Ê½Ïà¶Ô±È½ÏÖ±¹Û£¬Ò²ÊǴ󲿷ֱà³ÌÓïÑÔÖ±½ÓÖ§³ÖµÄÒ»ÖÖµ÷Ó÷½Ê½¡£µ«ÊÇ£¬Èç¹ûÎÒÃÇÃæ¶ÔÊÇ»ùÓÚ´ÖÁ£¶ÈµÄ·þÎñ×é¼þ£¬Ãæ¶ÔµÄÊÇһЩÐèÒª±È½Ï³¤Ê±¼ä²ÅÄÜÓÐÏìÓ¦µÄÓ¦Óó¡¾°£¬ÄÇôÎÒÃǾÍÐèÒªÒ»ÖÖ·Ç×èÈûʽµ÷Ó÷½Ê½£¬¼´Òì²½µ÷Ó÷½Ê½¡£
SCA±à³ÌģʽÌṩÁËÈýÖÖ·½Ê½µÄÒì²½µ÷Óã¬ËüÃÇ·Ö±ðÊÇ£º
1£® µ¥Ïòµ÷Ó÷½Ê½¡£
2£® ÑÓ³ÙÏìÓ¦·½Ê½¡£
3£® ÇëÇ󻨵÷·½Ê½¡£
µ¥Ïòµ÷ÓÃ
µ¥Ïòµ÷Ó÷½Ê½ÊÇ×îΪ¼òµ¥µÄÒì²½µ÷Ó÷½Ê½£¬ÔÚÕâÖÖµ÷Ó÷½Ê½ÖУ¬¿Í»§¶Ë·¢³öÇëÇóÖ®ºó¾Í²»ÔÙ¹ØÐÄ·þÎñ¶ËµÄÇé¿ö£¬°üÀ¨ÊÇ·ñÖ´Ðгɹ¦£¬·µ»ØÖµÊÇʲôµÈµÈ¡£ÎÒÃÇ¿ÉÒÔÓÃÏÂÃæµÄͼ
4ʾÀ´ÃèÊöÕâÖÖµ¥Ïòµ÷Ó÷½Ê½£º

ͼ 4: µ¥Ïòµ÷ÓÃ
µ¥Ïòµ÷Ó÷½Ê½ÊÇÒ»ÖÖ²»¹Üµ÷Óýá¹ûµÄ·½Ê½£¬µ«ÊÇÔںܶàÇé¿öÏÂÎÒÃÇÊÇÐèÒªÖªµÀµ÷Óýá¹ûµÄ¡£ÎÒÃÇÐèÒªÖªµÀµ÷ÓÃÊÇ·ñ³É¹¦£¬ÐèÒªÖªµÀµ÷ÓõĽá¹û£¬¾ÍËãµ÷ÓÃʧ°ÜÎÒÃÇҲϣÍûÖªµÀ´íÎó´úÂëµÈÐÅÏ¢¡£ÔÚÕâÖÖÇé¿öÏ£¬ÑÓ³ÙÏìÓ¦ºÍÇëÇ󻨵÷¾ÍÊÇÁ½ÖÖÄܹ»ÈÃÎÒÃÇÖªµÀµ÷Óýá¹ûµÄ·½Ê½¡£
ÑÓ³ÙÏìÓ¦·½Ê½
ÑÓ³ÙÏìÓ¦·½Ê½ÊÇÖ¸¿Í»§¶ËÔÚ·¢³öµ÷ÓÃÇëÇóÖ®ºó¼ÌÐøÖ´ÐУ¬µ«ÊǾ¹ýÒ»¶Îʱ¼äÖ®ºó£¬¿Í»§¶ËÔÙµ÷ÓÃÏàÓ¦µÄ·½·¨È¥¼ìË÷·µ»Ø½á¹û£¬²¢Í¨¹ý²ÎÊýÖ¸¶¨ÈçºÎ¸ù¾Ýµ÷ÓõĽá¹û¶øÖ´ÐнøÒ»²½¶¯×÷¡£ÓÉÓÚÊÇÒì²½µ÷Ó÷½Ê½£¬Òò´Ë£¬ÔÚµÚÒ»´Î·¢³öµ÷ÓÃÇëÇóµÄʱºò£¬·þÎñ¶ËÐèÒª·µ»ØÒ»¸ö³ÆÎªÆ±¾Ý£¨Ticket£©µÄ¶ÔÏó¡£Õâ¸ö¶ÔÏó»á×÷ΪµÚ¶þ´Î·¢³ö¼ìË÷½á¹ûÇëÇóʱµÄÒ»¸ö²ÎÊý¡£ÏÔÈ»£¬Õâ¸öTicket¶ÔÏóµÄ×÷ÓÃÓëWEB±à³ÌµÄSessionID·Ç³£ÀàËÆ¡£ÎÒÃÇ¿ÉÒÔÓÃͼ
5 À´±íʾÑÓ³ÙÏàÓ¦µ÷Ó÷½Ê½£º

ͼ 5£ºÑÓ³ÙÏìÓ¦µ÷Ó÷½Ê½
ÇëÇ󻨵÷
ÓëÑÓ³ÙÏìÓ¦·½Ê½ÀàËÆ£¬ÇëÇ󻨵÷·½Ê½Ò²Äܵõ½·þÎñ¶ËµÄÏìÓ¦£¬µ«ÊDz»Í¬µÄÊÇÕâ¸öÏìÓ¦ÊÇÓÉ·þÎñ¶Ëͨ¹ý»Øµ÷·½Ê½À´´¥·¢µÄ£¬¶ø²»ÏñÑÓ³ÙÏìÓ¦·½Ê½Óɿͻ§¶ËÀ´Ö÷¶¯¼ìË÷µÄ¡£ÇëÇ󻨵÷·½Ê½µÄÔÀíÓëÐí¶à±à³ÌÓïÑÔÖеĻص÷»úÖÆÀàËÆ£¬²»Í¬µÄÊÇÕâÀïʵÏֵIJã´Î±È½Ï¸ßÒ»µã¡£ÎÒÃÇ¿ÉÒÔÓÃͼ6À´±íʾÇëÇóµ÷Ó÷½Ê½£º

ͼ 6£ºÇëÇ󻨵÷·½Ê½
1.4 SCA¿Í»§¶ËµÄÁ½ÖÖµ÷Ó÷½Ê½
´Ó½Ó¿ÚµÄ½Ç¶È£¬SCAµÄ¿Í»§¶Ë±à³ÌÄ£ÐÍÓÐÁ½ÖÖ·½Ê½£º
1£® ¾²Ì¬µ÷Ó÷½Ê½
2£® ¶¯Ì¬µ÷Ó÷½Ê½
¾²Ì¬µ÷Ó÷½Ê½
¾²Ì¬µ÷Ó÷½Ê½ÊÇÒ»ÖÖÀàÐͰ²È«µÄ·½Ê½£¬Ò²ÊÇÔÚÒ»°ãJava±à³ÌÖÐ×îΪ³£¼ûµÄ·½Ê½¡£ËùνÀàÐͰ²È«Ö¸µÄ¾ÍÊÇÔÚ±àÒëµÄʱºò¾Í×öÀàÐ͵ļì²é£¬¶ø²»Êǵȵ½ÔËÐеÄʱºò·¢ÏÖÀàÐÍ´íÎóÎÊÌ⡣˵Ã÷ʾÀýÈçÏ£º

ÔÚSCA¿Í»§¶Ë±à³ÌÖУ¬¾²Ì¬·½Ê½¾ÍÊÇÖ±½ÓÄõ½Êµ¼ÊʵÏֵĽӿÚÀàÐÍ£¬Ò²¼´Ö±½ÓÄõ½Java½Ó¿Ú¡£
¶¯Ì¬µ÷Ó÷½Ê½
Ó뾲̬µ÷Ó÷½Ê½Ïà¶Ô£¬¶¯Ì¬µ÷Ó÷½Ê½ÊÇÒ»Öַǰ²È«µÄ·½Ê½¡£ËüµÄÓŵãÊǵ÷Ó÷dz£Áé»î£¬µ«Í¬Ê±´øÀ´µÄ²»ÀûÖ®´¦ÊDz¿·ÖÎÊÌâÔÚ±àÒëµÄʱºòÊÇ·¢ÏÖ²»Á˵ģ¬Ö»Óеȵ½ÔËÐеÄʱºò²ÅÄÜ·¢ÏÖ¡£ËµÃ÷ʾÀýÈçÏ£º

ÏñÉÏÃæÀý×ÓËùʾ£¬ÔÚ¶¯Ì¬µ÷Ó÷½Ê½ÖУ¬¿Í»§¶Ëͨ¹ýinvoke·½·¨µÄ×Ö·û´®²ÎÊýµÄ·½Ê½À´Ö¸¶¨¾ßÌåÒªµ÷Óõķ½·¨Ãû³Æ¡£ºÜÏÔÈ»£¬ÔÚÕâÖÖ·½Ê½Ï£¬Èç¹û·½·¨ÃûÓÐÎóÊDz»ÄÜÔÚ±àÒëʱ·¢Ïֵġ£
¹ØÓÚ¶¯Ì¬µ÷Ó÷½Ê½ÁíÍâҪעÒâµÄÒ»µãÊÇ£¬ÔÚÕâÖÖµ÷Ó÷½Ê½Ï£¬ËùÓвÎÊý´«µÝ¶¼ÊÇͨ¹ýDataObjectµÄ·½Ê½£¬¼´SDOµÄ·½Ê½¡£ÄÄÅÂʵ¼Ê²ÎÊýÖ»ÊÇÒ»¸ö×Ö·û´®£¬Ò²ÐèÒª°ü×°³ÉÒ»¸öDataObjectµÄ·½Ê½¡£
½Ó¿ÚÀàÐÍÓëµ÷Ó÷½Ê½
ʵ¼ÊÉϿͻ§¶Ë²ÉÓÃÄÄÖÖµ÷Ó÷½Ê½ÊÇÓë½Ó¿ÚÀàÐÍÓÐÃÜÇеĹØÏµ¡£µ±ÌṩµÄ½Ó¿ÚÀàÐÍÊÇWSDLÀàÐ͵ģ¬ÄÇô¿Í»§¶ËµÄµ÷Ó÷½Ê½Ö»ÄÜÊǶ¯Ì¬µ÷Ó÷½Ê½¡£ÓÉÓÚWSDLÊÇSCAÄ£ÐÍÖÐÖ÷ÒªµÄ½Ó¿Ú·½Ê½£¬ÕâÑù¾Íµ¼Ö¶¯Ì¬µ÷Ó÷½Ê½ÔÚSCA±à³ÌÄ£ÐÍÖзdz£ÆÕ±é¡£µ«ÊÇÈç¹ûÌṩµÄ½Ó¿ÚÀàÐÍʱJavaÀàÐ͵ģ¬ÄÇô¿Í»§¶ËµÄµ÷Ó÷½Ê½¿ÉÒÔÊǶ¯Ì¬µ÷Ó÷½Ê½£¬Ò²¿ÉÒÔÊǾ²Ì¬µ÷Ó÷½Ê½¡£
1.5 SCAµÄµÚÒ»¸öÀý×Ó¨D¨DHelloWorld
ÓëѧϰһÖÖÓïÑÔÒ»Ñù£¬ÔÚ³õ²½Á˽âһЩ»ù±¾¸ÅÄîÖ®ºó£¬ÄúÊDz»ÊÇÆÈ²»¼°´ýµÄÏë×Ô¼º¶¯ÊÖдµã¶«Î÷ÁË£¿ÈÃÎÒÃÇÒ»ÆðÀ´Ð´Ò»¸ö"SCA°æ"µÄHelloWorld¡£ÎÒÃÇÐèÒªµÄ¿ª·¢»·¾³¾ÍÊÇÒ»¸öWebSphere
Integration Developer V6.0£¨WID£©£¬ÓëIBMµÄÐí¶àÆäËüµÄ¿ª·¢¹¤¾ßÀàËÆ£¬ÕâÒ²ÊÇÒ»¸ö»ùÓÚEclipse
3.0µÄ¿ª·¢¹¤¾ß¡£ÏÂÃæ¼òµ¥ÃèÊöÒ»ÏÂWIDÓëIBMÆäËü¿ª·¢¹¤¾ßÈçRational Application
Developer£¨RAD£©£¬Rational Software Architecture£¨RSA£©£¬WebSphere
Business ModelerµÈ¹¤¾ßµÄÇø±ð¡£Èç¹û²ÉÓûùÓÚ½ÇÉ«µÄ¿ª·¢·½Ê½£¬ÎÒÃÇÒ»°ã¿ÉÒ԰Ѽ¯³ÉÏîÄ¿µÄÖ÷Òª¿ª·¢ÈËÔ±·ÖΪÏÂÃæËÄ´óÀࣺҵÎñ·ÖÎöÈËÔ±£¬¼¯³É¿ª·¢ÈËÔ±£¬Èí¼þ¼Ü¹¹Ê¦£¬J2EE/JAVAÓ¦Óÿª·¢ÈËÔ±¡£ËûÃǵÄÖ÷ÒªÖ°Ôð¡¢¼¼ÊõÒªÇóºÍÍÆ¼öʹÓõŤ¾ß¿ÉÒԲμûÏÂ±í£º

ÓÉÉϱí¿ÉÖª£¬WIDÊÇÒ»¸öÖ÷ÒªÕë¶Ô¼¯³É¿ª·¢ÈËÔ±µÄ¹¤¾ß¡£³ýÁËרÃŵɹ¦ÄÜÖ®Í⣬WID¹¤¾ßÒ²°üº¬ÁËRADÖеĴ󲿷ֹ¦ÄÜ¡£ÎªÁ˱ãÓÚ¼¯³ÉÓ¦ÓõIJâÊÔ£¬Õâ¸ö¿ª·¢¹¤¾ß¼¯³ÉÁËÒ»¸ö²âÊÔ»·¾³£¬¼´WebSphere
Process Server V6.0µÄÔËÐл·¾³¡£
Õâ¸öÀý×ÓµÄÖ÷ҪĿµÄÊǰïÖú´ó¼Ò½øÒ»²½Àí½âÇ°ÃæÃèÊöµÄÄÇЩSCA»ù±¾¸ÅÄî¡£ÔÚHelloWorldÓ¦ÓÃÄ£¿éÖУ¬ÎÒÃǻṹ½¨Ò»¸öÓÃJavaʵÏÖµÄSCA×é¼þ£¬Æä½Ó¿ÚΪHelloWorldInterface.wsdl£¬ÆäʵÏÖ´úÂëΪHelloWorldImpl.java¡£ÎªÁËʹSCAÄ£¿éÍⲿµÄJSPÎļþ¿ÉÒÔµ÷ÓÃÕâ¸öSCA×é¼þ£¬ÐèÒªÒ»¸öStandalone
Reference¡£ÔÚÄ£¿éÍⲿ£¬ÎÒÃǹ¹½¨Ò»¸öindex.jspÎļþͨ¹ýStandalone ReferenceÀ´µ÷ÓÃHelloWorld·þÎñ×é¼þ£¬²¢ÔÚÒ³ÃæÉϰѵ÷Óýá¹ûÏÔʽ³öÀ´¡£Õû¸öHelloWorldÓ¦ÓõĻù±¾Í¼Ê¾ÈçÏ£º

ͼ 7£º HelloWorld Ó¦ÓÃ
1.5.1 ¹¹½¨µÄ»ù±¾²½Öè
ÏÂÃæ¸ø³ö´´½¨HelloWorldÀý×ӵĻù±¾²½Ö裺
1£® ´´½¨Ä£¿é¡£´ò¿ªWID£¬Çл»µ½Business Integration͸ÊÓͼ£¬Ð½¨Ò»¸öÄ£¿é£¬Ãû³ÆÎªHelloWorld¡£
2£® ´´½¨½Ó¿Ú¡£Í¨¹ýµã»÷HelloWorldÄ£¿é×ó±ßµÄ"£«"ºÅÕ¹¿ª£¬Ñ¡Ôñ"Interface"£¬È»ºóͨ¹ýÓÒ¼ü´´½¨Ò»¸ö½Ó¿Ú£¬Ãû³ÆÎªHelloWorldInterface¡£Í¼Ê¾ÈçÏ£º

HelloWorld½Ó¿Ú°üº¬Ò»¸ösengMessage²Ù×÷£¬ÊäÈëΪһ¸öÃûΪmessageµÄ×Ö·û´®£¬Êä³öÒ»¸öÃûΪstatusµÄ×Ö·û´®¡£¿ÉÒÔͨ¹ýµã»÷½Ó¿Ú±à¼Æ÷ÉÏ·½µÄ°´Å¥À´Ìí¼ÓÒ»¸ö²Ù×÷¡£Í¨¹ýºÍ·Ö±ðÀ´Ìí¼ÓÊäÈëºÍÊä³ö²ÎÊý¡£Í¼Ê¾ÈçÏ£º

3£® ´´½¨·þÎñ×é¼þ¡£Ë«»÷´ò¿ªHelloWorldÄ£¿éµÄͼÐλ¯±à¼Æ÷£¬È»ºóÔÚ¿ØÖÆÃæ°åÉϰÑJava×é¼þͼ±ê
ÍÏÀµ½±à¼Æ÷Öм´Éú³ÉÒ»¸öJava·þÎñ×é¼þ£¬²¢°ÑÃû³Æ¸ÄΪHelloWorld¡£ÈçÏÂͼËùʾ£º

ͨ¹ýµã»÷ °´Å¥ÎªHelloWorld×é¼þÑ¡ÔñÒ»¸ö½Ó¿Ú£¬¼´ÎÒÃÇÇ°Ãæ¶¨ÒåµÄHelloWorldInterface¡£
ͨ¹ýË«»÷ÉÏͼÖеÄHelloWorld×é¼þ£¬WID»á×Ô¶¯Éú³ÉHelloWorld×é¼þʵÏÖÀàµÄ»ù±¾¿ò¼ÜHelloWorldImpl.java¡£ÈçÏÂͼËùʾ£º

ÉÏͼÖиßÁÁ´¦ÏÔʾµÄ´úÂëÐоÍÊÇÎÒÃÇ¿ÉÒÔ¸øsendMessage·½·¨Ìí¼ÓÒµÎñ´úÂëµÄµØ·½¡£±ÈÈ磬ÎÒÃÇ¿ÉÒÔÊäÈ룺return
message + ". It's our first SCA example!";
4£® ´´½¨standalone reference¡£ÔÚ¹¤¾ßÀ¸ÖÐ°Ñ Í¼±êÍÏÀµ½±à¼Æ÷Öм´Éú³ÉÒ»¸östandalone
reference¡£ÈçÏÂͼËùʾ£º

È»ºó°ÑStandalone Reference¶ËµãÓëHelloWorld×é¼þÁ¬½ÓÆðÀ´¡£¹¤¾ß×Ô¶¯»áΪStandalone
Reference´´½¨Ò»¸öÆ¥ÅäHelloWorld×é¼þ½Ó¿ÚµÄÒýÓá£ÕâÀïҪעÒâµÄÊÇ£¬Ïòµ¼ÔÚ×Ô¶¯´´½¨Standalone
ReferenceµÄÒýÓÃʱ»áµ¯³öÒ»¸ö´°¿ÚѯÎÊÐèÒª´´½¨Ò»¸öJava½Ó¿ÚÀàÐ͵ÄÒýÓû¹ÊÇWSDL½Ó¿ÚÀàÐ͵ÄÒýÓᣲ»Í¬ÀàÐ͵ĽӿڻáʹµÃÎÒÃǵĿͻ§¶Ë´úÂ루ÔÚ±¾ÀýÖÐÊÇÒ»¸öÃûΪindex.jspµÄJSPÎļþ£©ÐèÒª²ÉÓò»Í¬µÄµ÷Ó÷½Ê½¡£ÏÂÃæ»á·ÖÎöÁ½ÖÖ²»Í¬ÀàÐ͵ÄʵÏÖ¡£
5£® Éú³ÉJSP´úÂë¡£Èç¹ûÎÒÃÇÔÚÇ°ÃæµÄÒýÓýӿÚÀàÐÍÖÐÑ¡ÔñµÄÊÇWSDL½Ó¿Ú¡£ÄÇôStandalone
ReferenceµÄÊôÐÔÈçÏÂͼËùʾ£º

ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÒýÓõÄÃû³ÆÎªHelloWorldInterfacePartner£¬½Ó¿ÚΪÃû³ÆÎªHelloWorldInterfaceÕâ¸öWSDLÀàÐ͵Ľӿڡ£
Èç¹ûÎÒÃÇÔÚÇ°ÃæµÄÒýÓýӿÚÀàÐÍÖÐÑ¡ÔñµÄÊÇJava½Ó¿Ú¡£ÄÇôStandalone ReferenceµÄÊôÐÔÈçÏÂͼËùʾ£º

ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÒýÓõÄÃû³ÆÎªHelloWorldInterfacePartner£¬½Ó¿ÚΪÃû³ÆÎªworld.hello.hello.world.interface_
.HelloWorldInterfaceÕâ¸öJavaÀàÐ͵Ľӿڡ£¾ßÌåJSP´úÂë²Î¿¼ÏÂÃæµÄ¿Í»§¶Ë´úÂë·ÖÎö²¿·Ö¡£
6£® ¼ì²éÉú³ÉµÄÏîÄ¿¡£Èç¹û°ÑWIDÇл»µ½J2EE͸ÊÓͼµÄµ¼º½ÊÓͼÖУ¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÓëHelloWorldÄ£¿é¶ÔÓ¦µÄJ2EEÏîÄ¿¡£J2EEÆóÒµÏîĿΪHelloWorldApp£¬Æä°üº¬EJBÏîÄ¿HelloWorldEJB£¬WebÏîÄ¿HelloWorldWeb£¬J2EE¿Í»§¶ËÏîÄ¿HelloWorldEJBClient¡£ÁíÍâÒ»¸öÊÇÃûΪHelloWorldµÄJavaÏîÄ¿£¬Õâ¸öÏîÄ¿µÄÄÚÈÝ×îÖÕ»áÒÔÒ»¸öJARÎļþµÄÐÎʽ±»HelloWorldAppÓ¦ÓÃʹÓá£ÉÏÒ»²½ÖÐËùÌáµ½µÄJSPÎļþÐèÒªÔÚHelloWorldWebÏîÄ¿ÖÐÉú³É¡£¾ßÌåÈçÏÂͼËùʾ£º

1.5.2 JSP¿Í»§¶Ë´úÂëÆ¬¶Ï·ÖÎö
ÄÇôÈçºÎÔÚJSPÒ³ÃæÖÐÀ´µ÷ÓÃÎÒÃǵÄHelloWorld·þÎñ×é¼þÄØ£¿°´ÕÕÇ°ÃæµÄ½éÉÜ£¬ÎÒÃÇÐèҪͨ¹ýStandalone
ReferenceÀ´µ÷Óá£ÄÇôÎÒÃÇÈçºÎ²ÅÄܵõ½Õâ¸öStandalone ReferenceµÄÒýÓÃÄØ£¿ÕâÀïÉæ¼°µ½SCA±à³ÌģʽÖкÜÖØÒªµÄÒ»¸ö¸ÅÄÄǾÍÊÇServiceManager¡£ServiceManagerÊÇÒ»¸öSCA»·¾³µÄºËÐÄÀ࣬ȫÃûΪcom.ibm.websphere.sca.ServiceManager¡£Õâ¸öÀàµÄ×÷ÓÃÖ÷Òª¾ÍÊÇÄܹ»Èÿͻ§¶ËÈ¥¶¨Î»Ò»¸ö·þÎñÌṩ·½¡£Ò»°ãµ÷Óõķ½Ê½ÊÇͨ¹ýServiceManagerµÄlocateService(String
serviceRefName)·½·¨¡£Äõ½·þÎñÖ®ºó£¬¿Í»§¶Ë¾Í¿ÉÒÔµ÷Ó÷þÎñÖÐËùÌṩµÄ·½·¨ÁË¡££¨ÊìϤJ2EE±à³ÌµÄÈËÔ±¿ÉÒÔÁªÏµ¶Ô±ÈJNDIµÄLookup·½·¨¡££©ÏÂÃæ·Ö±ð¸ù¾ÝStandalone
ReferenceÒýÓõĽӿÚÀàÐÍÀ´·ÖÎöÖ÷ÒªJSP´úÂëÆ¬¶Ï¡£
µ±½Ó¿ÚÀàÐÍÊÇWSDL½Ó¿ÚµÄÇé¿ö
1£®Ê×ÏÈÐèÒªÔÚJSPÖе¼ÈëÏà¹ØµÄÀ࣬Ö÷ÒªÈçÏ£º
<%@ page import= "com.ibm.websphere.sca.ServiceManager"
%>
<%@ page import= "com.ibm.websphere.sca.Service"
%>
<%@ page import= "commonj.sdo.DataObject"
%> |
2£®Éú³ÉServiceManager¶ÔÏ󣬲¢Äõ½ÏàÓ¦µÄ·þÎñ¡£
ServiceManager
serviceManager = new ServiceManager();
Service service = (Service) serviceManager.locateService
("HelloWorldInterfacePartner"); |
ÕâÀïlocateService()·½·¨ÖеIJÎÊýÊÇstandalone referenceµÄʵ¼ÊÃû³Æ¡£´ÓijÖ̶ֳÈÉÏÎÒÃÇ¿ÉÒÔ°ÑÍⲿµÄJSP/ServletµÄJava´úÂë¿´³ÉÊÇStandalone
referenceµÄʵÏÖ£¬ÕâÑùÀ´Àí½â·þÎñ×é¼þÖ®¼äµÄÏ໥µ÷Óá£
3£®µ÷Ó÷þÎñµÄ·½·¨¡£
String msg =
request.getParameter("message");
DataObject resp = (DataObject) service.invoke ("sendMessage",msg); |
ÓÉÓÚÎÒÃÇÕâÀïʹÓõÄÊÇWSDL½Ó¿ÚÀàÐÍ£¬Òò´Ë·µ»Ø½á¹ûÊÇÒÔDataObjectµÄÐÎʽ´æÔÚ¡£
4£® ÏÔʽµÃµ½µÄ½á¹û¡£
<%=resp.getString("status")%> |
ͨ¹ýµ÷ÓÃDataObjectµÄgetString·½·¨£¬ÎÒÃÇÄõ½Êµ¼ÊµÄ·µ»Ø½á¹û£¬ÃûΪstatusµÄ×Ö·û´®¡£
µ±½Ó¿ÚÀàÐÍÊÇJava½Ó¿ÚµÄÇé¿ö
1£®Ê×ÏÈÐèÒªÔÚJSPÖе¼ÈëÏà¹ØµÄÀ࣬Ö÷ÒªÈçÏ£º
<%@ page import= "com.ibm.websphere.sca.ServiceManager"
%>
<%@ page import= "com.ibm.websphere.sca.Service"
%>
<%@ page import= "world.hello.hello.world.interface_
.HelloWorldInterface" %> |
2£®Éú³ÉServiceManager¶ÔÏ󣬲¢Äõ½ÏàÓ¦µÄ·þÎñ¡£
ServiceManager
serviceManager = new ServiceManager();
HelloWorldInterface service =
(HelloWorldInterface) serviceManager.locateService ("HelloWorldInterfacePartner"); |
ÓÉÓÚStandalone ReferenceµÄ½Ó¿Ú±ä³ÉÁËJava½Ó¿Ú£¬Òò´ËÕâÀï·µ»ØµÄ·þÎñ¿ÉÒÔÖ±½ÓÔìÐͳÉHelloWorldInterfaceÀàÐÍ¡£
3£®µ÷Ó÷þÎñµÄ·½·¨¡£
String msg =
request.getParameter("message");
String resp = service.sendMessage(msg); |
ÓÉÓÚÎÒÃÇÕâÀïʹÓõÄÊÇJava½Ó¿ÚÀàÐÍ£¬Òò´Ëµ÷Óõķ½Ê½¾ÍÊÇÕý³£µÄJava½Ó¿Úµ÷Óá£
4£® ÏÔʽµÃµ½µÄ½á¹û¡£
ÓÉÓÚ¾²Ì¬µ÷Ó÷½Ê½µÃµ½µÄ¾ÍÊÇʵ¼Ê¶¨ÒåµÄÀàÐÍ£¬Òò´ËÕâÀï×Ö·û´®µÄÏÔʽ±È½Ï¼òµ¥¡£
¾ßÌåʵ¼ÊÏîÄ¿µÄ´úÂëÇë²Î¿¼±¾Îĸ½µÄÏîÄ¿½»»»Îļþ°ü¡£
1.6 ½áÊøÓï
±¾ÎĽéÉÜÁËSCAµÄÖ÷ҪĿµÄºÍһЩ»ù±¾µÄ¸ÅÄ²¢Õ¹Ê¾ÁËÒ»¸ö×îΪ¼òµ¥µÄ·þÎñ×é¼þÀý×Ó¡£´ÓÉÏÃæµÄÌÖÂÛÎÒÃÇ¿ÉÒÔ¿´µ½£¬SCA²»µ«½â¾öÁËͳһµ÷ÓõÄÎÊÌ⣬¶øÇÒÌṩÁËÒ»¸ö·þÎñ×é¼þ¼Ü¹¹¡£Õâ¸ö·þÎñ×é¼þ¼Ü¹¹½«ÔÚ¹¹½¨ÃæÏò·þÎñµÄ¼Ü¹¹ÖÐÆðµ½¾Ù×ãÇáÖØµÄ×÷Ó㬲¢ÔÚIBMµÄÐí¶à²úÆ·ÖлáÓÐËùÌåÏÖ¡£
|