Wiki » History » Version 3
Henning Blohm, 22.01.2015 16:31
1 | 1 | Henning Blohm | h1. Intro |
---|---|---|---|
2 | |||
3 | 2 | Henning Blohm | This project is for the development of [[z2-environment:wiki|z2-environment]] version 3.0. |
4 | 1 | Henning Blohm | |
5 | 2 | Henning Blohm | Version 3.0 is a major refactoring release of z2 with new repository code lines and complete package renaming. |
6 | 1 | Henning Blohm | |
7 | 2 | Henning Blohm | h1. Essential Differences between v2.3 and v3. |
8 | 1 | Henning Blohm | |
9 | 2 | Henning Blohm | * All the typical declarations and package names are no longer *com.zfabrik.<something>* but rather *org.z2env.<something>* |
10 | 3 | Henning Blohm | * The <z2 home> layout is completely new. |
11 | * The essential component types that can be _invoked_ from the core is *system state* and *main program*. |
||
12 | 2 | Henning Blohm | * While Jetty is still contained to support Eclipsoid and z2Unit, we support a pre-installed Tomcat as application container. |
13 | 1 | Henning Blohm | * The core is lighter and more dedicated. |
14 | 3 | Henning Blohm | * No worker suppport without a corresponding add-on. |
15 | 2 | Henning Blohm | * There will be substantially less application support like a built-in JTA implementation but we will rather demonstrate how to use third-party tools. |
16 | 1 | Henning Blohm | |
17 | 2 | Henning Blohm | h1. Draft Documentation |
18 | 1 | Henning Blohm | |
19 | 2 | Henning Blohm | h2. Getting Started |
20 | 1 | Henning Blohm | |
21 | 2 | Henning Blohm | To understand how z2 works, you need to understand at most what are z2 modules and components and what are component repositories and how these concepts interplay. |
22 | 1 | Henning Blohm | |
23 | 2 | Henning Blohm | Check out [[wiki#understanding-z2|understanding-z2]] for that. |
24 | 1 | Henning Blohm | |
25 | 2 | Henning Blohm | It is simplest to start by running a simple Java main program in z2 or a simple Web App. |
26 | 1 | Henning Blohm | |
27 | 2 | Henning Blohm | Follow this trail: |
28 | 1 | Henning Blohm | |
29 | 3 | Henning Blohm | * [[wiki#building-the-core|Building the core]] |
30 | * [[wiki#running-a-hello-world-main-program|Running a Hello World main program]] |
||
31 | * [[wiki#running-a-hello-world-web-app|Running a Hello World Web App]] |
||
32 | 1 | Henning Blohm | |
33 | 3 | Henning Blohm | h2. Building z2env-core |
34 | 1 | Henning Blohm | |
35 | 3 | Henning Blohm | First clone http://git.z2-environment.net/z2env.core |
36 | |||
37 | <pre> |
||
38 | git clone http://git.z2-environment.net/z2env.core |
||
39 | </pre> |
||
40 | |||
41 | Switch into *org.z2env.core.main* and run |
||
42 | |||
43 | <pre> |
||
44 | ant -Doutput=<location of z2 home> -Dsetup=<pre configured roots> |
||
45 | </pre> |
||
46 | |||
47 | where <location of z2 home> is where you want to install z2 (the <z2-home>) and <pre configured roots> is a choice of pre-configured content, actually component repositories. |
||
48 | |||
49 | If you omit *output* it will default to *gen/dist*. If you omit *setup*, no content will be pre-configured will be modified. |
||
50 | |||
51 | Check the folder *setups* for available setups of the core build. These can be local (all repos will be cloned locally) or remote (repos will be remoted). |
||
52 | |||
53 | In general this build always updates only boot, z.jar, roots. It will not remove anything. |
||
54 | |||
55 | Example to install/update a core only into ../../z2env: |
||
56 | |||
57 | <pre> |
||
58 | ant -Doutput=here |
||
59 | </pre> |
||
60 | |||
61 | To install/update a web-basic setup (with tomcat and eclipsoid support) with updates from remote repos: |
||
62 | |||
63 | <pre> |
||
64 | ant -Doutput=../../z2env -Dsetup=web-basic-remote |
||
65 | </pre> |
||
66 | |||
67 | h2. Understanding the <HOME> |
||
68 | |||
69 | We call an installation of a z2env core a *<home>*. The file structure of the *<home>* consists of few but important locations: |
||
70 | |||
71 | | z.jar | The actual core implementation. This is precompiled.| |
||
72 | | boot/ | A component repository adding to the core and provides the most basic capabilities such as compiling Java code and running a main program. | |
||
73 | | roots/ | A file system component repository that is always registered by the core. This is typically filled with other repository components linking to remote or local component repositories. | |
||
74 | | modules/ | A file system repository declared under roots/ that is useful to locally augment a core installation.| |
||
75 | |||
76 | We use the modules repository for example for command line experiments and simple hacks. It is not as useful for regular development operations as is the dev repo. |