avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •maven •maven2. 2. version...

39
1 Superpresentasjon 120

Upload: others

Post on 12-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

1Superpresentasjon

120

Page 2: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Superpresentasjon

Kort om Objectware• Forretningside

• Objectware leverer ledende IT kompetanse og portalløsninger basert på god forretningsforståelse og innovativ utnyttelse av Microsoft og Java teknologi. Våre leveranser strekker seg fra utleie av utviklingskompetanse og rådgivere, via ansvarsprosjekt og forretningsløsninger til forvaltning og drift.

• Historikk:

• Etablert i 1994 med over 100 ansatte i dag

• Referanser fra Norges største og mest innovative virksomheter

• Kompetanse

• Ledende kunnskap og erfaring innen komponentbasert og tjeneste-orientert (SOA) systemutvikling

• Sterke partnerrelasjoner

• Løsninger

• Leverer unik konkurransekraft basert på digital innovasjon og utnyttelse av ”best of breed” plattformer

• Smidige virksomhetsportaler

• Saksgang og styringssystemer

• Kunderelasjonsstyring

• Virksomhetsstyring

• Kunder

• Store og mellomstore bedrifter i Norden innenfor Bank, Forsikring, Offentlig forvaltning og helse, Handel og industri, IT og telekommunikasjon

• Våre verdier

• Åpen og engasjert samarbeidspartner som skaper varige

verdier for våre kunder

Nordens ledende fagmiljø

Karriere

• Hos oss er alle muligheter åpne

•faglig spydspiss, prosjekt, ledelse, salg/marked eller en kombinasjon

• Du velger, vi støtter og hjelper

• Vi bygger bevist nasjonale og internasjonale profiler

Page 3: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Who is Totto?

• President, javaBin since 1998

• Organizer of JavaZone - the biggest & best developer conference in the Nordic region

• Sun Java Champion

• Advisory Board Member, java.net

• Chief Consultant Objectware

• Arkitect, developer, mentor, manager

• J2EE since 1997, J2SE/J2ME, AOP, Jini/JavaSpaces, UML, RUP, Agile

• More than 30 years of developer experience

• MSc from NTH/NTNU

• ... And a lot more...

Page 4: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Who is Erik Drolshammer?

Page 5: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Who is Jan Erik Sandberg?

Page 6: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Who are the girls…

Page 7: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Fagpresentasjon NTNU

23. oktober 2007

Erik Drolshammer

Totto

Objectware AS

The 2007 anti-buzzword session

FagPres NTNU 2007, Objectware AS 7

Page 8: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Agenda

1. Goal

2. Development tools

3. Agile development

4. Containers

5. SOA

6. Summary

7. Question and answer (QA)

8FagPres NTNU 2007, Objectware AS

Page 9: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

1. Goal

•Terminology

•What is actually used?

•What is <insertTermHere>?

9FagPres NTNU 2007, Objectware AS

Page 10: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Who are you?

Page 11: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Development tools

11FagPres NTNU 2007, Objectware AS

• Build tool

• Version Control System (VCS)

• Integrated Development Environment (IDE)

• Continuous Integration (CI) server

• Build artifact repository manager

Page 12: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Build tool

12FagPres NTNU 2007, Objectware AS

• Make

• Ant

• Maven

•Maven2

Page 14: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Version Control System

•CVS

•Subversion

14FagPres NTNU 2007, Objectware AS

Page 15: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Version Control System

YOU choose the

- VCS client!

15FagPres NTNU 2007, Objectware AS

Page 16: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. IDE

•IntelliJ IDEA

•Eclipse

• (NetBeans)

16FagPres NTNU 2007, Objectware AS

Page 17: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. IDE

YOU choose the

- IDE/editor!

17FagPres NTNU 2007, Objectware AS

Page 18: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Platform

• Java 6

•Maven 2

•Subversion

•UTF-8

18FagPres NTNU 2007, Objectware AS

Page 19: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Platform

YOU choose the

- operating system!

19FagPres NTNU 2007, Objectware AS

Page 20: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Continuous Integration (CI)

•Custom scripts

•CruiseControl

•AntHill

•Continuum

•Bamboo

•Hudson

20FagPres NTNU 2007, Objectware AS

Page 21: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Build artifact repository manager

•Standard maven proxy

•Dead simple Maven Proxy (DSMP)

•Proximity

•Artifactory

•Archiva

•Homemade

21FagPres NTNU 2007, Objectware AS

Page 22: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Other de facto standard tools

• Issue tracker: Jira

•Wiki: Confluence

•Http-server: Apache 2

•Browser: Firefox, Opera

22FagPres NTNU 2007, Objectware AS

Page 23: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

2. Development tools summary

23FagPres NTNU 2007, Objectware AS

Build tool: Maven2

VCS: Subversion

IDE: IntelliJ IDEA, Eclipse

CI: Continuum/Hudson/Bamboo

Build artifact repository manager: artifactory, archiva

Page 24: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

3. Manifesto for Agile Software Development

Individuals and interactions

Working software

Customer collaboration

Responding to change

24FagPres NTNU 2007, Objectware AS

over processes and tools

over comprehensivedocumentation

over contract negotiation

over following a plan

Page 25: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

3. Agile development

Metoder: XP, Scrum, Lean, RUP

Teknikker: PairProgramming, CI, UseCases, UserStories, TDD, DDD

Developer impact, efficiency

25FagPres NTNU 2007, Objectware AS

Page 26: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

3. Agile development

26FagPres NTNU 2007, Objectware AS

Developer impact

Efficiency

XPScrum

Lean

RUP

Page 27: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

3. Agile development

27FagPres NTNU 2007, Objectware AS

Developer impact

Efficiency

Use case

User storiesPair

Program... CI

Deploy

TDD

Daily standup

Page 28: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

3. Agile development

SCRUM

Techniques: TDD, DDD, US, CI, pair programming, planning poker, backlog, sprint

28FagPres NTNU 2007, Objectware AS

Page 29: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

4. Containere

29FagPres NTNU 2007, Objectware AS

exciting

agile

BEA

spring

OpenESB HK2

Glassfish v3

jetty

waterfall

boring

plexus

sitevision

OSGi

Oracle

IBM

Glassfish v2

Tomcat

pluto

Glassfish v3

IBM

Oracle

JBOSS

Micro = yellowServlet = green Portlet = dark greenApplication = blue

Page 30: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

5. SOA

Det var vist ikke så lett dette her med SOA…

• De fleste prosjekter som kaller seg SOA vet ikke hva tjenester er

• De fleste SOA prosjektene feiler

• Utviklere og forretning er milevis fra hverandre når man snakker om SOA

=> Men det betyr ikke at SOA er Feil Ting ™

30FagPres NTNU 2007, Objectware AS

Page 31: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

5. OW SOA - Mission Statement

Objectware har brukt betydelig med tid, krefter og prosjekterfaring for å utvikle en helhetlig SOA strategi som sikrer at våre kunder får realisert forretningsverdien av sin SOA satsning over tid.

Resultatet er no-nonsense SOA med tydelige retningslinjer som setter IT og forretning i stand til å jobbe sammen mot samme mål, og som sikrer endringsdyktighet og verdiskapning over tid.

31FagPres NTNU 2007, Objectware AS

Page 32: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

32

What is OW SOA

”No non-sense”

– Enterprise Architecture

– Domain Driven Design

– Service Oriented Architecture

– Enterprise SOA Patterns

– Code (reusable & starting points)

”How IT fits together”

– From EA, to SOA categorized services, realized

using documented patterns and deployed on

both .NET and Java in real projects.

Page 33: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

The Service Manifesto

• I shall do one thing and one thing well.

• I shall never fail and if I do I will do it gracefully.

• I shall provide great service.

33

Page 34: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Typisk SOA scenarie

Page 35: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

4. SOA

35FagPres NTNU 2007, Objectware AS

Hype

Business value

WS-*

CFX/XFire

SAML 2.0

OW SOA

EDR

Tjeneste kategorisering

Mule

REST

ESB

Endpoint

Design-timeGovernance

AXIS

WebServices

WS ducktyping

ESERun-time

Governance

Governance

PAB

Page 36: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Oppsummering

•Lightweight over heavyweight

•Agile over plan-based approaches

•No silver bullet (be skeptical to hypes and buzzwords)

• Brain over stupidity…

36FagPres NTNU 2007, Objectware AS

Page 37: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Resources

VCS

http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

CI

http://docs.codehaus.org/display/DAMAGECONTROL/Continuous+Integration+Server+Feature+Matrix

37FagPres NTNU 2007, Objectware AS

Page 38: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

M2 Resources

•Archiva - http://maven.apache.org/archiva/

•Standard maven proxy - http://maven-proxy.codehaus.org/

•Dead simple Maven Proxy (DSMP) -http://www.pdark.de/dsmp/

•Proximity - http://proximity.abstracthorizon.org/

•Artifactory - http://www.jfrog.org/sites/artifactory/latest/

38FagPres NTNU 2007, Objectware AS

Page 39: Avansert kontinuerlig integrasjon for å få mer stabile ...€¦ · •Maven •Maven2. 2. Version Control System Full Maven SCM support •Bazaar •CVS •Mercurial •Perforce

Q&A

39FagPres NTNU 2007, Objectware AS