Workflow Website - Contextual Support

Background:

I am starting to architect / create a new website that will track the workflow of a large number of projects. Each phase will be assigned phases (planning, implementation, post-implementation, closure, etc.). Each phase contains various tasks, etc.

Some may ask, "This is very similar to other workflow management software (WMS) that already exists, why not use it?"

In addition to this site, which monitors each phase, like other WMS tools, it also needs to interact directly with other systems (different domains) and software (API / WMI) directly from the pages. This will allow our administrators to maintain Active Directory GPOs, ensure that new computers are correctly initialized with the correct settings, control the accuracy of the SQL database on remote computers, and much more. And for those who think this is important for the question ... I am currently planning to build a website using .NET.

As many of you know, projects and standards are changing rapidly in the business world. Thus, I want to make this site as dynamic and fast as possible with respect to each phase and task. For example, partners may need to complete an additional task for each project that has not previously been defined. Then we will need to be able to make quick changes to all current open project records and all new projects in the future to add a new item to the checklist.

Question:

In each experience, as you have found, the best way to store large amounts of data requiring new data changes?

Initial thoughts:

SQL repository / database:

Pros:

  • Easy to store large amounts of data.
  • Ability to link projects / phases / tasks using primary and foreign keys
  • back-end . (Big Plus!)

:

  • .
  • .
  • .

XML/YAML/

:

  • "".
  • "node" Task, -.

:

  • ( ).
  • , , ( "" / ).

:

SQL/Database, , / . - , , , , .

.

+4
1

, . , :

{
 "id": 43233,
 "name": "MyProject",
 "created": "02/01/2017",
 "owner": {
 "id": 32132,
 "name": "John Smith"
}
"tasks": [
{
  "id": 43243,
  "name": "Task1",
  "priority": "high",
  "status": "new"
 },
 {
  "id": 43253,
  "name": "Task2",
   "priority": "low",
   "status": "done"
 }
]}

, . , MongoDB, CouchDB, Azure Document DB .., , , , SQL.

, , . - SQL- "" .

: , . :

  • - db vs 4 (, , 2 ) SQL
  • - . , select.
  • , , SQL , -, .
+2

Source: https://habr.com/ru/post/1666925/


All Articles