Denne artikel stammer fra det trykte Computerworlds arkiv. Artiklen blev publiceret den CTO d. 4. februar 2005.
Java Java er blevet beriget med en række frameworks, der skal gøre livet lettere for Java-udviklere.
Analytiker mener, at det er vejen til enden for J2EE.
Mens diskussionen om, hvorvidt Sun skulle gøre Java til et open source-projekt, sidste år bølgede frem og tilbage, vandt en række open source udviklingsframeworks til Java større og større udbredelse.
Frameworks er ment som en hjælp til at speede udviklingsprocessen op. Frameworks tilbyder udviklerne en række faciliteter, der håndterer programmeringsmæssige rutineopgaver, så udviklerne kan koncentrere sig om det væsentlige; at udvikle kode der understøtter forretningsprocedurer. Udviklerne skal eksempelvis ikke bruge deres tid på at udvikle metoder til at gemme forretningsobjekter i relationelle databaser; de skal udvikle kode, der manipulerer forretningsobjekterne i overenstemmelse med forretningskravene.
Et eksempel på et framework, der netop tilbyder at tage sig af den rutinemæssige, men programmeringsmæssigt tidskrævende, proces at gemme objekter i relationelle strukturer, er Hibernate. Hibernates popularitet hos Java-udviklere har blandt andet betydet, at arbejdsgruppen, der arbejder på en version 3 af Enterprise Java Beans (EJB), er blevet inspireret af Hibernate. Det interessante er, at EJB, allerede længe før Hibernate kom på banen, havde automatisk mapning af objekter til relationelle databaser i form af Container Managed Persistency (CMP). Men EJB-arkitekturen betragtes af nogle udviklere som for kompleks og besværlig at arbejde med. Et forhold, der afspejles i Java Specification Request (JSR) 220, der er den formelle betegnelse for EJB 3.0-specifikationen. JSR 220 siger, at formålet med EJB 3.0 er at forbedre EJB-arkitekturen, så EJB-kompleksiteten gemmes for udviklerne.
De nye frameworks vinder således indpas som mere enkle programmeringsmodeller, hvis J2EE, som EJB er en del af, anses for kompleks af udviklerne. Eksempelvis har udviklerne bag et andet open source Java-framework, Spring, formuleret en målsætning for deres projekt. Første linie i målsætningen siger, at J2EE skal være nemmere at anvende. Som Hibernate-frameworket viser, kan de alternative frameworks være med til at påvirke den officielle J2EE-specifikation. Alle Java-udviklere burde således være glade, da J2EE-specifikationen løbende tilrettes, baseret på udviklernes erfaringer. Men ikke alle er glade.
Richard Monson-Haefel blev i visse kredse betragtet som en forræder, da han for nylig skrev, at J2EE er i fare for at blive udvandet eller fragmenteret i forskellige standarder.
Richard Monson-Haefel har igennem flere år beskæftiget sig med Java gennem sit arbejde, og han var meget aktiv i Java Community Process, hvor han blandt andet var med til at specificere J2EE version 1.4 og Enterprise Java Bean 2.1 og 3.0.
Da han startede som senioranalytiker hos Burton Group, trak Richard Monson-Haefel sig ud af alle Java-aktiviteter, fordi han ønskede at være en uafhængig analytiker uden skjult agenda.
Det var i sin egenskab af analytiker hos Burton Group, at Richard Monson-Haefel kom med sin kritik.
Monson-Haefels argument for, at J2EE er i fare, er at open source-produkter som Jboss, Apache Geronimo og Object Webs Jonas er ved at gøre J2EE til en standardvare, hvilket gør det sværere for firmaer som IBM, BEA og Oracle at tjene på J2EE server-licenser. Hvis de ikke kan tjene penge på licenserne, vil de ikke investere i den videre udvikling af J2EE-specifikationen, lyder ræsonnementet fra Monson-Haefel.
Samtidig nævner Monson-Haefel, at de nye frameworks som Spring og Hibernate tilbyder en nemmere og mere ligetil udviklingsmodel end J2EE's, hvilket vil få udviklere til at vælge de alternative frameworks fremfor J2EE og dermed mindske opbakningen til J2EE.
Tværtimod, lød det i sidste måned i Java Developer Journal. Her skrev blandt andet Spring-udvikleren Keith Donald, at de alternative frameworks ikke skal ses som en erstatning af J2EE-platformen. Ifølge Keith Donald giver de alternative frameworks blot flere valgmuligheder, når der skal vælges udviklingsarkitektur for et givent projekt.
Boks:
Struts
Struts er et open source J2EE-framework, der anvender servlet, JavaBeans og JSP-teknologi til at udvikle webapplikationer.
Læs mere om Struts på:
http://struts.apache.org/
Spring
Blev open source-projekt i februar kildekode, der blev udgivet sammen med Rod Johnsons bog "Expert One-on-One J2EE Design and Development".
Giver valgfrihed til at anvende Enterprise Java Beans, der kan være lidt tungt udviklingsmæssigt.
Kan anvendes sammen med web frameworks som Struts eller WebWork.
Giver en konsistent data-adgang, uanset om man anvender JDBC eller objekt-til-relationel mapning som eksempelvis Hibernate.
Læs mere på:
http://www.springframework.org/
Hibernate
Mapningen mellem Java-objekter og relationelle data i databaser kan rent udviklingsmæssigt være tidskrævende. Hibernate tilbyder en automatisk mapning mellem objektstruktur og relationel struktur, så udviklerne ikke skal bruge tid på det.
Læs mere på:
http://www.hibernate.org
Beehive
Det erklærede mål for Beehive er at gøre J2EE-udvikling nemmere. Beehive bygger på J2EE og Struts.
Beehive består af tre dele:
• NetUI PageFlows - Et webapplikationsframework, der bygger på Struts. Muliggør automatisk opdatering af Struts konfigurationsfiler ved hjælp af metadata.
• Kontroller - Letvægts komponentframework, der gør det nemmere for udviklerne at bygge komponenter, der indeholder metadata.
• Web Services - En programmeringsmodel for webservices, der anvender annotation. Med annotation kan komponenter udstyres med properties, som EJB/servlet-containeren kan aflæse.
Beehive blev et open source-projekt, da BEA overdrog projektet til Apache Foundation i maj 2004.
Læs mere på:
http://incubator.apache.org/beehive/