Simple app. Interface with two implementation - XML and memory. Getting implementation class name from .properties and creating instance by reflection. GUI working on this instance. GUI based on JTable AbstractTableModel. Editing, deleting and adding a new books.