Jazz: Sød musik for distribueret softwareudvikling

Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den CTO d. 7. september 2007.


Softwareudvikling Udviklere sidder oftere og oftere i geografisk adskilte teams. CTO har talt med Erich Gamma, der står bag IBM's nye Jazz-platform, som er rettet mod distribueret softwareudvikling.

Det var ikke kun starten på Linux, da Linus Torvalds i 1991 lagde koden til et nyt Minix-inspireret operativsystem ud på en af Helsinki Universitetets ftp-servere. Det var samtidig et eksempel på noget, der dengang var i sin vorden og i dag er en daglig foreteelse: En distribueret udvikling af software og it-systemer, hvor internettet bruges som medie til at binde udviklere og projekter sammen.
I dag rummer verdens største websted for open source-software, sourceforge.net, over 150.000 registrerede open source-projekter. Her kan udviklere, testere og dokumentationsfolk arbejde sammen, selvom de sidder i forskellige verdensdele og tidszoner.

Virksomhederne er med
Det er ikke kun open source-miljøet, der anvender nettet til at binde udviklingsprojekter sammen. Globale organisationer har i lang tid været vant til at have udviklingsteams spredt ud i forskellige lande. Det var eksempelvis tilfældet ved udviklingen af Eclipse, det mest udbredte open source-udviklingsmiljø.
Eclipse startede som et internt IBM-projekt med udviklere spredt ud i forskellige lande. Eclipse-projektet blev overdraget til den uafhængige organisation Eclipse Foun-dation i januar 2004, hvor udviklingen siden er fortsat. Erfaringerne fra udviklingsarbejdet med Eclipse inspirerede IBM til at udvikle en platform for distribueret systemudvikling. Et centralt element i Jazz-platformen er en repository-server til opbevaring af kildekode, metadata om kildekode, bugrapporter, projektplaner, individuelle opgaver og to-do-lister samt andre projektrelevante ting. Repositoriet kan udvides til at håndtere andre metadata og projektdata, efterhånden som et projekt får brug for det.
Erich Gamma, Distinguished Engineer hos IBM, var med i starten af Eclipse-udviklingen. Han har brugt erfaringerne fra Eclipse-udviklingen til at udvikle IBM's nyligt lancerede platform for distribueret systemudvikling; Jazz.
"Vi har lært meget af udviklingen af Eclipse. Eksempelvis hvordan man arbejder sammen som et team i geografisk adskilte undergrupper. For to et halvt år siden begyndte vi at snakke om, hvordan vi kunne gøre arbejdet mere effektivt. Eclipse havde allerede givet os faciliteter, der forbedrede den enkelte udviklers produktivitet, men vi ønskede at forbedre det samlede teams effektivitet," siger Erich Gamma.

Jazz inspireret af Eclipse
For at understøtte en distribueret udviklingsproces er der selvfølgelig adgang til repositoriets informationer fra browsere. For at få en sammenhængende udviklingsproces, er det muligt at integrere repository-adgangen med en udviklingsplatform som Eclipse.
Indtil videre er Jazz beregnet til virksomheder, der anvender Rational-produkter i deres systemudvikling, men IBM har dog også udviklet en prototype add-in til Visual Studio for at illustrere, hvordan andre udviklingsplatforme kan gøre brug af Jazz som en samlende platform for distribueret udvikling.
"Du kan have mange forskellige klienter. Eclipse er en mulighed. Visual Studio er en anden mulighed. Vi lytter til kunderne og hører hvad de ønsker," siger Erich Gamma.
Kommunikationen til repositoriet kan foregå ved hjælp af REST og webservices. API'erne er offentligt tilgængelige, hvilket giver mulighed for, at man selv udvikler integration til Jazz fra sit yndlingsudviklingsmiljø.
"Interfaces er offentligt tilgængelige, men vi garanterer ikke stabilitet på nuværende tidspunkt. Vi er i beta version 0.6, så der kan komme ændringer til API'erne," siger Erich Gamma.
IBM er ikke alene blandt de store it-leverandører om at tilbyde værktøjer til en distribueret softwareudvikling.

Microsofts open source-projekter
Sidste år introducerede Microsoft codeplex.com som er et web site rettet mod .Net-udviklere. Microsoft tilbyder .Net-udviklere hosting af projekter, source control og feedback-faciliteter. For tiden er der omkring 2.000 open source-projekter baseret på .Net-teknologi på websitet.
Et andet interessant sæt af værktøjer er Teamcity som udbydes af jetbrains.com. Teamcity betegnes som et distribueret build og integrations-system. Hvis en build af et projekt fejler, vil Teamcity være med til at udpege præcist hvor fejlen er. Teamcity tilbyder plugins til både Visual Studio, Eclipse og IntelliJ.
Erich Gamma ser Jazz og Teamcity som tegn på hvad der sker i udviklingsmiljøerne.
"Der sker en udvikling fra individuel produktivitet til team-produktivitet. Teamcity kommer fra tool-området og bevæger sig ind på team-området. Det er primært et build-system, mens Jazz er en platform for forskellige application lifecycle-værktøjer med et repository, hvor alle projektrelaterede informationer samles. Visionen for Jazz er bredere," mener Erich Gamma.
Mens Microsoft tilbyder hosting af kildekode på codeplex.com, er det ikke noget, IBM tilbyder på Jazz-platformen. I hvert fald ikke i første omgang.
"Hosting af projekter er på vores radar. Om det er noget, vi vil gøre, er ikke besluttet endnu. Det kræver en vurdering af forretningsmuligheder, kontrakter og hvilke forpligtelser det indebærer," siger Erich Gamma.
Jazz-platformen er beregnet til at blive installeret i en virksomhed, hvor det så er op til projektgrupperne, om de vil anvende platformen internt på virksomhedens intranet eller gøre platformen tilgængelig fra internettet.

Vigtigheden af agile processer
En af ideerne med Jazz er at få brugerne involveret mere i udviklingsprocessen. Samtidig giver Jazz mulighed for direkte og øjeblikkelig kommunikation mellem udviklere og brugere, hvilket gør Jazz specielt velegnet til agile udviklingsprocesser.
"Gennemsigtighed i udviklingsprocessen er vigtig. Alle skal vide, hvad der foregår, uden at det er nødvendigt at spørge. Kunder har direkte adgang til udviklerne, tidsplaner, bugreports og tidsplaner. Muligheden for øjeblikkelig feedback skal gøre softwaren bedre," siger Erich Gamma.
Et vigtigt element i Jazz er muligheden for at understøtte processer.
"Processer er generelt ikke cool blandt udviklere, da de er bange for at blive låst fast i nogle rigide processer. Men samtidig ved vi, at veldefinerede processer kan være med til at hjælpe udviklerne i arbejdet og øge produktiviteten. Derfor kan processerne skræddersyes, så de kan tilpasses den måde, som teamet ønsker at arbejde på," siger Erich Gamma.

Billedtekst: It-multikunstner. Erich Gamma var med til at skrive klassikeren "Design Patterns" og deltog i udviklingen af udviklingsmiljøet Eclipse samt testværktøjet Junit. Senest har han været en af hovedkræfterne bag IBM's udviklingsplatform Jazz.

Boks1:
Jazz-platformen
Jazz server er en Java-baseret webapplikation, der kan køre i enhver Java EE 1.4 kompatibel
applikationsserver. IBM har to applikationsstakke for Jazz-platformen; en open source-stak og en IBM-stak.

Open source-stakken anvender Derby som database, Tomcat som applikationsserver og Jabber som instant messaging-kanal.

IBM-stakken baserer sig på DB2, WebSphere og Sametime.

Læs mere på: jazz.net

Boks2:
Teamcity
Teamcity udbydes af jetbrains.com. Der er tale om en webbaseret platform til både .Net- og Java-udviklingsteams.

Læs mere på: jetbrains.com/teamcity/

Boks3:
Microsofts Codeplex
Codeplex hostes af Microsoft. Det er et web­baseret repository med tilhørende værktøjer til kommunikation mellem projektdeltagere.

Læs mere på: codeplex.com/

OriginalModTime: 11-10-2007 11:18:47




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Fiftytwo A/S
Konsulentydelser og branchespecifikke softwareløsninger til retail, e-Commerce, leasing og mediebranchen.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Industry 4.0 – sådan udnytter du AI og digitalisering til optimering af din produktion.

På denne konference fokuserer på en digitaliseret optimering af processer i produktions- og procesorienterede virksomheder. Herved bliver du f.eks. i stand til at kombinere maskiner med sales forecasting og derved planlægge anvendelsen af produktionsapparat og medarbejderallokering effektivt – samt begrænse materialespild og nedetid ved at optimere produktionsplanlægning og omstilling af produktionsmateriel.

04. september 2024 | Læs mere


Roundtable for sikkerhedsansvarlige: Hvordan opnår man en robust sikkerhedsposition?

For mange virksomheder har Zero Trust og dets principper transformeret traditionelle tilgange til netværkssikkerhed, hvilket har gjort det muligt for organisationer at opnå hidtil usete niveauer af detaljeret kontrol over deres brugere, enheder og netværk - men hvordan implementerer man bedst Zero Trust-arkitekturer i et enterprise set up? Og hvordan muliggør Zero Trust-arkitekturen, at organisationer opnår produktivitetsfordele med AI-værktøjer samtidig med, at de forbliver sikre i lyset af fremvoksende trusler?

18. september 2024 | Læs mere


Nye forretningsmæssige gevinster med Microsoft Dynamics 365

Eksperter fra CGI stiller skarpt på hvordan, du lærer også hvorfor det er vigtigt at have fokus på både processer, teknologi og mennesker - og hvordan du kommer i gang med løbende optimering af forretningsudvikling.

25. september 2024 | Læs mere