Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Java Forum Nord 2016 Retrospective

DZone's Guide to

Java Forum Nord 2016 Retrospective

Follow the breakdown of a day of talks from the non-commercial JavaNord conference in Germany. See topics ranging from communication to code refactoring.

· Java Zone
Free Resource

Get the Edge with a Professional Java IDE. 30-day free trial.

This article is dedicated to the non-commercial Java conference that I visited last month in Hannover, Germany. JavaNord took place for the second time in October. The spoken language is German but most of the presentations are written in English. I wanted to list the links to the presentations I visited along with a small description.

Life, IT, and Everything — Uwe Friedrichsen

Presentation: http://www.slideshare.net/ufried/life-it-and-everything

  • Industrial and post-industrial ways of business thinking.
  • Importance of the communication and information evaluation.

This presentation showed the strong presence of the industrial way of thinking in the companies and the need to move toward the post-industrial way of thinking, especially when it comes to planning and developing software projects.

Quality and Communications — Sabine Wojcieszak

Presentation: http://www.slideshare.net/SabineBerneckerBendi/kommunikation-und-qualitat-java-forum-nord-2016

  • General purpose and usage of communication.
  • Importance of communication and evaluating important information.
  • Description of different ways of communication.
  • Goals of communication.
  • One of many hints: Showing more tolerance and understanding for those we're communicating with.

What I really took from this presentation were the examples of the IT working day and the communication:

  • In the team.
  • With the customers or stakeholders.

Following the advice results in better:

  • Software quality.
  • Teams.
  • Product presentations.

Those concrete use cases and conclusions were not the purpose of this presentation, but the presentation itself was more generally conceived.

Automation of the Software Development Process — Rabea Granberger

Presentation: http://speakerdeck.com/rgra/automatisierung-des-softwareentwicklungsprozesses

Rabea's development team made a goal — automating the software development process. They made it a reality within one year. Many tools were mentioned in the presentation, which were grouped by the software development state:

  • Installation
    • choco-install — Chocolately
    • Boxstarter
    • Eclipse Oomph
  • Deployment
    • OTIS
  • Build
    • Maven / Tycho
  • Update
    • with delegate exe files
  • Auto Update
    • Quartz
  • System Health
    • PRTG Network Monitor
    • ctrlflow
  • Documentation
    • AsciiDoc
  • Continuous Integration
    • Jenkins
  • Code Review
    • sonarqube

I expected some hints about automating the core of the software development process, maybe with a small example from their experience where we can see the benefit and impact of those changes on the software, the software development process, and the workflow process of the team. What we saw was a listing of many tools for any stage of the software process. This information is also very useful as feedback of the used tools or as hints to look into the lesser known ones. Since most of the tools are standards, I guess many tutorials and information about their usage can be found in the world wide web. 

Beyond Selenium IDE — Maintainable Alternatives to "Record and Playback" — Stefan Hildebrant

Presentation: http://consulting.hildebrandt.tk/vortraege/beyond-selenium-ide/slides/index.html

  • Disadvantages of the common testing approach
  • Preview of Selenium IDE
  • Invocation of Selenium from Java
  • Usage of new testing approaches
    • Arquillian Graphene
    • Web Tester
    • GEB
    • CatJs
  • Code examples in Groovy.
  • Common problems
    • Long run duration
    • Duplication

Acoustically, this presentation was very quiet, and I couldn't hear much of the content well. What I expected was the Selenium presentation and some alternative framework(s) and what the advantages and disadvantages they bring. It is interesting to note that the presentation was structured that way, but after it was done, I could say we saw listings and some examples from which I didn't obtain much new knowledge. Maybe this presentation was meant to be for those who know the subject matter and the problems of QA very well.

TDLCR: Test Driven Legacy Code Refactoring — Falk Sippach

Presentation: http://www.oio.de/m/konf/vortraege/JavaForumNord2016-TestDrivenLegacyCodeRefactoring-FalkSippach.pdf

  • Introduction of this TDLCR
  • Hint and tips when and how legacy code should be changed/refactored

This presentation was about how legacy code should be treated and modified in the right manner. Very useful if you are in a situation where legacy code needs analysis and modification.

DDD and REST — Oliver Gierke

Presentation: https://speakerdeck.com/olivergierke/ddd-and-rest-domain-driven-apis-for-the-web-3

  • DDD (Domain Driven Development) was introduced.
  • Using the DDD for REST (Representational State Transfer), DDD-REST translation/mapping table was the key for this presentation.
  • Hypermedia.

DDD was described here on the abstract level, and the relationship of aggregates and entities and repositories was something essential for this kind of modeling. The last part describes the mapping of the DDD paradigm on REST implementation.

Threat Modeling — Dominik Shadow

Presentation: http://files.dominikschadow.de/event_javaforumnord2016.pdf

  • Threat recognition in the system (at any level) should be made at the beginning.
  • STRIDE principle:
    • S - Spoofing identity
    • T - Tampering with data
    • R - Repudiation
    • I - Information disclosure
    • D - Denial of service
    • E - Elevation of privilege
  • Microsoft Threat Modeling Tool (TMT)

This presentation has clarified when, what, and how to use threat modeling. The tool and approach should be used by any security manager or those responsible for revealing threats.

Requirements Are Always the Cause — Handling a Complex System With Good Requirement Management — Frank Düsterbeck

Presentation: http://www.slideshare.net/fduesterbeck/codetalks-anforderungen-haben-immer-schuld/fduesterbeck/codetalks-anforderungen-haben-immer-schuld

  • Old style of software planning vs. the new agile style.
  • Requirements Specification/Solution Specification.
  • User stories.
  • Personas — Customer profiles.
  • Behavior Driven Development.
  • MVP — Most Valuable Product.

This presentation was very entertaining and focused on requirement management with user stories. It also showed how personas can lead to your first MVP product, which can grow with further development cycles. I would say it was "requirement management for agile software development." Actually, I was expecting some explanation i.e. how the requirements can be better and more complete with much more relevant information and how to achieve those goals.

Summary

JavaNord is a one-day, non-commerce conference with four tracks organized from several Java User Groups (JUGs), who are located in the north of Germany. To top it off, it's free for the JUG members. Like other conferences, this was also very useful for the visitors with plenty of new info about frameworks, programming paradigms, methods of developing, and communicating.

The evening's social activity provided us with the opportunity to talk with other developers as well, some of whom came from other countries like Sweden. They were excited about the conference and surprised by its organized nature.

This time, I gave short descriptions for the talks. For some of them, I could guess the content from the title and description, but for others, it wasn't so obvious. Either way, it is always a good experience to learn something new.

Get the Java IDE that understands code & makes developing enjoyable. Level up your code with IntelliJ IDEA. Download the free trial.

Topics:
java ,automation ,selenium ,java forum nord

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}