Skip to content

nominanuda/zen-project

Repository files navigation

Zen is an undocumented framework for fast web site/service iterations. Used in production under heavy load for years.
Supports a pervasive Jsonish OM called Obj, reads/writes/pipelines JSON XML and HTML. Features Spring support and js scripting server side, allowing effective and simple java/js communication. 
A few ANTLR DSLs are used for URI Template round-tripping, JSON schema definition and an alternative simpler JSON grammar.
Its architecture is heavily inspired by the popular Apache Cocoon web framework and SpringMVC open-close pattern. 
Persistence hooks for JDBC, Mongo, Hibernate, Solr are available.
A subset of JAX-RS and Obj binding to java interfaces for DTOs, make it very convenient to document and implement a full RESTful protocol.
Binding for Android and partially for JS on browsers are also provided so that web-services stubs and skeltons are available just describing data structures and protocol.
Server side streaming JSON reading and writing is achieved by a hand written parser and a custom event model inspired by and interoperable with XML SAX. 

In case you wonder ZEN is an acronym for Zoe Enea Nina.


to build the maven google-closure-templates dependency has to installed locally


mvn install:install-file -Dfile=closure-templates-r28.jar -DgroupId=com.google.javascript -DartifactId=closure-templates -Dversion=r28 -Dpackaging=jar

https://github.com/nominanuda/nominanuda.github.io/raw/master/m2/closure-templates-r28.jar


snapshot deploy cmd

mvn clean deploy -DaltDeploymentRepository=sonatype-nexus-snapshots::default::https://oss.sonatype.org/content/repositories/snapshots