Project

General

Profile

Z2 resource model intro » History » Version 9

Henning Blohm, 07.09.2013 21:56

1 9 Henning Blohm
h1. An introduction to the Z2 resource model
2 1 Henning Blohm
3 8 Henning Blohm
In order to understand Z2 in some depth, it is essential to understand the Z2 component model, that is organized in _modules_ and _components_ and that underpins 
4
Z2's approach to modularity. 
5 2 Henning Blohm
6 7 Henning Blohm
The true reference on that is "in the documentation":http://www.z2-environment.eu/v21doc#componentsAndComponentRepos.
7 1 Henning Blohm
8 7 Henning Blohm
The one minute overview is:
9
10
Z2 core, at its very heart, knows of these conceptual objects:
11
12 5 Henning Blohm
!pseudo_uml.png!
13 3 Henning Blohm
14
*Resource*: The service provider API for extending Z2. If you implement anything that can be looked up, it is implemented as a "Resource":http://www.z2-environment.net/javadoc/com.zfabrik.core.api!2Fjava/api/com/zfabrik/resources/provider/Resource.html.
15
16
*Component*: _Components_ bridge between declarations and persistent files and Resources. Components are stored in component repositories. A component has a type. The type is used to resolve a component factory that - at runtime - constructs a Resource representing the component. Components are what Z2 assigns a life-cycle to. A Web application, Java code, data sources, make components.
17
18
*Component Type*: A _Component Type_ is identified by a name and implemented as a component. The responsibility of a component type is to turn component declarations of a specified type into Resources at runtime. Component types implement "IComponentFactory":http://www.z2-environment.net/javadoc/com.zfabrik.core.api!2Fjava/api/index.html (implicitly or explicitly).
19
20
*Component Repository*: _Component Repositories_ make components available to Z2. That is, on the one hand a component repository has some persistent storage that holds component declarations. On the other hand, a component repository is a component that implements "IComponentRepository":http://www.z2-environment.net/javadoc/com.zfabrik.core.api!2Fjava/api/com/zfabrik/components/provider/IComponentsRepository.html.
21
22
*Synchronizer*: A synchronizer checks component repositories for updates and performs invalidations of modified components at runtime.
23 1 Henning Blohm
24 3 Henning Blohm
25 7 Henning Blohm
Interested?