[Áöµð³ÝÄÚ¸®¾Æ]¿¹Àü¿¡ ¼Ò°³Çß´ø SOA ÇÁ·¹ÀÓ¿öÅ©ÀÎ ºñÇÏÀ̺꿡 ÀÌ¾î ¾ÕÀ¸·Î 4ȸ¿¡ °ÉÃÄ ¼ºñ½º ÁöÇâ ¾ÆÅ°ÅØÃ³¿¡ ±â¹Ý ÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÇ ¾ËÆÄºÎÅÍ ¿À¸Þ°¡±îÁö ¾Ë¾Æº¸·Á ÇÑ´Ù.
Áö³ ÇбâÀÇ EJB¿Í À¥¼ºñ½º °úÁ¦·ÎºÎÅÍ EJB 3.0°ú À¥ ¼ºñ½º °ÔÀÌÆ®¿þÀÌ¿¡ ±íÀº °¨¸íÀ» ¹ÞÀº ÇÊÀÚ´Â Áö³ 12¿ù º§±â¿¡ÀÇ ÀÚ¹Ù Æú¸®½º ÄÁÆÛ·±½º¿¡¼ ¼ºñ½º ÁöÇâ ¾ÆÅ°ÅØÃ³(Service Oriented Architecture, ÀÌÇÏ SOA) °ü·Ã ¼¼¼ÇµéÀ» µéÀ¸¸é¼ ´ÙÀ½°ú °°Àº »ý°¢ÀÌ µé¾ú´Ù.
SOA, SOAÇϴµ¥, ºñÇÏÀ̺ê ÇÁ·¹ÀÓ¿öÅ©µµ Àִٴµ¥, Á¤¸» ¸»Ã³·³ ¹º°¡ ÁÁ¾ÆÁö´Â °ÍÀϱî? À¥¼ºñ½ºµµ ÁÁ°í XMLµµ ÁÁÁö¸¸ ¼º´É°ú È®À强Àº ¾î¶»°Ô µÇ´Â °É±î? ´Ù Á¦ÃÄ µÎ°í¶óµµ ½±°í È¿À²ÀûÀÎ(±×¸®°í Àç¹ÕÀ¸¸é ´õ ¹Ù¶ö °ÍÀÌ ¾øÀ») ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÀÌ °¡´ÉÇØÁú±î? ÀÌ·¯ÇÑ ÀÚ¹®¿¡ ´äÇÏ´Â ¹æ¹ýÀ¸·Î ÅÃÇÑ °ÍÀÌ ¹Ù·Î ÀÌ ¿¬À縦 ÅëÇØ µ¶ÀÚµé°ú ÇÔ²² SOA¸¦ °í¹ÎÇÏ°í ½ÇõÇÏ´Â °ÍÀ̶ó »ý°¢Çß´Ù,
¿¬Àç °¡À̵å¿î¿µÃ¼Á¦ : À©µµ¿ì 2000/XP, À¯´Ð½º °è¿, ¸®´ª½º³ª Mac OS Xµµ °¡´É
°³¹ßµµ±¸ : ÀÌŬ¸³½º 3.1
±âÃÊÁö½Ä : ÀÚ¹Ù, À¥¼ºñ½º, XML
ÀÀ¿ëºÐ¾ß : ÀÚ¹Ù Ç÷§ÆûÀ» ÀÌ¿ëÇÑ À¥¼ºñ½º Á¦°ø
±âº» ¹è°æ - J2EE 5.0
J2EE 1.4°¡ ³ª¿Â Áöµµ ÀÌÁ¦ 1³âÀÌ Áö³µ°í ¿¹Á¤´ë·Î¶ó¸é ¿ÃÇØ ÇϹݱ⿡ À§¿ëÀ» µå·¯³¾ J2EE 5.0(J2SE 5.0ó·³ 1.5°¡ ¾Æ´Ñ 5.0À¸·Î ¹öÀüÀÌ °íÃÄÁ³´Ù)À» ¹ú½áºÎÅÍ ´Ù·ç´Â °ÍÀÌ ¹«Ã´ ¼º±ÞÇÏ°Ô ºñÄ¥ ¼öµµ ÀÖÁö¸¸ ÀÌ¹Ì ÇÊÀÚ°¡ ÀÛ³â 11¿ù¿¡ J2EE 5.0ÀÇ ÇÙ½É ±â¼ú Áß ÇϳªÀÎ JBossÀÇ EJB 3.0 Á¶±â ±¸Çöü·Î °úÁ¦¸¦ ¹«»çÈ÷ ¸¶ÃÆÀ» Á¤µµ·Î »óȲÀÌ ºü¸£°Ô ÁøÇàµÇ°í ÀÖ´Ù. À¥ ÂÊÀº JSP 2.1, JSTL 1.1, ±×¸®°í JSF 1.2·Î EL °øÀ¯¿Í ÅëÇÕÀÌ ÇÑâÀ̰í, À¥ ¼ºñ½ºµµ J2EE 1.4¿¡¼ º¸¿©ÁØ ÃʱâÀû ±â¼ú »óŸ¦ ¹þ¾î³ª±â À§ÇØ JAX-RPC 2.0°ú JAXB 2.0, ±×¸®°í WSM(Web Services Metadata) 1.1·Î À繫ÀåµÇ¾î °¡°í ÀÖ´Ù.
À̵é 3´ë ¿ä¼ÒÀÇ °øÅëÁ¡Àº ¸ÞŸµ¥ÀÌÅÍ¿Í ELÀ» ÅëÇØ °³¹ßÀÇ ÆíÀǼºÀ» ÃÖ¿ì¼±À¸·Î Çϰڴٴ ÀÇÁö¿Í ÇÔ²² ¼ºñ½ºÀÇ ±¸Çö, ¼ºñ½ºÀÇ UI, ¼ºñ½ºÀÇ °ø°³¶ó´Â ¡®¼ºñ½º Á߽ɡ¯ÀÇ ±¸µµ¸¦ °ø°íÈ÷ ÇÏ·Á´Â Æ÷¼®ÀÌ´Ù. ±×·¸´Ù¸é Á¶ÇÕÇØ¼ ¡®½¬¿î ¼ºñ½º °³¹ß¡¯ÀÌ µÇ´Âµ¥, ¹Ù·Î À̰ÍÀÌ J2EE 5.0ÀÇ ¸ðÅäÀ̱⵵ ÇÏ´Ù.
»ç°ÇÀÇ Àü¸» - ¿¹Á¦ ¾È³»
ÀÌ ¿¬Àç´Â ¼µÎ¿¡¼µµ ¹àÇûµíÀÌ °³°³ÀÇ ±â¼úÀ» ³ª¿ ¼³¸íÇÏ´Â ´ë½Å ¿¹Á¦¸¦ »óÁ¤ÇÑ ÈÄ SOAÀû ±¸ÃàÀ» À§ÇØ ¾î¶»°Ô ÇØ´ç ±â¼úÀ» »ç¿ëÇÏ´ÂÁö¸¦ º¸ÀÌ·Á ÇÑ´Ù. ¾ÕÀ¸·Î ´Ù·ê ¿¹Á¦´Â ¹«Ã´ °£´ÜÇϰԵµ Åýà ¿¹¾à ¼ºñ½ºÀÌ´Ù. ÀÌ ¼ºñ½º´Â ´ÙÀ½¿¡ ³ª¿µÈ ±â´ÉµéÀ» Á¦°øÇÑ´Ù.
¡ß °í°´ÀÌ ÁÖ¼Ò¿Í ½Ã°£À» Á¶°ÇÀ¸·Î ¿¹¾à °¡´ÉÇÑ Åýø¦ °Ë»öÇÑ´Ù.
¡ß ¿øÇÏ´Â Åýø¦ ¿¹¾àÇÑ´Ù.
¡ß ¿¹¾àµÈ »óȲÀ» Á¶È¸ÇÑ´Ù.
¡ß ¿¹¾àÀ» Ãë¼ÒÇÑ´Ù.
 | JBossÀÇ EJB 3.0 Á¶±â ±¸Çöü |  | |  | |
| JBoss°¡ °ú°Å ½ã°úÀÇ ±â¼ú ¿ìÀ§¿¡ ´ëÇÑ ¾Ó±ÝÀ» ¾Ä°í J2EE 1.4¸¦ ÀÎÁõÇÑ ÈÄ J2EE 5.0¿¡ À̸£·¯¼´Â ¿ÀÈ÷·Á ¸Å¿ì Àû±ØÀûÀÎ Âü¿©¸¦ º¸¿©ÁÖ°í Àִµ¥, EJB 3.0ÀÇ °æ¿ì°¡ ƯÈ÷ µÎµå·¯Áø´Ù. EJB 3.0Àº ¼¼¼Ç ºó¿¡¼ Ȩ ÀÎÅÍÆäÀ̽º(home interface)¸¦ ¾ø¾Ö´Â °ú°¨ÇÔÀ» º¸¿©ÁÖ´Â µ¿½Ã¿¡(±×µ¿¾È ¿½ÉÈ÷ Ȩ ÀÎÅÍÆäÀ̽º-ÄÄÆ÷³ÍÆ® ÀÎÅÍÆäÀ̽º-ºó Ŭ·¡½ºÀÇ »ïÀ§ÀÏü¸¦ ¼³¸íÇß´ø ÀÚ½ÅÀÌ ºÎÁú¾ø±â ´À²¸Áö±âµµ Çß´Ù) ¿£Æ¼Æ¼ ºóÀÇ °æ¿ì¿¡´Â "À̰ŠEJB ¸Â¾Æ?¡±¶ó´Â »ý°¢ÀÌ µé Á¤µµ·Î ±×¾ß¸»·Î Çõ½ÅÀûÀ¸·Î º¯Çß´Ù. ±× ¹è°æ¿¡ JBoss°¡ À̲ô´Â ÇÏÀ̹ö³×ÀÌÆ®(Hibernate)°¡ ÀÖÀ½Àº ÁÖÁöÀÇ »ç½ÇÀε¥, µû¶ó¼ JBoss°¡ ÀڽŵéÀÇ AOP ÇÁ·¹ÀÓ¿öÅ©¿Í ÇÏÀ̹ö³×ÀÌÆ®¸¦ °áÇÕÇÏ¿© EJB 3.0ÀÇ Á¶±â ±¸Çöü¸¦ °ø°³ÇÏ´Â °Íµµ ±×¸® ¹«¸®´Â ¾Æ´Ï¶ó´Â »ý°¢ÀÌ´Ù.
¾Æ¹«Æ° »ç¿ëÀÚÀÇ ÀÔÀå¿¡¼´Â ¾ÆÁ÷ ½ºÆåµµ ´Ù Á¤ÇØÁöÁö ¾ÊÀº ±â¼úÀ» ½ÇÁ¦ »ç¿ëÇØ º¼ ¼ö ÀÖ´Ù´Â Á¡¿¡¼ ¸Å¿ì Èï¹Ì·Î¿îµ¥, ÀÚ¼¼ÇÑ »çÁ¤Àº °ø½Ä »çÀÌÆ®¸¦ Âü°íÇϱ⠹ٶõ´Ù. ¼³Ä¡°¡ ±×¸® ±î´Ù·ÓÁö´Â ¾Ê´Âµ¥, ´Ù¸¸ ÇöÀç ÃֽůÇÀÎ EJB 3.0 ÇÁ¸®ºä 2°¡ JBoss 4.0.1 ÃÖÁ¾ÆÇ°ú »çÀ̰¡ ÁÁÁö ¾Ê¾Æ ´ë½Å 4.0.1 RC1¸¦ ²À ½á¾ß ÇÑ´Ù. ¾Æ¸¶µµ ÀÌ ¹®Á¦´Â ÀÌ ¿ø°í°¡ ȰÀÚÈµÈ ÈÄ ÇÁ¸®ºä 3°¡ ³ª¿À¸é ÇØ°áµÇ¾î ÀÖÀ¸¸®¶ó ¹Ï´Â´Ù.
| | | | | |
| |
¹°·Ð ¸ðµç ¼ºñ½ºÀÇ ¿äû°ú ÀÀ´äÀº »ç¿ëÀÚ ÀÎÁõ ÈÄ¿¡ ÀÌ·ïÁø´Ù. ¿©±â¼ ÇÑ °¡Áö ¿°µÎ¿¡ µÑ °ÍÀÌ ÀÖ´Ù. SOAÀÇ ½ÃÀÛÀº ¼ºñ½ºÀÇ Á¤ÀÇ¿¡ ÀÖ´Ù. ¼ºñ½º´Â °í°´À» À§ÇØ Á¸ÀçÇÑ´Ù. ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ°¡ ¼ºñ½º¾÷ Á¾»çÀÚÀÎÁö ¾Æ´ÑÁö¿¡ ´ëÇØ¼´Â ¾Ö¸ÅÇÔ°ú ³í¶õÀÌ °øÁ¸ÇÏÁö¸¸, SOA¸¦ ½ÇõÇÔ¿¡ ÀÖ¾î¼ ¼ºñ½ºÀÇ °³³äÀ» Àؾ ¾ÈµÈ´Ù. ¼ºñ½º°¡ °í°´À» À§Çؼ Á¸ÀçÇÏ´Â °ÍÀ̶ó¸é, °í°´ÀÌ ¹«¾ùÀ» ¿øÇÏ´ÂÁöºÎÅÍ ¶Ç´Â ¹«¾ùÀ» ¿øÇÒÁö¸¦ ÆÄ¾ÇÇÏ´Â ÀÏ¿¡¼ºÎÅÍ ¼ºñ½ºÀÇ ¼³°è°¡ ½ÃÀ۵ȴÙ. ÀÌ·¯ÇÑ »ç°í¸¦ <±×¸² 1>ó·³ µµ½ÄÈÇÒ ¼ö ÀÖ´Ù.
 |
| <±×¸² 1> Åýà ¼ºñ½ºÀÇ ±¸»ó |
À¥ ¼ºñ½º °³¹ß¿¡¼µµ ´©´©ÀÌ °Á¶ÇÏ´Â °³³ä ÁßÀÇ Çϳª·Î coarse-grained°¡ ÀÖ´Ù. ÇÊÀÚ°¡ óÀ½ ÀÌ ¿ë¾îÀÇ ¹ø¿ªÀ» ½ÃµµÇßÀ» ¶§(O'ReillyÀÇ Java Web Services, 2002³â), ¿À·ÎÁö »ý°¢ÇÏ´Â °ÍÀ̶ó°í´Â ½ºÅ¸¹÷½º¿¡¼ ¿øµÎ¸¦ »òÀ» ¶§ ¡°¾î¶»°Ô °¥¾Æµå¸±±î¿ä?¡±¶ó´Â Áú¹®¿¡ ¡°±½°Ô °¥¾ÆÁÖ¼¼¿ä¡±ÇÏ´Â ¹Ù·Î ±× ¡®±½°Ô °¥À½(coarse-grained)¡¯À̾ú´Ù. À¥ ¼ºñ½º¿¡¼´Â ¹Ý´ë¸»ÀÎ fine-grained¸¦ ÇÏÁö ¸»¶ó´Â ¶æÀ̱⵵ Çѵ¥ µµ´ëü ¹» Àß°Ô °¥Áö ¸»°í ±½°Ô °¥¶ó´Â ¶æÀϱî?
´ë´äÀº ÀǿܷΠ°£´ÜÇÏ´Ù. »ç¿ëÀÚ°¡ »ç¿ëÇÒ ÀÎÅÍÆäÀ̽º¿¡ °³¹ßÀÚÀÇ Àã´ë¸¦ µéÀÌ´ëÁö ¸»¶ó´Â ¸»ÀÌ´Ù. »ç¿ëÀÚ´Â Àå¼Ò¿Í ½Ã°£À» ÁÖ°í ¿¹¾à °¡´ÉÇÑ Åýà ¸ñ·ÏÀ» º¸°í ½Í´Ù. °³¹ßÀÚ´Â ¡®À½¡¤¡¤¡¤ ÀÏ´Ü xx1 ¸Þ½îµå¸¦ È£ÃâÇÏ´Â ½ÄÀ¸·Î Àå¼Ò¿Í ½Ã°£À» ¹Þ¾Æ¿Â µÚ xx2 ¸Þ½îµå¸¦ ºÒ·¯ DB ¿¬°áÀ» ¾ò¾î ¿Â ÈÄ xx3 ¸Þ½îµå·Î »ç¿ëÀÚ ÀÎÁõÀ» ÇÑ ÈÄ xx4¿¡¼ Àå¼Ò¸¦ Á¤±ÔÈÇÏ°í¡¤¡¤¡¤¡¯ ÀÌ·¸°Ô ¸Ó¸´¼Ó¿¡´Â ÀÌ¹Ì ¾Æ½ºÆ®¶öÇÑ ¸Þ½îµå ¼¼»óÀÌ ÆîÃÄÁö´Â °Íµµ ¸ðÀÚ¶ó¼ ¡®ÀÌ·¸°Ô ÇØ³õÀ¸¸é ³ªÁß¿¡ ¶Ç ¾µ ¼ö ÀÖ°ÚÁö?¡¯Çϸç Èå¹ËÇÑ ¹Ì¼Ò¸¶Àú Áþ´Â´Ù. Àç»ç¿ëÀ» À§ÇÑ´Ù¸é ¸Þ½îµå¸¦ publicÀ¸·Î ÇÒ °ÍÀ̰í, ÀÌ·¯´Ù º¸¸é ¸Þ½îµåÀÇ °ø°³´Â ÆÄÁ×Áö¼¼·Î À̾îÁø´Ù.
ÀÌ·¯ÇÑ public ¸Þ½îµå¿Í´Â º°µµ·Î °ø°³µÈ(published) ¸Þ½îµå¶ó´Â °³³äÀÌ ³ª¿Í °ü½ÉÀ» ²ö´Ù. ¹°·Ð °ø°³µÈ ¸Þ½îµå´Â ÀÚ¹Ù ¹®¹ýÀ¸·Î´Â ³ªÅ¸³¾ ¼ö ¾øÁö¸¸ ´Ü¼øÈ÷ Á¢±Ù ¼öÁØÀ» Á¤ÇÏ´Â Á¤µµ°¡ ¾Æ´Ï¶ó ÀÌ ¸Þ½îµå¸¦ ¿ÜºÎÀÇ Å¬¶óÀÌ¾ðÆ®°¡ È£ÃâÇÒ ¼ö ÀÖ°Ô ÇϰڴÀ³Ä´Â ¶æ¿¡¼ °ø°³µÇ¾ú´Ù´Â Ç¥ÇöÀ» ¾´ °ÍÀÌ´Ù(Erich Gamma¿Í Kent BeckÀÌ ¾´ ¡ºContributing to Eclipse¡»¿¡¼ ¹ßÃé). WSM¿¡¼´Â °ø°³µÈ ¸Þ½îµå¿¡ ´ëÇÑ Ç¥½ÄÀ» °¡´ÉÇÏ°Ô ÇÏ´Â ¸ÞŸµ¥ÀÌÅͰ¡ Á¦°øµÇ°í ÀÖÀ¸´Ï Á¤¸®ÇÏ¸é »ç¿ëÀÚ¿¡°Ô ¾²µµ·Ï ³»ºñÄ¥ ¿ÀÆÛ·¹À̼Ç(À¥ ¼ºñ½º¿¡¼´Â ¸Þ½îµå¶ó´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀû ¿ë¾î ´ë½Å ¿ÀÆÛ·¹À̼ÇÀ» ´ëÀÀÇÏ¿© ¾´´Ù)Àº ÃÖ´ëÇÑ ±½°Ô, ±×¸®°í ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ public°ú´Â Â÷º°ÈÇØ¾ßÇÔÀÌ coarse-grainedÀÇ Çö½ÇÀû ÃëÁöÀÌ´Ù.
¾ÕÀ¸·Î ¹Ýº¹Çؼ °Á¶ÇÒÁöµµ ¸ð¸£Áö¸¸ Åýà ¿¹¾à ¼ºñ½º´Â ¸Å¿ì °£´ÜÇÑ ¿¹¿¡ Áö³ªÁö ¾Ê´Â´Ù. ¾Æ¸¶ ½ÇÁ¦·Î ¹º°¡ ¸¸µé·Á¸é Á¤¸» »ý°¢ÇÒ °ÍÀÌ ¸¹À» °ÍÀÌ´Ù. ±×·¯³ª Àß µé¿©´Ùº¸¸é ¸ðµç °ÍÀº ÀÌ °£´ÜÇÔ¿¡¼ ½ÃÀÛÇϸç, ±×°ÍÀÌ ¹Ù·Î ºÐÇÒÇÏ¿© ÅëÄ¡Ç϶ó´Â À²¸®¿ì½º Ä«À̻縣ÀÇ ÁöÇý¿Í ¸Â´ê¾Æ ÀÖ´Ù.
| |
| WSDL(À̶ó°í ¾²°í ¡®À§Áîµé¡¯À̶ó°í Àд´Ù)Àº SOA¿¡ ÀÖ¾î °¡Àå ¹Ø¹ÙÅÁÀÌ µÇ´Â ¼³°èµµ¸é°ú °°´Ù. ¹ú½áºÎÅÍ °³°³ÀÇ À¥ ¼ºñ½º¸¦ ÇÕÄ¡°í Á¶À²ÇÏ´Â BPMÀ» ³íÇϰí ÀÖÁö¸¸, ±×·¯±â À§Çؼ´Â WSDLÀ̶ó´Â º®µ¹ÀÇ ¾Æ±Í°¡ µüµü ¸Â¾Æ¾ß ÇÏ´Â °ÍÀÌ´Ù.
WSDLÀÌ XML·Î µÇ¾î ÀÖÀ¸´Ï »ç¶÷ÀÌ Àб⿡´Â ¹®Á¦°¡ ¾ø´Ù°í »ý°¢ÇÏ¸é ¸¶À½Àº ¸Å¿ì ÆíÇÏ´Ù. ÇÏÁö¸¸ ½Ç»óÀº °£´ÜÇÑ Hello World Á¤µµ°¡ ¾Æ´Ñ ÀÌ»ó ¸Ó¸®°¡ ÆØÆØ µ¹°Ô ¸¸µé±â ½Ê»óÀÌ´Ù. ¿©·¯ ºñÁÖ¾ó ÅøµéÀÌ WSDLÀÇ ¿ä¾à ȸéÀ» Á¦°øÇÏÁö¸¸ ±×·¸°Ô ³²ÀÌ ¿ä¸®ÇØÁØ °Í¸¸ ¸Ô±â¿¡´Â ¼¼»óÀº ÇèÇÏ°íµµ ÇèÇÏ´Ù.
º¸±â¸¸ ÇØµµ ±æ°í ±ä ³×ÀÓ½ºÆäÀ̽º Á¤Àǵé°ú ±× À̸§ÀÌ ±× À̸§ °°Àº À̸§µéÀÇ ³ª¿¿¡ ¾î´Àµ¡ Á¹°í ÀÖ´Â ÀÚ½ÅÀ» ¸¸³ª±â Àü¿¡, WSDL º¸±âÀÇ ±â¹ÝÀ» ´Û¾Æº¸µµ·Ï ÇÏÀÚ. À¥ ¼ºñ½ºÀÇ ½ÃÀÛÀº ²Ï µÇ¾úÁö¸¸ ÃÖ±Ù ¸î ³â »çÀÌ¿¡ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®ÀÇ ÁÖµµ¾Æ·¡ ±Þ¼Óµµ·Î Literal ÀÎÄÚµù ¹æ½ÄÀÌ Ç¥ÁØÀ¸·Î ÀÚ¸® Àâ¾Æ (WS-I Basic Profile 1.0 ÀÌÈÄ), ½ºÅ°¸¶ÀÇ »ç¿ëÀÌ °ÅÀÇ ÇʼöȵǾî WSDL ÀбⰡ ´õ ½É³ÇØÁø °ÍÀÌ »ç½ÇÀÌ´Ù.
ÀÌ ½ÃÁ¡¿¡¼ µ¶Àڵ鿡°Ô ±ÇÇÏ°í ½ÍÀº °ÍÀº WSDLÀ» ÀÌÇØÇϱâ À§Çؼ´Â (ÀÌÁ¦´Â) XML ½ºÅ°¸¶ÀÇ ÀÌÇØµµ º´ÇàµÇ¾î¾ßÇÔÀÌ´Ù. XML ½ºÅ°¸¶¿¡µµ ¿©·¯ Á¾·ù°¡ ÀÖÁö¸¸ W3CÀÇ XML ½ºÅ°¸¶°¡ °¡Àå º¸ÆíÀûÀ¸·Î ¾²À̰í ÀÖ¾î ³Ê¹« °ÆÁ¤ÇÒ °ÍÀº ¾ø´Ù(±×¸® À§¾ÈÀÌ µÇ´Â Çö½ÇÀº ¾Æ´ÏÁö¸¸).
ÀÚ¹Ù ÇÁ·Î±×·¡¸Ó¶ó¸é ¸Þ½îµå¸¦ Á¤ÀÇÇÏ°í ¸Þ½îµå º»¹®¿¡ ±¸ÇöÇÏ´Â Äڵ带 ¾²´Â °ÍÀÌ ¸Å¿ì ÀÚ¿¬½º·¯¿ï ÅÍ! Ȥ½Ã ¸Þ½îµåÀÇ Àμö³ª ¹Ýȯ °ª¿¡ ·¹ÆÛ·±½º ŸÀÔÀ» ¾´´Ù¸é ±×¿¡ ÇØ´çÇϴ Ŭ·¡½º¸¦ ¹Ì¸® Á¤ÀÇÇØ¾ßÇÔµµ ÀÚ¸íÇÏ´Ù. WSDLÀ̶ó°í ¡®¿ë°¡¸® Åë»À¡¯°¡ ¾Æ´Ñ ´ÙÀ½¿¡¾ß ŸÀÔÀ» ¸ÕÀú Á¤ÀÇÇÏ°í ³ª¼ ¸Þ½îµå¿¡ ÁØÇÏ´Â ¿ÀÆÛ·¹À̼ÇÀ» Á¤ÀÇÇÒ °ÍÀÌ´Ù. ´Ù¸¸ ÀÌ ¿ÀÆÛ·¹ÀÌ¼Ç Á¤ÀÇ¿¡ ¸Þ½ÃÁö¶ó´Â °³³äÀÌ ÇÑ ´Ü°è ´õ µé¾î°£´Ù.
type -> message -> operation
¿Ö ¸Þ½ÃÁö¶ó´Â °ÍÀÌ ÇÊ¿äÇÒ±î? À¥ ¼ºñ½º°¡ RPC(Remote Procedure Call)ÀÇ º¹°í¿¡¼ ½ÃÀÛÇß´Ù°í´Â ÇØµµ, MOM(Message Oriented Middleware)À» ±ø±×¸® ¹«½ÃÇÏÁöµµ ¾Ê¾Ò´Ù. À¥ ¼ºñ½º¿¡ Áö´ëÇÑ ¿µÇâÀ» ÁØ CORBA°¡ Èı⿡ µé¾î ºñµ¿±â È£Ãâ°ú ¸Þ½Ã¡À» Áö¿øÇÏ´Â ½ÄÀ¸·Î È®ÀåÇÑ °ÍÀ» ¶°¿Ã¸°´Ù¸é À¥ ¼ºñ½º°¡ ´Ü¼øÈ÷ ¿ø°Ý ¸Þ½îµå È£ÃâÀÇ XML ¹öÀüÀÇ ÀÚ¸®¿¡¸¸ ¿¬¿¬ÇÒ °ÍÀ̶ó´Â ÃßÃøÀº XML-RPC°ú ÇÔ²² Àؾ ÁÁ´Ù. WSDL¿¡¼ ¸Þ½ÃÁö´Â ¼ºñ½ºÀÇ ¿äûÀÚ¿Í ÀÀ´äÀÚ°¡ ¾î¶² ÇüÅÂÀÇ XML ¸Þ½ÃÁö¸¦ ÁÖ°í¹ÞÀ»Áö¸¦ type¿¡¼ Á¤ÀÇÇÑ ½ºÅ°¸¶¿¡ µû¶ó Á¤ÀÇÇÏ´Â ²Ï Á¸Àç°¨ °ÇÑ ¿ä¼ÒÀÌ´Ù.
±×¸®°í »ç½Ç ¿ÀÆÛ·¹À̼ÇÀº WSDL¿¡¼ ÃÖ»óÀ§ ¿ä¼Ò´Â ¾Æ´Ï´Ù. ´ë½Å port type(½ÇÁ¦ WSDL¿¡¼´Â <portType>À¸·Î Ç¥±â)ÀÌ ¿ÀÆÛ·¹À̼ÇÀ» °¨½Î°í Àִµ¥, ÀÌ´Â ¸¶Ä¡ ÀÚ¹Ù¿¡¼ ÀÎÅÍÆäÀ̽º°¡ ¸Þ½îµå¸¦ ǰ°í ÀÖ´Â °Í°ú Èí»çÇÏ´Ù.
¿©±â±îÁö º¸¸é, type > message > port type (operation)ÀÇ °èÃþ ±¸Á¶°¡ ´ë° ´«¿¡ µé¾î¿Â´Ù. À¥ ¼ºñ½º¿¡¼ ¿ÀÆÛ·¹À̼ÇÀº ÀÚ¹Ù ¸Þ½îµå¿Í ÇÑ °¡Áö ½É´ëÇÑ Â÷ÀÌÁ¡À» Áö´Ï°í Àִµ¥, ¹Ù·Î IN, OUT, INOUT ¸Å°³º¯¼ö Á¾·ùÀÌ´Ù. ¾Æ¸¶ PL/SQLÀ̳ª CORBAÀÇ IDLÀ» Á¢Çغôٸé Àͼ÷ÇÒ (½ÉÁö¾î ODBMS¿¡¼ ¾²ÀÌ´Â ODL¿¡µµ ÀÖ´Â) ÀÌ °³³äÀº ¾îÂî º¸¸é ÇÔ¼öÀÇ ÀÔÃâ·Â ±¸Á¶¸¦ º¹ÀâÇÏ°Ô Çϱ⠱×Áö¾øÁö¸¸, ¶Ç ´Ù¸¥ °üÁ¡¿¡¼´Â ÇϳªÀÇ ¸®ÅÏ Å¸ÀÔ(¹°·Ð ·¹ÆÛ·±½º·Î ÀâÀ¸¸é º¹ÇÕÀûÀ¸·Î µÇÁö¸¸)¸¸ °¡Áö´Â ±¸Á¶º¸´Ù À¯¿¬ÇÏ´Ù. µû¶ó¼ ÀÌ ¹®Á¦´Â WSDL°ú ÇÁ·Î±×·¡¹Ö ¾ð¾î °£ÀÇ Ã³¸® ½Ã ÁÖÀǸ¦ ¿äÇϴµ¥ Àá½Ã µÚ¿¡ ´Ù·çµµ·Ï ÇÏÀÚ.
³ª¸ÓÁö WSDL ÃÖ»óÀ§ ¿ä¼ÒÀÎ binding°ú service´Â ¡®Ãß»óÀûÀÎ ÀÎÅÍÆäÀ̽ºÀÇ °ø°³¡¯¶ó´Â Ãø¸é°ú´Â °Å¸®°¡ ÀÖ´Â, ½ÇÁ¦ port typeÀ¸·Î Á¤¸®µÈ ¼ºñ½º¸¦ ¾î¶² ½ºÅ¸Àϰú ¸Þ½ÃÁö ÇÁ·ÎÅäÄݰú Àü¼Û ÇÁ·ÎÅäÄÝ(ÇöÀç´Â Ducument/Literal ½ºÅ¸ÀÏ¿¡ SOAP/HTTP°¡ ¿ì¼¼ÇÏÁö¸¸, ²À ±×·¸°Ô¸¸ ½á¾ßÇÏ´Â °ÍÀº ¾Æ´Ï´Ù)·Î ±¸Ã¼ÈÇϰí À¥¿¡¼ ¾î¶² ÁÖ¼Ò(URL)·Î °ø°³ÇÒÁö¸¦ ±â¼úÇÑ´Ù. ±×·¡¼ º¸Åë port type ÀÌÀüÀ» Ãß»ó(abstract) WSDL, ºÎºÐ(partial) WSDLÀ̶ó°í Çϰí, service±îÁö ´Ù ÀÖ´Â WSDLÀ» ¿ÏÀü(full) WSDL, ±¸ÇöµÈ(implemented) WSDL, ÀçÁ¤ÀǵÈ(overriden) WSDLÀ̶ó°íµµ ÇÑ´Ù.
±×·¯¸é ÀÌÁ¦ WSDL ÇÑ ÀåÀ» ³õ°í ´ë° ÀÌ·± ¼ºñ½º°¡ Àü°³µÇ°Ú±¸³ª ÇÏ´Â °¨À» ÀâÀ» ¼ö ÀÖ´Ù°í °¡Á¤Çϸé, ±× ´ÙÀ½¿¡´Â WSDL 󸮶ó´Â °ü¹®ÀÌ ¹öƼ°í ÀÖ´Ù. ¼ø¼öÈ÷ XML À¥ ¼ºñ½ºÀÇ ¼³°è¸¸À» ´Ù·çÁö ¾Ê°í¼´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î Ãø¸é¿¡¼ÀÇ ÀÛ¾÷Àº ÇÇÇÒ ¼ö°¡ ¾ø´Ù. ÇÊÀÚ°¡ ¿µ±¹¿¡¼ °øºÎ¸¦ ½ÃÀÛÇϱâ Àü¿¡ ¹ã³·À¸·Î ÇÏ´ø ÀÏÀÌ ¹Ù·Î ±× WSDL 󸮸¦ ÀÚ¹Ù·Î ¾î¶»°Ô Çұ´Ù. ¹°·Ð °¢ Ç÷§Æû°ú Åø¸¶´Ù ¹æ½ÄÀÌ ´Ù¸£¹Ç·Î ÀÏ·üÀûÀ¸·Î ¾î¶»°Ô Ç϶ó°í´Â ¸»ÇÒ ¼ö ¾ø´Ù. ÀÌ Á¡Àº º»Àεµ ÂüÀ¸·Î ¾ÈŸ±õ°Ô ¿©±â´Âµ¥, ¾î°¼ JAX-RPC¿¡¼ WSDLÀ» ó¸®ÇÏ´Â ÅøÀÇ »ç¿ë¹ý¿¡ ´ëÇÑ Ç¥ÁØÈ¸¦ ÇÏÁö ¾Ê´ÂÁö°¡ ¾Æ½±´Ù(ÅøÀÌ ¾î¶² ÀÏÀ» ÇØ¾ß ÇÑ´Ù´Â °Í¸¸ Á¤ÀÇÇϰí ÀÖ´Ù).
µû¶ó¼ WSDL·ÎºÎÅÍ ÀÚ¹Ù Äڵ带 »ý¼ºÇÏ´Â À̸¥¹Ù ¾ÆÆ¼ÆÑÆ®-WSDLÀÇ typeºÎÅÍ ÀÚ¹ÙÀÇ ´ëÀÀ Ŭ·¡½º ŸÀÔ, port typeÀ¸·ÎºÎÅÍ ´ëÀÀÇÏ´Â ÀÚ¹Ù ÀÎÅÍÆäÀ̽º, ±×¸®°í Ŭ¶óÀÌ¾ðÆ®¿ë ½ºÅÓ°ú ¼¹ö¿ë ½ºÄÌ·¹Åæ-»ý¼ºÀº ÀüÀûÀ¸·Î ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â Åø¿¡ ÀÇÁ¸ÇÏ°Ô µÈ´Ù. Çö »óȲÀº ÀÌ·± ¾ÆÆ¼ÆÑÆ®ÀÇ Ç÷§Æû°£ ȣȯ¼ºÀÌ ¾ø´Ù. ¿¹¸¦ µé¾î ¾ÆÆÄÄ¡ÀÇ Axis¿¡¼ »ý¼ºÇÑ ¾ÆÆ¼ÆÑÆ®¿Í ½ãÀÇ JWSDP°¡ »ý¼ºÇÑ ¾ÆÆ¼ÆÑÆ®´Â ºñ½ÁÇÑ ºÎºÐµµ ÀÖÁö¸¸ Â÷º°ÈµÈ ºÎºÐµµ ÀÖ´Ù. J2EE 5.0ÀÇ À¥ ¼ºñ½º¿¡ ¾²ÀÏ JAX-RPC 2.0°ú JAXB 2.0Àº ÀÌ·¯ÇÑ ºÒȸ¦ ¾ø¾Ö±â À§ÇØ ¾ÆÆ¼ÆÑÆ® À̽ļºÀ» ³íÀÇÇϰí ÀÖ´Â ÁßÀÌ´Ù. ½ÇÀº J2SE 6.0ÀÌ JAX-RPC 2.0°ú JAXB 2.0À» ±âº»À¸·Î Æ÷ÇÔÇÒ °ÍÀ̱⠶§¹®¿¡ ¾ÆÆ¼ÆÑÆ®ÀÇ À̽ļºÀº ÇÊ¿¬ÀûÀÏ ¼ö¹Û¿¡ ¾ø´Â °ÍÀÌ´Ù.
| | | | | |
| |
Å« ±×¸² - ½Ã½ºÅÛ ±¸Á¶
¼ºñ½ºÀÇ ¿ä±¸»çÇ×°ú ÃëÁö´Â ÀÌ Á¤µµ·Î ¸¶Ä¡°í ´ÙÀ½À¸·Î Àüü ½Ã½ºÅÛÀÇ ±¸µµ¸¦ Àâ¾Æº¸ÀÚ.
 |
| <±×¸² 2> J2EE 5.0 °üÁ¡ÀÇ Åýà ¿¹¾à ¼ºñ½º ±¸Á¶ |
<±×¸² 2>¸¦ Ç®¾î ¾²¸é ´ÙÀ½°ú °°´Ù.
¡ß EJB 3.0Àº ¼ºñ½º¸¦ ½ÇÁ¦ ¼öÇàÇÏ´Â ¼¹öÃø ºñÁî´Ï½º ·ÎÁ÷À» ¸Ã´Â´Ù(¿¹Á¦¿¡¼´Â DB¸¦ µû·Î ¸¶·ÃÇÏÁö ¾Ê°í JBoss¿¡ ³»ÀåµÈ HSQLÀ» ¾µ °ÍÀÌ´Ù. »ç½Ç EJB 3.0ÀÇ CMP¸¦ ¾²¸é ÀüÇô ¼³Á¤ÇÒ °ÍÀÌ ¾ø´Ù).
¡ß WSMÀº ¼ºñ½ºÀÇ °ø°³¿Í ÀÔÃâ·ÂÀ» ¸Ã´Â´Ù. ÇöÀç·Î¼´Â WSM 1.1ÀÇ ½ºÆåµµ ³ª¿Í ÀÖÁö ¾Ê°í ±×¿¡ ÁØÇÏ´Â ±¸Çöüµµ µû¶ó¼ ´ç¿¬È÷ ¾øÀ¸¹Ç·Î ÀÏ´ÜÀº ºñÇÏÀ̺êÀÇ WSM 1.0 ±¸Çöü¸¦ ¾µ °ÍÀÌ´Ù.
¡ß Ŭ¶óÀÌ¾ðÆ®´Â J2SE¿¡¼´Â ÀÌŬ¸³½ºÀÇ RCP(Rich Client Platform), J2ME¿¡¼´Â ÈÞ´ëÆù¿ë MIDlet, ±×¸®°í ¾À Ŭ¶óÀÌ¾ðÆ®·Î JSF¸¦ ÅëÇÑ HTML°ú WMLÀÌ Á¦°øµÈ´Ù.
¡ß ¸ðµç Ŭ¶óÀÌ¾ðÆ®´Â Åýà ¿¹¾à ¼ºñ½º·Î °ø°³µÈ WSDL¿¡ ±â¹ÝÇÏ¿© ¼¹ö¿Í ¼ÒÅëÇÑ´Ù.
¡ß ´ë¿ë·®ÀÇ ¼ºñ½º¸¦ À§ÇØ, ƯÈ÷ ¼º´É Çâ»ó°ú °ü¸® ´É·Â °È¸¦ À§ÇØ °ÔÀÌÆ®¿þÀ̸¦ µµÀÔ, °³½Ì°ú ·Î±ëÀ» ½ÃµµÇÑ´Ù.
¡ß ºñµ¿±â À¥ ¼ºñ½º¸¦ Á¦°øÇϸç WS-AddressingÀ¸·Î ¿äû ¿£µåÆ÷ÀÎÆ®(endpoint, Áï URL ÁÖ¼Ò)¿Í ÀÀ´ä ¿£µåÆ÷ÀÎÆ®¸¦ ÁöÁ¤ÇÑ´Ù.
ÀÌ¿Í °°Àº ½Ã½ºÅÛÀ» ±¸ÃàÇϱâ À§ÇÑ È¯°æÀº ´ÙÀ½°ú °°ÀÌ ²Ù¸°´Ù.
J2SE ¿µ¿ª
¡ß JDK 5.0 ¾÷µ¥ÀÌÆ® 1(¾Æ¸¶ ÀÌ ¿¬Àç°¡ ÁøÇà ÁßÀÎ ½ÃÁ¡¿¡ ¾÷µ¥ÀÌÆ® 2°¡ ³ª¿Ã °ÍÀÌ´Ù)
J2EE ¿µ¿ª
¡ß JBoss AS 4.0.1(ÀÌÈÄ 4.0.2°¡ ³ª¿Ã ¼ö ÀÖÀ¸³ª EJB 3.0 ±¸Çöü¿Í ¸Â´Â °ÍÀ» ¾²µµ·Ï ÇÑ´Ù)
¡ß JBoss EJB 3.0 PR2(¸Å´Þ »õ ¹öÀüÀ» ³»±â·Î ÇßÀ¸´Ï PR3 ÀÌÈĵµ ±â´ëÇÒ ¸¸ÇÏ´Ù)
¡ß ÅèĹ 5.5(ºü¸£°Ô ¾÷µ¥ÀÌÆ®µÇ°í ÀÖ´Ù. 5.5.6 ÀÌÈĸ¦ ¾²°Ô µÉ °ÍÀÌ´Ù)
¡ß Á¦Æ¼(Jetty) 5.1(»õ·Ó°Ô ºÎ»óÇϰí ÀÖ´Â À¥ ÄÁÅ×À̳Ê, 5.1.1 ÀÌÈĸ¦ ¾´´Ù)
¡ß ºñÇÏÀ̺êe V1 ¾ËÆÄ(Áö³ ¾ÆÆÄÄ¡ ÄÁÆÛ·±½º ¹ßÇ¥¿ëÀε¥, °¡±î¿î Àå·¡¿¡ Á¤½Ä ¸±¸®½º°¡ ³ª¿À¸®¶ó º»´Ù)
¡ß Axis 1.2 RC2(1.2°¡ ¾ÆÁ÷µµ ÃÖÁ¾ÆÇÀÌ ³ª¿ÀÁö ¾Ê¾Æ °³¹ßÁøÀÇ ÀÏ¿øÀ¸·Î¼ ¼Û±¸ÇÒ »ÓÀÌÁö¸¸, ½ÇÁ¦ »ç¿ë¿¡´Â Å« ¹«¸®°¡ ¾øÀ» °ÍÀÌ´Ù)
¡ß MyFaces 1.0(JSFÀÇ ´ëÇ¥Àû ¿ÀǼҽº ±¸Çöü·Î¼, 1.0.8 ÀÌÈĸ¦ ¾´´Ù)
Åø ¿µ¿ª
¡ß ÀÌŬ¸³½º 3.1 M4(2¿ùÁß¿¡ M5°¡ ³ª¿À¹Ç·Î °ÅÀÇ ¿Ï¼ºµÈ 3.1À» ¾²°Ô µÇ´Â ¼ÀÀÌ´Ù)
¡ß WTK 2.2(½ãÀÇ MIDP¿ë ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß ÅøÀÌ´Ù)
¡ß TestNG(¸ÞŸµ¥ÀÌÅ͸¦ Ȱ¿ëÇÑ Â÷¼¼´ë JUnit. ÇöÀç´Â ±¸±Û ¼Ò¼ÓÀÇ Cedric BeustÀÇ °³ÀÎ ÇÁ·ÎÁ§Æ®À̱⵵ ÇÏ´Ù. Âü°í·Î ±¸±ÛÀº ¿¬±¸¿øÀÇ °³ÀÎ ÇÁ·ÎÁ§Æ®¸¦ Àǹ«ÈÇϰí ÀÖ´Ù°í ÇÑ´Ù)
¡ß CruiseControl(XPÀÇ Continous IntegrationÀ» ½ÇõÇÏ´Â ÅøÀÌ´Ù)
°¢ ¼ÒÇÁÆ®¿þ¾î´Â °Ë»öÀ» ÅëÇØ ½±°Ô Á¢±ÙÇÒ ¼ö ÀÖÀ» Á¤µµ·Î °¢ ºÐ¾ßÀÇ ´ëÇ¥ÀûÀ̰ųª À¯¸íÇÑ °Íµé·Î ¸ð¾Ò´Ù. ÀÌ ¿¬Àç´Â ¾ÕÀÇ È¯°æÀ» ±âÁØÀ¸·Î ÁøÇàÇÒ °ÍÀ̸ç, ´Ù¸¥ ȯ°æÀÌ¶óµµ ±âº»ÀûÀ¸·Î J2EE¿¡ ±â¹ÝÇϹǷΠÀ̽Ŀ¡ Å« ¹«¸®´Â ¾øÀ¸¸®¶ó ¿©°ÜÁø´Ù.
¼ºñ½ºÀÇ À籸¼º - ±¸¼º ¿ä¼Òµé
º»°ÝÀûÀÎ °³¹ßÀº ´ÙÀ½ ±Û¿¡ ÆîÃÄÁö°ÚÁö¸¸ ¹Ì¸® ¿¹°íÆíÀ» Ʋ¾îº¸¸é ÀÌ ½Ã½ºÅÛÀº ¼¹öÃø¸¸, ȤÀº Ŭ¶óÀ̾ðÆ®Ãø¸¸ ±¸ÃàÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ³¡¿¡¼ ³¡±îÁö(end-to-end) ¸¸µå´Â °ÍÀ¸·Î ´ÙÀ½°ú °°Àº ¿µ¿ªÀÌ º´·Ä·Î ÁøÇàµÈ´Ù.
¼ºñ½º Á¦°øÀÚ Ãø
¡ß ¼ºñ½º ±¸Çö ¿µ¿ª : EJB 3.0À¸·Î ¼ºñ½º ±¸Çö
¡ß ¼ºñ½º °ø°³ ¿µ¿ª : WSMÀ¸·Î ¼ºñ½º °ø°³
¼ºñ½º ¿ä±¸ÀÚ Ãø
¡ß J2SE ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® : RCP·Î Ŭ¶óÀÌ¾ðÆ® ÀÛ¼º
¡ß J2ME ¸®Ä¡ Ŭ¶óÀÌ¾ðÆ® : MIDletÀ¸·Î Ŭ¶óÀÌ¾ðÆ® ÀÛ¼º
¡ß J2SE, J2ME °ø¿ë ¾À Ŭ¶óÀÌ¾ðÆ® : JSF·Î Ŭ¶óÀÌ¾ðÆ® ÀÛ¼º
ÇÏÁö¸¸ ¿µÈ³ª ±ÛÀ̳ª ÀÏÂ÷¿øÀûÀ̹ǷΠ»ç½Ç»óÀ¸·Î ÃÑ 5ºÐ¾ß´Â °è¼Ó µµ´Â ½ÄÀ¸·Î »ý°¢Çϰí ÀÖ´Ù. EJB 3.0ÀÇ ¼¼¼Ç ºó¿¡¼´Â Ȩ ÀÎÅÍÆäÀ̽º°¡ »ç¶óÁ³À¸¹Ç·Î ¹Ù·Î ºñÁî´Ï½º ÀÎÅÍÆäÀ̽º¸¦ Â¥¸é µÇ´Âµ¥, ¾Õ¼ ±¸»óÇÑ ¼ºñ½º¿¡ ¸ÂÃç ´ÙÀ½°ú °°ÀÌ ¼³°èÇÑ´Ù.
soa.service.TaxiBookService [ÀÎÅÍÆäÀ̽º]
Taxi[] getAvailableTaxis(Location location, Calendar calendar)
void reserve(int taxiId)
Order[] viewOrders()
void cancelOrder(int orderId)
¾ÕÀÇ ¸Þ½îµå ½Ã±×´Ïó´Â ÃßÈÄ ¹Ù²ð ¼ö ÀÖÀ¸¸ç Location, Taxi, Order¿Í °°Àº ŸÀÔ ¶ÇÇÑ ÀÌÈÄ ±¸Ã¼ÈÇÒ °ÍÀÌ´Ù. Åýà ¿¹¾à ¼ºñ½º¿¡ ´ëÇÑ WSDLÀº WSMÀ» ÅëÇØ À§ÀÇ ÀÚ¹Ù ÀÎÅÍÆäÀ̽º·ÎºÎÅÍ ²ø¾î³¾ ¼ö ÀÖÀ¸¹Ç·Î Á÷Á¢ ÀÛ¼ºÇÒ ÇÊ¿ä´Â »ç¶óÁø´Ù.
| |
| J2SE 5.0ÀÇ ÄÚµå¸í°ú ¶È°°¾Æ ÀÚ¹Ù °³¹ßÀڵ鿡°Ô´Â Àͼ÷ÇÑ À̸§ÀΠŸÀ̰Ŵ ¾ÖÇÃÀÇ Â÷¼¼´ë ¿î¿µÃ¼°è¿¡¼µµ ¾²¿© ¿Ô´Ù. ¿ì¿¬ÀÎÁö ¸ô¶óµµ MacOS 10.4ºÎÅÍ J2SE 5.0À» Áö¿øÇϴµ¥, ¾ÆÁ÷Àº °ø½ÄÀûÀ¸·Î ¹èÆ÷µÇÁö ¾ÊÀº ÅͶó ¾ÖÇà °³¹ßÀÚ ÇÁ·Î±×·¥¿¡ µî·ÏµÈ °³¹ßÀڵ鿡 ÇÑÇØ Á¢±ÙÀÌ Çã¿ëµÇ°í ÀÖ´Â ½ÇÁ¤ÀÌ´Ù.
ÇÊÀÚ°¡ Áö³ ÀÚ¹ÙÆú¸®½º ÄÁÆÛ·±½º¿¡¼ Å©°Ô ³î¶ú´ø Á¡ ÁßÀÇ Çϳª´Â »ó´ç¼öÀÇ Âü°¡ÀÚ(¾Æ¸¶ ´ë°³ ÀÚ¹Ù °³¹ß °ü·ÃÀÚÀ̰ÚÁö¸¸)°¡ ÆÄ¿öºÏÀ» ¾²°í ÀÖ¾ú´Ù´Â Á¡ÀÌ´Ù. ´ë·« ¾î¸²ÁüÀÛÀ¸·Îµµ ³ëÆ®ºÏÀ» ÆîÃÄ µé°í ÀÖ´Â »ç¶÷µéÀÇ ¾à 3ºÐÀÇ 1, ¹ßÇ¥ÀÚµéÀÇ °æ¿ì¿¡´Â ¾à 2ºÐÀÇ 1ÀÌ ¸ÆÀ» ¾²°í ÀÖ¾ú´Ù. ÀÌ·¯ÇÑ (À¯·´, ºÏ¹ÌÀÇ) ÀÚ¹Ù °³¹ßÀÚµé »çÀÌÀÇ ¸Æ¿¡ ´ëÇÑ ÀαâÀÇ ÀÌÀ¯´Â ¹«¾ùÀϱî?
ÀÎÅÚ ±â¹Ý PC°¡ ´ë¼¼ÀÎ »óȲÀ̶ó À©µµ¿ì OS°¡ ³Î¸® ¾²À̰í ÀÖ±ä ÇÏÁö¸¸ È®½ÇÈ÷ ÀÚ¹Ù´Â ½ÏÀÌ Æ° °÷ÀÌ À¯´Ð½º·Î ¸Ô°í »ç´Â ½ãÀÌ´Ù º¸´Ï À¯´Ð½º¿Í °¡±õ´Ù. IDE ÅøÀÌ ¸¹ÀÌ ´ëÁßȵǾúÁö¸¸, À¯´Ð½ºÀÇ ¼ÐÀ» ÅëÇÑ °³¹ßÀÇ °·ÂÇÔµµ À¯´Ð½º¿¡ Ä£¼÷ÇÑ °³¹ßÀڵ鿡°Ô´Â ¹«Ã´ ¸Å·ÂÀûÀÌ´Ù. ÇÏÁö¸¸ ¸®´ª½º ³ëÆ®ºÏÀº ÈçÄ¡ ¾Ê´Ù. À©µµ¿ìÀÇ GUI¿¡ Àͼ÷ÇØÁ® ¾ÆÁ÷ ¸®´ª½º¿¡´Â ¸¸Á·½º·´Áö ¸øÇÒ ¼ö ÀÖ´Ù. ¿©±â¿¡ ¸ÆÀÇ È£¼Ò·ÂÀÌ ÀÖ´Ù. BSD À¯´Ð½º¿¡ ±â¹ÝÇϸ鼵µ ¾ÆÄí¾Æ¶ó´Â ȯ»óÀûÀÎ UI¸¦ ¼±»çÇÏ´Â, ´õ±º´Ù³ª ¾Ë°Ô ¸ð¸£°Ô ÀÎÅÚ°ú MSÀÇ ¸¶¼ö¿¡¼ ¹þ¾î³µíÇÑ ÀÚÀ¯·Î¿òÀÌ °¡°ÝÀûÀÎ ¸Á¼³ÀÓÀ» ±Øº¹ÇÏ°Ô ¸¸µå´Â °ÍÀÌ ¾Æ´Ò±î?
¾ÆÁ÷ È®ÀÎµÈ ¼Ò½ÄÀº ¾Æ´ÏÁö¸¸ ¿Ã 2»çºÐ±â¿¡´Â 64ºñÆ® CPUÀÎ G5¸¦ žÀçÇÑ ÆÄ¿öºÏ ³ëÆ®ºÏÀÌ µîÀåÇÑ´Ù´Ï 64ºñÆ®¿¡ ÃÖÀûÈµÈ µÎ ¸¶¸® È£¶ûÀÌ(MacOS, J2SE µÑ ´Ù)¸¦ ¾²´Ùµë´Â Äè°¨ÀÌ Áö±ÝºÎÅÍ »ó´çÈ÷ ±â´ëµÈ´Ù. ´ÊÀº ½Ã°£ ÀüöÀÇ ºóÀÚ¸®¿¡ ¾É¾Æ 64ºñÆ® ÇÁ·Î±×·¡¹ÖÀ» Áñ±â´Â ¿©À¯, ¿©¸§À̶ó¸é ¾ÆÀ̽ºÄ¿ÇÇ ÇÑÀܰúµµ Àß ¾î¿ï¸®¶ó »ó»óÇØ º»´Ù.
| | | | | |
| |
ÆÀÇ÷¹ÀÌ - Çù¾÷ ¹æ½Ä
¿©±â±îÁö°¡ ÇÊÀÚÀÇ ¸òÀ̾ú´Ù¸é Áö±ÝºÎÅÍ´Â µ¶ÀÚÀÇ ¸òÀÌ´Ù. ÀÌ ½Ã½ºÅÛÀÇ ±¸Ãà¿¡´Â ´ÙÀ½°ú °°Àº ¿ªÇÒÀÌ ÇÊ¿äÇÏ´Ù.
¡ß ÄÚµð³×ÀÌÅÍ : ÇÁ·ÎÁ§Æ® ¸Å´ÏÀú, ¸®µå µîÀ̶ó°í º¼ ¼öµµ ÀÖ°ÚÁö¸¸ ¹º°¡ °¾ÐÀûÀÌ°í ¿ìÀ§¿¡ ¼¹´Ù±â º¸´Ù´Â ¸ðµç ¿ªÇÒÀ» Á¶À²ÇÏ°í ¸Å²ô·´°Ô ÀÛ¾÷ÀÌ µÇµµ·Ï µ½´Â´Ù.
¡ß EJB ´ã´ç : ¼ºñ½ºÀÇ ºñÁî´Ï½º ·ÎÁ÷À» ¸Ã´Â´Ù. À¥ ¼ºñ½º³ª Ŭ¶óÀÌ¾ðÆ®¿¡ ´ëÇØ ¾Ë Çʿ䰡 ¾ø´Ù.
¡ß WSM ´ã´ç : ¼ºñ½ºÀÇ ³ëÃâÀ» ¸Ã´Â´Ù. EJB¿ÍÀÇ ¿¬°á, Ŭ¶óÀÌ¾ðÆ®¿ÍÀÇ ±³½Å¿¡ ´ëÇØ ¾Ë¾Æ¾ß ÇÏÁö¸¸, ÀÌ¿ÜÀÇ EJB¡¤Å¬¶óÀÌ¾ðÆ® »çÇ×Àº ¾Ë Çʿ䰡 ¾ø´Ù.
¡ß RCP ´ã´ç : RCP ±â¹Ý Ŭ¶óÀÌ¾ðÆ® Á¦ÀÛÀ» ¸Ã´Â´Ù. Axis¿¡¼ WSDL ó¸®¿Í ¼ºñ½º È£Ãâ ¹æ¹ýÀº ¾Ë°í ÀÖ¾î¾ß ÇÏÁö¸¸ ÀÌ¿ÜÀÇ ¼ºñ½º Ãø »çÇ×Àº ¾Ë Çʿ䰡 ¾ø´Ù.
¡ß MIDlet ´ã´ç : MIDlet ±â¹Ý Ŭ¶óÀÌ¾ðÆ® Á¦ÀÛÀ» ¸Ã´Â´Ù. WTK¿¡¼ WSDL ó¸®¿Í ¼ºñ½º È£Ãâ ¹æ¹ýÀº ¾Ë°í ÀÖ¾î¾ß ÇÏÁö¸¸ ÀÌ¿ÜÀÇ ¼ºñ½º Ãø »çÇ×Àº ¾Ë Çʿ䰡 ¾ø´Ù.
¡ß JSF ´ã´ç : JSF ±â¹Ý Ŭ¶óÀÌ¾ðÆ® Á¦ÀÛÀ» ¸Ã´Â´Ù. Axis¿¡¼ WSDL ó¸®¿Í ¼ºñ½º È£Ãâ ¹æ¹ýÀº ¾Ë°í ÀÖ¾î¾ß ÇÏÁö¸¸ ÀÌ¿ÜÀÇ ¼ºñ½º Ãø »çÇ×Àº ¾Ë Çʿ䰡 ¾ø´Ù.
È¥ÀÚ ´Ù ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸, °¡Àå ±ÇÀåÇÏ´Â °ÍÀº 6¸íÀÌ ÆÀÀ» ÀÌ·ï ÇØº¸´Â °ÍÀÌ´Ù. ÀÏ´Ü ÆÀÀ» ÀÌ·ç¾ú´Ù¸é, ´ÙÀ½ È£ ÁøÇàÀ» ÇÔ²²Çϱâ Àü¿¡ °¢ÀÚ°¡ ÇÊ¿äÇÑ ±â¼úÀ» ¹Ì¸® ÁغñÇØµÐ´Ù.
¡ß ÄÚµð³×ÀÌÅÍ : ¿£µåÅõ¿£µå(end-to-end) ¼³°è Àü¹Ý, SOA ¹æÄ§, WSDL, XML ½ºÅ°¸¶, SVN, CruiseControl, Wiki
¡ß EJB ´ã´ç : EJB 3.0 ±â¼ú, JBoss EJB 3.0 Á¶±â ±¸Çöü, JBoss 4.0
¡ß WSM ´ã´ç : WSM 1.0 ±â¼ú, ºñÇÏÀ̺ê WSM, ÅèĹ 5.5
¡ß RCP ´ã´ç : SWT, JFace, ÀÌŬ¸³½º RCP, JAX-RPC 1.1, Axis WSDL Åø, Axis Ŭ¶óÀÌ¾ðÆ® ·±Å¸ÀÓ
¡ß MIDlet ´ã´ç : MIDP 2.0, JSR 172 J2ME À¥ ¼ºñ½º, WTK WSDL Åø
¡ß JSF ´ã´ç : JSF ±â¼ú, MyFaces(HTML ·»´õ¸µ Ŷ, WML ·»´õ¸µ Ŷ), Á¦Æ¼ 5.0, JAX-RPC 1.1, Axis WSDL Åø, Axis Ŭ¶óÀÌ¾ðÆ® ·±Å¸ÀÓ
±×¸®°í »çÀü ÀÛ¾÷µµ ÇØµÐ´Ù.
¡ß ÄÚµð³×ÀÌÅÍ : SVN, CruiseControl, À§Å° ȯ°æ ±¸Ãà ¹× »ç¿ë ¹æ¹ý ÀüÆÄ
¡ß EJB ´ã´ç : JBoss 4.0 + EJB 3.0 ¼¹ö Áغñ ¹× ¼¼¼Ç ºó, ¿£Æ¼Æ¼ ºó Å×½ºÆ®
¡ß WSM ´ã´ç : ÅèĹ 5.5 + ºñÇÏÀ̺ê WSM Áغñ ¹× ±âÃÊ ¼ºñ½º Å×½ºÆ®
¡ß RCP ´ã´ç : ÀÌŬ¸³½º RCP ½ÇÇà ȯ°æ ¹× Axis Ŭ¶óÀÌ¾ðÆ® Å×½ºÆ®
¡ß MIDlet ´ã´ç : WTK 2.2 ½ÇÇàȯ°æ ¹× À¥ ¼ºñ½º Å×½ºÆ®
¡ß JSF ´ã´ç : Á¦Æ¼ 5.0 + MyFaces ¼¹ö Áغñ ¹× HTML¡¤WML ·»´õ¸µ Å×½ºÆ®
Åýà ¿¹¾à ¼ºñ½º ±¸ÃàÀ¸·Î µé¾î°¡±â Àü¿¡ ´Ù ÇÔ²² °áÁ¤Çϸé ÁÁÀ» °ÍÀ¸·Î´Â ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.
¡ß ÀÌ»óÀûÀÎ SVN ±¸Á¶ ÇÕÀÇ
¡ß Å×½ºÆ® ÀÛ¼º ¹æ½Ä(°¢ ¸ðµâ ´ã´çÀº µ¶¸³ÀûÀ¸·Î Å×½ºÆ® ÀÛ¼º. ÄÚµð³×ÀÌÅÍ´Â ÅëÇÕ Å×½ºÆ® ÀÛ¼º ¹× °¢ ¸ðµâ ´ç´çÀÌ µ¶¸³ÀûÀÎ Å×½ºÆ® ÀÛ¼ºÀ» ÇÒ ¼ö ÀÖµµ·Ï ´õ¹Ì µ¥ÀÌÅÍ Á¦°ø)
¡ß À§Å°¸¦ ÅëÇÑ ½Ç½Ã°£ ¹®¼ ÀÛ¼º ±ÔÄ¢(¹®¼ ¾ç½Ä°ú ´ë»ó Ç׸ñ µî)
±×¸®°í Ȥ½Ã Á» ´õ º»°ÝÀûÀÎ ±³À°À¸·Î ÀÌ ¿¬À縦 Ȱ¿ëÇÏ°í ½Í´Ù¸é °¢ ¸ðµâÀ» 2¸íÀÇ ÇÁ·Î±×·¡¸Ó°¡ ´ã´çÇÏ°Ô Çϰí ÇÑ ¸íÀº ÇØ´ç ºÐ¾ß¿¡ Àͼ÷ÇÑ »ç¶÷À», ´Ù¸¥ ÇѸíÀº Ãʺ¸·Î ¦À» Áö¾î ¦ ÇÁ·Î±×·¡¹Ö(Pair Programming)À¸·Î »çÀü ±â¼ú ½Àµæ, ¼¹ö ±¸Ãà, Å×½ºÆ® ÀÛ¾÷À» ÇÔ²² Çϸé È¿°ú°¡ ¹è°¡µÉ °ÍÀÌ´Ù.
| |
| ¼ÖÁ÷È÷ °í¹éÇÑ´Ù. ÇÊÀÚµµ ¹®¼ ÀÛ¾÷Àº Á¤¸» ½È¾îÇÑ´Ù. ±×·¡µµ Ç϶ó°í Çϴϱî Çß´Ù. À¥ »çÀÌÆ® ±¸Ãà ÇÁ·ÎÁ§Æ® ¸»¹Ì¿¡´Â ¾î±è¾øÀÌ Ã£¾Æ¿À´Â ÇÁ·Î±×·¥ ¼³¸í¼(¸»·Î ÇØµµ ¾î·Á¿îµ¥ ±Û·Î ÇÏÀÚ´Ï Âü¡¤¡¤¡¤)´Â ±×³ª¸¶ Çü½ÄÀÌ Á¤ÇØÁ® ÀÖ¾î¼ °í¸¶¿ï Áö°æÀ̰í, ¿ÀǼҽº ÇÁ·ÎÁ§Æ®¿¡¼´Â ´õ´õ¿í ¹®¼ ÀÛ¼ºÀÌ ±î´Ù·Ó´Ù. ¸¸±¹ÀÇ ÇÁ·Î±×·¡¸Ó¿¡°Ô ÅëÇÒ ¼ö ÀÖµµ·Ï ¿µ¾î·Î ÀÛ¼ºÇØ¾ß Çϴµ¥´Ù ¾ÆÆÄÄ¡ÀÇ °æ¿ì¿¡´Â Æ÷·¹½ºÆ®(Forrest)¶ó´Â ¸¸¸¸Ä¡ ¾ÊÀº ¹®¼ ±¸Ãà ÇÁ·¹ÀÓ¿öÅ©¿¡ Àӽ÷ΠWiki¸¦ ¾²±â´Â ÇÏÁö¸¸ ¾Æ¹«Æ° ºÎ´ã½º·´±â´Â ¸ÅÇѰ¡Áö´Ù.
ÇÁ·Î±×·¥ Â¥´Â °Ç ±×·¡µµ ÇÒ ¸¸Çѵ¥ ¿Ö ¹®¼ ¾²±â´Â ÇѼûºÎÅÍ ³ª¿Ã±î? ÇÁ·Î±×·¥µµ ±×·¸Áö¸¸ ±Ûµµ ¾²¸é ¾µ¼ö·Ï ´À´Â µ¿½Ã¿¡ ¾²¸é ¾µ¼ö·Ï ¾î·Á¿öÁø´Ù. ½º½º·Î¿¡ ´ëÇÑ ±â´ëÄ¡°¡ ³ô¾ÆÁö´Ï±î ¾Æ¿¹ ÇÏ°í ½Í¾îÁöÁö ¾Ê°Ô µÈ´Ù. °Ô´Ù°¡ ½½±Ý½½±Ý ±ÍÂú¾ÆÁö±â±îÁö ÇÑ´Ù. ¡®³»°¡ ¾Æ´Ï±î ´©°¡ ¹°¾îº¸¸é Á÷Á¢ ´ë´äÇØÁÖ¸é µÇÁö¡¤¡¤¡¤¡¯ ÀÌ·± ½ÉÁ¤ÀÎ ¼ÀÀÌ´Ù. ±×¸®°í ¼ÖÁ÷È÷ ÀÛ¾÷¿¡ Çã¿ëµÈ ½Ã°£µµ ºüµíÇÏ´Ï ¹®¼ ÀÛ¼ºÀº °³¹ß °úÁ¤¿¡ ÀÖ¾î ¿ì¼±¼øÀ§°¡ ¹Ð·Á¹ö¸®°í ¸¸´Ù.
ÇÊÀÚ°¡ Áö³ Çб⿡ ¼ö°Çß´ø ½Ã½ºÅÛ µðÀÚÀÎÀ̶ó´Â °ú¸ñ¿¡¼ ¾ÆÁÖ ¿ô±â´Â Á¦¸ñÀÇ ³í¹® Àб⸦ °¿ä¹Þ¾Ò´Ù(½ÃÇè¿¡ ³ª¿Â´Ù°í ¹«Ã´ °Á¶µÇ¾ú´Ù). David L. Parnas¶ó´Â »ç¶÷ÀÌ ¾´ ¡¸A Rational Design Process: how and why to fake it¡¹À̶ó´Â ±Û·Î¼, ¿äÁö´Â °£´ÜÈ÷µµ ¡°ÇÕ¸®ÀûÀÎ ¼³°è ÀýÂ÷¶õ »ç½Ç»ó ¾øÀ¸¸ç, ¿ì¸®´Â ´Ù¸¸ Çö½Ç¿¡¼ ±×°ÍÀ» Èä³»³¾ ¼ö¸¸ ÀÖÀ» »ÓÀÌ´Ù.¡± ±×¸®°í ±× ±¸Ã¼ÀûÀÎ ¹æ¹ýÀ¸·Î ¹®¼ ÀÛ¼ºÀ» µé°í ÀÖ´Ù.
±×·³ Á» ºñ¾àÇØ¼ ¹®¼ ÀÛ¼ºÀ» Á¦´ë·Î ¾ÈÇϸé ÇÕ¸®ÀûÀÎ ¼ÒÇÁÆ®¿þ¾î °³¹ß ÀýÂ÷´Â ½ÇõÀº °í»çÇϰí Èä³»Á¶Â÷ ¸ø³½´Ù´Â ¸»Àε¥, °õ°õÀÌ »ý°¢Çغ¸¸é (±×µ¿¾È ÇÁ·Î±×·¥ °³¹ß¿¡ ÀÖ¾î) ¾ó¸¶³ª Àå´ëÇÑ ºÎÁ¶¸®°¡ ÆîÃÄÁ³´Â°¡(±×¸®°í ÆîÃÄÁú°Ç°¡)°¡ ¸¶À½°á¿¡ »ìÆ÷½Ã ³»·Á¾É´Â´Ù. ¶Ç Çϳª, Parnas´Â ÀÌ ¹®¼°¡ ´Ü¼øÈ÷ ¡°³»°¡ ¿Õ³â¿¡ ÀÌ·¸°Ô Çß¾ú´Ù¡±´Â ½ÄÀÇ ¼Ò¼³ÀÌ ¾Æ´Ï¶ó ´©±º°¡°¡ ÇØ´ç ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇØ ¹º°¡ ±Ã±ÝÇÔÀ» °¡Á³À» ¶§ ã¾Æ º¼ ¼ö ÀÖ´Â Âü°íÀÚ·á·Î¼ Çü½Ä°ú ³»¿ëÀ» °Á¶Çϰí ÀÖ´Ù. ³»°¡ ®À¸´Ï±î ´ç¿¬È÷ ³ª´Â ±Ã±ÝÇÒ °ÍÀÌ ¾ø´Ù. ¹Ù·Î ¿©±â¿¡ ÇÕ¸®¼ºÀÌ °í°³¸¦ µç´Ù. Àڱ⸸ »ý°¢ÇÏ´Â ¼¼»ó¿¡ ÇÕ¸®´Â ¿ä»û¸»·Î ¹«È¿´Ù. »ç¶÷(Áï ³²)ÀÌ Àб⠽¬¿î Äڵ带 Â¥¶ó´Â ±Ý¾ðµµ ¸¶Âù°¡ÁöÀÌ´Ù. ¡°³ª´Â ±×·¸´Ù Ä¡°í, ³²Àº °ú¿¬ ¾î¶»°Ô »ý°¢Çұ¶ó´Â ´Ü¼øÇÑ ¹ß»ó¿¡¼ À̼ºÀûÀ̰í ÇÕ´çÇÑ ÀýÂ÷ÀÇ ÀÌ»óÀ¸·Î ÇÑ ¹ß¦¾¿ ´Ù°¡°¡´Â °ÍÀÌ´Ù.
¼ø¼ö À̼ºÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ¼³°è ÀýÂ÷°¡ ºÒ°¡´ÉÇÏ´Ù°í ÇÑ ÀÌÀ¯´Â ¹Ì·¡¸¦ ¿Ïº®È÷ ¿¹ÁöÇÒ ¼öµµ, ŸÀÎÀÇ ¸¶À½À» ¿ÏÀüÈ÷ ÀÎÁöÇÒ ¼öµµ ¾ø´Â Àΰ£ÀÇ ±Ùº»Àû ÇѰ迡 ±âÀÎÇÏÁö ¾ÊÀ»±î »ý°¢ÇØ º»´Ù.
| | | | | |
| |
ÇÏÁö ¾Ê°Ú´Â°¡ - SOA °³¹ß
¹ú½áºÎÅÍ ½Å³ªÁö ¾Ê´Â°¡? Àû°Ô´Â 2¢¦3¸í¿¡¼ ¸¹°Ô´Â 11¸í±îÁö ÇÔ²² ÇÒ ¼ö ÀÖÀ¸¸ç, XP¿Í TDD¸¦ ½ÊºÐ Ȱ¿ëÇÏ¿© ¼ºñ½º ÁöÇâÀûÀÎ °³¹ßÆÀÀ» ¸¸µç´Ù. ¸¶Ä¡ º¸º´ÀÇ ¼Ò´ëó·³, ÇÑ ÆÀ¿¡ °¢ ºÐ¾ßÀÇ Àü¹®°¡°¡ ¸ðµÎ ÀÖ´Ù. ÀÛÀü ÁöÈÖÀÇ ¼Ò´ëÀå¿¡¼ ÇÁ·ÎÁ§Æ® Á¶Á¤ÀÇ ÄÚµð³×ÀÌÅÍ·Î, ÀÓ¹« ´Þ¼º¿¡¼ ¼ºñ½º Á¦°øÀ¸·Î ÁøÈÇÑ´Ù. ±âÁ¸ÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß°úÀÇ Â÷º°¼ºÀº ¹Ù·Î ÀÌ·± µ¥¿¡ ÀÖ´Ù. SOA´Â ±â¹ÎÇÑ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ» °¡´ÉÄÉ Çϸç, ¼ÒÇÁÆ®¿þ¾îÀÇ »ç¿ëÀÚ°¡ Á¦°øÀÚ¸¦ ºóÆ´¾øÀÌ À̾îÁØ´Ù. ¸¶Áö¸·À¸·Î µµÀü¿å °ÇÑ ÆÀ¿¡°Ô´Â ´ÙÀ½ ¿¬À縦 ±â´Ù¸± °Íµµ ¾øÀÌ Åýà ¿¹¾à ¼ºñ½º¸¦ ¹Ì¸® ¸¸µé¾îº¸°í ÇÊÀÚÀÇ °úÁ¤ ±×¸®°í °á°ú¿Í ºñ±³Çغ¸´Â ½º¸±À» ´À²¸º¸±â¸¦ ±â´ëÇØ º»´Ù.@
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.