Hva er Eclipse?

Eclipse er en plattform som er utformet fra grunnen av for å bygge integrerte web- og applikasjonsutviklingsverktøy. Utformingen av plattformen er slik at det er begrenset støtte for sluttbrukerfunksjonalitet. I stedet vektlegges plattformens muligheter for rask utvikling av integrerte funksjoner basert på en plugin-modell.

Med Eclipse kan du bruke en modell med felles brukergrensesnitt (UI) til å arbeide med verktøy.  Den kan kjøres på flere operativsystemer og kan også integreres med de underliggende operativsystemene.  Plugin-moduler kan programmeres for Eclipses flyttbare APIer og kjøre uendret på alle operativsystemene som støttes. 

Kjernen i Eclipses er arkitekturen for dynamisk søking, innlasting og kjøring av plugin-moduler. Plattformen håndterer logistikken med å finne og kjøre riktig kode. Plattformgrensesnittet inneholder en standard brukernavigeringsmodell.  Hver plugin-modul kan dessuten også utføre et mindre antall oppgaver. Hva slags oppgaver er dette? Definering, testing, animering, publisering, kompilering, feilsøking, oppretting av diagrammer ... det er bare fantasien som setter grenser for hva du kan gjøre.

Åpen arkitektur

Eclipse-plattformen definerer en åpen arkitektur slik at alle som utvikler plugin-moduler kan fokusere på sine kunnskapsområder. Overlat bygging av administrasjonsdeler til datalagereksperter og utforming av sluttbrukerverktøy til eksperter på funksjoner. Hvis plattformen er utformet på riktig måte, kan det legges til nye funksjoner og integreringsnivåer uten at det virker inn på andre verktøy.

Eclipse-plattformen bruker en modell med felles arbeidsbenk for å integrere verktøyene fra sluttbrukerens perspektiv. Verktøy som utvikles kan tilknyttes arbeidsbenken ved hjelp av definerte utvidelsespunkter.

Selve plattformen består av flere lag med plugin-moduler. Hver plugin-modul definerer utvidelser for utvidelsespunktene i plugin-moduler på lavere nivåer og definerer også sine egne utvidelsespunkter for ytterligere tilpassing. Denne utvidelsesmodellen gjør det mulig for utviklere av plugin-moduler å legge til en rekke funksjoner i den grunnleggende verktøyplattformen. Artefaktene for hvert av verktøyene, for eksempel filer og andre data, koordineres av en felles ressursmodell for plattformen.

Plattformen lar brukerne arbeide med verktøyene på en enkel måte og muliggjør integrert styring av ressursene de oppretter med plugin-moduler.

Denne arkitekturen er også nyttig for de som utvikler plugin-moduler. Plattformen håndterer kompleksiteten ved de ulike kjøretidsmiljøene, for eksempel ulike operativsystemer eller arbeidsgruppeservermiljø. Utviklere av plugin-moduler kan konsentrere seg om sine oppgaver i stedet for å løse integreringsproblemer.

Plattformstruktur

Eclipse-plattformen er strukturert som delsystemer som er implementert i en eller flere plugin-moduler. Delsystemene er bygd over et lite kjøretidssystem (runtime engine). Figuren nedenfor viser en forenklet oversikt.

Plattformens kjøretidsbase (runtime base) med grupper av plugin-moduler som legger til nye funksjoner

Plugin-modulene som utgjør et delsystem, definerer utvidelsespunkter for ytterligere funksjonalitet i plattformen. Følgende tabell beskriver plattformens viktigste kjøretidskomponenter som implementeres som en eller flere plugin-moduler.

Plattformkjøretid

Definerer utvidelsespunktet og plugin-modellen. Den finner dynamisk plugin-moduler og vedlikeholder informasjon om plugin-modulene og utvidelsespunktene i et plattformregister. Plugin-moduler startes av brukeroperasjoner i plattformen. Kjøretiden implementeres ved hjelp av OSGi-rammeverket.

Ressursstyring (arbeidsområde)

Definerer API for opprettelse og styring av ressurser (prosjekter, filer og mapper) som produseres av verktøy og lagres i filsystemet.

Brukergrensesnittet for arbeidsbenken

Implementerer brukerens cockpit for navigering i plattformen. Det definerer utvidelsespunkter for tilføyelse av brukergrensesnittkomponenter som visninger eller menyhandlinger.  Det støtter tilleggsverktøysett (JFace og SWT) for utarbeidelse av brukergrensesnitt. Strukturen i brukergrensesnittjenestene er slik at plugin-modulene for brukergrensesnitt kan brukes til å lage Rich Client-applikasjoner som er uavhengig av ressursstyringen og arbeidsområdemodellen. IDE-plugin-moduler definerer tilleggsfunksjoner for navigering og manipulering av ressurser.

Hjelpefunksjon

Definerer utvidelsespunkter for plugin-moduler med hjelp eller annen dokumentasjon, som bøker det kan søkes i.

Gruppestøtte

Definerer en modell for gruppeprogrammering som brukes til å styre og versjonsbehandle ressurser. 

Feilsøkingsstøtte

Definerer en språkuavhengig feilsøkingsmodell og brukergrensesnittklasser for bygging av feilsøkere og oppstartstyper.

Andre funksjoner

Plugin-moduler for andre funksjoner, for eksempel søking og sammenlikning av ressurser, bygging ved hjelp av XML-konfigurasjonsfiler og dynamisk oppdatering av plattformen fra en server.

Out of the box

Out of the box - eller utenfor nettet - den grunnleggende plattformen er et integrert utviklingsmiljø (IDE) for alt (og ingenting bestemt).

Arbeidsbenk-vinduet

Det er plugin-modulene som angir funksjonaliteten i plattformen.  Dette er årsaken til at Eclipse SDK leveres med flere plugin-moduler for å forbedre funksjonaliteten i SDK.

Plugin-modulen støtter redigering og manipulering av flere typer ressurser, for eksempel Java-filer, C-programmer, Word-dokumenter, HTML-sider og JSP-filer.