Ako nije tajna, za koje podatke konkretno iz vaseg CRM sistema ste se odlucili da ih izlozite ka eksternim korisnicima/drugim aplikacijama? Da li resenje koje ste primenili funkcionise na nacin da se eksterni sistemi obavestavaju kada dodje do izmene entiteta koji se prate i da se u tom slucaju izvrsi sinhronizacija u smeru ka eksternim korisnicima?
Nas CRM je prilicno kompleksan, i cela njegova funkcionalnost moze se grupisati u nekoliko, nazovimo ih, modula.
Recimo, jedna modul je upravljanje dongle-ovima (Dongle Management) - i nasim partnerima smo izlozili web servis, gde oni mogu vrsiti odredjene radnje u vezi upravljanja zivotnim vekom dongla (kreirati dongle, dodeliti ga odredjenom klijentu/ugovoru, produziti rok trajnja, prekinuti ga, obrisati ga, menjati razne atribute samog dongle-a, i tako dalje....).
Drugi modul je kreiranje racuna (Invoice Management), za koji smo osim web servisa, napravili i web i desktop klijente - gde nase partner kompanije mogu da kreiraju racune, salju ih korisnicima (tu je ukljucen i emailing sistem), vrse odredjene izvestaje, pripremaju podatke za automatske cikluse placanja putem nekog od standardnih bakning-servisa (SEPA, DATEV, LSV (za Svajcarsku), ABA (Australia/Novi Zeland)).......
Svaki web servis ima funkcije za refresh odredjenih podataka, tako da je tu cela prica oko obavestenja i sinhronizacije uproscena na maksimum. Takodje, s obzirom da svaka operacija ima svoju sesiju, na osnovu ID-a sesije, web servis zna stanje izmedju onoga sto je inicijalno ucitano, i onoga sto je trenutno u bazi podataka, kada se pokusa insert/update. Ukoliko postoji razlika - korisnik dobije obavestenje.
Takodje, sam proces je tako organizovan, da racunvodja iz centrale (moje firme) ima svoje klijente, racunovodja kod partnera ima svoje, i tako dalje - jednostavno, nema preklapanja posla, pa i nema potrebe za nekom posebnom medjusobnom sinhronizacijom.