Udfordringer og problemstillinger. En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling



Relaterede dokumenter
Model Drevet Design i Praksis

Curriculum Vitae Jack Petersen

Ansat i FOA fagforening, hvor jeg bl.a. arbejder med integration og sagsbehandlingssystemer.

Iterativ og Agil udvikling

Who s to blame? Jeppe Rørbæk. Jeppe.rorbaek@teknologisk.dk Konsulent og underviser på Teknologisk Institut MCP, MCAD, MCSD, MCT

Curriculum Vitae. Type År Sidst Niveau Type År Sidst Niveau

Arkitektur for begyndere

KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB

Begreber om Godt Software

Singleton pattern i Java

The LEGO Journey: Building an agile test foundation one brick at the time. Casper Gaardland Englund. Stephan Hjelmdal Nielsen The LEGO Group l

Database for udviklere. Jan Lund Madsen PBS10107

Studieordning del

Object-Relational Mapping

Ud af krisen. Software på tværs, 15. juni 2009

PHP Quick Teknisk Ordbog

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder.

Bypassing the. Brian Marick

Hvorfor skal vi bruge objekt orienteret databaser?

Der er forsøgt skrevet en lille notits hver gang der er lavet noget, dog kan der være nogle ting som ikke er blevet kommenteret.

C#, ASP.NET 4.0, HTML5, CSS3, WPF,

Michael Dalgaard PERSONLIGE DETALJER STYRKER. Programmør Produktudvikler Teknisk projektleder

Koncept for systemforvaltning af den fælles open source kode, herunder procedure for opfølgning på software-versioner af OpenTele

Øvrige kurser fra Technology College Aalborg

Version Dato Beskrivelse /11/2012 Initial version /03/2013 Tilføjet eksempel med Template Agent, generelt udvidet dokumentet.

Cloud i brug. Migrering af Digitalisér.dk til cloud computing infrastruktur

Softwaretest. - også af "ikke testbar" software. DAPUG erfamøde 7. marts 2012 Thomas Vedel, Thomas Vedel Consult thomas@veco.

TEKNOLOGIFORSTÅELSE EN NY FAGLIGHED I FOLKESKOLEN

GeoRest API. Nye geonøgler i Kortforsyningen. Nikolaj Kamstrup

KIH Database. Systemdokumentation for KIH Databasen. 1. maj Side 1 af 13

Dynamisk Webdesign F2010

Grundlæggende OOA - OOD

2. Systemarkitektur... 2

Computational Empowerment: at fremme åndsfrihed og medborgerskab i en algoritme-centreret verden

Navision Stat 7.x. Opsætning af NAS 1 til afvikling af GIS-automatisering, GIS med webservice og opgavekø. Overblik. Side 1 af 8

DANSK IT ARKITEKTUR CERTIFICERING

ITONK1 Obligatorisk opgave 2 Badger Brewery Surveillance System

Agenda. Kort præsentation Introduktion til Robotic Process Automation (RPA) Demo Hvordan understøtter det forretningen? Hvordan kommer man i gang?

Styring af testmiljøer almindelig god praksis

DM536. Rapport og debug

AktivLog. Log program for EDR s 80m aktivitetstest. Af oz1gdi / 5p0o Steen Rudberg. AktivLog V af 11

Model og Metode til Programudvikling. Jens Dalsgaard Nielsen

IBM IT Manager Konference John Leadbetter

Objektorienteret Analyse & Design

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

Agil test tilgang - erfaringer fra projekter

Installation og Drift. Aplanner for Windows Systemer Version

Curriculum vitae. Personlige oplysninger. Præsentation. Projekterfaring

HVEM ER VI? BAGGRUNDEN mennesker gennem leder-, team- og kommunikations-træning. Foredrag for mennesker.

Navision Stat 7.x. GIS WS, opgavekø og automatiseret filindlæsning via NAS. Overblik. Side 1 af 9. ØSY/CPS/MIL Opr

Morten Rønborg PERSONLIGHED UDDANNELSE TEKNOLOGIER ERFARING. IT-Konsulent. Desktop Engineer

Responsivt Design - DMAA0213. Afgangsprojekt DMAA0213

Visual Studio Team System. Team Build en grundpille i søgen efter it-projektproduktivitet?

OS2 Opgavefordeler. Løsningsbeskrivelse Version 2. Udarbejdet af Miracle A/S Simon Møgelvang Bang

Indholdsfortegnelse. Systembeskrivelse Rapporter

Agenda. Kort om Docpoint a/s. Passer Lasernet ind i en moderne IT-arkitektur?

Forskellige Java versioner

Curriculum Vitae PETER VILLADSEN MOBIL: RAVNSBORGVEJ 91 DK-4600 KØGE

Øvelse Wireless LAN med routeropsætning

Produktpræsentation. BA Systems. Control made easy

Procesbeskrivelse - Webprogrammering

v/ Johnnie Kristensen Vestertoften Nordborg Telefon: Jeg kan især

Undgå driftsafbrydelser på grund af udløbet virksomheds- eller funktionssignatur

STS Designdokument. STS Designdokument

Transkript:

Java og JEE 1

2 Udfordringer og problemstillinger En liste over de udfordringer og problemstillinger, der er ved Java og JEE udvikling

3 Generelt om Java og JEE

4 Generelt, I Man undervurderer hvor mange Java programmører, der trænger til at få genopfrisket Objekt Orienteret tankegang Man tror, at en uges kursus i teknologi X er nok. Derefter er udvikleren klædt ordentligt på Man undlader at kigge på udviklingssupplementer, så som Aspekt Orientering eller Model Dreven Software udvikling, fordi: Det forstår vores udviklere alligevel ikke... Det er ikke sådan vi udvikler her... Hvordan skal vi håndtere uddannelse af nye, der skal forstå det... etc...

5 Generelt, II Man vælger et produkt eller en standard, uden at fokusere på projektets behov Man vælger et stort produkt eller framework, selv om enklere og bedre alternativer findes Man vælger frameworks, der kræver store mængder XML konfiguration Man vælger at kode et framework selv, på trods af, at der findes gode opensource alternativer

6 Generelt, III Man designer en arkitektur hvor alt er konfigurerbart Man kan jo aldrig vide hvad man har behov for at ændre senere Man vælger at designe hele arkitekturen færdig, før der er skrevet en eneste linie applikationskode. Medfører typisk en rodet arkitektur med de forkerte abstraktioner Man vælger at kode applikationskode uden at have tænkt på arkitekturen og projektets behov Medfører oftest en alt for hård kobling, der i det lange løb resulterer i, at projektet enten udfases eller at koden helt skal skrives om

7 Generelt, IV Man vælger at afkoble domæne modellen fra web klient laget Man vælger at lade domæne modellen skinne igennem WebService laget Man vælger, i skaleringens navn, at fysisk adskille lag, der burde være colokerede Man vælger at udsulte sin domæne model for, til gengæld, at have et façade/service/transaktionslag, der er unødigt komplekst eller fragmenteret

8 Generelt, V Man vælger at bruge JDBC når ORM er et bedre valg Man vælger at bruge en ORM model når en JDBC drevet model er et bedre valg Man vælger en web teknologi, der er for kompleks eller som kun dækker 20% af behovene Man går overbord med Ajax fordi det er frækt, nyt og det folk tror, de vil have Man undervurderer effekten af at bruge Java 5 s (eller senere) sprog features

9 Test test TEST

10 Test, test, test, I Man nedprioriterer unit tests Mister dermed mulighederne for at refactorere og dermed mister man kernen i agile, iterativ udvikling Man vælger frameworks, der ikke understøtter unit test, uden opstart af store runtime miljøer, som f.eks. servere Mister mulighederne og værdien i at udnytte sprogets faciliteter Risiko for at miste type sikkerhed

11 Test, test, test, II Man vælger for løst koblede og svagt typede teknologier Uden unit tests fungerer det ikke. Man mister muligheden for at refactorere sin model/domæne Man vælger en arkitektur, der er for hårdt koblet Besværliggør unit test (eksempel Singleton pattern)

12 Mulighed for Automatisering

13 Mulighed for Automatisering Man glemmer at fokusere på værdien af automatiseret build, test og deployment Man vælger at kode ting i hånden, der effektivt kan automatiseres gennem Patterns, Aspekt Orienteret Programmering (AOP) eller Model Dreven Software udvikling (MDSD) Der mangler folk, der er kritiske og som rettidigt er i stand til at se mønstre (patterns) og abstrahere.

14 Og løsningen ER!

15 Hvad kan man gøre? Brug interne og eksterne erfaringer til at definere en grundlæggende arkitektur, der dækker løsningens kendte behov Behovsdreven arkitektur Lav en deep and narrow arkitektur i de tidlige iterationer Tænk stort implementér i små bidder efter behov Lav proff-of-concepts, eller spikes af de største tekniske udfordringer, så tidligt som muligt Prioriter test og automatisering højt Vær kritisk overfor teknologi og produkt valg

16 www.tigerteam.dk Copyright 2007 V 2.2