Project

General

Profile

V30-experimental retired » History » Version 8

Henning Blohm, 07.11.2014 19:40

1 1 Henning Blohm
h1. Z2-Environment version 3.0
2
3
Version 3.0 is in progress
4
5 3 Henning Blohm
The main goals for 3.0 is to provide features that simplify user adoption.
6
7 5 Henning Blohm
h2 Simplified Entry-Level Operations
8 3 Henning Blohm
9
In order to reduce the initial usage barrier, the following should be possible (or simplified)
10
11
* Have a system layout consisting of a number of auto-discovered co-located file system repositories
12
** Much like the dev repo but actually based on the FSCR and "always armed"
13
** Benefit: Supports Git-branching approaches out of the box
14
** Benefit: Allows System Releases as a single ZIP to be exploded without any online access (a regular "copy" deployment)
15
 
16
* Provide consistent and complete system export
17
** Support binary or source-preserving export
18
** Provide clean component name escaping so we can also export mvn-provided artifacts if desired
19
** so we can offer a complete base distribution as binary download
20
** Running samples means to clone co-located Git Repos
21 1 Henning Blohm
** Make re-binding of repository locations simpler (e.g. a remote repo becomes a local FS repo after export)
22 5 Henning Blohm
23 6 Henning Blohm
* Support single-process mode (e.g. no Worker mode - move worker support into an add-on)
24 3 Henning Blohm
25
h2. Free Web Container Choice
26 1 Henning Blohm
27 4 Henning Blohm
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.
28 1 Henning Blohm
29 4 Henning Blohm
* Provide a web container resource that hooks up with a pre-configured web container OR a self-hosted web container
30
* This will require some creative business with the servlet/jsp and Web Container class path
31
32
h2. Improvements
33 1 Henning Blohm
34 7 Henning Blohm
* Provide a z2 for dummies introduction that starts with simple, include-based web apps
35 1 Henning Blohm
* Seamless support of Maven repositories (see [[V23]], [[maven_repo_support]])
36 7 Henning Blohm
** Including install into repository from z2
37
* Use string revisions rather than longs (so that natural versions are better supported)
38 1 Henning Blohm
* Introduce "Java Templates", Java (and others) Component configuration made simpler (see [[smart_props]])
39 2 Henning Blohm
* Port add-ons and samples to maven repos for external artifacts
40 8 Henning Blohm
41
h2. Proposals
42
43
44
h3. Local Install Layout
45
46
By means module virtualization (already today via the module name property of the dev repo) we can essentially turn anything that has a "z.properties" into a component and use a declared name as the module "namespace".
47
48
Combined with an "adapter component type" concept we can introduce for example
49
50
* Tomcat Adapter Component: Tells the Tomcat based web container integration about the location of a Tomcat installation.
51
* and similarly for other component types that depend on "local/external" defined resources
52
53
The follwing _typical_ layout is suggested:
54
55
<pre>
56
+-<tomcat-folder>
57
|  +- z.properties  (adapter declaration)
58
|  +- LOCAL (tagging)
59
|  +- <whatever tomcat stuff>
60
|
61
+-zlight
62
|  +-zlight.core (core)
63
|  +-zlight.base (base stuff)
64
|  +-<more fs repos>
65
|
66
+-<armed module 1>
67
+-<armed module 2>
68
|
69
+-<git repo 1>
70
</pre>
71
72
h3. Web Container Integration
73
74
As outlined above, we will support re-use of existing pre-configured web container instances.
75
76
h3. Repository Export
77
78
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. 
79
80
* Repository Component Names can be mapped
81
* We will introduce a component name escaping pattern to support maven originated components as well