##Qlanir service scheme.
- Client application. This is web based client.
- Qlanir.Service - This is service from form where client retrieve / update data.
- Qlanir.App - This service which serves html assets (html, js and so on)
UI of the client are created on the base of the static html files (knockoutjs data binding) and data retrieved from Qlanir.Service.
How qlanir.service work, when user request list of people.
PeopleContollergot request from client inGetAllactionGetAllaction invokeDom.IPeople.GetAllmethodDom.IPeople.GetAlldispatch this request toes-service(5)es-serviceretrieves data from Elastic Search and returns them toqlanir.service
How qlanir.service work, when user create person.
PeopleContollergot request from client inCreateactionCreateaction invokeDom.IPeople.CreatedmethodDom.IPeople.Create- creates new record in SQL server, then send the object to therabbitmqqueue.es-queue-reader(6) read this object from thequeue, then convert it to an appropriateelastic searchdocument, then store it.
For update person service works similarly.
Admin could invoke workers.rabbitmqPush service (4) to sync data from SQL server and elastic search service in which case all data from SQL server is read and when dispatched to rabbitmq queue. After this procedure is the same as for create routine.
##Service needed for qlanir app
- Qlanir.Service
- Qlanir.App
- SQL Data Base
- Elastic search
- Rabbitmq
- es-queue-reader service
- es-service
- rabbitmqPusher
