Project

General

Profile

V30-experimental retired » History » Version 13

Henning Blohm, 08.01.2015 16:37

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