Project

General

Profile

V30-experimental retired » History » Version 18

Henning Blohm, 02.09.2017 23:12

1 1 Henning Blohm
h1. Z2-Environment version 3.0
2
3 18 Henning Blohm
Version 3.0 is in EXPERIMENTAL and not in development anymore. Feature will migrate to 2.x as fits.
4
5
It was developed here: [[z2env:wiki|org.z2env]].
6 1 Henning Blohm
7 13 Henning Blohm
The main goals for 3.0 is to provide features that simplify user adoption
8 3 Henning Blohm
9 14 Henning Blohm
h2. Move to org domain
10
11
* We will refactor all core code into *org.z2env*.
12 1 Henning Blohm
13 16 Henning Blohm
(DONE)
14
15 13 Henning Blohm
h2. Simplified and lighter setup
16 1 Henning Blohm
17 13 Henning Blohm
* Provide completely local installation via a root repository that features local FSCR addon repositories
18
* Provide a stripped-down base installation that is essentially only capable of running main programs.
19
* Split the base addon into individual addons for:
20
** dev tools (z2unit, eclipsoid)
21
** tomcat hookup
22
** worker support
23
** etc.
24 1 Henning Blohm
25 16 Henning Blohm
(DONE)
26
27 1 Henning Blohm
h2. Free Web Container Choice
28
29 3 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.
30 6 Henning Blohm
31 3 Henning Blohm
* Provide a web container resource that hooks up with a pre-configured web container OR a self-hosted web container
32 13 Henning Blohm
* This will require some creative business with the servlet/jsp and Web Container class path
33 1 Henning Blohm
34 16 Henning Blohm
(DONE for Tomcat)
35 13 Henning Blohm
36
h2. Provide consistent and complete system export
37
38
* Support binary or source-preserving export
39
* Provide clean component name escaping so we can also export mvn-provided artifacts if desired
40
* so we can offer a complete base distribution as binary download
41
* Running samples means to clone co-located Git Repos
42
* Make re-binding of repository locations simpler (e.g. a remote repo becomes a local FS repo after export)
43
* Support single-process mode (e.g. no Worker mode - move worker support into an add-on)
44
45 7 Henning Blohm
h2. Improvements
46 1 Henning Blohm
47 2 Henning Blohm
* Provide a z2 for dummies introduction that starts with simple, include-based web apps
48 11 Henning Blohm
* Seamless support of Maven repositories (see [[V23]], [[maven_repo_support]])
49
** Including install into repository from z2
50
* Use string revisions rather than longs (so that natural versions are better supported)
51
* Introduce "Java Templates", Java (and others) Component configuration made simpler (see [[smart_props]])
52
* Port add-ons and samples to maven repos for external artifacts
53
* Drop "I" interface notation
54 8 Henning Blohm
* Drop resource instance on every invalidation.
55 1 Henning Blohm
* Define component name escaping for the file system repo helper
56 8 Henning Blohm
* Introduce boot repository *at* Z2_HOME into ComponentsManager 
57 1 Henning Blohm
** Auto-discover other repos at Z2_HOME
58 8 Henning Blohm
** Default "." as dev repo workspace
59
** launch purely from "java -jar z.jar"
60
** Introduce moduleName property for "free-floating" components
61
** Introduce repository adapter type.
62
* Folders for operation
63 16 Henning Blohm
* Use /code instead of /java to be more agnostic to the language in use (postponed)
64 17 Henning Blohm
* Drop workunit expectation in (e.g.) SVNCR.
65 12 Henning Blohm
66
67
h2. Proposals
68 1 Henning Blohm
69
h3. Local Install Layout
70
71 13 Henning Blohm
Introducing an extended file system repo support and better split of resource and work dirs, the follwing _typical_ layout is suggested:
72 1 Henning Blohm
73
<pre>
74 13 Henning Blohm
+-<$CATALINA_HOME>
75 12 Henning Blohm
|
76 15 Henning Blohm
+-z2env
77 13 Henning Blohm
|  +-boot (boot repo)
78 15 Henning Blohm
|  +-roots
79 12 Henning Blohm
|    +- zding-essentials
80 8 Henning Blohm
|    +- zding-jetty
81
|    +- zding-devtools  
82 13 Henning Blohm
|    +- zding-tomcat  
83 1 Henning Blohm
|  +-z.jar
84
|
85 15 Henning Blohm
+-<armed module 1>
86 8 Henning Blohm
+-<armed module 2>
87
|
88 1 Henning Blohm
+-<git repo 1>
89 10 Henning Blohm
</pre>
90 16 Henning Blohm
91
(DONE)
92 10 Henning Blohm
93
h3. Repository Export
94
95
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. 
96
97
* Repository Component Names can be mapped
98
* We will introduce a component name escaping pattern to support maven originated components as well 
99
100
h3. Review of Software Component Responsibilities
101
102
+core+
103
104 1 Henning Blohm
* Component and Module Model
105
* Component Types:
106
** System State
107
** Java / Compiler
108
** "main" programs
109
** "any"