Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
1
Java Teknologi Teknikker Økosystem Johannes Brodwall johannes@brodwall.com
2
Hvem er jeg?
3
Johannes Brodwall
4
Resident Java Expert, BBS
5
Organizer, Oslo XP Meetup http://xp.meetup.com/13/
6
Rådgiver; Java, arkitektur og smidige prosesser http://brodwall.com/johannes/blog/
7
(I motsetning til visse andre...)
8
Har ingen kake å mele
9
”Hva kan vi forvente når vi jobber med Java?”
10
(0)
11
Hva er Java ?
12
Java er ikke et programmeringsspråk
13
Java er ikke en teknologi
14
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
15
Java er et økosystem
16
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
17
(1)
18
Historien om Java http://brodwall.com/johannes/brief-java-history
23
Stille sjø?
24
(2)
25
| Java Enterprise Edition
26
Java EE
27
Tidligere J2EE
28
(Ikke JEE)
29
Mål: Løs 90 %
30
Model-View-Controller
31
ControllerView Logikk Persistens Database 1. Request 2. Update state 3. Retrieve state 4. Display state 5. Response (HTML) Thin Client
32
Java EE teknologiene
33
ServletsJSP Session Beans Entity Beans JDBC Enterprise Java Beans ”Web Tier”
34
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
35
Overambisøs teknologi
36
ControllerView Logikk Persistens Database Persistens Database
37
ControllerView Logikk Persistens Database
38
ControllerView Logikk Persistens Database Rich Client RMI
39
ControllerView Logikk Persistens Database Mainframe Adapter
40
ControllerView Logikk Persistens Database Kø Eksternt system
41
Klønete teknologi
42
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)
43
(3)
44
Testing
45
Automatisert Testing
46
To formål
47
Kostnad for å innføre ny funksjonalitet
48
Kostnad for å unngå feil i ting som virket
49
(Dvs. regresjonsfeil)
50
Tre egenskaper
51
Dekningsgrad
52
(sjansen for at feil oppdages)
53
Robusthet
54
(sjansen for at korrekt endring får en test til å feile)
55
Testtid
56
(tid for å sjekke en endring)
57
Må understøttes av teknologi
58
(4)
59
Java i dag http://brodwall.com/johannes/maven-app-server
60
Open Source
61
Samme modell
62
ControllerView Logikk Persistens Database
63
Enklere teknologier
64
Spring-MVCFreeMarker Spring Hibernate (JDBC) TopLink Seam iBatis Velocity Cocoon Struts (2) WebWork Wicket
65
Kan kjøre utenfor applikasjonsserver http://www.brodwall.com/johannes/blog/wp- content/uploads/2007/05/reference-app-100.zip
66
Drift: EAR til applikasjonsserver Eller Unpack og kjør
67
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
68
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
69
Java EE 5
70
ServletsJSP + JSF Session Beans JPA (entity beans) JDBC
71
Redusert konfigurasjon (ikke vist)
72
Applikasjonsservere er dyre...
73
... men så får man mye problemer for pengene
75
(5)
76
Java-syken
77
(som også har infisert.NET)
78
”Programmering i XML er ikke programmering”
79
”Alt er bedre med standarder”
80
http://www.innoq.com/soa/ws-standards/poster/
81
”Programmering i bilder er ikke programmering”
82
”Smakstestoptimalisering”
84
Skyldig: Java EE firmaer
85
Skyldig: Microsoft!
86
Hva skal til for å komme helt i produksjon?
87
(6)
88
Hva betyr det å velge Java?
89
Open Source
90
Mange stemmer
91
Mye forandring
92
Det er kaotisk
93
Men vi får bedre løsninger
94
(Håper jeg)
95
Johannes Brodwall johannes@brodwall.com http://brodwall.com/johannes/blog
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.