Integrated Development Environment for Remote Application Platform Eclipse Rap – a Case Study Sagaya Aurelia1, Xavier Patrick Kishore, Omer Saleh
Total Page:16
File Type:pdf, Size:1020Kb
Advances in Information Science and Applications - Volume II Integrated Development Environment for Remote Application Platform Eclipse Rap – A Case study Sagaya Aurelia1, Xavier Patrick Kishore, Omer Saleh Abstract-An integrated development environment (IDE) (also known as integrated design environment, integrated debugging II. INTEGRATED DEVELOPMENT ENVIRONMENT environment or interactive development environment) is a software IDE isan integrated development environment, the handy, application that provides comprehensive facilities to computer dandy piece of software that acts as text editor, debugger and programmers for software development. Eclipse is a community for compiler all in one sometimes-bloated but generally useful individuals and organizations who wish to collaborate on open source package [11]. Most common features, such as debugging, software. version control and data structure browsing, help a developer Eclipse Remote Application Platform (RAP 2.1.0M2) is a quickly execute actions without switching to other framework for modular business applications that can be accessed applications. Thus, IDE helps maximize productivity by from different types of clients including web browsers, rich clients, providing similar user interfaces (UI) for related components and mobile devices. This paper reviews and analysis Eclipse RAP and reduces the time taken to learn the language. An IDE and its features. supports single or multiple languages [12]. Keywords-- IDE; Eclipse; RAP; RWT Selecting a good IDE is based on factors, such as language support, operating system (OS) needs and costs associated I. INTRODUCTION with using the IDE etc. Visual Studio, Delphi, JBuilder, Nintegrated development environment (IDE) is a FrontPage and DreamWeaver are all examples of IDEs. There A programming environment that has been packaged as an are so many features an IDE can contain that the following list application program, typically consisting of a code editor, a contains only a selected few[9]. compiler, a debugger, and a graphical user interface builder. A. Code completion or code insight: The ability of an IDE to The IDE may be a standalone application or may be included know a language’s keywords and function names is as part of one or more existing and compatible applications. crucial. The IDE may use this knowledge to do such Eclipse projects are focused on building an open development things as highlight typographic errors, suggest a list of platform comprised of extensible frameworks, tools and available functions based on the appropriate situation, or runtimes for building, deploying and managing software offer a function’s definition from ` official across the lifecycle. In general, the Eclipse provides four documentation. services 1) IT Infrastructure, 2) IP Management,3) B. Resource management:When creating applications, , and 4) Development Process Ecosystem Development. languages often rely on certain resources, like library or Eclipse Remote Application Platform (RAP) provides a header files, to be at specific locations. IDEs should be powerful, multi-platform widget toolkit with SWT API that able enables developers to write applications entirely in Java and re-use the same code on different platforms. The paper proceeds as follows in section 2, we will present about IDE. In Section 3, we will present Eclipse IDE. We follow in Section 4 with Eclipse RAP its architecture, life cycle phase, protocols how it works as a server and for embedded system. Finally suggestions along with conclusions are stated in section 5. Fig. 1 The role of IDE in development stage [19] . C. To manage these resources. An IDE should be aware of F. A. Dr. Omer Saleh, Department of Computer Science, Faculty of any required resources so that errors can be spotted at the Education, Beniwalid, Libya ([email protected]) development stage and not later, in the compile or build S. B. Xavier Patrick Kishore, Department of Computer Science, Faculty of Education, Beniwalid, Libya ([email protected]) stage. T. C. P. Sagaya Aurelia1, Department of Computer Science, Faculty of Education, Beniwalid, Libya,([email protected]) ISBN: 978-1-61804-237-8 505 Advances in Information Science and Applications - Volume II D. Access Databases: To help connect Java applications to OSGi is a specification which describes a modular databases IDEs can access different databases and query approach for Java application. Equinox is one implementation data contained within them. of OSGi and is used by the Eclipse platform. The Equinox runtime provides the necessary framework to run a modular E. Optimization: As Java applications become more Eclipse application. complex, speed and efficiency become more important. Profilers built into the IDE can highlight areas where the SWT is the standard user interface component library Java code could be improved. used by Eclipse. JFace provides some convenient APIs on top of SWT. The workbench provides the framework for the F. Project management: This can be twofold. First, many application. The workbench is responsible for displaying all IDEs have documentation tools that either automate the other UI components. entry of developer comments, or may actually force developers to write comments in different areas. Second, On top of these base components, the Eclipse IDE adds simply by having a visual presentation of resources, it components which are important for an IDE application, for should be a lot easier to know how an application is laid example the Java Development Tools (JDT) or version control out as opposed to traversing the file system for arcane support (EGit). files in the file system. On top of these base components, the Eclipse IDE adds components which are important for an IDE application, for III. ECLIPSE –IDE example the Java Development Tools (JDT) or version control Eclipse is a universal platform for integrating support (EGit). development tools.Eclipse is the free and open-source editor upon which many development frameworks are based. The Eclipse 4 has a different programming model then Eclipse overview of Eclipse is shown in figure 2. Eclipse began as a 3.x. Eclipse 4 provides the 3.x Compatibility Layer component Java development environment and has greatly expanded which maps the 3.x API to the 4.0 API. This allows Eclipse through a system of lightweight plugins. Eclipse is created by 3.x based components to run unmodified on Eclipse 4. an Open Source community and is used in several different Eclipse based applications which are not primarily used as areas, e.g. as a development environment for Java or Android software development tools are called Eclipse RCP applications. The Eclipse Open Source community has over applications. An Eclipse 4 RCP application typically uses the 200 Open Source projects covering different aspects of base components of the Eclipse platform and adds additional software development [10]. application specific components. The Eclipse ++ can be extended with additional software The programming model of OSGi (Equinox) allows you components. Eclipse calls this software components plug-ins. to define dynamic software components, i.e. OSGi services, Several Open Source projects and companies have extended which can also be part of an Eclipse based application. the Eclipse IDE[18]. The extended overview of eclipse is shown in figure 2. Fig. 3 Eclipse based application [20] Fig. 2. Overview of eclipse [10] IV. ECLIPSE BASED APPLICATIONS [20] An Eclipse application consists of individual software components as shown in figure 3 and 4. The Eclipse IDE can be viewed as a special Eclipse application with the focus on supporting software development. Fig. 4. Eclipse based application [20] The components of the Eclipse IDE are primarily the following. Please note that the graph should display the concept, the displayed relationship is not 100 % accurate. ISBN: 978-1-61804-237-8 506 Advances in Information Science and Applications - Volume II V. THE ECLIPSE PLATFORM PROVIDES A TOOL INTEGRATION applications that need both desktop-based and web-based front FRAMEWORK [8] ends. The Eclipse Platform reduces the cost of tool integration by providing a large number of services, APIs, and VII. RAP ARCHITECTURE frameworks that enable effective and scalable tool integration. RAP is to the web as RCP to the desktop. It inherits all the Wherever possible, Eclipse uses open standards to limit tool goodness from RCP such as workbench extension points vendor investment and reduce time to market. The Platform model, event-driven SWT/JFace APIs, and componentized provides a focal point for integrating and configuring best-of- OSGi design. As indicated in figure 8 (a), the only difference breed tools in a manner that best fits the end user's between the architecture of RAP and that of RCP is the development process and Web application architecture. The implementation of SWT/RWT. RWT is actually a bundle Eclipse Workbench provides a central integration point for providing web-specific implementation of SWT’s widgets project control and an integration mechanism for resource- based on the qooxdoo toolkit. In RAP, almost no SWT API is specific tools. The Eclipse Platform can also provide services changed [15]. common to different tools including user interface frameworks, managing relationships between components, component version management, and publishing services. Using Eclipse simplifies tool integration by allowing tools to integrate with the platform instead of each other. This significantly reduces