Skip to main content

Enterprise operational framework

Project description

*This package is originally developed in C#, and now try to migrate into Python version

Gyomu

Gyomu, which means Enterprise or Operation in Japanese, is used in enterprise. The purpose of this library is

  1. Shorten development time through framework
  2. Shorten troubleshooting in testing or in production

This library won't be used by library itself. It's used with RDB ( Now Postgres & MSSQL is supported )

This library contains lots of function, but major functionality would be

  • Error handling / Logging
  • Various Parameter management
  • Task management
  • Milestone management
  • Others

Error handling / Logging

All status/ log to be stored in database Based on setting, status/log to be sent via email. Like log4net, etc, there are several logging type, such as Info / Warning / Business Notification / IT Error. For IT error, the status/log contains stack trace so that developer could resolve issue very quickly. The error is sent via email promptly so it doesn't take time to search inside log file.

When you use this framework, at least all public method should return StatusCode object. StatusCode object contains error/log information and when it's instantiated, it would be recorded in DB and be sent via email if necessary.

StatusCode's id is Int (32bit) 1st 12bit is ApplicationID which must be unique per your library 2nd 4bit is logging type, such as Info / Warning / Business Notification / IT Error. Remaining 16bit is Error ID which must be unique within your library. Combining these number lead to uniqueness among all libraries.

</code></pre>
<p>This is example of how to set StatusCode's id.
Regarding CODE_GEN function's argument</p>
<ul>
<li>ApplicationID</li>
<li>logging type</li>
<li>Error ID</li>
<li>Summary</li>
<li>Detail</li>
</ul>
<p>Your assigned ApplicationID must be registered in DB table, apps_info_cdtbl. apps_info_cdtbl column would be ApplicationID.
1-4095 can be assigned and 1 is already used in Gyomu library.
I would recommend you to set some rule by yourselves, such as common library would be <= 99, business logic library would be >=100 <500, Server side like web library would be >=500 <2000, GUI would be >=2000 or something like that.</p>
<p>Email recipient information need to be setup per ApplicationID on status_handler table. You can set To / CC address on this table.</p>
<h1><a href="#user-content-various-parameter-management" aria-hidden="true" class="anchor" id="user-content-various-parameter-management"></a>Various Parameter management</h1>
<p>In most programs, we tend to put external parameter on</p>
<ul>
<li>Configuration file</li>
<li>Environment Variables</li>
</ul>
<p>And I believe this is very difficult to manage for proper environment.
Sometimes, parameter must be different per user, must be different per machine, etc.</p>
<p>In this framework, parameter would be saved in database.
Using Json serialization, mostly any kind of data to be parameterized easily.</p>
<p>Also this parameterization supports several kind of encoding/encryption</p>
<ul>
<li>Base64 Encoding</li>
<li>AES Encryption</li>
<li>User specific encryption ( This is not supported in Python version so far)</li>
</ul>
<p>Base64 encoding can be used for easy masking.
It's easy to be decoded, but at a glance, we can't see raw value.</p>
<p>AES Encryption can be used for storing DB connection string, etc</p>
<p>User specific encryption can be used for personal password.
The encrypted value can be decrypted only by encrypted user.</p>
<p>This example stores/retrieves string list parameter</p>
<pre><code class="language-Python">

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gyomu-0.1.5a2.tar.gz (41.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gyomu-0.1.5a2-py2.py3-none-any.whl (35.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file gyomu-0.1.5a2.tar.gz.

File metadata

  • Download URL: gyomu-0.1.5a2.tar.gz
  • Upload date:
  • Size: 41.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.2 Windows/10

File hashes

Hashes for gyomu-0.1.5a2.tar.gz
Algorithm Hash digest
SHA256 d945ffdd7f29e647d34ac97cb8e79b56d9f8b1415b8443eb8e54778f572a905a
MD5 e84a1f2d8127a3547e70250f540090df
BLAKE2b-256 57122fb5f623aaa5c69014c22c40b8be131cc3ec944808cb2ec014e4cc9cd483

See more details on using hashes here.

File details

Details for the file gyomu-0.1.5a2-py2.py3-none-any.whl.

File metadata

  • Download URL: gyomu-0.1.5a2-py2.py3-none-any.whl
  • Upload date:
  • Size: 35.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.2 Windows/10

File hashes

Hashes for gyomu-0.1.5a2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1ce4dd07d4771bb6772c9a911ca50f057c9a6bd6fcd0ccb422e402024bcd9be2
MD5 5a92e14956ebf37bdd59eaf41e7f92f3
BLAKE2b-256 c07841dfba76629609e6d99efd229cad86aa85192d17fb91db39eacc0b7cd3e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page