Welcome to the Enterprise Components' Tutorial.
To better understand how Enterprise Components work, we've prepared a DemoSystem and a number of Lessons of increasing complexity which will guide you through the ins and outs of our components. More details can be found in the doc folder and in the source code for each of the components and libraries.
Going through the Lessons doesn't require any q knowledge. That said, to fully understand Enterprise Components (especially at higher level of complexity) we assume at least basic know-how of q and kdb+ concepts. For more details about q please see Q For Mortals.
You are welcome to join our user group for questions, discussions and updates. Just click on the Lesson you would like to begin from and follow the instructions.
Good luck!
- DemoSystem
- Installation
- Troubleshooting (Linux, Windows)
- Lessons
- Lesson 1 - basic system
- Lesson 2 - adding
quote
table - Lesson 3 - storing data in
hdb
- Lesson 4 - user queries
- Lesson 5 - authentication and authorization
DemoSystem
can be downloaded from
here.
DemoSystem
is distributed as ready to install and use bundle containing:
ec
- Enterprise Components package containing q conponents, libraries and DemoSystem configuration (tutorial)yak
process manager 32bit binary
The package folder structure is ready for direct usage:
DemoSystem
|-- bin
| |-- ec
| | |-- components
| | | |-- accessPoint
| | | |-- dist
| | | |-- eodMng
| | | |-- .....
| | |-- libraries
| | | |-- cfgRdr
| | | `-- qsl
| | `-- tutorial
| | |-- Lesson01
| | | |-- README.md
| | | `-- etc
| | | |-- access.cfg
| | | |-- dataflow.cfg
| | | |-- env.sh
| | | `-- system.cfg
| | |-- Lesson02
| | | |-- README.md
| | | `-- etc
| | | |-- access.cfg
| | | |-- dataflow.cfg
| | | |-- env.sh
| | | `-- system.cfg
| | |-- LessonXX
| | |-- README.md
| | `-- troubleshooting.md
| |-- q
| `-- yak
|-- README.md
|-- Installation.md
`-- Troubleshooting_linux.md
Note
During package preparation
README.md
(along withInstallation.md
andTroubleshooting_linux.md
) is copied fromDemoSystem/bin/ec/tutorial/
toDemoSystem/
so that files are visible to users from the main directory (DemoSystem
).
Lessons are based on DemoSystem
. Each Lesson is:
- demonstrating one aspect of system design,
- incremental, containing all features and comments from the previous Lesson,
- described in a dedicated readme file (
bin/ec/tutorial/LessonXX/README.md
) - defined via its own configuration directory in the package
bin/ec/tutorial/LessonXX/etc/
- Conventions used in readme files
-
execute
cd etc
system command from DemoSystem directory:DemoSystem> cd etc
-
execute q command
-100#trade
againstcore.rdb
process on designated port number (for example using kdb+ studio):q)/ execute on process core.rdb, port 17011 q)-100#trade
Hint:
To determine port number for a process, see system.cfg for each Lesson (
tutorial/LessonXX/etc/system.cfg
) or when system is running, execute following yak command:DemoSystem> yak info \*
-
any output resulting from running a command is indented, for example:
DemoSystem> ls -l bin etc -> bin/ec/tutorial/Lesson01/etc readme.txt troubleshooting.txt
-