##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.
PeopleContoller
got request from client inGetAll
actionGetAll
action invokeDom.IPeople.GetAll
methodDom.IPeople.GetAll
dispatch this request toes-service
(5)es-service
retrieves data from Elastic Search and returns them toqlanir.service
How qlanir.service work, when user create
person.
PeopleContoller
got request from client inCreate
actionCreate
action invokeDom.IPeople.Created
methodDom.IPeople.Create
- creates new record in SQL server, then send the object to therabbitmq
queue.es-queue-reader
(6) read this object from thequeue
, then convert it to an appropriateelastic search
document, 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