V30-experimental retired » History » Revision 17
Revision 16 (Henning Blohm, 28.01.2015 15:11) → Revision 17/18 (Henning Blohm, 11.12.2016 13:56)
h1. Z2-Environment version 3.0
Version 3.0 is in progress. It is developed here: [[z2env:wiki|org.z2env]].
The main goals for 3.0 is to provide features that simplify user adoption
h2. Move to org domain
* We will refactor all core code into *org.z2env*.
(DONE)
h2. Simplified and lighter setup
* Provide completely local installation via a root repository that features local FSCR addon repositories
* Provide a stripped-down base installation that is essentially only capable of running main programs.
* Split the base addon into individual addons for:
** dev tools (z2unit, eclipsoid)
** tomcat hookup
** worker support
** etc.
(DONE)
h2. Free Web Container Choice
It should be possible to use a Web Container of choice, as long as it is Jetty or Tomcat. Our tests indicate that it should be simple to programmatically control any pre-installed instance.
* Provide a web container resource that hooks up with a pre-configured web container OR a self-hosted web container
* This will require some creative business with the servlet/jsp and Web Container class path
(DONE for Tomcat)
h2. Provide consistent and complete system export
* Support binary or source-preserving export
* Provide clean component name escaping so we can also export mvn-provided artifacts if desired
* so we can offer a complete base distribution as binary download
* Running samples means to clone co-located Git Repos
* Make re-binding of repository locations simpler (e.g. a remote repo becomes a local FS repo after export)
* Support single-process mode (e.g. no Worker mode - move worker support into an add-on)
h2. Improvements
* Provide a z2 for dummies introduction that starts with simple, include-based web apps
* Seamless support of Maven repositories (see [[V23]], [[maven_repo_support]])
** Including install into repository from z2
* Use string revisions rather than longs (so that natural versions are better supported)
* Introduce "Java Templates", Java (and others) Component configuration made simpler (see [[smart_props]])
* Port add-ons and samples to maven repos for external artifacts
* Drop "I" interface notation
* Drop resource instance on every invalidation.
* Define component name escaping for the file system repo helper
* Introduce boot repository *at* Z2_HOME into ComponentsManager
** Auto-discover other repos at Z2_HOME
** Default "." as dev repo workspace
** launch purely from "java -jar z.jar"
** Introduce moduleName property for "free-floating" components
** Introduce repository adapter type.
* Folders for operation
* Use /code instead of /java to be more agnostic to the language in use (postponed)
* Drop workunit expectation in (e.g.) SVNCR.
h2. Proposals
h3. Local Install Layout
Introducing an extended file system repo support and better split of resource and work dirs, the follwing _typical_ layout is suggested:
<pre>
+-<$CATALINA_HOME>
|
+-z2env
| +-boot (boot repo)
| +-roots
| +- zding-essentials
| +- zding-jetty
| +- zding-devtools
| +- zding-tomcat
| +-z.jar
|
+-<armed module 1>
+-<armed module 2>
|
+-<git repo 1>
</pre>
(DONE)
h3. Repository Export
We will enhance the repository export so that given a number of repository component names (possibly including mvn repos), a complete export, in source or binary, will be put into a structure as outlined above.
* Repository Component Names can be mapped
* We will introduce a component name escaping pattern to support maven originated components as well
h3. Review of Software Component Responsibilities
+core+
* Component and Module Model
* Component Types:
** System State
** Java / Compiler
** "main" programs
** "any"