Back to basics

From KallestadWiki

Jump to: navigation, search

My brain is tired. Random thought time.

So I want to get back to some KDF basics and start from scratch, rebuild things in an ordered fashion from the perspective of requirements first, fancy workflow later.

Step 1: define a service that returns static data.

Description: Have an application server that handles two things:

  1. service definition
  2. service response

Really, these should be two separate entities - the admin side should be different from the client side. The client side should receive a trigger or automatically see that the admin side has made a change in the available services.

Could the client side be locked? That would prevent unauthorized changes from seeing the light of day, but a reboot and restart would always pull the latest definition - unless I actually prevent that from happening. Perhaps timestamp or versionize the definitions. Versionize, that way you could spawn multiple versions of the client app - 1 for production, 1 for dev, 1 for test against the same source dataset and potentially migrate service definition and data between dev/test/production environments.

code and data migrations need to be an implicit part of KDF. Design, code, data, and workflow should be easy to push and pull between environments - 1 click and the migration process starts. You need to be able to package the various elements XML or JSON package that defines what is what. Migration plans should leave nothing to chance and force nothing to occur manually. They should be spelled out in order and direction, editable, and allow for a toggle-switch change from one version to another. Cacheable objects should not change, they should move. Cacheable and non-moveable objects should exhibit version specific content so they can be easily discerned for troubleshooting. Cacheable, non-moveable objects also need to have short expiry times.

During migration periods, legacy requests need to be supported, and if support is not feasible, a standardized error code for legacy support removal should be in place.

Personal tools