Project

General

Profile

Z2 resource model intro » History » Version 7

Henning Blohm, 21.09.2012 10:04

1 1 Henning Blohm
h1. An introduction to the Z2 component model
2
3 2 Henning Blohm
In order to understand Z2 in some depth, it is essential to understand the Z2 component model.
4
5 7 Henning Blohm
The true reference on that is "in the documentation":http://www.z2-environment.eu/v21doc#componentsAndComponentRepos.
6 1 Henning Blohm
7 7 Henning Blohm
The one minute overview is:
8
9
Z2 core, at its very heart, knows of these conceptual objects:
10
11 5 Henning Blohm
!pseudo_uml.png!
12 3 Henning Blohm
13
*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.
14
15
*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.
16
17
*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).
18
19
*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.
20
21
*Synchronizer*: A synchronizer checks component repositories for updates and performs invalidations of modified components at runtime.
22 1 Henning Blohm
23 3 Henning Blohm
24 7 Henning Blohm
Interested?