Java Teknologi Teknikker Økosystem Johannes Brodwall

Slides:



Advertisements
Liknende presentasjoner
Webbasert administrasjonssystem for fondsforvaltere Martin Lie 20. april 2006.
Advertisements

Håndtering av integrasjon B2B
Avhengigheter og installering
So you think you can scale? Oracle Coherence i praksis OUGN vårseminar, april 2010, Øyvind Brusevold.
SMIDIG I EN STOR BEDRIFT Fra idé til produksjon (en lyntale på 10 minutter) Lars Brandt
JSP presentasjon Arild Strømhylden NTNU 26 June 2014.
XXXXXXXXXXXXXXXXXXX Bedre brukeropplevelser med WPF og Expression Jonas Follesø, Abeo AS
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
Extreme Integration Oslo XP meetup, 22. mars, 2011 Johannes Brodwall.
”Verifiser Forventet Funksjonalitet”
Test-Drevet Utvikling Bowling med
Produkteier vs virksomhetsarkitekt
Test-Drevet Utvikling Bowling med extremeprogramming.no.
Test-Drevet Utvikling Bowling med
JavaOne 2006 Markus Bjartveit Krüger
SOA & Business Process Track Driv konsistens og best practices inn i ditt tjenestedesign : Web Service Software Factory Det er klare fordeler.
Tjenestebasert design med dynamiske proxyer og Spring Bjørn Vidar Bøe, JavaZone 2005.
Softwarearkitektur og kvalitet
© PROGRAM UTVIKLING as Vellykkede prosjekter leverer hyppig Johannes Brodwall, Steria Chief Scientist, Utvikler, Arkitekt, Sertifisert ScrumMaster.
Visuell programmering
Programmering av dynamiske websider i C# - hva er det, og hvordan undervise? Tom Heine Nätt.
Velkommen! USITs utviklerforum, 20.februar Tjenestegruppe for utvikling Arrangerer utviklerforum Skal dele erfaringer på tvers på USIT Er ansvarlig.
Apache Maven 2.
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
© Lars-Erik Kindblad.  Et platformuavhengig verktøy for å automatisere build prosesser.  Støttes og drives av Apache Software Foundation.  Kommer ferdig.
Bakgrunn. Funksjoner. Nøkkelfunksjoner. Application Manager. View Controller. Validation. Dialog Manager. Clay. Tiger extensions.
Tema: Introduksjon Hvorfor Velocity? Installasjon Velocity VS. JSF / JSP Eksempler Oppsumering.
Hovedprosjekt- presentasjon. Ekstern oppdragsgiver Q-Free:Ticketing AS leverer elektroniske billetteringssystemer for kollektivtransport. Det leveres.
Mohammad Ali Koteich Danial Siddiq Sheikh. Hva skal vi snakke om? Directory LDAP The Apache Directory Project.
Kontroll og overvåking av integrasjonsløsninger App Platt Conference – SOA & Integration Track Martin Rauan Gisle Åsberg Communicate Norge.
Tilstede Hakon gruppen Systek Ragnvald Blindheim, CTO for ICA Ahold
Farvel til applikasjonsserveren Fra kompleksitet til kontroll.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
Copyright © 2003 Systek J2EE Arkitektur Java Workshop CBA Johannes Brodwall, Systek as.
  © Steria Å Lytte til koden Johannes Brodwall, Chief scientist, Steria Statkraft 16. april, 2010 Du kan lytte til koden.
BBS moderniseringprogram STAY i 2006: Erfaringer med arkitektur og gjennomføring Johannes Brodwall Lead Software Architect.
Copyright © 2003 Systek J2EE Teknologier Java Workshop CBA Johannes Brodwall, Systek as.
  © Steria Å Lytte til koden Johannes Brodwall, Chief scientist, Steria Iterate 21. mai, 2010.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
En lean verdikjede for utvikling av systemer
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown En subjektiv sammenligning Johannes Brodwall.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown Johannes Brodwall - Systek AS.
Stykkpriskontrakt Oslo XP meetup Johannes Brodwall, Bare en Programmerer Steria Norway.
Black box testing av webapplikasjoner
 Startet i november 2004  Hatt 32 møter siden oppstart, med ett til to foredrag på hvert møte.  Har et snitt på 15 deltakere på møtene.  All time.
Lightning Talks Oslo XP meetup juli Johannes Brodwall.
Smidig utrulling Anders Sveen, BBS Efaktura. Hva? Ofte Tar lite tid Automatisert Sikkert XP Meetups.2.
Andreas Olsen, Henrik Larsen Toft, Trond Gjertsen, Vegard Gillestad MASTEROPPGAVER VED BCCS: ESYSBIO PROJECT.
Harmoni mellom teknologi og metodologi = økt produktivitet. Av Henrik Larsen Toft Takk til veileder: Lars-Petter Helland.
Ankh Testing av papirprototyp av GUI. Testens forløp Visuell introduksjon av VS.NET Navigasjonsmodellen vår Revisjonskontrollsystemer Intervju ang. databakgrunn.
Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen
Praktiske erfaringer med Objektorientert Progress og.NET Jan Kolstad PUG Norway, Lillehammer 2005.
Kontinuerlig kvalitetskontroll. Hvordan komme helt i mål.
Project.
.NET og Progress Samspill og styrker, GUI og forretningslogikk.
Tekniske valg i applikasjonen Mine studier USITs allmøte 9.oktober 2014.
Desperate times calls for desperate measures Markedsandel gått fra +90% til under 20 Må integrere og få innpass på andre plattformer M$ går open source.
Copyright © 2003 Systek Java versus.NET The Heavyweight Championship Showdown.
Struktur FE2: Interface Controller Session Bean Session Beans Query BeanConverter Bean Data transfer objectsEJB entities Database.
J2ME- og Web-basert Instant Messaging System. Oppgavebeskrivelse Selvstendig system J2ME- og Web-basert Internasjonalisering.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
Masteroppgave Administrasjonsmoduler til eAccess.
Copyright © 2003 Systek Java Safari Java Workshop CBA Johannes Brodwall, Systek as.
Konstruksjon og Testing Torsdag 30. september 2004 Av Even Aasland Harald Ueland.
Subversion addin for Visual Studio.NET av: Arild Fines Per August Krämer Kristin Borud.
Community Walls An infrastructure for community walls Christopher P. Glæserud Torstein Hoem.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
Bjørn Ove Pedersen og Stian Dalviken
Battery analysis application for electric cars
Having a crack at a new stack
Utskrift av presentasjonen:

Java Teknologi Teknikker Økosystem Johannes Brodwall

Hvem er jeg?

Johannes Brodwall

Resident Java Expert, BBS

Organizer, Oslo XP Meetup

Rådgiver; Java, arkitektur og smidige prosesser

(I motsetning til visse andre...)

Har ingen kake å mele

”Hva kan vi forvente når vi jobber med Java?”

(0)

Hva er Java ?

Java er ikke et programmeringsspråk

Java er ikke en teknologi

Bibliotek Språk Open Source Standarder Kunnskap Community Teknikker Verktøy Eclipse IntelliJ Ant Maven NetBeans Spring Tomcat JCP Apache Codehaus Enhetstest Continuous Integration Java EE MVC Defacto standarder XML EJB Servlets JVM

Java er et økosystem

Bibliotek Språk Open Source Standarder Kunnskap Community Teknikker Verktøy Eclipse IntelliJ Ant Maven NetBeans Spring Tomcat JCP Apache Codehaus Enhetstest Continuous Integration Java EE MVC Defacto standarder XML EJB Servlets JVM

(1)

Historien om Java

Stille sjø?

(2)

| Java Enterprise Edition

Java EE

Tidligere J2EE

(Ikke JEE)

Mål: Løs 90 %

Model-View-Controller

ControllerView Logikk Persistens Database 1. Request 2. Update state 3. Retrieve state 4. Display state 5. Response (HTML) Thin Client

Java EE teknologiene

ServletsJSP Session Beans Entity Beans JDBC Enterprise Java Beans ”Web Tier”

Men det ble veldig komplekst JTA EJB RMI-IIOP JMS Two-phase commit Entity Beans RMI JCA WAR EAR Stateless session beans Stateful session beans Message driven beans Java Server Pages Servlets

Overambisøs teknologi

ControllerView Logikk Persistens Database Persistens Database

ControllerView Logikk Persistens Database

ControllerView Logikk Persistens Database Rich Client RMI

ControllerView Logikk Persistens Database Mainframe Adapter

ControllerView Logikk Persistens Database Kø Eksternt system

Klønete teknologi

EAR WAR jar ejb-jar Application server jsp jar WAR jar jsp jar ejb-jar jar application.xml web.xml ejb-jar.xml 1. Edit (usually by hand) 2. Package (Typically Ant) 3. Deploy (Typically via GUI-tool) 4. Test (usually random clicking around)

(3)

Testing

Automatisert Testing

To formål

Kostnad for å innføre ny funksjonalitet

Kostnad for å unngå feil i ting som virket

(Dvs. regresjonsfeil)

Tre egenskaper

Dekningsgrad

(sjansen for at feil oppdages)

Robusthet

(sjansen for at korrekt endring får en test til å feile)

Testtid

(tid for å sjekke en endring)

Må understøttes av teknologi

(4)

Java i dag

Open Source

Samme modell

ControllerView Logikk Persistens Database

Enklere teknologier

Spring-MVCFreeMarker Spring Hibernate (JDBC) TopLink Seam iBatis Velocity Cocoon Struts (2) WebWork Wicket

Kan kjøre utenfor applikasjonsserver content/uploads/2007/05/reference-app-100.zip

Drift: EAR til applikasjonsserver Eller Unpack og kjør

1.Enhetstest på utviklers PC 2.Automatisk bygg på integrasjonsserver 3.Automatisk deployment på testserver 4.Kontroll på hva som inngår i en leveranse 5.Kontrollert utrulling av velkjent versjon i staging og produksjon

JUnit Subversion Continuous Integration Maven Maven Repository Auto- deploy Maven Test Production 1. Check in Developer Release manager Tester End user 2. Update 3. Publish snapshot 4. Download 5. Perform tests 7. Tag 8. Publish release 9. Download release

Java EE 5

ServletsJSP + JSF Session Beans JPA (entity beans) JDBC

Redusert konfigurasjon (ikke vist)

Applikasjonsservere er dyre...

... men så får man mye problemer for pengene

(5)

Java-syken

(som også har infisert.NET)

”Programmering i XML er ikke programmering”

”Alt er bedre med standarder”

”Programmering i bilder er ikke programmering”

”Smakstestoptimalisering”

Skyldig: Java EE firmaer

Skyldig: Microsoft!

Hva skal til for å komme helt i produksjon?

(6)

Hva betyr det å velge Java?

Open Source

Mange stemmer

Mye forandring

Det er kaotisk

Men vi får bedre løsninger

(Håper jeg)

Johannes Brodwall