Reference code

Building the Bitrepository

Here you can find information on how to use Maven based build environment to start development on the Bitrepository system.

Setup of development environment

Here you can the documentation need to setup a development environment

Application design

Description of the design of the reference Java system developed as part of the project.

  • ModulesDescription of the application breakdown into separate modules
    • MessageXML moduleXSD schemas defining the data structures of the Bitmagasin messages
    • Protocol moduleContains the general protocol functionality, like message bus connectors, message processing and data transmission code 
    • Access client moduleContains functionality for reading from the BitMagasin. This includes Get File, Get Checksums and Get File IDs
    • Modifying client moduleAll functionality for writing to the Bitrepository is located here. This includes Put File, Delete File and Replace File.
    • Processing client moduleContains the client side functionality for Processing Single File and Mass Processing  
    • Alarm client moduleContains the Alarm client functionality
    • Integrity client moduleContains the integrity client code
    • Audit client moduleContains the client side functionality for accessing audit logs.
    • Monitoring moduleContains the code for the central monitoring service, which is part of the Coordination Layer.
    • Integration moduleThe tests for examining the integrated system (or part of it).
    • Common moduleContains code shared by all modules. Examples are utils and configuration loading.

Code guidelines

Description of the code design we use in the application development

  • Construction, referencing and composing in generalA short rattle of what to do and not to do when creating or getting references to objects
  • ExceptionsWe will lean on the Effective Java Exceptions http://www.oracle.com/technetwork/articles/entarch/effective-exceptions-092345.html guidelines.
  • Writing automatic testsGuideline for writing good automatic test cases
  • LoggingHere you can find a description of logging is implemented in the Bitrepository code
  • Code style (Deprecated)The general code style used in the java code based on the SBForge code style.
  • 3-layered componentsAll our components should be keep the data accessing (read and write), business logic and interface code separated
  • Argument validationDescribes how and when to validate arguments