Loading...
|
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: | [資訊科學系] 學位論文
|
Files in This Item:
File |
Size | Format | |
index.html | 0Kb | HTML2 | 260 | View/Open |
|
All items in 政大典藏 are protected by copyright, with all rights reserved.
|