Java Development EcoSystem
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Java Development EcoSystem

  • 1,205 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,205
On Slideshare
1,205
From Embeds
0
Number of Embeds
0

Actions

Shares
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