Your SlideShare is downloading. ×
Java Development EcoSystem
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Java Development EcoSystem

768
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
768
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Вспомните проекты в которых вы учавствовали с самого начала проекта. Есть чистый лист на котором рисуете карандашом свои идеи. Со временем что-то становится лишним вы стираете ластиком – остаются серые следы. Вы нарисовали картинку, а если нужно что-то исправить? Снова стирать оставлять грязные следы.Development ecosystem – это также как человеческая среда обитания. Свежий воздух, ясное солнце, деревья – всё это делает жизнь нашу лучше.
  • Transcript

    • 1. Java Development EcoSystem
      Andrey Khaisin, Ciklum
      Java User Group, June 2011
    • 2. Who am I?
      More than 5 years in:
      • Testing, automated testing
      • 3. Project quality analyzing
      • 4. UI, persistence, business logic development
      • 5. Development for non Ukrainian Banks
      And always 20% of all activities are in development ecosystem
      www.ciklum.net
      2
    • 6. What is it all about?..
      www.ciklum.net
      3
      “I can remember when the air was clean …”
      George Burns, comedian
      After some development
    • 7. Problems
      • Easily configurable build
      • 8. No JAR hell
      • 9. Keep it stable
      • 10. One click deploy
      • 11. Look to the future
      www.ciklum.net
      4
    • 12. Part 1. Ecosystem components
      www.ciklum.net
      5
    • 13. Development tools
      www.ciklum.net
      6
    • 14. Jenkins (Hudson)
      • Start build process after source code change or after certain period of time
      • 15. Distribute build process across a set of build servers
      • 16. Build result statistic
      • 17. Notification about build results
      • 18. Executing post-build processes (e.g. deploying to testing server)
      Alternatives:
      Apache Continuum, JetBrainsTeamCity, Atlassian Bamboo, CruiseControl, Team Foundation Server, … thousands of them
      www.ciklum.net
      7
    • 19. Source version control system
      • Trigger build process on build server on source code change
      • 20. Store all states of application code base
      • 21. Know who and when made that change which crash the build
      www.ciklum.net
      8
    • 22. Maven
      • Convention over configuration
      • 23. Standard project building life circle
      • 24. Dependency management
      • 25. Configuration and environment profiles
      • 26. IDE independent project
      Alternatives:
      • Ant + Ivy
      • 27. IDE custom build and dependencies management
      www.ciklum.net
      9
    • 28. Nexus
      • Keep all project dependencies in one place
      • 29. Cache all dependencies from different remote repositories
      • 30. Manage rules for main source of certain artifact
      • 31. Control security side – no untrusted dependencies must be used for project build
      • 32. Maven central works under Nexus
      Alternatives:
      • Artifactory
      • 33. Apache Archiva
      www.ciklum.net
      10
    • 34. Code analyzing tools
      • Cobertura – test coverage
      • 35. PMD – static code analyzing
      • 36. FindBugs – static code analyzing
      • 37. Checkstyle – check code style rules
      www.ciklum.net
      11
    • 38. Sonar
      • Collecting project analyzing results
      • 39. Track project metrics changes for a period of time
      • 40. Visualizing project metrics
      • 41. Flexible configurable dashboards for users with different project roles
      www.ciklum.net
      12
    • 42. Sonar - project metrics UI
      www.ciklum.net
      13
      Sonarize you project!
    • 45. Part 2. Project metrics
      www.ciklum.net
      14
      Each metric is an answer to:
      How many tests?
      How big your code?
      What is code test coverage?
      How nice style of your code?
    • 46. LOC and Test Coverage
      www.ciklum.net
      15
    • 47. Radar - Sonar
      www.ciklum.net
      16
      The rounder shape the better metrics
    • 48. Thank you!
      www.ciklum.net
      17
      Andrey Khaisin
      kha@ciklum.net
      Ciklum