SCA
¼ò½é
SCA£¨Service Component Architecture£©¼´·þÎñ×é¼þ¼Ü¹¹£¨ÆäËû³Æ·¨ÓзþÎñ¹¹¼þ¼Ü¹¹¡¢ÃæÏò·þÎñµÄÌåϵ¼Ü¹¹µÈ£©£¬ËüÌṩÁËÒ»¸ö±à³ÌÄ£ÐÍÀ´¹¹½¨ºÍ¿ª·¢»ùÓÚ
SOA£¨Service Oriented Architecture£©µÄÓ¦ÓÃϵͳ¡£SCA ÓÚ 2005 Äê
11 Ô 30 ÈÕ£¬ÓÉ IBM¡¢BEA¡¢Oracle¡¢SAP¡¢Iona¡¢Siebel ºÍ Sybase
µÈ¹«Ë¾ÕýÊ½ÍÆ³ö£¬°æ±¾ºÅΪ 0.9¡£2007 Ä꣬IBM¡¢BEA µÈ SCA ¹æ·¶²ÎÓë³§É̹²Í¬³ÉÁ¢ OSOA£¨Open
Service Oriented Architecture£©×éÖ¯À´Öƶ¨ºÍÍÆ¶¯ SCA ÒÔ¼° SDO£¨Service
Data Objects£©¹æ·¶£¬Í¬Äê 3 Ô£¬OSOA ×éÖ¯Õýʽ·¢²¼ SCA ϵÁй淶 1.0 °æ±¾¡£
¿ª·¢Ò»¸ö SOA Ó¦ÓÃϵͳ£¬±à³ÌÄ£ÐͺÍÊý¾ÝÄ£ÐÍÊÇÆäÁ½¸öÖØÒª·½Ã棬SCA ÓÃÓÚÌṩ±à³ÌÄ£ÐÍ£¬SDO ÔòÌṩÁËÊý¾ÝÄ£ÐÍ£¬SDO
ÖÂÁ¦ÓÚΪӦÓÃϵͳÖд¦ÀíÊý¾ÝÌṩͳһµÄ·½Ê½£¬SCA ºÍ SDO ²¢²»ÐèÒªÒ»ÆðʹÓ㬱¾ÎÄÒ²Ö»ÌÖÂÛ SCA¡£SCA
²¢²»½ö½öÖ»ÓÐÒ»¸ö¹æ·¶£¬ËüĿǰ¹²°üº¬ÁË 16 ¸ö¹æ·¶¡£Õâ 16 ¸ö¹æ·¶¿ÉÒÔ¹éÓÚÈýÀࣺ1. ºËÐĹ淶£¬ÓÉ×°ÅäÄ£Ð͹淶£¨Assembly
Model£©ºÍ²ßÂÔ¿ò¼Ü¹æ·¶£¨Policy Framework£©×é³É£¬ÓÃÓÚ¶¨Òå SCA ÖеÄ×é¼þ×°ÅäÄ£ÐͺͲßÂÔ¿ò¼Ü£»2.
·þÎñ×é¼þʵÏÖ¼¼Êõ¹æ·¶£¬ÓÃÓÚ¶¨Òå SCA µÄ×é¼þʵÏÖ¼¼Êõ£¬SCA Ö§³Ö¶àÖÖÓïÑԺͼ¼Êõ×÷Ϊ SCA µÄ×é¼þʵÏÖ£¬²¢ÇÒ
SCA »¹ÌṩÁË¿ÉÀ©Õ¹¿ò¼ÜÀ´Ö§³Ö¿ª·¢ÈËÔ±Ìí¼ÓеÄ×é¼þʵÏÖ¼¼Êõ£¬Ä¿Ç° SCA ¹æ·¶ÒѾ¶¨ÒåÁË Java£¬C++
µÈʵÏÖ¼¼Êõ£»3. °ó¶¨£¨Binding£©¼¼ÊõÖ§³Ö¹æ·¶£¬ÔÚÒ»¸ö´óÐÍ SOA Ó¦ÓÃÖУ¬Ò»¸ö³£¼ûµÄÎÊÌâ±ãÊDz»Í¬µÄ·þÎñ¼äÐèҪͨ¹ý²»Í¬µÄ·ÃÎÊÐÒéÀ´½øÐл¥²Ù×÷£¬°ó¶¨¼¼Êõ¹æ·¶±ãÊÇÓÃÓÚ¶¨Òå
SCA ·þÎñ»òÒýÓÃËùÖ§³ÖµÄ·ÃÎÊÐÒ飬SCA Ö§³Ö¶àÖְ󶨼¼Êõ£¬Æä¿ÉÀ©Õ¹¿ò¼Üͬʱ֧³Ö¿ª·¢ÈËÔ±Ìí¼ÓÆäËû°ó¶¨¼¼Êõ£¬Ä¿Ç°
SCA ¶¨ÒåÁË JMS¡¢Web Service µÈ°ó¶¨¼¼Êõ¡£
ÏÂÃæ¸ø³öÁË SCA ĿǰËù°üº¬µÄ 16 ¸ö¹æ·¶£¬ËùÓй淶µÄ×îа汾ºÅ¶¼ÊÇ
1.0£º
1¡¢ºËÐĹ淶
SCA Assembly Model
SCA Policy Framework
SCA Transaction Policy
SCA Assembly Extensions for Event Processing
2¡¢×é¼þʵÏÖ¼¼Êõ¹æ·¶
SCA Java Common Annotations and APIs
SCA Java Component Implementation
SCA Spring Component Implementation
SCA BPEL Client and Implementation
SCA C++ Client and Implementation
SCA COBOL Client and Implementation
SCA C Client and Implementation
SCA Java EE Integration Specification
3¡¢°ó¶¨¼¼Êõ¹æ·¶
SCA Web Services Binding
SCA JMS Binding
SCA EJB Session Bean Binding
SCA JCA Binding
SCA ÔÚÍÆ³öÖ®³õ£¬²¢Ã»ÓÐÕâô¶à¹æ·¶£¬Ò»Ð©¹æ·¶ÊÇËæ×Å SCA µÄ·¢Õ¹¶øµ®ÉúµÄ£¬ÔÚ½ñºóµÄ·¢Õ¹ÖУ¬OSOA
×éÖ¯Òà¿ÉÄÜÍÆ³ö¸ü¶àµÄ¹æ·¶£¬ÏÂÃæ½éÉÜÏ SCA µÄÑÝ»¯¼°ÑÝ»¯¹ý³ÌÖи÷°æ±¾µÄÖ÷񻂿±ð¡£
SCA µÄÑÝ»¯
IBM µÈ¹«Ë¾ËäÈ»ÓÚ 2005 Äê 11 Ô²ŵÚÒ»´ÎÕýʽ·¢²¼ SCA ¹æ·¶£¬µ«Êµ¼ÊÉÏ£¬IBM WebSphere
Process Server 6.0 °æ±¾ÖбãÒѾʵÏÖÁËÒ»¸ö×î³õµÄ SCA£¬Í¬Ê± IBM WebSphere
Integration Developer »¹ÌṩÁË¿ª·¢¹¤¾ßÓÃÓÚ¿ª·¢ SCA Ó¦Óá£Ä¿Ç°£¬SCA ϵÁй淶ÒѾ·¢Õ¹µ½ÁË
1.0 °æ±¾£¬ÔÚÔËÐÐÈÝÆ÷·½Ã棬IBM¡¢Oracle µÈÖ÷Á÷³§ÉÌÒàÔÚ¿ª·¢Ö§³Ö SCA µÄÔËÐÐÈÝÆ÷£¬IBM
WebSphere Process Server 7.0 ͨ¹ýÀûÓà Apache Tuscany ÏîÄ¿µÄºËÐÄ´úÂ룬ÒѾ¿ÉÒÔÖ§³Ö
SCA 1.0 ²¿·Ö¹æ·¶¡£
SCA ·¢Õ¹ÖÁ½ñ£¬ÒѾ¾ÀúÁ˶à¸ö°æ±¾£¬ÎÒÃÇ¿ÉÒÔ¸ù¾Ýʱ¼ä˳Ðò£¬°Ñ SCA µÄ·¢Õ¹·ÖΪÈý¸ö½×¶Î£º1. ÆðÔ´½×¶Î£¬¼´
IBM Ê×´ÎÔÚ WPS 6.0 ÖÐËùÖ§³ÖµÄ SCA£»2. ·¢Õ¹½×¶Î£¬¼´ IBM ÁªºÏÆäËû³§ÉÌÔÚ 05 ÄêÊ״ι«¿ªÍƳöµÄ
SCA 0.9 °æ±¾£»3. ³ÉÊì½×¶Î£¬¼´ OSOA ÓÚ 07 ÄêÍÆ³öµÄ SCA 1.0 °æ±¾¡£ÏÂÃæ£¬ÎÒÃÇÖ÷Òª½éÉÜÕâÈý¸ö½×¶ÎÖÐ
SCA ºËÐĹ淶µÄ·¢Õ¹ºÍ´øÀ´µÄÇø±ð¡£
ÆðÔ´ - WPS ÖÐËùÖ§³ÖµÄ SCA
SCA ÓÉ IBM ÓÚ WebSphere Process Server 6.0 °æ±¾ÖÐÊ×´ÎÌá³ö£¬WPS
Ϊ²¿ÊðºÍÔËÐÐ SCA Ó¦ÓõÄÈÝÆ÷£¬IBM WebSphere Integration Developer
ÔòÌṩÁË»ùÓÚ Eclipse 3.0 µÄ¿ª·¢¹¤¾ßÀ´¿ª·¢ºÍ²¿Êð SCA Ó¦Óá£
IBM WPS V6.0 ÖÐµÄ SCA ÒѾ¸ø³öÁËÍêÕûµÄ SCA ×°ÅäÄ£ÐÍ£¬²¢ÌṩÁËÒ»¸öʵÏÖ QoS£¨Quality
of Service£©µÄ»úÖÆ¡£ÏÂÃæ£¬ÎÒÃǾͽ« WPS 6.0 ÖÐµÄ SCA µÄ×°ÅäÄ£ÐÍºÍ QoS »úÖÆºÍ
1.0 °æ±¾×ö¸ö±È½Ï¡£ÓÉÓÚ±¾ÎÄÖ÷Òª½éÉÜ SCA ¸÷°æ±¾ÑÝ»¯¹ý³ÌÖеÄÇø±ð£¬¶ø²»»áÏêϸ½éÉܸ÷°æ±¾µÄ¾ßÌåÄÚÈÝ£¬¶ÁÕß¿Éͨ¹ý²Î¿¼ÎÄÏ×Õ½ڣ¬»ñÈ¡¸÷°æ±¾µÄÏêϸ×ÊÁÏ¡£
×°ÅäÄ£ÐÍ
WPS 6.0 ÖÐµÄ SCA ÖеÄ×°ÅäÄ£ÐÍºÍ SCA ×°ÅäÄ£ÐÍ 1.0 Ïà±È£¬Ö÷ÒªÓÐÁ½µãÇø±ð£º1. ÐÞ¸ÄÁË×é¼þÄ£ÐÍÖв¿·Ö¸ÅÄîÃû³Æ£»2.
ȱ·¦È縴ºÏ×é¼þ£¨Composite£©¼°Ç¶Ì××°Å䣨Recursive Assemble£©µÈ¸ÅÄî¡£
¸ÅÄîÃû³ÆµÄÐÞ¸Ä
WPS 6.0 ÖÐµÄ SCA ×°ÅäÄ£ÐÍºÍ SCA ×°ÅäÄ£ÐÍÏà±È£¬»ù±¾ÄÚÈÝÏàËÆ£¬µ«²¿·Ö¸ÅÄîÃû³ÆÒѾ·¢ÉúÁ˱仯£¬Í¼
1 ¸ø³öÁË WPS 6.0 ÖÐ SCA ×é¼þÄ£ÐÍʾÒâͼ¡£

ͼ 1 . WPS 6.0 ÖÐµÄ SCA
×é¼þÄ£ÐÍʾÒâͼ
ͼÖеļýÍ· 1 ËùÖ¸µÄµ¼È루Import£©¾ÍÊÇĿǰ SCA ÖеÄÒýÓã¨Reference£©£¬¼ýÍ· 2
ËùÖ¸µÄµ¼³ö£¨Export£©¾ÍÊÇĿǰµÄ·þÎñ£¨Service£©£¬¼ýÍ· 3 ËùÖ¸µÄ¶ÀÁ¢ÒýÓã¨Standalone
reference£©ÔÚ 0.9 ÒÔ¼°ºóÐø°æ±¾ÖÐÒѾÏûʧ£¬·Ç SCA Ó¦ÓõĿͻ§¶Ë¿ÉÒÔͨ¹ýµ±Ç°Ä£¿éµÄÉÏÏÂÎĶÔÏó£¨context£©À´»ñȡָ¶¨Ãû³ÆµÄ·þÎñʵÀý¡£
ÉÏÃæµÄÕâ 3 ¸ö±ä»¯¶¼·¢ÉúÔÚ SCA Ä£¿é£¨Module£©²ã´Î£¬Êµ¼ÊÉÏ£¬ÔÚ×é¼þ£¨Component£©²ã´ÎÉÏ£¬WPS
6.0 ÖÐµÄ SCA ÒÀÈ»°üº¬·þÎñºÍÒýÓÃÁ½¸ö¸ÅÄî¡£ÄÇôΪʲôÔÚ×îа汾ÖÐÒªÐÞ¸ÄÕ⼸¸ö¸ÅÄîÃû³Æ£¬ÔÒòÓÐÁ½µã£º1.
¿ÉÒÔ¼ò»¯ SCA ÖеĸÅÄ²¢Äܹ»¶Ô SCA µÄ×é¼þÄ£ÐÍÓÐÒ»¸öÒ»ÖµÄÃèÊö£»2. ´Ó±¾ÖÊÉÏ¿´£¬Ä£¿é²ã´ÎÉϵĵ¼³öºÍµ¼ÈëÏà±È×é¼þ²ã´ÎÉϵķþÎñºÍÒýÓã¬Êµ¼ÊÉÏÊÇͬһ¸ö¶«Î÷£¬Ö»²»¹ý¿É¼ûÐÔ²»Í¬¡£
ȱ·¦È縴ºÏ×é¼þµÈ¸ÅÄî
×Ô SCA 0.95 Æð£¬SCA ÐÂÔöÁ˸´ºÏ×é¼þÕâ¸ö¸ÅÄîÀ´´úÌæÄ£¿éÕâ¸ö¸ÅÄ²¢ÇÒ¸´ºÏ×é¼þ¿ÉÒÔ×÷Ϊ×é¼þµÄʵÏÖ£¬´Ó¶øÐγÉǶÌ××é¼þ×°Å䣬ǶÌ××é¼þ×°ÅäÄ£Ð͸üÁé»îÇ¿´ó£¬¸üÈÝÒ×Ö§³Ö×é¼þ×°Å俪·¢¡£
ÔÚ²¿ÊðºÍ´ò°ü·½Ã棬WPS V6.0 ÖÐµÄ SCA ²¢Ã»ÓжÔÕâ·½Ãæ×öÏêϸ¶¨Ò壬¶ø SCA ×Ô 0.9 Æð£¬Ôö¼ÓÁ˶Դò°üºÍ²¿Êð×÷ÁËÏà¹Ø¶¨Òå¡£
ÁíÍ⣬WPS V6.0 ÖÐµÄ SCA ÖÐµÄ Java ʵÏÖ²¢²»Ö§³ÖÓà Annotation À´ÃèÊö×é¼þÐÅÏ¢¡£
ÔÚ¿ÉÀ©Õ¹ÐÔÖ§³Ö·½Ã棬WPS V6.0 ÖÐµÄ SCA ²»Ö§³ÖÈκνӿڡ¢ÊµÏֺͰ󶨵ÄÀ©Õ¹¡£
QoS µÄ»úÖÆ
ÔÚ WPS V6.0 ÖУ¬¿ª·¢ÈËÔ±¿ÉÒÔͨ¹ýÏÞ¶¨·û£¨qualifier£©À´¶ÔÒýÓᢽӿںÍʵÏÖÈý¸öµØ·½À´½øÐÐÉùÃ÷ʽµÄ
QoS Ó¦Ó㬸à QoS ÉùÃ÷»úÖÆ¿ÉÒÔÖ§³ÖÊÂÎñ¡¢°²È«ÐԺͿɿ¿µÄÒì²½µ÷Ó᣶ø SCA ×îа汾ÖÐÒѾûÓÐÁËÏÞ¶¨·ûÕâ¸ö¸ÅÄÆä
QoS »úÖÆÓɲßÂÔ¿ò¼Ü¹æ·¶¶¨Ò壬Ö÷ÒªÓÉ Intent ºÍ Policy Set Á½²¿·Ö×é³É£¬²¢Í¬Ê±Ö§³Ö
Annotation ºÍ XML ÉùÃ÷ʽ¶¨Òå¡£
ͨ¹ýÒÔÉϵķÖÎö½éÉÜ£¬¿ÉÒÔ·¢ÏÖÆðÔ´½×¶ÎµÄ SCA ºÍ×îÐ嵀 SCA 1.0 Ïà±È£¬±ä»¯½Ï¶à£¬ÏÂÃæÎÒÔÙÀ´Á˽âÏÂ
SCA µÄ·¢Õ¹½×¶Î¡£
·¢Õ¹ - SCA 0.9 ϵÁй淶
ÔÚ SCA 0.9 °æ±¾·¢²¼Ö®Ç°£¬SCA Ö»ÊÇ IBM ÄÚ²¿µÄÒ»¸ö×é¼þ±à³Ì¹æ·¶£¬¶ø×Ô 0.9 Æð£¬IBM¡¢Oracle
µÈÖ÷Á÷³§ÉÌ¿ªÊ¼×ßµ½Ò»Æð¹²Í¬ºÏ×÷²¢Íƶ¯ SCA ³ÉΪ SOA µÄ±à³Ì¹æ·¶¡£0.9 °æÓÚ 2005 Äê 11
ÔÂÕýʽ·¢²¼£¬ËüÊÇÔÚ WPS V6.0 µÄ»ù´¡ÉÏ·¢Õ¹µÄ£¬Ö÷ÒªÓÐÒÔÏ 3 ¸ö·½ÃæµÄ·¢Õ¹£º1. ÐÞ¸ÄÁ˲¿·Ö¸ÅÄîÃû³Æ£»2.
Ìá³öÁËÒ»¸ö¿ÉÀ©Õ¹Ä£ÐÍ£»3. Ìá³öÁËеIJßÂÔ¿ò¼Ü²¢¸ø³öÁ˹ØÓÚ SCA Ó¦Óôò°üºÍ²¿Êð·½ÃæµÄ¶¨Òå¡£ÏÂÃæ×÷·Ö±ð½éÉÜ¡£
¸ÅÄîÃû³ÆµÄÐÞ¸Ä
SCA 0.9 ͬ WPS V6.0 ÖÐµÄ SCA Ïà±È£¬×é¼þÄ£Ðͱ仯²»´ó¡£ÔÚ¸ÅÄîÉÏ£¬Ö÷ÒªÊÇÈ¡ÏûÁ˶ÀÁ¢ÒýÓÃÕâ¸ö¸ÅÄ·Ç
SCA ¿Í»§¶Ëͨ¹ý»ñȡģ¿éµÄÉÏÏÂÎĶÔÏóÀ´»ñÈ¡·þÎñʵÀý£¬µ¼Èë±ä³ÉÁËÍⲿ·þÎñ£¨External Service£©£¬Ä£¿éÄÚ²¿µÄ×é¼þÒ»ÂÉͨ¹ýÍⲿ·þÎñÀ´µ÷ÓÃÍⲿ
SCA »ò·Ç SCA ·þÎñ£¬ÁíÍâµ¼³ö±ä³ÉÁË·þÎñÈë¿Ú£¨Entry Point£©£¬Í¼ 2 Ϊ SCA 0.9
µÄ×°ÅäÄ£ÐÍʾÒâͼ¡£

ͼ 2 . SCA 0.9 ×°ÅäÄ£ÐÍʾÒâͼ
ͬ SCA 1.0 Ïà±È£¬ÉÏÃæµÄ¸ÅÄîÃû³ÆÓÖ·¢ÉúÁ˱仯£¬·þÎñÈë¿Ú±ä³ÉÁË·þÎñ£¬Íⲿ·þÎñ¸ÄΪÒýÓá£
¿ÉÀ©Õ¹Ä£Ð͵ÄÌá³ö
¿ÉÀ©Õ¹Ä£ÐÍÊÇ SCA 0.9 ֮ͬǰ°æ±¾µÄ×î´óÇø±ðÖ®Ò»£¬ÔÚ֮ǰµÄ°æ±¾ÖУ¬¿ª·¢ÈËÔ±Ö»ÄÜʹÓà WPS ËùÖ§³ÖµÄʵÏÖ¡¢½Ó¿ÚÒÔ¼°°ó¶¨£¬µ«ÔÚ
0.9 °æ±¾£¬¿ª·¢ÈËÔ±¿ÉÒÔͨ¹ý×ñÑ¿ÉÀ©Õ¹Ä£ÐÍ£¬¿ª·¢×Ô¼ºËùÏëÒªµÄ½Ó¿Ú¡¢ÊµÏֺͰ󶨼¼Êõ¡£¿ÉÀ©Õ¹Ä£Ð͵ijöÏÖ£¬Ê¹µÃ
SCA ±äµÃ¸ü¼ÓÁé»î£¬±Ï¾¹Ä¿Ç°ÓжàÖÖʵÏÖ¡¢½Ó¿ÚÒÔ¼°°ó¶¨¼¼Êõ£¬²¢ÇÒ½ñºó»¹»áÓиü¶àµÄ¼¼Êõ³öÏÖ¡£SCA ×÷Ϊһ¸ö²àÖØÓÚ½«´«Í³Ó¦Ó÷âװΪ·þÎñµÄÒ»¸ö×é¼þÄ£ÐÍ£¬ÓбØÒªÍ¨¹ý¿ÉÀ©Õ¹µÄ·½Ê½£¬Ö§³Ö¿ª·¢ÈËÔ±À´Ôö¼ÓÆäËùÐèÒªµÄ¸÷ÖÖʵÏÖ¡¢½Ó¿ÚÒÔ¼°°ó¶¨¡£
²ßÂÔ¿ò¼ÜºÍ´ò°üÓ벿ÊðµÄÌá³ö
WPS V6.0 ÖÐµÄ SCA ͨ¹ýÏÞ¶¨·ûÀ´Ö§³Ö QoS£¬µ«Æä²¢Ã»ÓÐÌá³öÒ»¸öÍêÕûµÄ¿ÉÀ©Õ¹µÄ²ßÂÔ¿ò¼Ü£¬¶ø
SCA0.9 Ê×´ÎÔÚ¸½Â¼ÖÐÌá³öÁËÒ»¸ö¿ÉÀ©Õ¹µÄÉùÃ÷ʽµÄ²ßÂÔ¿ò¼Ü¡£
SCA 0.9 »¹ÔÚ¸½Â¼Öиø³öÁË SCA Ó¦ÓõĴò°üºÍ²¿Ê𣬲¢Òò´ËÔö¼ÓÁË×Óϵͳ£¨Subsystem£©Õâ¸ö¸ÅÄÒòΪÔÚʵ¼ÊÓ¦Óã¬Í¬Ò»¸öÒµÎñ×ÓϵͳÖбØÈ»»áÓɶà¸öÄ£¿é¹²Í¬×é³É£¬ÄÇô×ÓϵͳÔòÊÇÓÃÓÚ½«ÕâЩģ¿é°üº¬ÔÚÒ»Æð£¬Ò»¸ö×Óϵͳ¿ÉÒÔ°üº¬¶à¸öÄ£¿é£¬²¢ÇÒÒ²¿ÉÒÔÌṩ·þÎñÈë¿Ú¹©ÆäËû¿Í»§¶Ëµ÷Óã¬Í¬Ê±Ò²¿ÉÒÔͨ¹ýÍⲿ·þÎñÀ´µ÷ÓÃÍⲿ
SCA ºÍ·Ç SCA ·þÎñ¡£×ÓϵͳµÄÌá³öʹµÃ SCA ×é¼þÄ£ÐÍ¿ÉÒÔÔÚ´ÖÁ£¶ÈÉÏÖ§³Ö×é¼þµÄ×°Åä¡£ÔÚ´ò°üºÍ²¿Êð·½Ã棬SCA
¼ÈÔÊÐí´ò°üºÍ²¿Êð SCA Ä£¿é£¬Òà¿ÉÒÔ´ò°üºÍ²¿Êð SCA ×Óϵͳ¡£
SCA 0.9 ËäÈ»ÊǵÚÒ»¸öÕýʽ¹«¿ª·¢²¼µÄ°æ±¾£¬µ«ÊÇËüʵ¼ÊÉÏÊÇÒ»¸ö¹ý¶É°æ±¾£¬Ïà±È WPS V6.0 ÖеÄ
SCA£¬ËäÈ»ÓÐÐ©Çø±ð£¬µ«²î±ð²¢²»Ã÷ÏÔ£¬²ßÂÔ¿ò¼ÜËäÈ»ÓкܴóµÄ²î±ð£¬µ«ÊÇËüÖ»ÊÇÌá³öÁËÒ»¸ö´ó¸ÅµÄ¿ò¼Ü¡£ÔÚ 0.9
°æ±¾·¢²¼ºó²»¾Ã£¬OSOA ×éÖ¯Ïà¼Ì·¢²¼ÁË 0.95¡¢0.96 µÈ°æ±¾£¬²¢ÓÚ 07 Äê·¢²¼ÁË SCA ϵÁй淶µÄ
1.0 °æ±¾¡£ÏÂÃæÎÒÃǾÍÀ´Á˽âÏ SCA ÔÚ³ÉÊì½×¶ÎÖеı仯¡£
³ÉÊì - SCA 1.0
×÷Ϊһ¸ö³ÉÊìµÄ°æ±¾£¬SCA 1.0 ¸üΪÍêÉÆ£¬Í¬ SCA 0.9 Ïà±È£¬Ö÷ÒªÓÐÈýµã±ä»¯£º1. ÖØÐÂÕûÀíÁ˲¿·Ö¸ÅÄîÃû³Æ£¬Ê¹µÃÕû¸ö×°ÅäÄ£ÐÍÖеĸÅÄî±íÊö¸ü¼ÓÒ»Ö£»2.
Ìá³öÁËеÄǶÌ××°ÅäÄ£ÐÍ£»3. Ìá³öÁËÍêÉÆµÄ²ßÂÔ¿ò¼Ü¡£Í¼ 3 Ϊ SCA 1.0 ×é¼þ×°ÅäÄ£ÐÍʾÒâͼ¡£ÏÂÃæ½«·Ö±ð½éÉÜÕâÈýµã¡£

ͼ 3 . SCA 1.0 ×é¼þ×°ÅäÄ£ÐÍͼ
¸ÅÄîÕûÀí
SCA 1.0 ÖØÐÂÐÞ¸ÄÁËÄ£¿é²ã´ÎÉϵķþÎñºÍÒýÓõÄÃû³Æ£¬¸ÄΪʹÓÃ×é¼þ²ã´ÎÖÐʹÓõķþÎñºÍÒýÓã¬Ê¹µÃ×é¼þÄ£Ð͸ÅÄîµÄ±íÊö¸üΪһÖ¡£ÁíÍâËüÅׯúÁËÄ£¿éÕâ¸ö¸ÅÄ¶øÊ¹Óø´ºÏ×é¼þÕâ¸öµ±Ç°¸ü¹ãΪʹÓõÄÃû³Æ£¬Í¬Ê±ÔÚ´ò°üºÍ²¿Êð·½Ã棬ÅׯúÁË×ÓϵͳÕâ¸ö¸ÅÄ²¢ÓÉÓò£¨domain£©Õâ¸ö¸ÅÄî´úÌæ£¬ÁíÍ⻹Ôö¼ÓÁ˹±Ï×£¨contribution£©Õâ¸ö¸ÅÄ²¢ÓÉ
XML ÃèÊöÎļþÀ´ÃèÊöÕâЩһÆð´ò°üµÄ¹¹¼þ¼äµÄÒÀÀµ¹ØÏµÒÔ¼°ËùÐèÒªµÄÆäËû¹¹¼þ£¬Èç Java ÀàµÈ¡£
ǶÌ××é¼þ×°ÅäÄ£Ð͵ÄÌá³ö
ÔçÆÚ°æ±¾µÄ SCA Ö»ÄÜÖ§³ÖÄ£¿é°üº¬×é¼þ£¬¶ø²»ÄÜÖ§³Ö×é¼þÔÙǶÌ×°üº¬Ä£¿é£¬Èç¹ûÐèÒª½«Áíһģ¿éÖеķþÎñ×÷Ϊ±¾Ä£¿éµÄ·þÎñ¹«¿ª£¬ÐèҪͨ¹ýµ÷ÓÃÄ¿±êÄ£¿éµÄ·þÎñÈë¿Ú£¬²ÅÄÜʹÓÃÆäËûÄ£¿éµÄ·þÎñ£¬ÓÉÓÚ²»ÄÜÖ§³ÖǶÌ××°Å䣬×é¼þºÜÄÑʹÓÃÒÑÓеÄÄ£¿éÖÐÌṩµÄ¹¦ÄÜ£¬µ¼ÖÂÄ£¿éµÄ¿É¸´ÓÃÐÔ½µµÍ£¬ÁíÍâÓÉÓÚ×é¼þµÄÁ£¶È̫ϸ£¬²»Ö§³Ö×é¼þǶÌ×£¬ÈÝÒ×µ¼ÖÂÒ»¸öÄ£¿é°üº¬´óÁ¿×é¼þµÄÏÖÏó£¬Õ⽫»áÔö¼Ó³ÌÐòά»¤µÄ¸´ÔÓ¶È¡£
ǶÌ××é¼þ×°ÅäÄ£ÐÍÈ¥µôÁËÄ£¿éÕâ¸ö¸ÅÄת¶øÓɸ´ºÏ×é¼þ´úÌæ¡£¸´ºÏ×é¼þÓɶà¸ö×é¼þ×°Åä¶ø³É£¬¸÷×é¼þµÄʵÏÖ¿ÉÒÔÊÇÁíÍâµÄ¸´ºÏ×é¼þ£¬´Ó¶øÊµÏÖÁË×é¼þµÄµÝ¹éǶÌ×£¬ÕâÑù¿ÉÒԺܷ½±ãµÄÖØÓÃÒÑÓеĸ´ºÏ×é¼þ¡£Çåµ¥
1 ÊÇ OSOA ÍøÕ¾¸ø³öµÄʾÀý¸´ºÏ×é¼þµÄÃèÊöÎļþ£¬¿ÉÒÔ·¢ÏÖ SCA ͨ¹ý implementation.composite
À´½«¸´ºÏ×é¼þ×÷Ϊ×é¼þµÄʵÏÖ¡£
Çåµ¥ 1. ¸´ºÏ×é¼þ×÷Ϊ×é¼þʵÏÖµÄʾÀý´úÂë
<compositexmlns="http://www.osoa.org/xmlns/sca/1.0" xmlns:bb="http://bigbank.com" targetNamespace="http://bigbank.com" name="bigbank.AccountManagement">
<component name="bigbank.Account">
<implementation.composite name="bb:bigbank.Account"
/>
<property name="currency">EURO</property>
<reference name="stockQuoteService">
http://www.eurosq.com/SQService
</reference>
</component>
</composite> |
²ßÂÔ¿ò¼ÜµÄÍêÉÆ
SCA 1.0 ¸ø³öÁËÒ»¸öÍêÉÆµÄ²ßÂÔ¿ò¼Ü£¬¸Ã¿ò¼Üͨ¹ýÉùÃ÷ʽµÄÉ趨£¬¿ÉÒÔʹµÃͬһ¸ö SCA ×é¼þÄܹ»Í¨¹ýÅäÖÃʵÏÖ²»Í¬µÄ
QoS µÄÐèÇ󡣸ÿò¼ÜÓÐÁ½¸öÖØÒªµÄ¸ÅÄ1.Intent£¬intent ÊÇÒ»¸ö³éÏóµÄ QoS ÐèÇ󣬱ÈÈçÏûÏ¢´«ÊäÖÐÐèÒª¹Ø×¢µÄ±£ÃÜÐÔ£¨confidentiality£©ºÍ¿É¿¿ÐÔ£¨reliability£©µÈ£»2.
Policy Set£¬ÏµÍ³ÔÚ SCA Ó¦Óò¿ÊðʱÆÚ£¬½« intent ͨ¹ý policy set Ó³Éäµ½¾ßÌåµÄ
policy£¬´Ó¶øÎª SCA ×é¼þÓ¦ÓþßÌåµÄ policy¡£ÓÉÓÚ SCA µÄ²ßÂÔ¿ò¼Ü²¢²»ÊDZ¾ÎĵÄÖØµã£¬¶ÁÕß¿ÉÒÔͨ¹ý²Î¿¼ÎÄÏ×Öиø³öµÄÁ´½Ó£¬»ñÈ¡¸ü¶àÓйزßÂÔ¿ò¼ÜµÄÐÅÏ¢¡£
ͨ¹ýÉÏÃæµÄ½éÉÜ£¬¿ÉÒÔ¿´³ö SCA 1.0 ¸ü¼Ó³ÉÊìºÍÍêÉÆ£¬Ä¿Ç°¸÷´ó³§ÉÌÒ²Õý»ùÓÚ SCA 1.0 À´¿ª·¢ÔËÐÐÈÝÆ÷¡£
¸÷°æ±¾Çø±ð¶ÔÕÕ±í
Ç°ÃæµÄÈý¸öС½Ú½éÉÜÁË SCA ÔÚÈý¸ö½×¶ÎÖеÄÑÝ»¯ºÍÇø±ð£¬ÏÂÃæÍ¨¹ý±í¸ñµÄÐÎʽ£¬¶ÔÑÝ»¯ÖвúÉúµÄÈý¸öÖØÒª°æ±¾×öÒ»¸ö¶Ô±È×ܽ᣺

±¾½Ú½« SCA µÄÑÝ»¯·ÖΪÈý¸ö½×¶Î£¬²¢·Ö±ð½éÉÜÁËÕâÈý¸ö½×¶ÎÖÐ SCA µÄ·¢Õ¹ºÍÇø±ð£¬ÏÂÃæ¼¸¸öС½Ú£¬ÎÒÃǽ«
SCA ÓëÁíÒ»¸öµ±Ç°µÄÈȵ㼼Êõ OSGi ×÷Ïà¹Ø±È½Ï¡£
OSGi
ʲôÊÇ OSGi
OSGi ÁªÃ˳ÉÁ¢ÓÚ 1999 Äê 3 Ô£¬ÖÂÁ¦ÓÚÖÆ¶¨¹ÜÀí±¾µØÍøÂçÉ豸·þÎñµÄ¹æ·¶¡£OSGi ÁªÃËÊÇΪ¼ÒÓÃÉ豸¡¢Æû³µ¡¢ÊÖ»ú¡¢×ÀÃæ¡¢Ð¡ÐͰ칫»·¾³ÒÔ¼°ÆäËû»·¾³Öƶ¨ÏÂÒ»´úÍøÂç·þÎñ±ê×¼µÄÁìµ¼Õß¡£OSGi
È«ÃûÔΪ Open Services Gateway initiative£¬µ«ÏÖÔÚÕâ¸öÈ«ÃûÒѾ·ÏÆú¡£
OSGi ÁªÃË»ùÓÚËü³ÉÁ¢Ö®³õµÄʹÃü£¬ÍƳöÁË OSGi ·þÎñƽ̨¹æ·¶£¬ÓÃÓÚÌṩ¿ª·ÅºÍͨÓõļܹ¹£¬Ê¹µÃ·þÎñÌṩÉÌ¡¢¿ª·¢ÈËÔ±¡¢Èí¼þÌṩÉÌ¡¢Íø¹Ø²Ù×÷ÕߺÍÉ豸ÌṩÉÌÒÔͳһµÄ·½Ê½¿ª·¢¡¢²¿ÊðºÍ¹ÜÀí·þÎñ¡£
Ŀǰ×î¹ãΪÈϿɺÍÓ¦ÓõÄÊÇ OSGi ¹æ·¶ 4£¨R4£¬Release 4£©£¬Æä×îа汾ÊÇ 4.2£¬¹²ÓɺËÐĹ淶¡¢±ê×¼·þÎñ£¨Standard
Services£©¡¢¿ò¼Ü·þÎñ£¨Framework Services£©¡¢ÏµÍ³·þÎñ£¨System Services£©¡¢ÐÒé·þÎñ£¨Protocol
Services£©¡¢»ìºÏ·þÎñ£¨Miscellaneous Services£©µÈ¼¸²¿·Ö¹²Í¬×é³É¡£ºËÐĹ淶ÊÇ
OSGi ¹æ·¶ÖеĺËÐIJ¿·Ö£¬Ëüͨ¹ýÒ»¸ö·Ö²ãµÄ¿ò¼Ü£¬ÊµÏÖÁË OSGi ×îΪ³É¹¦µÄ¶¯Ì¬²å¼þ»úÖÆ£¬ËüÖ÷ÒªÌṩÁË£º1.
OSGi Bundle µÄÔËÐл·¾³£»2. OSGi Bundle ¼äµÄÒÀÀµ¹ÜÀí£»3. OSGi Bundle
µÄÉúÃüÖÜÆÚ¹ÜÀí£»4. OSGi ·þÎñµÄ¶¯Ì¬½»»¥Ä£ÐÍ¡£
ËäÈ» OSGi ÔÚǶÈëʽӦÓ÷½ÃæÓгɹ¦µÄ°¸Àý£¬±ÈÈ籦ÂíÆû³µµÄǶÈëʽӦÓ㬵«ÕæÕýÈà OSGi µÃµ½ÈϿɺ͹Ø×¢µÄÔòÊÇ
Eclipse ÏîÄ¿¡£Eclipse ÊÇÄ¿Ç°ÖøÃûµÄÒ»¸ö IDE£¬Æä×î´óµÄÁ½¸öÌØµãÊDzå¼þºÍÀ©Õ¹£¬¶øÆäʵ²å¼þ»úÖÆÕýÊÇͨ¹ýʵÏÖ
OSGi ¹æ·¶ÊµÏֵġ£ÏÂÃæÎÒÃÇÁ˽âÏ Eclipse µÄºËÐÄ Equinox ÏîÄ¿¡£
Equinox ¨C OSGi R4 µÄʵÏÖ
Equinox ×÷Ϊ Eclipse ÏîÄ¿ÖеÄÒ»¸ö×ÓÏîÄ¿£¬ÊÇ Eclipse µÄÔËÐкËÐÄ£¨runtime£©£¬ËüÊÇ
OSGi R4 ºËÐĹ淶µÄ²Î¿¼ÊµÏÖ¡£Eclipse ¹¹½¨ÔÚ Equinox ÏîĿ֮ÉÏ£¬ÌṩÁË OSGi
Ëù¶¨ÒåµÄ¶Ô Bundle ¶¯Ì¬²å°ÎµÄ¹¦ÄÜ¡£
Equinox ÏîÄ¿µÄÄ¿µÄÊdzÉΪһ¸öÒ»Á÷µÄ OSGi ÉçÇøÏîÄ¿£¬²¢×÷Ϊ Eclipse ÏîÄ¿µÄÊÔÑéÌÀ´¿ª·¢ºÍ·¢²¼
Eclipse ÏîÄ¿ÖÐËùÐèÒªÓõ½µÄ OSGi ¿ò¼ÜʵÏÖ£¬¾ßÌåµÄ½²£¬Equinox ÏîÄ¿ÓÐÒÔϼ¸·½ÃæµÄÖ°Ôð£º
1¡¢ÊµÏÖ OSGi ¹æ·¶ÖÐËù¶¨ÒåµÄËùÓÐÄÚÈÝ
2¡¢µ÷²éºÍÔ¤ÑÐ OSGi ¹æ·¶µÄδÀ´°æ±¾
3¡¢¿ª·¢·Ç±ê×¼µÄµ«ÊDZØÒªµÄ»ù´¡ÉèÊ©£¨Infrastructure£©£¬ÓÃÓÚÔËÐкÍά»¤»ùÓÚ
OSGi µÄϵͳ
4¡¢ÊµÏÖ Eclipse ÖÐËùÐèÒªµÄ¿ò¼Ü·þÎñºÍÀ©Õ¹£¬±ÈÈç Eclipse
Adaptor ºÍ Extension registry£¨OSGi ¹æ·¶ÖÐûÓж¨ÒåÀ©Õ¹»úÖÆ£©
Equinox ĿǰÊÇËæ×Å Eclipse °æ±¾¶ø·¢²¼µÄ£¬Í¬Ê±£¬ËüÒ²Ìṩ¶ÀÁ¢µÄÏÂÔØ£¬ÔÚ¶ÀÁ¢µÄÏÂÔØÒ³ÃæÖпÉÒÔÏÂÔØµ½
Equinox ¶ÔÓÚ OSGi R4 µÄËùÓÐʵÏÖÒÔ¼° Equinox À©Õ¹ OSGi R4 ¶øÌṩµÄ Bundle¡£
Á˽âÁË OSGi ÒÔ¼° SCA£¬ÎÒÃDZã¿ÉÒÔ½« SCA Óë OSGi ×öÏà¹Ø·ÖÎö±È½Ï¡£
SCA Óë OSGi µÄ·ÖÎö±È½Ï
SCA ºÍ OSGi ÓÐ×Ų»Í¬µÄÌá³ö±³¾°ºÍ³ö·¢µã£¬SCA ¹æ·¶ÊÇΪÁËÆóÒµÓ¦Óü¯³É¶øÖƶ¨£¬OSGi ¹æ·¶µÄ³õÖÔÔòÊÇÎªÒÆ¶¯É豸¼ÆËã¶øÖÆ¶¨µÄ¡£ÓÉÓÚ¶þÕߵijö·¢µã²»Ò»Ñù£¬µ¼ÖÂÁËÁ½¸ö¹æ·¶µÄ²àÖØµã²»Ò»Ñù¡£µ«ÊÇËæ×Å
OSGi µÄ³ÉÊ죬OSGi ÁªÃËÓÚ×î½ü³ÉÁ¢ÁËÆóҵר¼Ò×飨EEG£¬Enterprise Expert Group£©£¬¿ªÊ¼´øÁì
OSGi ½ø¾üÆóÒµÓ¦ÓÃÁìÓò£¬Õ⽫ʹµÃ OSGi Óë SCA ÓÐÁËÔ½À´Ô½¶àµÄ½»²æ¡£Òò´Ë£¬·ÖÎöÕâÁ½ÖÖ¼¼Êõ£¬½«ÓÐÖúÓÚ¶ÔÕâÁ½ÖÖ¼¼ÊõµÄÀí½â£¬²¢¿ÉÒÔͨ¹ý¼¯³É»ò½è¼ø¶Ô·½À´´Ù½øÕâÁ½ÖÖ¼¼ÊõµÄ·¢Õ¹¡£ÏÂÃæÎÒÃǽ«Ê×ÏȽéÉÜÕâÁ½ÖÖ¼¼ÊõµÄ¹Ø×¢µã£¬È»ºó¶ÔÕâÁ½ÖÖ¼¼Êõ×ö·ÖÎö±È½Ï¡£
SCA ºÍ OSGi ¸÷×ԵĹØ×¢µã·ÖÎö
Ö»ÓÐÁ˽âÁË SCA ºÍ OSGi µÄ¹Ø×¢µã£¬ÎÒÃDzÅÄܸüºÃµÄÁ˽âÕâÁ½ÖÖ¼¼ÊõµÄÓ¦Óó¡¾°£¬Ò²²ÅÄܸüΪ¿Í¹ÛµÄ½«ÕâÁ½ÖÖ¼¼Êõ×ö±È½Ï£¬ÏÂÃæÌÖÂÛÏÂÕâÁ½ÖÖ¼¼ÊõµÄ¸÷×Ô¹Ø×¢µã¡£
SCAµÄ¹Ø×¢µã
SCA µÄÄ¿µÄÊdzÉΪ¹¹½¨ SOA Ó¦Óõıà³ÌÄ£ÐÍ£¬ËüµÄÓ¦ÓÃÁìÓòÊÇÆóÒµÓ¦Óü¯³ÉÁìÓò¡£SOA ËäÈ»ÌáÁ˺ܶàÄ꣬µ«µ½Ä¿Ç°£¬ÔÚ¸ÅÄî·½Ãæ£¬¸÷´ó³§É̹ØÓÚ
SOA Ò²¶¼ÓÐ×Ų»Í¬µÄÀí½â£»ÔÚʵÏÖ¼¼Êõ·½Ã棬Ҳ´ó¶¼ÊÇÔÚʹÓþßÌåµÄ Web Service£¬µ« Web Service
ÊÇÒ»ÖÖÔ˳̵÷Óü¼Êõ£¬¶ÔÓÚÈçºÎ¿ª·¢±¾µØ SOA Ó¦ÓÃÖеķþÎñ£¬Ä¿Ç°Ò²ÎÞͳһÈÏÖª£»ÔÚ×é¼þÄ£ÐÍ·½Ã棬ĿǰҲûÓÐͳһµÄ×é¼þÄ£ÐÍÀ´×°ÅäºÍ¹ÜÀí·þÎñ¡£ËùÒÔ£¬µ±Ç°µÄ
SOA Ó¦Óÿª·¢È±·¦·þÎñ×é¼þÄ£ÐÍÖ§³Ö£¬È±·¦´Ó×é¼þ²ã´ÎÉÏÀ´½øÐзþÎñÉùÃ÷¡¢·¢²¼¡¢×é×°ÒÔ¼°¶¨Ò廥²Ù×÷ÐÔ¡£ÁíÍ⣬»ùÓÚÆóÒµÓ¦ÓõÄÌØµã£¬²»Í¬µÄÓ¦ÓÃϵͳ¿ÉÄÜÓв»Í¬µÄʵÏÖ¼¼Êõ£¬ÈçºÎÄܽ«ÕâЩ²ÉÓò»Í¬µÄ¼¼ÊõʵÏֵŦÄÜ·¢²¼Îª
SOA ÖеķþÎñ£¬²¢Äܹ»¸ü¶àµÄ¹Ø×¢·þÎñµÄÉùÃ÷£¬¶øÆÁ±Îµ×²ãµÄʵÏÖ£¬Ò²ÊÇ SOA Ó¦Óÿª·¢ÖÐÐèÒª¹Ø×¢µÄÒ»¸öÎÊÌâ¡£
¶ø SCA ͨ¹ýһϵÁй淶µÄ¶¨Ò壬½â¾öÁËÉÏÊöÎÊÌ⣺×é¼þ×°ÅäÄ£ÐÍÌṩÁ˶ԷþÎñÉùÃ÷¡¢·¢²¼¡¢×é×°£¬²¢Í¨¹ý°ó¶¨¹¦ÄÜ£¬À´ÆÁ±Î²»Í¬·þÎñ¼äµÄͨÐÅϸ½Ú£»Ö§³Ö²»Í¬µÄ±à³Ì¼¼Êõ×÷Ϊ·þÎñ×é¼þµÄʵÏÖ£¬´Ó¶ø¿ÉÒÔ¸üºÃµÄ½«ÒÅÁôϵͳ·âװΪϵͳÖеķþÎñ£»²ßÂÔ¿ò¼ÜͬʱÌṩÁ˶ÔÓ¦ÓÃϵͳÖÐ
QoS µÄÖ§³Ö£¬ÒÔ±£Ö¤ÆóÒµÓ¦ÓÃÖеÄÖÊÁ¿ÐèÇó¡£
OSGiµÄ¹Ø×¢µã
OSGi ¹æ·¶ÒòΪ×î³õµÄ³ö·¢µãÊÇÎªÒÆ¶¯É豸´´½¨¼ÆËã»·¾³£¬Òò´Ë¸ü¶àµÄ¿¼ÂÇÁË¿ò¼ÜºÍ·þÎñÔÚÔËÐÐʱ¿ÌµÄ¶¯Ì¬Æ¥ÅäµÈÎÊÌâ¡£ÒÆ¶¯É豸ͨ³£¶¼ÊÇÔÚͬһ¸öǶÈëʽ»·¾³Öй¤×÷£¬Ëù
OSGi ²»ÐèÒª¹ØÐÄ QoS£¬²»ÐèÒªÖ§³Ö¶àÖÖ²»Í¬µÄʵÏÖ¼¼Êõ£¬Ò²²»ÐèÒªÖ§³Ö·Ö²¼Ê½µ÷Óá£
Ïêϸ±È½ÏÁбíºÍ½éÉÜ
ÔÚÁ˽âÁË SCA ºÍ OSGi µÄ¹Ø×¢µãÖ®ºó£¬ÎÒÃǾͿÉÒÔ¶Ô SCA ºÍ OSGi ×öÒ»¸öÏêϸ±È½Ï£¬ÏÂÃæÏȸø³ö
SCA ºÍ OSGi µÄÒìͬµã¶Ô±È±í£¬È»ºóÔÙÕë¶Ô¸÷¸ö±È½ÏÏ×÷Ïà¹Ø·ÖÎö¡£

ÈÝÆ÷ʵÏÖ
SCA ¹æ·¶µÄ×î³õÄ¿µÄÊdzÉΪ SOA µÄ±à³ÌÄ£ÐÍ£¬×ÅÖØ½â¾öµÄÊÇÈçºÎ´´½¨¡¢×é×°¡¢²¿ÊðºÍʹÓ÷þÎñ£¬ËüÊÇÃæÏòÓ¦Óÿª·¢ÈËÔ±µÄ£¬ËùÒÔËü²¢²»¹ØÐÄÈçºÎÈ¥¿ª·¢Ö§³Ö
SCA Ó¦ÓÃÔËÐеÄÈÝÆ÷¡£
¶ø OSGi ¹æ·¶ÒòΪ×î³õµÄ³ö·¢µãÊÇÎªÒÆ¶¯É豸´´½¨¼ÆËã»·¾³£¬Òò´Ë¸ü¶àµÄ¿¼ÂÇÁË¿ò¼ÜºÍ·þÎñÔÚÔËÐÐʱ¿ÌµÄ¶¯Ì¬Æ¥ÅäµÈÎÊÌâ¡£ËùÒÔ£¬ËüÊ×ÏȹØÐĵľÍÊÇÈçºÎ¹¹½¨Ò»¸öÔËÐл·¾³£¬ÒÔ±ãÄܹ»ÔËÐÐ
OSGi Ó¦Óá£
ĿǰÀ´¿´£¬SCA ¹æ·¶ÖÐ¶Ô SCA ÈÝÆ÷µÄʵÏÖÉÐûÓÐÒ»¸öÖ¸µ¼ÐÔµÄÒâ¼û£¬µ«Òµ½çÓÐ×Å»ùÓÚ OSGi ¹¹½¨
SCA ÈÝÆ÷µÄÌÖÂÛ£¬ÕâÒ²ÊÇÒ»ÖÖ½« OSGi ¼¯³Éµ½ SCA ÖеÄÒ»¸ö±È½ÏºÃµÄ·½Ê½¡£
Ä£¿é¶¨Òå
ÔÚÄ£¿éµÄ¶¨Òå·½Ãæ£¬SCA ¹æ·¶Ö»ÊǶ¨ÒåÁË SCA ¸´ºÏ×é¼þ×÷Ϊ×îС¿É²¿Êðµ¥Ôª£¬µ«²¢Ã»Óж¨Òå¸öÃ÷È·µÄ´ò°ü¸ñʽҪÇó£¬Ò²Ã»Óж¨ÒåÄ£¿éµÄ¶¯Ì¬¸üкͰó¶¨ÒÔ¼°Ä£¿é¼äµÄ°üÒÀÀµ£¬¸üûÓж¨ÒåÄ£¿éÖеİüµÄ¿É¼ûÐÔ¡£ÆäʵҲ¿ÉÒÔ˵£¬SCA
¹æ·¶ÔÚÄ£¿éµÄ¶¨Òå·½Ãæ¼¸ºõûÓÐ×ö¹¤×÷£¬SCA ¹æ·¶×ÅÖØ¶¨ÒåÁËÉè¼ÆÆÚµÄ·þÎñÉùÃ÷ºÍ°ó¶¨¡£Ïà±È SCA ¹æ·¶£¬OSGi
¹æ·¶Ôò¶¨ÒåÁËÃ÷È·µÄÄ£¿é²ã£¬²¢ÔÚÄ£¿é²ãÖж¨ÒåÁËÀà¼ÓÔØ»úÖÆ¡¢°üµÄ¿É¼ûÐÔ¡¢°üÒÀÀµÒÔ¼°Ä£¿éµÄ´ò°üºÍÃèÊöÎļþ¸ñʽ¡£Ä£¿é»¯µÄ¶¨ÒåĿǰÒýÆðÁËÔ½À´Ô½¶àµÄÖØÊÓ£¬JCP
ÕýÔÚÖÆ¶¨ Java µÄÄ£¿é»¯¹æ·¶ JSR277¡£
×é¼þʵÏÖÓïÑÔ/ ¼¼Êõ
SCA ×é¼þµÄʵÏÖ¿ÉÒÔÊÇ Java¡¢C++¡¢BPEL¡¢Spring¡¢EJB¡¢WebService µÈ£¬¶ø
OSGi Ö»Ö§³Ö Java ÓïÑÔʵÏÖ£¬ÕâÒ²ÊÇÓÉÓÚ¶þÕߵijö·¢µã²»Í¬µ¼Ö¡£OSGi Ó¦Óö¼ÊÇÔËÐÐÔÚͬһ¸ö JVM
ÖУ¬ËùÒÔ²¢²»ÐèÒª¿¼ÂǶàÖÖʵÏÖ¼¼Êõ£¬¶øÆóÒµÓ¦ÓÃÖУ¬Ôò»áÓжàÖÖʵÏÖ¼¼Êõ£¬Õâ¾ÍÐèÒª SCA Äܹ»Ö§³Ö¶àÖÖʵÏÖ¼¼Êõ
×°ÅäÄ£ÐͺͷþÎñ°ó¶¨
SCA ·þÎñ×°ÅäÄ£ÐÍÊÇÕû¸ö SCA ¹æ·¶ÖеĺËÐÄ£¬¶ø OSGi ÔÚÔçÆÚ°æ±¾Öв¢Ã»ÓзþÎñ×°ÅäÄ£ÐÍ£¬ÔÚ OSGi
DS£¨Declarative Service£©¹æ·¶³öÀ´Ö®ºó£¬OSGi ²ÅÓÐÁËÃ÷È·µÄ×é¼þ×°ÅäÄ£ÐÍ¡£
SCA ºÍ OSGi µÄ×°ÅäÄ£ÐͶ¼¿ÉÒÔÉùÃ÷ºÍ·¢²¼·þÎñ£¬µ« SCA ¸üÆ«ÖØÉè¼ÆÆÚµÄ×é¼þ×é×°£¬¶øÇÒ¶¨ÒåÁËÁé»îµÄ×é¼þ×°ÅäÄ£ÐÍ£¬ÌرðÊÇÌṩÁË¿ÉǶÌ×µÄ×é¼þ×°ÅäÄ£ÐÍ£¬¿ÉÒÔÓÉ×îСµÄÔ×Ó×é¼þ×é×°³ÉÒ»¸ö´óϵͳ£¬¶ø
OSGi Ôòȱ·¦×é¼þ×é×°Ä£ÐÍ¡£
ÔÚ·þÎñ°ó¶¨·½Ã棬SCA µÄ·þÎñ°ó¶¨ÐèÒª´ÓÁ½¸ö²ã´ÎÉÏ¿´£¬ÔÚͬһ¸ö¸´ºÏ×é¼þÄÚ²¿ÖеÄÒýÓã¬Èç¹ûûÓÐÉ趨×Ô¶¯Á¬Ïߣ¬ÄÇËüʵ¼ÊÉϲÉÓõÄÉè¼ÆÆÚ°ó¶¨£¬ÒòΪÔÚÉè¼ÆÆÚ¾ÍÐèÒªÖ¸¶¨ËùÐèÒªÒýÓõÄ×é¼þ¼°Æä·þÎñ£¬ÕâÊÇÒòΪ
SCA ²»Ö§³Ö×é¼þºÍ·þÎñµÄ°æ±¾¹ÜÀí£¬ËùÒÔÔÚÔËÐÐÆÚÓÀÔ¶Ö»ÓÐÒ»¸öͬÃû×é¼þ´æÔÚ£¬ËùÒÔÒ²¾Íû±ØÒªÖ§³ÖÔËÐÐÆÚ°ó¶¨£»Ôڿ縴ºÏ×é¼þºÍ¿çÓò¼äµÄÒýÓã¬SCA
²ÉÓõÄÊÇÔËÐÐÆÚ°ó¶¨£¬ÒòΪ¸´ºÏ×é¼þÊÇ SCA µÄ×îС¿É²¿Êðµ¥Ôª£¬¿ª·¢ÈËÔ±¿ÉÄÜ»áÔÚÔËÐÐÆÚÖØÐ²¿ÊðͬÃûµÄ¸´ºÏ×é¼þ¡£ÕâÁ½ÕߵIJîÒ죬ÏàÐÅÒ²ÊÇÓÉÓÚÄ¿±ê²»Í¬µ¼Ö£¬OSGi
ÈÝÆ÷×÷Ϊһ¸öǶÈëʽÔËÐл·¾³£¬±ØÈ»ÐèÒª¿¼Âǵ½¸÷ÖÖ OSGi Ó¦ÓõÄÈȲå°ÎºÍ·þÎñµÄ¶¯Ì¬°ó¶¨£¬´Ó¶ø¸üÖØÊÓÔËÐÐÆÚµÄ·þÎñ×°Å䣬¶ø
SCA ×÷ΪÆóÒµÓ¦Ó㬼ÈÐèÒª¿¼ÂÇÖ§³ÖÉè¼ÆÆÚ·þÎñ°ó¶¨£¨Æäʵ¾ÍÊÇĿǰ¹ã·ºÓ¦ÓõÄÀûÓù¹Ôì·½·¨ºÍ set ·½·¨½øÐÐÒÀÀµ×¢È룩£¬Ò²ÐèÒª¿¼Âǿ縴ºÏ×é¼þºÍÓò¼äµÄ¶¯Ì¬ÒýÓá£
OSGi ºËÐĹ淶Öв¢Ã»Óж¨Òå×°ÅäÄ£ÐÍ£¬ OSGi DS ¹æ·¶×÷Ϊ²¹×ãÐԹ淶Ìá³öÁËÃæÏò·þÎñµÄ×°ÅäÄ£ÐÍ¡£OSGi
DS ÖеÄ×°ÅäÄ£ÐͲ¢²»Ö§³ÖÔÚÉè¼ÆÆÚ°ó¶¨·þÎñ£¬¶øÊÇÔÚÔËÐÐÆÚͨ¹ý·þÎñÃèÊöÀ´²éÕÒ²¢°ó¶¨·þÎñ£¬»ùÓÚÕâÖְ󶨲ßÂÔ£¬»áÓÐÒ»¶¨µÄЧÂÊÎÊÌ⣬µ«Êǽ«¼«´óµÄÌá¸ßϵͳµÄÁé»îÐԺͿÉÀ©Õ¹ÐÔ¡£
ÉúÃüÖÜÆÚ¹ÜÀí
SCA ¹æ·¶ÓÉÓÚºöÊÓÔËÐÐÆÚ SCA ϵͳµÄ±ä»¯ÐèÇ󣬴ӶøÃ»Óж¨Òå×é¼þµÄÉúÃüÖÜÆÚ£¬µ«²»Í¬µÄ×é¼þʵÏÖ¼¼Êõ¿ÉÄÜ»áÓÐÆä×Ô¼ºµÄÉúÃüÆÚÖÜÆÚ¶¨Ò壬±ÈÈçÔÚ
SCA Java °æµÄ¿Í»§ºÍʵÏÖÄ£Ð͹淶ÖУ¬Ëü¶¨ÒåÁËÁ½¸öÓÃÓÚ×é¼þ³õʼ»¯ºÍÏú»ÙʱÐèÒªµ÷Óõķ½·¨£¬¹© SCA
×é¼þÔÚ³õʼ»¯ºÍÏú»Ùʱ×÷һЩԤ´¦Àí¡£Ïà±È SCA£¬OSGi ÔòÌṩÁËÍêÉÆµÄÉúÃüÖÜÆÚ¹ÜÀí¡£
QoS
ÓÉÓÚ OSGi ¹æ·¶ÊÇÃæÏòÔÚͬһ¸ö JVM ÖÐÔËÐеÄÍøÂçÉ豸ÒÔ¼°Ïñ Eclipse ÕâÑùµÄ²å¼þϵͳ£¬ËùÒÔÔÚ
OSGi ÖеķþÎñ²»ÐèÒª QoS ÎÊÌ⣬Ҳ²»ÐèÒªÖ§³ÖÔ¶³Ì·þÎñ¡¢»Øµ÷·þÎñºÍ»á»°·þÎñ¡£SCA ¹æ·¶ÔòÊÇÃæÏòÆóÒµ¼¯³ÉÁìÓò£¬ËùÒÔ
SCA ¹æ·¶ÐèÒª¿¼ÂÇ QoS¡¢·Ö²¼Ê½·ÃÎÊ¡¢·þÎñµÄ»Øµ÷ºÍ»á»°µÈÎÊÌâ¡£
ÒÀÀµ¹ÜÀí¼°ÆäËü
OSGi ¹æ·¶Ö§³ÖÔËÐÐÆÚµÄ·þÎñºÍ°üÒÀÀµ£¬¶ø SCA ¹æ·¶Ö»Ö§³ÖÉè¼ÆÆÚµÄ·þÎñÒÀÀµ£¬ÕâʹµÃ SCA ϵͳÓë
OSGi ϵͳÏà±È£¬Ç·È±Áé»îÐԺͿÉÀ©Õ¹ÐÔ¡£
´ÓÏÖÓеÄÓ¦ÓÃÀ´¿´£¬OSGi ¸ü¶àµÄÊÇÓÃÀ´×÷Ϊһ¸ö¼¼Êõ¿ò¼ÜÀ´¿ª·¢Ò»¸ö²úÆ·£¬È翪·¢ SCA ÈÝÆ÷µÈ£¬¶ø SCA
¹æ·¶¸ü¶àµÄÊDZ»ÓÃÔÚÃæÏòÆóÒµÓ¦ÓõÄ×é¼þµÄ×é×°¹æ·¶¡£
ÓÉÓÚ SCA ²»Ç¿µ÷ÔÚÔËÐÐÆÚµÄ·þÎñ¹ÜÀí£¬·þÎñ¹ÜÀíÓ¦¸Ã»áÀûÓÃÆäËüÈí¼þÀ´ÊµÏÖ£¬ËùÒÔËüҲûÓÐÌṩ°æ±¾¹ÜÀí»úÖÆ£¬¶ø
OSGi ÔòÌṩÁ˰汾¹ÜÀí»úÖÆ£¬Äà Eclipse ¶øÑÔ£¬ÎÒÃÇ¿ÉÒÔ×°¶à¸ö²»Í¬°æ±¾µÄͬһ¸ö²å¼þ£¬¶ø²»»áÓ°ÏìϵͳµÄʹÓá£
ÏÞÓÚ OSGi ×î³õÊÇΪÁËÎªÒÆ¶¯É豸¶ø×¼±¸£¬ËùÒÔ OSGi ·þÎñÖ»ÄÜÔÚͬһ¸ö JVM Öе÷Óã¬ÇÒ²»ÄÜÖ§³ÖÔ¶³Ìµ÷Óã¬ÕâÊÇÆäÆóÒµÓ¦ÓÃÁìÓòµÄÒ»´óȱµã£¬µ«Ä¿Ç°£¬ÒѾÓÐºÜ¶à¹ØÓÚ·Ö²¼Ê½
OSGi Õâ·½ÃæµÄÌÖÂÛ¡£
ͨ¹ýÒÔÉÏ·ÖÎö£¬¿É¿´³ö SCA ºÍ OSGi ÓÐןܶàÃ÷ÏÔµÄÇø±ð£¬¶øÕâЩ²»Í¬ÆäʵҲÔì¾ÍÁËËûÃÇÖ®¼äÓÐןÜÇ¿µÄ»¥²¹ÐÔ¡£ÏÂÃæ½«¼òµ¥½éÉÜÏ£¬ÈçºÎ½«
OSGi ¼¯³Éµ½ SCA ÖÐÀ´£¬ÒÔ±ãÀûÓà OSGi µÄÌØÐÔÀ´ÔöÇ¿ SCA Ó¦Óá£
SCA Óë OSGi µÄ¼¯³É̽ÌÖ
ÕýÈçÉÏÎĽéÉÜ£¬SCA ºÍ OSGi ÓÉÓÚ×î³õ¶¨Î»µÄ²»Í¬£¬Ôì³ÉÁËÁ½ÕßÖ®¼äÓÐÖî¶à²»Í¬Ö®´¦£¬µ«Á½Õßʵ¼ÊÉϸü¶àµÄÊÇÒ»ÖÖ»¥²¹£¬¶ø²»ÊǾºÕù¡£»ùÓÚµ±Ç°ÒÑÓеĹ淶ºÍʵÏÖ£¬SCA
ºÍ OSGi µÄ¼¯³É¹¤×÷¿ÉÒÔÔÚÏÂÃæÈý¸ö·½ÃæÕ¹¿ª£º1. ¿ÉÒÔ³ä·ÖÀûÓÃÒÑÓÐµÄ OSGi Ó¦Ó㬲¢Äܹ»½« OSGi
Ó¦ÓÃÖеķþÎñ·¢²¼³ÉΪ SCA µÄ·þÎñ£»2. Äܹ»Èà SCA ͨ¹ýÒýÓÃÀ´µ÷ÓÃÍⲿ OSGi ·þÎñ£¬ÕâÒ²ÊÇÁíÍâÒ»ÖÖ¿ÉÒÔÈÃ
OSGi ·þÎñ±äΪ SCA ·þÎñµÄ;¾¶£»3. »ùÓÚ OSGi ¹¹½¨ SCA ÈÝÆ÷¡£ÏÂÃæ¼òµ¥½éÉÜÏ£¬ÈçºÎÔÚÕâÈý¸ö·½ÃæÀ´¼¯³É
SCA ºÍ OSGi¡£
½« OSGi ¼¯³Éµ½ SCA ÖÐ
ʹÓÃOSGi ×÷Ϊ SCA µÄ×é¼þʵÏÖ
Ò»ÖÖÄܹ»³ä·ÖÀûÓà OSGi ÌØÐԵķ½·¨£¬Êǽ« OSGi ×÷Ϊ SCA ·þÎñ×é¼þµÄʵÏÖ£¬¶ø SCA µÄ¿ÉÀ©Õ¹Ä£ÐÍÒ²Ö§³Ö
OSGi ×÷Ϊ SCA ·þÎñ×é¼þʵÏÖ£¬ÕâÑù¾Í¿ÉÒÔ½« OSGi ·þÎñ×÷Ϊ SCA ·þÎñ·¢²¼£¬Í¨¹ýÕâÖÖ;¾¶£¬¿ÉÒÔ½«
OSGi ·þÎñ±ä³É¿ÉÖ§³ÖÔ¶³Ì·ÃÎ浀 SCA ·þÎñ£¬´ÓijÖ̶ֳÈÉϿ˷þ OSGi ·þÎñ²»Ö§³Ö¿ç OSGi ÈÝÆ÷·ÃÎÊÕâÖÖȱÏÝ¡£ËäȻĿǰ
OSOA ×éÖ¯²¢Ã»Óз¢²¼½« OSGi ×÷Ϊ×é¼þµÄʵÏֵĹ淶£¬µ«Ä¿Ç° Apache Tuscany ÏîÄ¿ÒѾ³¢ÊÔ½«
OSGi ×÷Ϊ SCA µÄ·þÎñ×é¼þʵÏÖ¡£
ʹÓÃSCA OSGi °ó¶¨
SCA ºÍ OSGi ¼¯³ÉµÄµÚ¶þ¸ö·½ÃæÊÇ SCA Ó¦ÓÃÄܹ»Í¨¹ýÒýÓÃÀ´·ÃÎÊ OSGi ·þÎñ£¬SCA Ó¦ÓÿÉÒÔͨ¹ý°ó¶¨À´ÉùÃ÷ËùÐèÒª·ÃÎÊ·þÎñµÄÐÒ飬Ŀǰ
OSOA ×éÖ¯ÒѾ·¢²¼ÁË JMS¡¢JCA¡¢Web Service¡¢EJB Õ⼸ÖÖ°ó¶¨ÐÒ飬ͬ½« OSGi
×÷Ϊ SCA µÄ×é¼þʵÏÖÒ»Ñù£¬ËäÈ» OSOA ĿǰûÓз¢²¼ OSGi °ó¶¨¹æ·¶£¬µ« Apache Tuscany
ÏîĿĿǰÒѾ³¢ÊÔÖ§³Ö OSGi °ó¶¨¡£
ʹÓÃOSGi ¹¹½¨ SCA ÈÝÆ÷
ÁíÒ»ÖÖ¿ÉÒÔ½« OSGi ºÍ SCA ½øÐм¯³ÉµÄ·½Ê½£¬¾ÍÊÇ»ùÓÚ OSGi ¹æ·¶À´¿ª·¢ SCA ÈÝÆ÷¡£ÕâÖÖ·½Ê½¿ÉÒÔ×î´ó»¯µÄ½«
OSGi ¼¯³Éµ½ SCA ÖÐÀ´¡£Ê×ÏÈ£¬ÓÉÓÚÀûÓà OSGi À´¹¹½¨ SCA ÈÝÆ÷£¬Õâ¾Í¿ÉÒԽϼòµ¥µÄ×öµ½Ç°Á½¸ö·½ÃæµÄ¼¯³É£»Æä´Î£¬¿ÉÒÔ½«
OSGi ·þÎñ×¢²áÖÐÐÄÒÔ¼° SCA ·þÎñ×¢²áÖÐÐĺϲ¢ÎªÒ»¸ö£¬ÉõÖÁ¿ÉÒÔ×öµ½ÔÚͬһ¸ö SCA ÓòÖУ¬Ö§³Ö SCA
Ó¦ÓÃͨ¹ý SCA °ó¶¨µÄ·½Ê½À´·ÃÎÊ OSGi ·þÎñ¡£
¼¯³É OSGi ºóµÄ SCA ½«Óиü¶àµÄÓŵ㣬ÏÂÃæ×÷Ò»¸ö¼òµ¥ÌÖÂÛ¡£
¼¯³É OSGi ºóµÄ SCA µÄÓŵã
SCA ºÍ OSGi ÊÇ»¥²¹µÄ£¬Í¨¹ýÒÔÉÏÕâÈýÖÖ·½Ê½À´½« OSGi ¼¯³Éµ½ SCA ÖУ¬¿ÉÒÔʹ SCA
¾ßÓÐÒÔϼ¸¸ö·½ÃæµÄÌØµã£º1. Ö§³Ö OSGi ÕâÖÖÖ÷Á÷¼¼Êõ×÷Ϊ·þÎñ×é¼þµÄʵÏÖ£¬¸ø¿ª·¢ÈËÔ±ÌṩÁ˸ü¶àµÄ¼¼ÊõÑ¡Ôñ£»2.
¿ÉÒÔ¸üÈÝÒ×µÄͨ¹ý SCA µÄ×°ÅäÄ£ÐÍ£¬½«ÒÑÓÐµÄ OSGi ·þÎñ·¢²¼Îª SCA ·þÎñ£¬´Ó¶øÊµÏÖ OSGi
·þÎñµÄÔ¶³Ìµ÷ÓÃÖ§³Ö£»3. ¿ÉÒÔÀûÓà OSGi ÔÚÄ£¿é»¯¡¢¶¯Ì¬ÐÔ·½ÃæµÄÓÅÊÆÀ´ÃÖ²¹ SCA ÔÚÕâÁ½·½ÃæµÄ²»×ã¡£
Ŀǰҵ½ç¹ØÓÚ SCA ºÍ OSGi ¼¯³ÉµÄÌÖÂÛÒ²Ô½À´Ô½¶à£¬¿ÉÒÔÔ¤¼û£¬ÕâÁ½ÖÖ¼¼Êõ¿ÉÒÔͨ¹ý»¥²¹µÄ·½Ê½£¬À´´Ù½øÕâÁ½ÖÖ¼¼ÊõµÄ·¢Õ¹¡£
×ܽá
±¾ÎĽéÉÜÁË SCA ÔÚ¸÷¸öÑÝ»¯½×¶ÎÖеķ¢Õ¹ºÍ±ä»¯£¬²¢½« SCA Óë OSGi ¼¼Êõ½øÐÐÁ˶ԱȷÖÎö£¬×îºó»¹Ì½ÌÖÁËÈçºÎ½«
OSGi ¼¯³Éµ½ SCA ÖС£Í¨¹ýÒÔÉϽéÉÜ£¬¿ÉÒÔ·¢ÏÖ£¬SCA ¾¹ý¶Ì¶Ì¼¸ÄêµÄ·¢Õ¹£¬ÒѾÓÐÁ˳¤×ãµÄ½ø²½£¬ÔÙ¼ÓÉÏÖî¶àÖ÷Á÷³§É̵ÄÖ§³Ö£¬Ê¹µÃÆä¼«ÓпÉÄܳÉΪÏÂÒ»´ú
SOA ±à³ÌÄ£ÐÍ¡£ |