政大機構典藏-National Chengchi University Institutional Repository(NCCUR):Item 140.119/95261
English  |  正體中文  |  简体中文  |  Post-Print筆數 : 27 |  Items with full text/Total items : 113392/144379 (79%)
Visitors : 51219944      Online Users : 927
RC Version 6.0 © Powered By DSPACE, MIT. Enhanced by NTU Library IR team.
Scope Tips:
  • please add "double quotation mark" for query phrases to get precise results
  • please goto advance search for comprehansive author search
  • Adv. Search
    HomeLoginUploadHelpAboutAdminister Goto mobile version
    Please use this identifier to cite or link to this item: https://nccur.lib.nccu.edu.tw/handle/140.119/95261


    Title: 使 Eclipse 平台具備遠端外掛程式功能之研究
    Enhance Eclipse platform with remote plug-ins
    Authors: 林庭瑋
    Contributors: 陳正佳
    林庭瑋
    Keywords: Eclipse
    遠端服務
    外掛程式
    分散式計算
    Date: 2009
    Issue Date: 2016-05-09 15:28:47 (UTC+8)
    Abstract: Eclipse 是目前最廣受歡迎的軟體工具整合平台,其可擴充的架構,允許第三方撰寫名為 Plug-in 的擴充套件將既有的或是新開發的工具程式整合至此平台。然而隨著 Eclipse 的普及以及可用工具套件的增加,衍生的困擾則是幾乎每一套 Eclipse 平台都會裝載過多的工具。雖然 Eclipse 的架構提供了諸如 Plug-in 的延遲載入(Lazy-Loading)、快速裝載與更新等功能,讓 Eclipse 平台具有相當高度的可延展性(Scalability),但整體效能還是會因為裝載過多的工具程式而下滑。

    為了解決上述問題,本研究提出一套名為 Remote Plug-in 的解決方案,允許使用者或是廠商將原生(Native)或非原生的工具發布到遠端站台,並透過本研究提供的開發工具快速產生包裝程式,讓標的工具能以 Web Services 的型式發布到站台上供使用者叫用。另一方面,需要使用這些工具服務的 Eclipse 平台則可以透過本研究提供的輔助 Plug-in 提供之功能,直接叫用這些工具服務,效果則有如使用安裝於相同電腦的 Plug-in 一樣。

    此作法除了能降低 Plug-in 的安裝數量,進而改善 Eclipse 平台的整體效能外,也能減少許多不常使用工具的裝卸。此外,Remote Plug-in 架構的其他優點在於讓用戶得以使用在其平台無法安裝執行的工具程式,軟體商亦可經由發布 Remote Plug-in 加強對軟體的記錄控管。
    Since its inception in 2001, Eclipse has quickly become the most popular platform for software development, partly thanks to its extensible architecture, which allows third parties to easily integrate their software tools into the platform in the form of plug-ins. As the quick increase and abundance of free or cheap Eclipse plug-ins available to the public, coming up also is the problem that most users install too many plug-ins than tolerable in a platform. Although the designers of Eclipse have develped mechanisms such as Lazy-Loading [42], and quick installation and update subsystem to make Eclipse scalable, the overall performance is inevitably degraded for the installation of too many plug-ins.

    In order to overcome this problem, we propose in this thesis a method called remote plug-ins which can enable the distribution and sharing of plug-ins in remote sites. Users or ISVs (independent software vendors) can deploy their tools on remote sites and use the tool we have developed to wrap them as web services accepting requests from Eclipse platforms. On the other hand, users needing services of remote plug-ins could install in their local Eclipse the proxy plug-in which we developed for requesting services of remote plug-ins. With the help of the proxy, remote plug-ins can be invoked as if they were local ones.

    By moving unnecessary plug-ins outside of local Eclipse installation, not only can our method improve the overall performance of the platform, but it can also diminish the waste of time on tedious installation and uninstallation of plug-ins which are seldom used. Other advantages of our method include the feasibility of invoking remote plug-ins which are either hard or unable to be installed in local Eclipse, as well as more complete control of vendors to client`s access to their tools deployed as remote plug-ins.
    Reference: [1] Apache Software Foundation. Class Loader HOW-TO. http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html, 1999-2009.
    [2] Apache Software Foundation. Apache Axis. http://ws.apache.org/axis/, 2000-2005.
    [3] Apache Software Foundation. POJO Web Services using Apache Axis2. http://ws.apache.org/axis2/1_4_1/pojoguide.html, 2004-2008.
    [4] Apache Software Foundation. Apache Axis2. http://ws.apache.org/axis2/, 2004-2009.
    [5] Apache Software Foundation. Apache CXF. http://cxf.apache.org/, 2006-2009.
    [6] Apache Software Foundation. Apache Commons - Codec. http://commons.apache.org/codec/, 2008.
    [7] Apache Software Foundation. Apache Ant. http://ant.apache.org/, 2009.
    [8] Apache Software Foundation. Apache Felix. http://felix.apache.org/, 2009.
    [9] Apache Software Foundation. Apache Hadoop. http://hadoop.apache.org/, 2009.
    [10] Apache Software Foundation. Apache Maven. http://maven.apache.org/, 2009.
    [11] Arthorne, J. Project Builders and Natures. http://www.eclipse.org/articles/Article-Builders/builders.html, 2003.
    [12] Beck, K., and Gamma, E. JUnit. http://junit.org/, 2009.
    [13] Blewitt, A. Eclipse - a tale of two vms (and many classloaders). http://www.eclipsezone.com/articles/eclipse-vms/, 2006.
    [14] Blewitt, A. Getting started with Eclipse plug-ins: understanding extension points. http://www.eclipsezone.com/eclipse/forums/t93753.html, 2007.
    [15] Caucho Technology, Inc. Hessian Binary Web Services Protocol. http://hessian.caucho.com/, 2003-2008.
    [16] CollabNet. Subversion. http://subversion.tigris.org/, 2001-2008.
    [17] Coulouris, G., Dollimore, J., and Kindberg, T. Distributed Systems: Concepts and Design, Edition 3. Addison-Wesley, 2001.
    [18] deBoer, T., and Karasiuk, G. J2EE Class Loading Demystified. http://www.ibm.com/developerworks/websphere/library/techarticles/0112_deboer/deboer.html, 2002.
    [19] Eclipse Foundation. Eclipse Remote Development. http://www.eclipse.org/eclipse/platform-core/documents/2.0/remote-development.html, 2002.
    [20] Eclipse Foundation. Eclipse Communication Framework. http://www.eclipse.org/ecf/, 2005-2008.
    [21] Eclipse Foundation. Eclipse Device Software Development Platform. http://www.eclipse.org/dsdp/, 2005-2008.
    [22] Eclipse Foundation. Eclipse. http://www.eclipse.org/eclipse/, 2008.
    [23] Eclipse Foundation. Eclipse Plugin Central. http://www.eclipseplugincentral.com/, 2008.
    [24] Eclipse Foundation. Eclipse Riena. http://www.eclipse.org/riena/, 2008.
    [25] Eclipse Foundation. FAQ Where did Eclipse come from? http://wiki.eclipse.org/FAQ_Where_did_Eclipse_come_from%3F, 2008.
    [26] Eclipse Foundation. DLTK Remote API Migration guide. http://wiki.eclipse.org/Remote_API_Migration_guide, 2009.
    [27] Eclipse Foundation. ECF API Documentation. http://wiki.eclipse.org/ECF_API_Docs, 2009.
    [28] Eclipse Foundation. ECF Remote Service. http://wiki.eclipse.org/ECF_Remote_Services_API_Bundle, 2009.
    [29] Eclipse Foundation. Eclipse Command Framework. http://wiki.eclipse.org/index.php/Platform_Command_Framework, 2009.
    [30] Eclipse Foundation. Eclipse Equinox. http://www.eclipse.org/equinox/, 2009.
    [31] Eclipse Foundation. Eclipse Jetty. http://www.eclipse.org/jetty/, 2009.
    [32] Eclipse Foundation. Eclipse Platform CVS Support. http://www.eclipse.org/eclipse/platform-cvs/, 2009.
    [33] Eclipse Foundation. Eclipse Rich Ajax Platform. http://www.eclipse.org/rap/, 2009.
    [34] Eclipse Foundation. Eclipse Rich Client Platform. http://wiki.eclipse.org/Rich_Client_Platform, 2009.
    [35] Eclipse Foundation. Eclipse standard widget toolkit. http://www.eclipse.org/swt/, 2009.
    [36] Eclipse Foundation. Eclipse Subversive. http://www.eclipse.org/subversive/, 2009.
    [37] Eclipse Foundation. Equinox QuickStart Guide. http://www.eclipse.org/equinox/documents/quickstart.php, 2009.
    [38] Eclipse Foundation. RAP Widget Toolkit. http://wiki.eclipse.org/WidgetToolkit, 2009.
    [39] Eclipse Foundation. Riena Snippets. http://wiki.eclipse.org/Riena_Snippets, 2009.
    [40] Eclipse Foundation. Target Management (RSE). http://www.eclipse.org/dsdp/tm/, 2009.
    [41] Envoi Solutions LLC. XFire. http://xfire.codehaus.org/, 2007.
    [42] Fowler, M. Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
    [43] Free Software Foundation, Inc. GNU make. http://www.gnu.org/software/make/, 1997-2006.
    [44] Free Software Foundation, Inc. Concurrent Versions System. http://www.nongnu.org/cvs/, 2006.
    [45] Gehner, W. Eclipse goes Server-Side! http://www.infonoia.com/en/content.jsp?d=inf.05.07, 2006.
    [46] HP Confidential. HP C/ C + + Remote Developer Plugin for Eclipse. http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=c808f44064f02110f44064f02110275d6e10RCRD, 2009.
    [47] Institute for Pervasive Computing, ETH Zurich. R-OSGi. http://r-osgi.sourceforge.net/, 2006-2008.
    [48] Institute for Pervasive Computing, ETH Zurich. Concierge. http://concierge.sourceforge.net/, 2009.
    [49] Internet Engineering Task Force. Web-based Distributed Authoring and Versioning. http://www.webdav.org/, 1996-2008.
    [50] IONA Technologies. IONA Celtix: The Open Source Java Enterprise Service Bus. http://celtix.ow2.org/, 2005.
    [51] Java Community Process. JSR 291: Dynamic Component Support for Java SE. http://jcp.org/en/jsr/detail?id=291, 2006-2009.
    [52] JetBrains. IntelliJ IDEA. http://www.jetbrains.com/idea/, 2009.
    [53] Martin Fowler. POJO. http://www.martinfowler.com/bliki/POJO.html, 2000.
    [54] McAffer, J. Inside and beyond the eclipse 3.0 runtime. http://www.eclipse.org/eclipse/platform-core/runtime/runtime.html, 2004.
    [55] Microsoft Corporation. Microsoft Distributed Component Object Model. http://msdn.microsoft.com/en-us/library/ms809340.aspx, 1996-2008.
    [56] Microsoft Corporation. Windows Live Messenger. http://messenger.live.com/, 1999-2009.
    [57] Microsoft Corporation. Microsoft Visual Studio. http://www.microsoft.com/visualstudio/, 2009.
    [58] Nielsen, B. Java RMI Tutorial. http://www.cs.aau.dk/~bnielsen/DS-E08/Java-RMI-Tutorial/, 2006.
    [59] Object Management Group. OMG Common Object Request Broker Architecture. http://www.corba.org/, 1991-2008.
    [60] Object Management Group. CORBA/IIOP Specification. http://www.omg.org/technology/documents/formal/corba_iiop.htm, 2004.
    [61] Organization for the Advancement of Structured Information Standards. Universal Description, Discovery, and Integration. http://uddi.xml.org/, 1993-2009.
    [62] OSGi Alliance. Benefits of Using OSGi. http://www.osgi.org/About/WhyOSGi, 1999-2008.
    [63] OSGi Alliance. OSGi Framework. http://www.osgi.org/, 1999-2008.
    [64] OSGi Alliance. Javadoc: BundleContext. http://www.osgi.org/javadoc/r4v42/org/osgi/framework/BundleContext.html, 2000-2009.
    [65] OSGi Alliance. Distributed OSGi. http://cxf.apache.org/distributed-osgi.html, 2009.
    [66] Sandakith, L. Eclipse WTP Tutorials - Creating Bottom Up Web Service via Apache Axis2. http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html, 2007.
    [67] Sandakith, L. Eclipse WTP Tutorials - Creating Top Down Web Service via Apache Axis2. http://www.eclipse.org/webtools/community/tutorials/TopDownAxis2WebService/td_tutorial.html, 2007.
    [68] Sommerer, A. Java Archive (JAR) File Format. http://java.sun.com/developer/Books/javaprogramming/JAR/, 2009.
    [69] SpringSource. Spring Dynamic Modules for OSGi Service Platforms. http://www.springsource.org/osgi/, 2008-2009.
    [70] Sun Microsystem, Inc. Java Naming Convention. http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html, 1995-1999.
    [71] Sun Microsystem, Inc. Java Tutorial - System Properties. http://java.sun.com/docs/books/tutorial/essential/environment/sysprop.html, 1995-2008.
    [72] Sun Microsystem, Inc. Java Remote Method Invocation. http://java.sun.com/javase/technologies/core/basic/rmi/, 1997-2008.
    [73] Sun Microsystem, Inc. Java Remote Method Invocation over Internet Inter-ORB Protocol. http://java.sun.com/javase/6/docs/technotes/guides/rmi-iiop/, 2001-2004.
    [74] Sun Microsystem, Inc. Java API for XML WebServices. https://jax-ws.dev.java.net/, 2009.
    [75] Sun Microsystem, Inc. JAXB Reference Implementation. https://jaxb.dev.java.net/, 2009.
    [76] Sun Microsystem, Inc. NetBeans. http://www.netbeans.org/, 2009.
    [77] The GNU Project. The GNU Project Debugger. http://www.gnu.org/software/gdb/, 1986-2009.
    [78] The Knopflerfish Project. Knopflerfish. http://www.knopflerfish.org/, 2008-2009.
    [79] University of California. SETI@home. http://setiathome.ssl.berkeley.edu/, 2009.
    [80] World Wide Web Consortium. Simple Object Access Protocol. http://www.w3.org/TR/soap/, 2000-2007.
    [81] World Wide Web Consortium. Web Services Description Language. http://www.w3.org/TR/wsdl, 2001.
    [82] World Wide Web Consortium. XML Web Services. http://www.w3.org/2002/ws/, 2002-2008.
    [83] XMPP Standards Foundation. Extensible Messaging and Presence Protocol. http://xmpp.org/, 1998-2009.
    [84] Yahoo! Inc. Yahoo! Messenger. http://messenger.yahoo.com/, 1998-2009.
    Description: 碩士
    國立政治大學
    資訊科學學系
    95753032
    Source URI: http://thesis.lib.nccu.edu.tw/record/#G0095753032
    Data Type: thesis
    Appears in Collections:[Department of Computer Science ] Theses

    Files in This Item:

    File SizeFormat
    index.html0KbHTML2260View/Open


    All items in 政大典藏 are protected by copyright, with all rights reserved.


    社群 sharing

    著作權政策宣告 Copyright Announcement
    1.本網站之數位內容為國立政治大學所收錄之機構典藏,無償提供學術研究與公眾教育等公益性使用,惟仍請適度,合理使用本網站之內容,以尊重著作權人之權益。商業上之利用,則請先取得著作權人之授權。
    The digital content of this website is part of National Chengchi University Institutional Repository. It provides free access to academic research and public education for non-commercial use. Please utilize it in a proper and reasonable manner and respect the rights of copyright owners. For commercial use, please obtain authorization from the copyright owner in advance.

    2.本網站之製作,已盡力防止侵害著作權人之權益,如仍發現本網站之數位內容有侵害著作權人權益情事者,請權利人通知本網站維護人員(nccur@nccu.edu.tw),維護人員將立即採取移除該數位著作等補救措施。
    NCCU Institutional Repository is made to protect the interests of copyright owners. If you believe that any material on the website infringes copyright, please contact our staff(nccur@nccu.edu.tw). We will remove the work from the repository and investigate your claim.
    DSpace Software Copyright © 2002-2004  MIT &  Hewlett-Packard  /   Enhanced by   NTU Library IR team Copyright ©   - Feedback