User Tools

Site Tools


dropwizard_for_rpg

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dropwizard_for_rpg [2015/02/08 17:54]
mihael [Values]
dropwizard_for_rpg [2015/02/13 08:41] (current)
mihael
Line 1: Line 1:
-====== ​Dropwizard for RPG ======+====== ​BlueDroplet ​====== 
 + 
 +(Dropwizard for RPG) 
 For some time now there is the trend for packaging REST services into a fat executable ready to deploy anywhere without much or any configuration. [[https://​dropwizard.github.io/​dropwizard/​ | Dropwizard]] is such a project. It takes best of breed stuff to create an easy to use platform for developing REST services. For some time now there is the trend for packaging REST services into a fat executable ready to deploy anywhere without much or any configuration. [[https://​dropwizard.github.io/​dropwizard/​ | Dropwizard]] is such a project. It takes best of breed stuff to create an easy to use platform for developing REST services.
  
 Developing REST services on the IBM i server has been very hard and/or complicated. Creating such a platform would ease the integration of the IBM i platform into the rest of the IT application infrastructure. Developing REST services on the IBM i server has been very hard and/or complicated. Creating such a platform would ease the integration of the IBM i platform into the rest of the IT application infrastructure.
  
-===== Environment ===== +Moved to [[https://bitbucket.org/m1hael/bluedroplet|Bitbucket - BlueDroplet]]
-Each Dropwizard instance should reside in a separate library. This way we can have duplicate objects on the system but in separate libraries. Each start job should have a configured library list. +
- +
-===== Components ===== +
- +
-==== HTTP Server ==== +
-A HTTP Server needs to be embedded. +
- +
-  * [[http://www.gnu.org/software/​libmicrohttpd/​ | GNU libmicrohttpd ]] +
-  * [[https://​github.com/​davidmoreno/​onion | Onion HTTP Server]] +
-  * [[https://​github.com/​cesanta/​mongoose | Mongoose]] +
- +
-One of these http servers need to be ported to the IBM i platform and compiled to an ILE module. +
- +
-==== Database ==== +
-Nothing to do here because every job on the IBM i has a native database connection. +
- +
-==== Configuration ==== +
- +
-Configuration should be dead simple. +
- +
-=== Values ==== +
- +
-  * HTTP Port (default 8484) +
-  * HTTP Bind Address (default 0.0.0.0) +
-  * Logging (true | false) +
-  * Template Path +
-=== IFS === +
-Normally a stream file in the IFS would be used for storing the configuration of the server/​service. But most IBM i people are not comfortable with using the IFS because they haven'​t used it on a regular basis (or not at all). +
- +
- +
-=== Database File === +
-Simple database file with two fields (key, value). The name of the configuration file is the same as the program name. Different configurations are stored in different members in the same configuration file. At the start of the program the configuration file and the member are specified. +
- +
-Special MiWorkplace Plugin for Dropwizard for editing configuration values. Form Editor. +
- +
-==== Templating ==== +
-For simple REST services a template engine would easy the development of REST services a lot. +
- +
-  * RPG Next Gen Template Engine (not fully developed and not released yet) +
-  * [[http://​sourceforge.net/​projects/​xmli/ | XMLi]] +
  
-Templating should be optional.+{{tag>​ibm rpg}}
dropwizard_for_rpg.1423418049.txt.gz · Last modified: 2015/02/08 17:54 by mihael