Chcę móc udostępniać dane we wszystkich obszarach naszej działalności w sposób, który zmniejsza ogólną złożoność naszej infrastruktury.
Problem
Naszym problemem jest to, że obecnie mamy 4 główne aplikacje, które wszystkie łączą się z naszą aplikacją CRM (Microsoft Dynamics 2011):
Decydenci w naszej firmie chcą obecnie aktualizować nasz CRM do najnowszej wersji, a następnie być na bieżąco w miarę pojawiania się nowych aktualizacji (co 2-3 lata). Prawie wszystkie nasze aplikacje są sztywno zintegrowane z Microsoft Dynamics, więc każda aktualizacja jest bardzo kosztowna i ryzykowna. Chcę zaprojektować inne podejście, które zmniejszy ten koszt i ryzyko.
Badania
W 2006 roku Roger Sessions napisał artykuł zatytułowany Lepsza ścieżka do architektury korporacyjnej (tutaj), który przedstawia sposoby ulepszania biznesowych systemów IT. Jednym z głównych tematów jego dyskusji jest zmniejszenie złożoności, a poprzez rozmieszczenie matryc na różne sposoby, pokazuje, że można wykładniczo zmniejszyć złożoność systemów, dzieląc technologie na segmenty, zamiast pozwolić jakiejkolwiek technologii połączyć się z jakąkolwiek inną technologią. Jeanne Ross również ma świetną prezentację na ten temat (tutaj) i mówi o posiadaniu cyfrowej platformy do udostępniania podstawowych danych i usług między obszarami działalności w celu zmniejszenia złożoności całego systemu i zwiększenia elastyczności w reagowaniu na obecne i przyszłe potrzeby biznesowe.
Wnioski
Kiedy zastanawiam się nad lekcjami z Sessions i Ross, jestem przekonany, że musimy wynieść Microsoft Dynamics z centrum naszej architektury, jeśli chcemy zmieniać technologię co 2-3 lata. Musimy tylko zastąpić go czymś, co umożliwi udostępnianie naszych podstawowych danych (głównie danych klientów) między aplikacjami. Wiem, że hurtownie danych są często wykorzystywane do agregowania danych w całej organizacji. Czy to zadziała?
Rozumiem, że hurtownie danych służą głównie do raportowania, więc nie wiem, czy posiadanie bezpośrednich połączeń z hurtownią danych byłoby idealne. Jednak każda aplikacja nie potrzebowałaby możliwości aktualizacji jakichkolwiek danych w hurtowni danych. Potrzebują tylko możliwości pobrania swoich identyfikatorów, aby skonfigurować relacje między globalnymi jednostkami hurtowni danych (klientami) i różnymi jednostkami specyficznymi dla jednostek w bazie danych każdej aplikacji.
Pytania
Która z tych trzech opcji spełniłaby moje potrzeby: (1) hurtownia danych, z którą wszystkie aplikacje łączą się bezpośrednio, (2) hurtownia danych, która dostarcza dane do każdej bazy danych specyficznej dla aplikacji poprzez nocne aktualizacje, czy (3) coś innego?
Dziękuję