0
Java Development EcoSystem<br />Andrey Khaisin, Ciklum<br />Java User Group, June 2011<br />
Who am I?<br />More than 5 years in:<br /><ul><li>Testing, automated testing
Project quality analyzing
UI, persistence, business logic development
Development for non Ukrainian Banks</li></ul>And always 20% of all activities are in development ecosystem <br />www.ciklu...
What is it all about?..<br />www.ciklum.net<br />3<br />“I can remember when the air was clean …” <br />George Burns, come...
Problems <br /><ul><li>Easily configurable build
No JAR hell
Keep it stable
One click deploy
Look to the future</li></ul>www.ciklum.net<br />4<br />
Part 1. Ecosystem components<br />www.ciklum.net<br />5<br />
Development tools<br />www.ciklum.net<br />6<br />
Jenkins (Hudson)<br /><ul><li>Start build process after source code  change or after certain period of time
Distribute build process across a set of build servers
Build result statistic
Notification about build results
Upcoming SlideShare
Loading in...5
×

Java Development EcoSystem

833

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
833
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

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

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

      Clipping is a handy way to collect important slides you want to go back to later.

    ×