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 [2014/07/31 06:53]
mihael
dropwizard_for_rpg [2015/02/13 08:41]
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. +
- +
-=== 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). +
- +
-=== Data Area === +
-Another option would be a data area (as long as the configuration is not too big/​complex). +
- +
-=== Database File === +
-Simple database file ''​CONFIG''​ with two fields (key, value). +
- +
-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]] +
  
 +{{tag>​ibm rpg}}
dropwizard_for_rpg.txt · Last modified: 2015/02/13 08:41 by mihael