This provides a simple web service to map a call number into a FOLIO "shelving order" string. See the FOLIO wiki for a general explanation of shelving order.
FOLIO uses the Marc4J callnum library to perform this mapping, to what it terms a "shelf key". For Dewey call numbers, that library assumes (per the standard) that the cutter's numeric portion is 1-3 digits long. It generates an invalid shelf key when this constraint is violated.
This web service uses a fork of that library to remove the 1-3 digit constraint, and generate a shelf key / shelving order for any positive length numeric portion of the cutter.
Deploy the web app is into an application server (Tomcat, Jetty, etc.).
Access at [host:port]/folio-shelving-order/shelf-key?callNumber=123.345+M98765+v.1
This is used by FOLIO Update Local Shelving Order to update all relevant items with a correct shelving order.