Unicage extends Unix shell scripting with valuable data management commands
All programs are filters - The clearest filter is a command
- Independent command set honed to single functions
- Simple to use (manual-less)
- Commands written in C, Python, Java, perl, awk, etc.
- Makes it simple to perform complicated business processing by combining simple
commands.
Unicage maximizes multi-core CPU efficiency through the use of pipes
Shell Script Pipe Processing
- Distributed to cores by process
- Data is processed quickly in memory
- If you use named pipes you can program branches explicitly
How to Write Shell Scripts
Shell scripts are:
- Script header style
- Comment style
- Variable and file naming rules
- Rules for naming temporary files
- One command per line
- Transfer data using files (not environment variables)
- Include processing is forbidden File layout style
- Execution log style
- Rules for naming files
- Output execution start and end times
- Generate a semaphore file
- Keep it short
- Separate script and data in complex IF statements
- Delete garbage files
- Don’t create versions (but make backups)
- Multi-level calls prohibited
- Overwrite the copyright
- Understand the size of the processing file
- Database
- Date/time
- Formatting
- Input/Output
- Mathematical
- String functions
- System Functions
- Statistical
Documentation
1. Very little Documentation is required for development:
- Configuration of data and programs are fixed, so only basic documentation is necessary.
- Required documents are as follows:
- Application I/O API specifications
- Dimensions of source data
2. Documentation for understanding the system is easy to learn
- “System Purpose”, “Business Flow”, “Manuals” are needed.
- Most information needed to understand the system can be obtained by looking at the system operation itself (examples below):
- Data configuration and relationships
- Application configuration and relationships
- Batch schedules
Detailed Specifications (written in the shell scripts)
UNICAGE commands
- Database
- Date/time
- Formatting
- Input/Output
- Mathematical
- String functions
- System Functions
- Statistical