| Ganymede ½ÃÀÛÇϱâ(Bundle and Plug-in) (2008/10/7) | ![]() |
JLab Çã¿øÁø
¡¡
±×µ¿¾ÈÀÇ ¿¬ÀçÇÑ ±â»ç¸¦ ¹ÙÅÁÀ¸·Î ¾î´ÀÁ¤µµ ½ºÅ°¸¶°¡ ½×¿´´Ù. ÀÌÁ¦ ¹øµé ¶Ç´Â Ç÷¯±×ÀÎÀ» ¸¸µé¾î º¸ÀÚ. ³Ê¹« ¸¸µå´Â °úÁ¤¿¡ ÁýÁßÇÏÁö¸»°í ÀÌÀü ±â»çÀÇ È帧À¸·Î ÀüüÀûÀÎ °üÁ¡¿¡¼ ºÁÁÖ¾úÀ¸¸é ÇÑ´Ù.
¡¡
Bundle or Plug-in, Bundle and Plug-in
Eclipse 2.0 ±îÁöÀÇ PDE °³¹ßÀÚµéÀÇ °í¹ÎÀº WSAD(IBM»çÀÇ °³¹ßÅø) ȣȯ ¹®Àç¿´´Ù. Eclipse¿Í WSAD ¸ðµÎ °ÅÀÌ µ¿ÀÏÇÑ Ç÷§ÆûÀ» »ç¿ëÇ߱⠶§¹®¿¡ Á¶±Ý ½Å°æ¸¸ ¾´´Ù¸é µÎ°¡Áö ȯ°æ¿¡¼ ¸ðµÎ ½ÇÇàµÉ ¼ö ÀÖ´Â Ç÷¯±×ÀÎ °³¹ßÀÌ °¡´ÉÇß´Ù. ÇÏÁö¸¸ 3.0 ÀÌÈÄ ÀÌ ¹®Á¦´Â ´Þ¶óÁ³´Ù. OSGi BundleÀΰ¡ Equinox PluginÀΰ¡ÀÇ ¹®Á¦ ÀÌ´Ù. Equinox¿¡ OSGi ¹øµéÀ» ¿Ã¸®´Â°ÍÀº ¹®Á¦°¡ ¾Æ´ÏÁö¸¸ ±× ¹Ý´ëÀÇ °æ¿ì´Â ¹®Á¦°¡ µÈ´Ù. EquinoxÀÇ °íÀ¯ ±â´É(´ëÇ¥ÀûÀ¸·Î Extension Point°¡ ÀÖ´Ù. ÇϵΠµÎ Ç÷§ÆûÀ» ¿Ô´Ù °¬´Ù Çß´õ´Ï Extension Point°¡ OSGi R¿¡ Æ÷ÇԵȰÍÀ¸·Î Âø°¢ÇÒ¶§µµ ÀÖ´Ù.)À» »ç¿ëÇÑ Ç÷¯±×ÀÎÀÇ °æ¿ì³ª Eclipse Platform(EquinoxÁö¸¸ 2.0 ½ÃÀýºÎÅÍ À̾îÀú¿Â Ŭ·¡½º ³×ÀÓÀ¸·Î ±»¾îÁ®¹ö·È´Ù.)À» »ç¿ëÇÑ Ç÷¯±×Àεµ ¹®Á¦°¡ µÈ´Ù.
¿ì¼± Ganymede¸¦ ÅëÇØ OSGi³ª Equinox¿¡ ´ëÇØ Ä£ÇØÁö·Á´Â ´Ü°èÀÇ °³¹ßÀÚµéÀº µÑ »çÀÌÀÇ ¾î¶² Â÷À̰¡ ÀÖ´Ù´Â Á¤µµ¸¸ ¿°µÎÇÏ±æ ¹Ù¶õ´Ù. ÇÏÁö¸¸ Çö¾÷¿¡¼ »ç¿ëÇÒ °³¹ßÀÚµéÀº ¹®Á¦°¡ Å©´Ù. ÀÓº£µðµå ÀåÄ¡¾È¿¡ OSGi Ç÷§ÆûÀ» À̽ÄÇÏ´Â °æ¿ì°¡ ¸¹±â ¶§¹®ÀÌ´Ù. Á¤ºÎ °úÁ¦³ª »ó¾÷ ÄÁ¼Ò½Ã¾ö ÇÁ·ÎÁ§Æ®³ª ÀÌ ¹®Á¦ ¶§¹®¿¡ ¼·Î ½Î¿ì´Â ¸ð½ÀÀ» Á¾Á¾ º¸¾Ò´Ù. ÀÏ´Ü ÄÁ¼Ò½Ã¾ö ±¸¼º °úÁ¤¿¡¼ È®½ÇÀÌ OSGiÀΰ¡ EquinoxÀΰ¡¸¦ ¸í½ÃÇØ¾ßÇÑ´Ù.
Bundle Development Environment
Tool
ÇöÀç·Î½á Bundle °³¹ß¿¡ °¡Àå ÃÖÀûÈµÈ °³¹ßȯ°æÀº WSAD ¶Ç´Â EclipseÀÌ´Ù. ¹°·Ð ¿ïÆ®¶ó ¿¡µðÅͳª ¸Å¸ðÀåÀ» ÀÌ¿ëÇÒ ¼öµµ ÀÖÁö¸¸, À̸¦ ÅëÇØ µð¹ö±×/ŽºÆÃÀº ºÒ°¡´ÉÇÏ´Ù. ÀÌŬ¸³½º °°Àº ÅëÇÕ °³¹ß ȯ°æÀÌ ¸¶À½¿¡ ¾Èµé´õ¶óµµ Âü±â¸¦ ¹Ù¶õ´Ù. ¹øµé °³¹ß¿¡ ÀÖ¾î´Â ÇöÀç ÃÖ°íÀÇ È¯°æÀ» Á¦°øÇÑ´Ù.
Document
Á¤ºÎ °úÁ¦¶ó¸é ¾Æ·¡ÇѱÛ, Çö¾÷À̶ó¸é º¸Åë ¿öµå¸¦ »ç¿ëÇÒ °ÍÀÌ´Ù. ¸¶Áö¸· ¹®¼ Á¦Ã⠴ܰèÀÇ Æ÷¸ËÀº ±×·¸´õ¶óµµ Ãʱ⠹®¼ÀÇ ÇüÅ´ htmlÀ¸·Î Çϱæ Á¶¾ðÇÑ´Ù. EclipseÀÇ Help System°£ÀÇ ¿¬°è·Î °³¹ßÀڵ鿡°Ô ½ÇÁúÀûÀÎ Document¸¦ Á¦°ø ÇÒ ¼ö ÀÖ´Ù.
Dual Display
CBD°³¹ßÀÇ Å« ´ÜÁ¡Àº °³¹ßÀÌ Á÷°üÀûÀÌÁö ¸øÇϴٴ°ÍÀÌ´Ù. ¹øµé °³¹ßµµ ¸¶Âù°¡Áö·Î ³»°¡ ¾î¶² ´Ù¸¥ ¹øµéÀ» ÀÌ¿ëÇÒÁö, ³» ¹øµéÀº ¾î¶² ±â´ÉÀ» Á¦°øÇÒÁö È®½ÇÇÑ ±×¸²À» ±×¸®°í ÀÖÁö ¾ÊÀ¸¸é CBD °³¹ßÀÇ ´Ë¿¡ ºüÁö°Ô µÈ´Ù. ÇÊÀÚ°¡ ÀÌ ´ËÀ» ÇÇÇÏ´Â ¹æ¹ýÀº ±âȹ/°èȹ ´Ü°èÀÇ ¹®¼¸¦ °è¼Ó º¸¸é¼ ÃÖ¸éÀ» °É¾î ¹ö¸®´Â°ÍÀÌ´Ù. º®¿¡ ¸ðÀÚÀÌÅ© ó·³ °³¹ß Ű ¹®¼µéÀ» ¸ðÀÚÀÌÅ© ó·³ ¹è¿ÇØ ³õ°Å³ª 2¹øÂ° Display³ª 3¹øÂ° Display¿¡ »óÁÖ½ÃŰ°í °³¹ßÁß¿¡ °è¼Ó º»´Ù.
ÀÌ »Ó¸¸ ¾Æ´Ï¶ó °³¹ßÁß¿¡ ´Ù¸¥ ¹øµéÀ» ÀÌ¿ëÇÏ´Â ºÎºÐ¿¡ ÀÖ¾î¼ º¹ÀâÇÑ Å×½ºÆÃ/µð¹ö±×°¡ ÇÊ¿äÇÏ´Ù. Display´Â ¸¹À¸¸é ¸¹À» ¼ö·Ï ÁÁ´Ù. ¸ð´ÏÅÍ Çϳª ´õ »ç°í, ÇÑ ½Ã°£ ÀÏÂï Åð±ÙÇÏÀÚ.¡¡
Bundle & Plug-in Development
°ÆÁ¤µµ Çß°í ÀܼҸ®µµ µé¾úÀ¸´Ï ¸¸µé¾î º¸ÀÚ. °úÁ¤°ú Â÷ÀÌÁ¡¿¡ ÁßÁ¡À» µÎ±æ ¹Ù¶õ´Ù.
1.
![]()
OSGi Bundle, Eclipse Plugin ¸ðµÎ ½ÃÀÛÀº °°´Ù. Plug-in Project¸¦ ¼±ÅÃÇÏÀÚ.
2.
![]()
3.Bundle
Next À§Àڵ忡¼ BundleÀÇ °æ¿ì standard¸¦ PluginÀÇ °æ¿ì Equinox¸¦ ¼±Åà ÇÏ¸é µÈ´Ù. Bundle ÇÁ·ÎÁ§Æ® À̸§Àº MyBundle Plugin ÇÁ·ÎÁ§Æ® À̸§Àº MyPluginÀ¸·Î ÇÏÀÚ.
![]()
4.Bundle
Activator´Â ¹øµéÀÇ ¶óÀÌÇÁ »çÀÌŬÀ» ÁÖ°üÇϴ Ŭ·¡½º »ý¼º ¿É¼ÇÀÌ´Ù. °ÅÀÌ ´ëºÎºÐÀÇ ¹øµéÀÌ Activator¸¦ °®Áö¸¸ ´Ü¼øÈ÷ ¶óÀ̺귯¸® ¿ªÇÒÀ» ÇÏ´Â ¹øµéÀÇ °æ¿ì Activator°¡ ÇÊ¿ä¾ø´Ù.
Enable API Analysis Ư¼ö ÀÚ¹Ùµ¶ Åױ׸¦ ÀÌ¿ëÇØ¼ API »ç¿ë¿¡ µµ¿òÀ» ÁÙ¼ö ÀÖ´Ù. PDE 3.4¿¡¼ Ãß°¡µÈ ±â´ÉÀÌ´Ù.
![]()
Next À§Àڵ忡¼ ÅÛÇø´À» ¼±ÅÃÇÏ¸é ¿¹Á¦°¡ Æ÷ÇÔµÈ ¹øµéÀÌ »ý¼ºµÈ´Ù. ¼±ÅÃÇÏÁö ¸»°í ±×³É Finish¸¦ ´©¸£ÀÚ. 2¹ø °úÁ¤À¸·Î µ¹¾Æ°¡¼ À̹ø¿¡´Â Ç÷¯±×ÀÎ ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé¾î º¸ÀÚ. Target Platform¿¡¼ Eclipse¸¦ ¼±ÅÃÇÏ¸é µÈ´Ù.
3.Plug-in
![]()
¹øµé°ú´Â Á» ´Ù¸¥ Ç׸ñÀÌ Ãß°¡ µÆ´Ù.
This plug-in will make contribution to the UI
ÀÌ Ç׸ñÀ» ¼±ÅÃÇÏ¸é ¿öÅ©º¥Ä¡¸¦ »ç¿ëÇÏ´Â Ç÷¯±×ÀÎÀ» ¸¸µé°Ô µÈ´Ù. ½±°Ô »ý°¢Çؼ UI(¹öư, â, À§ÀÚµå, ¸Þ´ºµî)À» °¡Áö´Â Ç÷¯±×ÀÎÀ» »ý°¢ÇÏ¸é µÈ´Ù. ÀÌ Ç׸ñÀ» ¼±ÅÃÇϰí UI¸¦ »ç¿ë ¾ÈÇÏ´Â Ç÷¯±×ÀÎÀ» ¸¸µé¼ö´Â ÀÖÁö¸¸, ÀÌ Ç׸ñÀ» ¼±Åà ¾ÈÇϰí UI¸¦ »ç¿ë ¾ÈÇÏ´Â Ç÷¯±×ÀÎÀº ¸¸µé ¼ö ¾ø´Ù. ´çºÐ°£ ±×³É ÀÌ´ë·Î ¾²ÀÚ.
Rich Client Application
¿©·¯ºÐÀÌ °³¹ßÇÑ ¹øµéÀº ±âº»À¸·Î ÇÑ ¾îÇø®ÄÉÀÌ¼Ç °³¹ßÀ» ¶æ ÇÑ´Ù. ÀÌ Ç׸ñÀ» üũÇÏ°Ô µÇ¸é, ¿©·¯ºÐÀÌ ¸¸µç ¹øµéÀÌ ´ÜÀÎ ¾îÇø®ÄÉÀÌ¼Ç Ã³·³ ¹èÆ÷/½ÇÇàÀÌ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î FTP Ç÷¯±×ÀÎÀ» ¸¸µé¾ú´Ù¸é ÀÌŬ¸³½ºÀÇ ±âº» Ç÷¯±×Àεé(JDT, CVS, PDE µîµî)À» ¹èÁ¦ÇÏ°í ¿©·¯ºÐÀÌ ¸¸µç Ç÷¯±×Àθ¸ ½ÇÇàµÈ´Ù. ¹°·Ð ±âÁ¸ÀÇ Ç÷¯±×Àεµ ¾îÇø®ÄÉÀ̼ǿ¡ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù.
Next À§ÀÚµå´Â ¹øµé°ú ¸¶Âù°¡Áö·Î ÅÛÇø´ÀÌ´Ù.
What a differance between Bundle and Plug-in Project?
![]()
Projects
À§´Â ¿ì¸®°¡ ¸¸µç Bundle°ú Plugin ÇÁ·ÎÁ§Æ® ¸ð½ÀÀÌ´Ù. °ÅÀÌ µ¿ÀÏÇÏ´Ù. META-INF ¿¡ ÀÖ´Â ÆÄÀÏÀ» ¿¾îº¸ÀÚ.(´õºí Ŭ¸¯)
MANIFEST ÆÄÀÏ ÆíÁý±âÀÇ ¸ð½ÀÀÌ´Ù ¾î¶² ºÎºÐÀÌ Â÷À̰¡ ³¯±î? ã¾Æº¸ÀÚ.
package mybundle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class Activator implements BundleActivator {
/*
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception {
}
/*
* (non-Javadoc)
* @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext context) throws Exception {
}
}OSGi Bundle Activator
package myplugin;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
public class Activator extends AbstractUIPlugin {
// The plug-in ID
public static final String PLUGIN_ID = "MyPlugin";
// The shared instance
private static Activator plugin;
/**
* The constructor
*/
public Activator() {
}
/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
}Eclipse Plugin Activator
Activator ¶ÇÇÑ Å©°Ô ´Ù¸£Áö ¾Ê´Ù. OSGi ¹øµéÀº Å©°Ô ¼³¸íÇÒ ³»¿ëÀÌ ¾ø°í, Eclipse PluginÀÇ activator¿¡ ´ëÇØ¼ Àá±ñ ¾ð±ÞÇÏ°í ³Ñ¾î °¡°Ú´Ù. Eclipse 1.0 ½ÃÀý¿¡¼ Ç÷¯±×ÀÎ °³¹ßÀڵ鿡°Ô Extension Point´Â ¸Å¿ì »ý¼ÒÇÑ °³³ä À̾ú´Ù. ½ÉÁö¾î´Â Eclipse Project ³»¿¡¼µµ »çÁ¤Àº ¸¶Âù°¡Áö ¿´´Ù. ÀÌ ¶§ Ç÷¯±×ÀÎ °£¿¡ °´Ã¼¸¦ °øÀ¯Çϱâ À§ÇØ »ç¿ëÇÑ ¹æ¹ýÀÌ Ç÷¯±×ÀÎ ½Ì±ÛÅæ ÀνºÅϽº¸¦ ÀÌ¿ëÇÑ ¹æ¹ý À̾ú´Ù. ÇÊÀÚ ¶ÇÇÑ 1.0 ½ÃÀý ºÎÅÍ 2.0 Ãʱ⠱îÁö ÀÌ ¹æ¹ýÀ» »ç¿ë Çß´Ù. ÀÌ °ÍÀ» ¾ð±Þ ÇÏ´Â ÀÌÀ¯´Â Çö¾÷¿¡¼ °³¹ßÇÏ´Â Ç÷¯±×ÀÎ Áß¿¡ ¾ÆÁ÷µµ ÀÌ ¹æ¹ýÀ» ¸¹ÀÌ »ç¿ëÇϰí Àֱ⠶§¹®ÀÌ´Ù. ÀÌ ¹æ¹ýÀÇ °¡Àå Å« ¹®Á¦Á¡Àº CBDÀÇ ¸ðµç ÀåÁ¡À» ÇØÄ£´Ù´Â°ÍÀÌ´Ù. °í¹ÎÇÏÁö ¸»°í Á¦ÀÌ·¦ PDE °Ô½ÃÆÇÀ» ÀÌ¿ëÇÏÀÚ. ´ÙÀ½À¸·Î´Â ½ÇÇà ȯ°æ¿¡ ´ëÇØ ¾Ë¾Æº¸°Ú´Ù.
¿¹Àü¿¡´Â Å×½ºÆ®/½ÇÇà À̶ó°í ÇØºÃÀÚ ¹ÙÀ̳ʸ® Çϳª ½ÇÇàÇϰí Á¶±Ý º¹ÀâÇÏ¸é µÚ¿¡ ¿É¼Ç Á¤µµ ÁÖ´Â Á¤µµ¿´´Ù. ÇÏÁö¸¸ Çö´ë °³¹ß ȯ°æÀº "µµ´ëü ¾î¶»°Ô Ű°í ²¨?" ¶ó´Â ¸»ÀÌ ³ª¿Ã Á¤µµ·Î º¹ÀâÇÏ´Ù. Eclipse´Â ´Ü¼øÇÑ°Í ºÎÅÍ º¹ÀâÇÑ ¾îÇø®ÄÉÀÌ¼Ç ±îÁö ¸ðµÎ ¼ö¿ëÇÏ¿© Å×½ºÆ®/½ÇÇà ÇÒ ¼ö ÀÖ´Â Launch ConfigurationÀ» Á¦°øÇÑ´Ù. ³Ê¹« ¸ÚÁø ȯ°æÀ̶ó »ý°¢ÇÑ´Ù. ÀÌŬ¸³½º ¸Þ´º Run -> Run ConfigurationÀ» ´©¸£ÀÚ.
![]()
Debug Configurations
½ÇÇà/Å×½ºÆ®¿¡ µû¶ó¼ Run/Debug ConfigurationÀ¸·Î ³ª´¶´Ù. À§¿Í °°Àº âÀÌ ¶ß¸é OSGi Framwork¸¦ ¼±ÅÃÇϰí New Configuration ¹öưÀ̳ª ¸¶¿ì½º ¿ìŬ¸¯À¸·Î New¸¦ ¼±ÅÃÇÏÀÚ.
![]()
Run Configuration
Áö±Ý ±îÁöÀÇ ±â»ç¸¦ Àß Àо µ¶ÀÚ¶ó¸é Configuration ³»¿ëÀÌ ÀÌÇØ°¡ µÉ °ÍÀÌ´Ù. ÇÁ·¹ÀÓ ¿öÅ©¿¡ ¾î¶² ¹øµéÀ» Æ÷ÇÔ Çϰí Ãʱ⠻çÀÛ ¹øµéÀ» ¼±ÅÃÇÏ´Â ÀýÂ÷ÀÌ´Ù. ±âº»ÀûÀ¸·Î ¿÷½ºÆäÀ̽º »óÀÇ ¸ðµç ¹øµé ÇÁ·ÎÁ§Æ®µéÀÌ ¼±ÅõǹǷΠMyBundleÀ» Á¦¿ÜÇÏ°í ¸ðµÎ ¼±ÅÃ ÇØÁ¦ÇÏÀÚ. Â÷ÈÄ °³¹ßÁß¿¡ ¹øµéÀ» ãÀ» ¼ö ¾ø´Ù´Â ¿¡·¯¸Þ¼¼Áö°¡ ¹ß»ýÇϸé ÀÌ ConfigurationºÎÅÍ È®ÀÎÇØ¾ß ÇÑ´Ù.
Arguments Tab
Arguments Tab ¿¡¼ -consoleÀ» Ãß°¡Çϸé ÄܼÖâÀ» ÅëÇØ¼ OSGi ¸í·É¾î¸¦ »ç¿ë ÇÒ ¼ö ÀÖ´Ù. RunÀ» ´·¯º¸ÀÚ. ±âº» stub¿Ü¿¡´Â ¾Æ¹« Äڵ嵵 ¾øÀ¸¹Ç·Î °¡½ÃÀûÀ¸·Î ½ÇÇàÀ» È®ÀÎ ÇÏ·Á¸é ÄܼÖÀ» ÀÌ¿ëÇØ¾ß ÇÑ´Ù.
![]()
Console
ss ¸í·ÉÀ¸·Î ¹øµéÀÇ »óŸ¦ È®ÀÎÇÑ´Ù. ¿ì¸®°¡ ¸¸µç ¹øµé°ú OSGi ¹øµé¸¸ ½ÇÇàµÇÀÖ´Ù. °°Àº ÀýÂ÷·Î PluginÀ» ½ÇÇàÇØ º¸ÀÚ. ConfigurationÀÇ Bundles ÅÜ¿¡¼ Deselect AllÀ» ´©¸¥´ÙÀ½¿¡ MyPlugin¸¸ ¼±Åà ÈÄ Add Required Bundles¸¦ ´©¸¥´Ù. ´ÙÀ½Àº Ç÷¯±×ÀÎÀÇ ss °á°ú ÀÌ´Ù.
osgi> ssFramework is launched.
id State Bundle
0 ACTIVE org.eclipse.osgi_3.4.0.v20080605-1900
1 ACTIVE org.eclipse.core.contenttype_3.3.0.v20080604-1400
2 ACTIVE org.eclipse.core.jobs_3.4.0.v20080512
3 ACTIVE org.eclipse.equinox.registry_3.4.0.v20080516-0950
Fragments=6
4 ACTIVE org.eclipse.equinox.common_3.4.0.v20080421-2006
5 ACTIVE javax.servlet_2.4.0.v200806031604
6 RESOLVED org.eclipse.core.runtime.compatibility.registry_3.2.200.v20080610
Master=3
7 ACTIVE org.eclipse.ui_3.4.0.I20080610-1200
8 ACTIVE org.eclipse.help_3.3.100.v20080610
9 ACTIVE MyPlugin_1.0.0
10 ACTIVE org.eclipse.osgi.services_3.1.200.v20071203
11 ACTIVE org.eclipse.core.databinding_1.1.0.I20080527-2000
12 ACTIVE org.eclipse.core.commands_3.4.0.I20080509-2000
13 ACTIVE org.eclipse.core.runtime_3.4.0.v20080512
14 ACTIVE org.eclipse.core.runtime.compatibility.auth_3.2.100.v20070502
15 ACTIVE org.eclipse.equinox.app_1.1.0.v20080421-2006
16 ACTIVE org.eclipse.swt_3.4.0.v3448f
Fragments=23
17 ACTIVE org.eclipse.jface_3.4.0.I20080606-1300
18 ACTIVE org.eclipse.equinox.preferences_3.2.200.v20080421-2006
19 ACTIVE org.eclipse.ui.workbench_3.4.0.I20080606-1300
20 ACTIVE org.eclipse.core.expressions_3.4.0.v20080603-2000
21 ACTIVE com.ibm.icu_3.8.1.v20080530
22 ACTIVE org.eclipse.jface.databinding_1.2.0.I20080515-2000a
23 RESOLVED org.eclipse.swt.win32.win32.x86_3.4.0.v3448f
Master=16osgi>
µÑ´Ù ±âº» stubÀÏ »ÓÀε¥ ¿ÖÀ̸® ssÀÇ °á°ú°¡ Â÷À̰¡ ³¯±î? À̰ÍÀÌ °á±¹ Bundle°ú PluginÀÇ Â÷À̶ó°í º¸¸é µÈ´Ù. BundleÀº OSGi ÇÁ·¹ÀÓ¿öÅ©¸¸ ÀÖÀ¸¸é µÇÁö¸¸, PluginÀº Eclipse PlatformÀÇ ±¸¼º ¿ä¼Ò ÀüºÎ°¡ ÇÊ¿äÇÏ´Ù.(À§ ssÀÇ °á°ú´Â Ç÷¯±×ÀÎ ÇÁ·ÎÁ§Æ® »ý¼ºÀÌ Eclipse UI¸¦ »ç¿ëÇÏ´Â Ç÷¯±×ÀÎÀ̶ó´Â ¿É¼ÇÀ» ¼±ÅÃÇÑ °á°úÀÌ´Ù, ÀÌ ¿É¼ÇÀ» ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é Ç÷¯±×ÀÎ ¸®½ºÆ®´Â Á»´õ ÁÙ¾îµç´Ù.) À§ °á°ú¸¸ ³õ°í ºÃÀ»¶§ "PluginÀº Bundleº¸´Ù ÇÊ¿äÇѰÍÀÌ ¸¹´Ù, ¸®¼Ò½º¸¦ ¸¹ÀÌ ¸Ô´Â´Ù"¶ó°í ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸, Plugin¿¡ Á¦°øµÇ´Â ¸Å¿ì Æí¸®ÇÑ È¯°æÀÌ ¸¹´Ù.(¹øµé ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇØµµ ¾î¿¼ö ¾øÀÌ Eclipse°¡ Á¦°ø ÇÏ´Â ±â´ÉÀ» ÀϺΠ±¸ÇöÇØ¼ »ç¿ëÇÏ´Â °æ¿ì°¡ ¸¹´Ù)
Summary
OSGi¿Í Equinox ¼±Åÿ¡ ÀÖ¾î¼ ´ÙÀ½°ú °°Àº Áú¹®À¸·Î ¾Ë¾Æº¸´Â ¹æ¹ýÀÌ ÀÖ´Ù.
Q. °´Ã¼ °øÀ¯¿¡ Extenstion Point°¡ ÇÊ¿äÇմϱî?
A. Plugin
Q. ´ç½ÅÀÌ °³¹ßÇÑ ¹øµéÀº ¸ðµ¨À» Æ÷ÇÔÇϰí ÀÖÀ¸¸é ÃÖÁ¾ÀûÀ¸·Î À̽ÄÀÌ ¼ö¿ùÇÑ ÇüÅÂÀÇ Core·Î ¹èÆ÷ ÇÏ°í ½Í½À´Ï±î?
A. Plugin
Q. ÀÓº£µðµå ȯ°æÀ» ±âº»À¸·Î ÀûÀº ¸®¼Ò½º¸¦ ¿°µÎ Çմϱî?
A. Bundle
Q. ¼¹ö»çÀ̵å·Î µ¥¸óó·³ ½ÇÇàµÇ´Â ÇÁ·Î´öÆ® ÀԴϱî?
A. Bundle
Q. EclipseÀÇ Workbech·Î ÅëÇÕ ÇÏ¸é Æí¸®ÇÑ UI°¡ ÇÊ¿äÇÑ ÇÁ·Î´öÆ® ÀԴϱî?
A. Plugin
Áö±Ý ±îÁö ¶°µé¾ú´ø ³»¿ëÀº °á±¹ ¾Æ·¡ÀÇ Ç¥¸¦ ¿Ï¼ºÇϱâ À§ÇÑ Áغñ¿´´Ù.
Bundle(OSGi) Plugin(Equinox) °´Ã¼ °øÀ¯ Service Service, Extension Point Activator BundleActivator Plugin Essentioal Bundle org.eclipse.core.contenttype
org.eclipse.core.jobs
org.eclipse.equinox.registry
org.eclipse.equinox.common
javax.servlet
org.eclipse.core.runtime.compatibility.registry
org.eclipse.osgi.services
org.eclipse.core.runtimeorg.eclipse.core.runtime.compatibility.auth
org.eclipse.equinox.app
org.eclipse.equinox.preferences
°ü·Ã Á¦ÀÌ·¦ ±â»ç OSGi À̾߱â http://www.jlab.net/news/20050303/news.htm Ganymede http://www.jlab.net/news/20080825/news.htm Ganymede ½ÃÀÛÇϱâ(OSGiÀÇ ÀÌÇØ¿Í ½ÃÀÛ) http://www.jlab.net/news/20080912/news.htm Ganymede ½ÃÀÛÇϱâ(Bundle Status) http://www.jlab.net/news/20080923/news.htm
About Author
Çã¿øÁø
Á¦ÀÌ·¦ ´ëÇ¥ ¿î¿µÀÚ, Total Eclipse ´ëÇ¥ ÀúÀÚ, Eclipse Consultant, Juliet Scandal Project Leader. ÀÌŬ¸³½º ÇÁ·ÎÁ§Æ®µéÀ» Àû±Ø ÀÌ¿ëÇØ¼ Àúºñ¿ëÀ¸·Î Äè¼Ó°³¹ßÀ» Çϴµ¥ °ü½ÉÀÌ ¸¹´Ù. Contact
www.jlab.net
ÀÌ ÄÁÅÙÃ÷´Â JPL¿¡ ÀÇÇØ¼ º¸È£ ¹Þ½À´Ï´Ù. ¿ÀÅ» ÀÚ³ª °ÇÀÇ´Â À̰÷¿¡ ÇØÁֽʽÿÀ.