Customer Care Accelerator (CCA) – czy to jeszcze akcelerator?

Jeden z najnowszych akceleratorów dla Microsoft Dynamics CRM to CCA, czyli Customer Care Accelerator. Właśnie skończył się tydzień, podczas którego miałem przyjemność uczyć się od grupy produktowej o co chodzi z CCA. Jutro wracam do Polski, ale już dziś “na gorąco” (póki pamiętam ;) ) postanowiłem podzielić się z Wami przemyśleniami na temat CCA. I odważę się powiedzieć – CCA to żaden akcelerator! CCA to mega potężna platforma do budowania zintegrowanych rozwiązań dla call centres.

Ogólnie o Customer Care Accelerator

Przede wszystkim CCA różni się od innych akceleratorów tym, że nie został napisany jako “dodatek”. CCA to nowa wersja platformy do budowania rozwiązań do obsługi klientów, która do tej pory była osobnym produktem, czyli Customer Care Framework. Microsoft w ramach zaangażowania w xRM i ogólnie rynek CRM postanowił… unowocześnić Customer Care Framework 2009, zintegrować ją z Dynamics CRM i… oddawać go za darmo!!! (coś, co kosztowało do tej pory około 80 000 PLN za jedną licencję serwerową!!!). CCF jest z powodzeniem używany w kilkudziesięciu bankach i firmach telco od Australii przez Indie aż po USA. A teraz klienci Dynamics CRM dostają go za darmo w postaci CCA. Sam nie mogłem się nadziwić, bo wiem jak potężną platformą był CCF. Ale Microsoft nie żartuje z tym, że chce zagarniać rynek CRM. Zrobił właśnie olbrzymi krok :) :

Customer Care Accelerator (CCA)

Customer Care Accelerator – technologia

Nie da się opowiedzieć czym jest CCA bez krótkiego wytłumaczenia czym są: LOB, ICC, IAD, UII, AIF, HAT. W tym poście opiszę krótko co się kryje za tymi skrótami, bo dogłębne tłumaczenie i szkolenie jak ich używać trwało 4 dni… I tak:
LOB (Line-of-business application) – każda aplikacja i system, który wspiera biznes i może wymagać integracji
ICC (Integrated Contact Centrer) – koncepcja lub wizja rozwiązania opartego o technologie MS do pełnej obsługi potężnych i zaawansowanych call centre
IAD (Integrated Agent Desktop) – aplikacja, która “w jednym okienku” pozwala na obsługę wielu systemów wykorzystywanych przez agenta w Call Centre. I nieważne czy te systemy to aplikacje web’owe czy nie; w .NET czy w Javie; czy przez Citrix czy na mainframie – wszystkie mają dać się obsłużyć i zintegrować w “jednym ekranie”
UII (User Interface Integration) – zestaw komponentów i SDK do budowy kontrolek pozwalających integrować różne LOB, Dynamics CRM i inne aplikacje w IAD
AIF (Application Integration Framework) – główna część UII pozwalająca integrować różnego typu aplikacje na poziomie interfejsu. Co to znaczy? W skrócie tyle, że dzięki AIF można zalogować się do aplikacji w Swing’u, wziąć z niej dane, w tej samej “sesji” przełączyć okienko do systemu ERP, pobrać dane i za chwilę otworzyć okienko CRM’a np. z utworzonym działaniem
HAT (Hosted Application Toolkit) – zestaw narzędzi i dodatków do Visual Studio, które automatyzują integrację różnych aplikacji. HAT wykorzystuje DDA ;) i Windows Workflow Foundation po to, żeby budować rozwiązania integrujące różne systemy na poziomie interfejsu
DDA (Data Driven Adapter) – komponent ułatwiający dostęp do poszczególnych rodzajów aplikacji. Takie jakby API wiedzące, że jak mamy do czynienia z aplikacją webową, to można ją otworzyć np. poprzez URL. Jak z aplikacją w Swing’u, to np. żęby pobrać wartość pola tekstowego wystarczy… itd. CCA zawiera kilka gotowych DDA, ale możemy pisać swoje własne pod nasze aplikacje.

Customer Care Accelerator - architektura

Customer Care Accelerator - architektura

Podusmowanie

Podsumowując CCA powyższymi skrótami – używając UII, wykorzystuje się DDA i WWF oraz AIF w celu połączenia LOB w IAD, które mogą stać się częścią potężnego ICC. Tworzenie takich integracji usprawnia się wykorzystując HAT, a rejestruje i zarządza przez CRM. O, tak w skrócie :) .

Ufff, jak sami widzicie CCA to wielki framework, a nie żaden tam akcelerator. Jak będzie zapotrzebowanie, napiszę więcej postów na ten temat. Póki co, z tego co mi wiadomo, poza konsultantami Microsoft Consulting Services (Piotrusiu, o Tobie mówię ;) ) w Polsce nikt inny nie ma i oficjalnie nie może mieć kompetencji z Customer Care Accelerator poza tymi, którzy byli na szkoleniu i laboratoriach. Czyli tak wyszło, że z Polski tylko ja, tak nieskromnie się przyznam… :)

Kampania Try & Buy Microsoft Dynamics CRM

Microsoft z 6 partnerami: AMG.NET, Infor IT, Insoft, Intersys, JADE i Netwise uruchomił wczoraj kampanię, która pozwala wypróbować jak działa Microsoft Dynamics CRM. W ostatnim poście napisałem za co kocham Microsoft. W tym napiszę, czym Microsoft wystawia moją miłość na cholerną próbę…
Jak to zwykle bywa, jak się kupuje jakieś rozwiązanie (polski MS kupił gotowca ;) , nota bene od moich dobrych znajomych z AlfaPeople Dania…), strona kampanii nie wygląda i nie brzmi najlepiej: http://emea.dynamicscrm.com. A jeszcze gorzej kampania prezentuje się w Google’u: http://www.google.pl/#hl=pl&source=hp&q=emea.dynamicscrm.com&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=1&cad=b. Według BING’a strony jeszcze nie ma.

Inicjatywa Microsoft’u ma pomóc partnerom, którzy nie mają swojego Centrum Hostingowego, oferować Dynamics CRM w modelu SaaS. Powstrzymam się od komentarzy czy się udało po wrażeniach w pierwszych dniach działania strony :) .

Jednak mimo wszystko nie ma się co zrażać! Dynamics CRM działa o niebo lepiej niż strona tej kampanii, dlatego zachęcam i tak do bezpłatnego testowania. W celu założenia konta można udać się tu: http://emea.dynamicscrm.com/?culture=pl-PL&campaign=MSPOL – konto zostanie założone automatycznie i od razu po otrzymaniu potwierdzenia będzie można korzystać z systemu.

PS. Pierwsza reklama w poście na tym blogu, ale nie mogłem się powstrzymać: jeśli komuś przeszkadza łamany angielski i błędy już na pierwszej stronie, zachęcam też do korzystania z CRM’a hostowanego bezpośrednio przez Netwise: http://www.netwisehosting.pl/. Tam raczej błędów nie ma :) .

Ech… korporacja… ktoś, gdzieś w Monachium coś kupił i trzeba używać we wszystkich krajach. Nic to, że nie ma po polsku. Nic to, że po angielsku też to nie jest. Nic, że sypie błędami. Ważne, że trzeba ruszać! Cóż zrobić :)

SDK 4.0.12 – kolejna rewolucja!

Zazwyczaj informowałem o nowych wersjach SDK za pomocą krótkiego opisu. W przypadku CRM SDK 4.0.12 opis nie może być krótki. Takie SDK u innych producentów systemów CRM nazywałoby się “major platform upgrade” i kosztowałoby tyle, co kolejna wersja systemu. SDK 4.0.12 to zmiana spojrzenia na platformę Microsoft Dynamics CRM! To również totalne przełączenie na koncepcję xRM! Ja osobiście jestem w szoku :) . Nowe SDK przygotowuje nas po prostu do gładkiego przejścia do CRM 5 i daje już teraz dostęp do funkcjonalności SDK CRM 5.
David Jennaway już sporo opisał na swoim blogu, ale myślę, że można by napisać ciągle więcej o tej rewolucji po polsku. Tak więc… ;P:

SDK 4.0.12 wprowadza pojęcia “Advanced Developer Extensions” czyli “Zaawansowanych rozszerzeń programistycznych”, które technicznie nazwane są po prostu xRM’em. W skrócie polegają na tym, że możemy korzystać z platformy Dynamics CRM w zupełnie nowy sposób. I tak:

  • nowe SDK pozwala na korzystanie z danych w Dynamics CRM za pomocą LINQ!!! Niech ten piękny kod powie sam za siebie:
    var marketingListsWithCalculations =
    from marketingList in crm.lists
    select new { marketingList.listname, Cost = marketingList.cost + 100 };
  • nowe SDK pozwala na używanie natywnych typów .NET!!! W tym typów nullowalnych (o których nota bene pisałem ostatni projekt w szkole ;) ), czyli np. short? a nie short, dzięki czemu unikamy konieczności ustawiania IsNullSpecified
  • możemy budować źródła danych za pomocą klasy DataContext
  • nowe SDK dostarcza narzędzie CrmSvcUtil, które pozwala budować lokalne i silnie typowane odzwierciedlenia bazy CRM, czyli klasy reprezentujące obiekty i DTO (Data Transfer Object). Dzięki temu można pisać kod oparty o LINQ
  • nowe SDK daje wsparcie dla WCF! poprzez generowanie klas kontekstowych za pomocą CrmSvcUtil
  • z nowym SDK możemy robić tzw. batch updates!!! To z kolei znaczy, że nie musimy już robić tysiąca wywołań Update(). Zamiast tego możemy modyfikować dane “lokalnie”, cache’ować je i dopiero za jednym wywołaniem aktualizować wszystkie na raz! Tutaj przykład:

    contact.Email emailaddress1 = "janko@x.com";
    contact.contact_customer_accountsParentCustomerAccount = account;
    contact1.Firstname firstname = "Jakub";

    crm.UpdateObject(contact);
    crm.UpdateObject(contact1);

    // zapisywanie do bazy
    crm.SaveChanges();

  • nowe SDK pozwala pobierać obiekty powiązane za pomocą gotowych metod. Dzięki temu zamiast budować QueryExpression i podawać GUID’y możemy po prostu wywołać metodę GetRelatedEntities()
  • nowe SDK daje zupełnie nowe możliwości budowania relacji między obiektami z poziomu kodu (poprzez metodę SetLink() albo aktuzalizację klucza obcego). Wystarczy zerknąć na przykłady poniżej, żeby zobaczyć dlaczego mówię o rewolucji :) :
    crm.SetLink(contact, "contact_customer_accounts", account);
    crm.SaveChanges();

    albo:

    contact.contact_customer_accounts = account;
    crm.UpdateObject(contact);
    crm.SaveChanges();
  • nowe SDK zawiera informacje o budowaniu tzw. Visual Charts, czyli dynamicznych wykresów z danych w CRM. W CRM 5 wykresy te będą mogły być wyświetlane na listach rekordów, aktualnie udostępnia je w ograniczonej postaci tylko CRM Online R4.
  • nowe SDK zawiera zupełnie nowe rozdziały o uwierzytelnianiu w modelach serwer-serwer i impersonacji
  • nowe SDK zawiera mnóstwo nowych rozdziałów, w tym rozdziały opisujące dokładnie dlaczego należy korzystać z DynamicEntity, z klasy IsvReadiness i kilkunastu innych
  • nowe SDK zawiera rozdziały o dobrych praktykach w pisaniu zewnętrznych aplikacji korzystających z CRM i o sugestiach związanych z wydajnością takich aplikacji

Na razie nikt nie wie, czy ukaże się CRM SDK 4.0.13. A to dlatego, że 4.0.12 zbliża nas wielkimi krokami do CRM 5. Już teraz Microsoft przyzwyczaja programistów do rozwiązań, które w gotowej platformie zobaczymy za kilka miesięcy. SDK 4.0.12 to jest coś pięknego. To dla takich chwil warto kochać Dynamics CRM’a! I w takich chwilach wiem, czemu kocham MS a nie Google’a, który za major update uważa nowy kształt guzika “szukaj” :D .

PS. SDK 4.0.12 jest do ściągnięcia tutaj: http://www.microsoft.com/downloads/details.aspx?FamilyID=82E632A7-FAF9-41E0-8EC1-A2662AAE9DFB&displaylang=en

Po co nam SCOM Management Pack dla Dynamics CRM 4.0?

Jak pewnie wiecie, Microsoft wreszcie jakiś czas temu (niezbyt dawno) opublikował Dynamics CRM 4.0 Management Pack dla SCOM (System Center Operations Manager 2007). Dla tych szczęśliwców, którzy mają SCOM’a w firmie, może okazać się, że pack ten stanie się niezastąpiony odkąd przyjrzycie się bliżej, co nam daje.
I tak, Management Pack dla CRM’a oczywiście monitoruje serwer i ogólnie środowisko, w którym zainstalowany jest Dynamics CRM 4.0. Po instalacji okazuje się, że MP pilnuje naprawdę sporej liczby zdarzeń. Ten post opisuje znaczną część z nich. W szczególności Management Pack:

  • monitoruje serwer web CRM, czyli:
    • czy pula aplikacji działa?
    • czy da się pingować stronę
    • czy pula aplikacji przerwała działanie?
    • jakie są wywołania SOAP’owe
    • czy i jak często renderowane są raporty
  • monitoruje proces asynchroniczny (asynchronous process), m.in.:
    • czy proces działa?
    • czy może wstać po restarcie?
    • czy nie ma problemów z odczytaniem bazy MSCRM_CONFIG i bazy organizacji
    • czy i jak często proces “pada”
    • czy Deletion Service działa i mógł odczytać dane do skasowania
    • czy ostatnie iteracja Deletion Service’u się udała
    • jak dużo operacji musi robić proces asynchroniczny i jak dużo operacji się udaje/nie udaje
    • jak dużo jest żądań synchronizacji offline i czy się udają/nie udają
    • jak dużo jest żądań synchronizacji książki adresowej i czy się udają/nie udają
  • monitoruje warstwę platformy i wywołania usług sieciowych (web services), m.in.:
    • sprawdza wywołania CRM Discovery Service i dostęp do organizacji
    • jak dużo jest wywołań CrmService i czy się udają/nie udają
    • jak dużo jest wywołań MetadataService i czy się udają/nie udają
  • monitoruje komponenty Reporting Services wykorzystywane przez Dynamics CRM, m.in.:
    • czy możliwe jest połączenie ze źródłami danych?
    • czy działają usługi Reporting Services?
    • czy nie ma za dużo żądań, które mogą sugerować atak DoS?
    • czy wystąpił błąd podczas renderowania raportów?
  • monitoruje pozostałe komponenty Dynamics CRM, w tym bezpieczeństwo środowiska, m.in.:
    • jak często dane są brane z cache’a i jak często cache jest czyszczony
    • jakie błędy wystąpiły w kodzie plugin’ów
    • liczbę i wynik żądań uwierzytelniania i logowań użytkowników per organizacja
    • liczbę błędnych prób logowań i uwierzytelniania
    • liczbę błędnych żądań HTTP POST wysłanych przeciwko CRM’owi
    • liczbę odwołań do pliku Trace i błędów odczytu

Jak widać po powyższej liście, jeśli tylko ktoś ma SCOM’a, nie ma się co zastanawiać przed instalacją MP dla CRM’a. Nie widziałem jeszcze lepszych narzędzi, które monitorowałyby środowisko Dynamics CRM 4.0 w tak kompleksowy sposób. Microsoft, dobra robota! :)
Dynamics CRM 4.0 Management Pack dla SCOM’a jest do ściągnięcia stąd: http://www.microsoft.com/downloads/details.aspx?FamilyID=c2c9c4b6-69d5-432a-9560-8e4a6e01573a&displaylang=en. Miłych obserwacji! :)

Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.