Xpert.ivy provides multiple possibilities to manage data. Is there a overview to get a quick overview in which case I should use which 'data store'?

This question is marked "community wiki".

asked 17.12.2013 at 10:28

Flavio%20Sadeghi's gravatar image

Flavio Sadeghi ♦♦
(suspended)
accept rate: 75%


Which data management is the right one, depends from case to case. Most projects use a combination of the provided possibilities.

This q&a-entry offers an overview of the provided possibilities and provides for each possibility a conclusion with pros and cons and some remarks. The list should help to get a quick overview.

Please note, this is a wiki-entry. Feedback and enhancements are highly recommended. Who are interested about updates could subscribe this entry on the rights side and will get automatically an email on each change.

Content Management System

  • CMS entries could be overridden by the overriding-mechanism.
  • When a CMS entry is resolved, the projects dependencies are respected.
  • To manage the CMS entries, an extended graphical Editor/View is provided and a public API exists for scripting.
  • + Use the CMS for multi language content (like labels, texts, titles etc.).

WebContent (like css or js files)

  • When a WebContent entry is resolved, the projects dependencies are respected.
  • The content of a WebContent is free accessible over the web.
  • + The WebContent-folder could be administrated over the filesystem (e.g. via FTP, SSH, …).
  • + The WebContent-folder is the rights place to store files (like images etc.). Especially in contrast to the CMS or a database.
  • - Content which is related to a HTML User Dialog (like CSS, JS-Scripts etc) should be stored in to the WebContent or resource folder of the dialog (and not in the CMS). In this case the CMS serves only the multi language content.

Filesystem (extern)

  • + Because file management has to be implemented by yourself, it is possible to control (and restrict) the access from the web (in contrast to the WebContent-folder).
  • Otherwise the same pros and cons are true as for the WebContent-Folder.

HTML User Dialog/resources

  • The content of a resource-folder is free accessible over the web.
  • + The resources-folder is the rights place to store files (like images, js-scripts etc.) which belongs to the HTML User Dialog.

Database

  • + Read access to external systems
  • + Data management of simple database structures (read and write) within Xpert.ivy .

Webservice

  • + Read and write access to external systems (service oriented)

Persistency (Java Persistence API)

  • JPA is a Java standard, it is well documented and widely used.
  • There are some pitfalls. Start your first JPA experience with some simple examples.
  • + management of relational database structures within Xpert.ivy

Environment Variables

  • Configurations could be defined for different environments (e.g. Development, Testing, Production)
  • + Environment specific configuration exists for Database-/Webservice-configuration and custom String variables
  • - The environment and its configuration should not be changed at runtime (e.g. over the public API).

Application Custom Properties (Axon.ivy 6.0 and newer)

  • Simple API to store key/value pairs per application
  • + Simple to use. No own database needed.
  • - No UI yet
  • - No environment support
link
This answer is marked "community wiki".

answered 17.12.2013 at 10:37

Flavio%20Sadeghi's gravatar image

Flavio Sadeghi ♦♦
(suspended)
accept rate: 75%

edited 31.08.2015 at 16:20

Reto%20Weiss's gravatar image

Reto Weiss ♦♦
4.9k202857

Thanks a lot for this very insightful and comprehensive entry. One little remark I would like to make: I dislike the comment "(as far as someone could guess the file name)". Security through obscurity is no security. There are a lot of scanners out there which expose all data available on a webserver. For sake of a community wiki entry I would remove this comment. Sorry for being maybe a bit too picky here...

(17.12.2013 at 14:37) Nikel Weis Nikel%20Weis's gravatar image
1

@Nikel-Weis: of course, this information is useless. I have removed the note. thanks for your hint.

(17.12.2013 at 15:44) Flavio Sadeghi ♦♦ Flavio%20Sadeghi's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×5

Asked: 17.12.2013 at 10:28

Seen: 3,432 times

Last updated: 31.08.2015 at 16:20