Presentation is loading. Please wait.

Presentation is loading. Please wait.

Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)

Similar presentations


Presentation on theme: "Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)"— Presentation transcript:

1 Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)

2 João Saraiva2 Overview of this presentation A brief presentation of ProjectIT The ProjectIT-Studio tools’ integration problem A possible solution: Eclipse.NET How can Eclipse.NET be applied to ProjectIT- Studio?

3 João Saraiva3 What is ProjectIT? It’s a research program from the Information Systems Group (GSI) of INESC-ID The objective is the analysis, integration and support of the best practices in the management and implementation of IT projects The motivation of this program is: “How to improve the quality and productivity of IT projects?” Implemented using the.NET Framework

4 João Saraiva4 ProjectIT’s scope (1)

5 João Saraiva5 ProjectIT’s scope (2) As you can see, ProjectIT has a large field of action and, therefore, many different tools

6 João Saraiva6 Problem: integration (or lack of it...) ProjectIT-Studio has several different tools –ProjectIT-MDD Tool + UML Modeler –ProjectIT-RSL Tool –... The tools can communicate between themselves –e.g., through files (XMI, etc...) But... The tools don’t WORK together!! –Developers don’t have a common base to work with Also, the user probably doesn’t want n tools to work with...

7 João Saraiva7 Proposed solution: Eclipse(.NET) Based on Eclipse, available on the Java platform Conversion to the.NET Framework –Using Microsoft’s Java Language Conversion Assistant (JLCA) for source code conversion –Using IKVM.NET for handling SWT (Standard Widget Toolkit) Eclipse is not just an IDE; it is a “tool for tools”; a tool for developers

8 João Saraiva8 Eclipse’s architecture Eclipse features the following main concepts: Core Platform: invokes plugins Plugin: basic extension unit that supplies additional behaviour; plugins are the reason Eclipse has the functionality most of us know... Extension point (and extension): serves as the interface of a plugin with other plugins (the mechanism through which plugins communicate with each other)

9 João Saraiva9 Core Platform The Core Platform: –Builds a plugin registry –Activates plugins (as needed) –Provides the underlying mechanisms for plugin communication, plugin preference loading and storage, etc.

10 João Saraiva10 Plugins A plugin is defined by: –A manifest file (Plugin.xml) –0+.NET assembly files (DLL files, in most cases) The assembly file(s) can do anything, from accessing a database (like MS SQL Server) to implementing a domain model (as in a Model-View-Controller application) Plugins can be related to each other by: –A plugin importing another plugin –A plugin contributing to another plugin’s extension point(s)

11 João Saraiva11 Example of plugin relations This example illustrates plugin importing (extension points are not represented for simplicity).

12 João Saraiva12 Extension points (and extensions) How extension points work: Plugin 1 (P1) declares Extension point (Extension point) 1 (EP1), EP2 and EP3 Plugin 2 (P2) “contributes” to EP1 and EP2 P2 declares EP4 and EP5 Other Plugins can declare other EPs, and can also contribute to other EPs Plugins can also contribute to extension points they have themselves declared

13 João Saraiva13 The Eclipse Platform’s plugins

14 João Saraiva14 Convert? Why not re-implement? Eclipse is heavily based on design patterns –Proxy and Bridge – for accessing the file system –Composite – for representing projects, with directories and files –Strategy – for automatic layout of widgets in SWT –... Eclipse has been around for a while –The development team has already encountered (and fixes) several problems (not only in implementation, but also in the platform’s design) We don’t reinvent the wheel; we just adapt it to a new world –We take advantage of the corrections the Eclipse development team has already made to the platform –We take advantage of the platform being widely documented on the Internet –Also, the advantage of using design patterns: developers new to the platform can easily learn it

15 João Saraiva15 Applying Eclipse.NET to ProjectIT-Studio Eclipse.NET could be applied to ProjectIT- Studio –Each tool would become one (or more) plugins –The tools would work with each other through extension points/plugin importing –There would be a single application the developer would use (instead of n tools)

16 João Saraiva16 Overview of a future ProjectIT-Studio (Extension points are not represented for simplicity)

17 João Saraiva17 Outside of ProjectIT... Eclipse.NET could also be used outside of ProjectIT –Eclipse has wide acceptance in the Java world –Many companies release their Java products as plugins for the Eclipse Platform We plan to release Eclipse.NET’s code as open-source (as is the case for Eclipse) as soon as we consider the conversion to be “stable” –Eclipse.NET should evolve With new ideas; we should always try to innovate, and not just guide ourselves by the Java version of Eclipse Developing new plugins, and upgrading the old ones –The involvement of the.NET community would be most welcome

18 João Saraiva18 The End Questions? Thank you very much for your time and attention! Contacts: –Prof. Alberto Silva: alberto.silva@acm.org –João Saraiva: joao.saraiva@inesc-id.pt

19 João Saraiva19 References A. R. Silva. O Programa de Investigação “ProjectIT”. INESC-ID & IST, October 2004. Web site: http://berlin.inesc-id.pt/alb/uploads/1/193/pit-white-paper-v1.0.pdf http://berlin.inesc-id.pt/alb/uploads/1/193/pit-white-paper-v1.0.pdf Eclipse web site: http://www.eclipse.orghttp://www.eclipse.org IKVM.NET web site: http://www.ikvm.nethttp://www.ikvm.net JLCA web site: http://msdn.microsoft.com/vstudio/downloads/tools/jlca/30beta/ default.aspx http://msdn.microsoft.com/vstudio/downloads/tools/jlca/30beta/ default.aspx E. Gamma and K. Beck. Contributing To Eclipse Principles, Patterns And Plug-Ins. Addison-Wesley, 2003. E. Gamma et al. Design Patterns: Elements of Reusable Object- Oriented Software. Addison-Wesley, 1995.


Download ppt "Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)"

Similar presentations


Ads by Google