Zrozumieć programowanie w Salesforce CRM

Salesforce jest rozwiązaniem wysoce konfigurowalnym. Pozwala dostosować się do większości procesów obecnych w firmie jedynie na podstawie odpowiednich ustawień systemu. Jednak w pewnych przypadkach obecność developera (programisty) jest niezbędna. Szczególnie projekty dotyczące zaawansowanej logiki biznesowej mogą wymagać od zespołu specjalistów umiejętności programowania.

Najczęstsze przykłady potrzeby użycia kodu to:

  • Integracja z systemem zewnętrznym
  • Wstępna obróbka przychodzących wiadomości (Email/WebService)
  • Skomplikowany proces biznesowy
  • Dołączenie dodatkowej logiki do wykonywanych operacji

Nie tylko konieczność użycia, ale i mnogość dostarczanych opcji sprawia, że development bywa integralną częścią wdrożenia. Co z kolei dowodzi, że znajomość i rozumienie terminologii związanej z rozwojem oprogramowania staje się cenna. Wspomniana wiedza pomaga nie tylko programistom, ale również osobom zarządzającym lepiej zrozumieć, nad czym i w jaki sposób pracuje zespół. Kluczem jest zrozumienie, czym są i czemu służą wzorce projektowe oraz wzorce i style architektoniczne.

Wzorce projektowe

Wzorce projektowe są sprawdzonymi, generycznymi rozwiązaniami często spotykanych problemów programistycznych. Warto zaznaczyć, że nie są one ukończonymi modelami, które mogą zostać bezpośrednio skompilowane do postaci zrozumiałej dla procesora. Są one opisem sposobu rozwiązywania problemów i mogą zostać użyte w wielu różnych sytuacjach. Odnoszą się one do kodu (lub jego struktury).

Przykłady:

  • Fabryka (Factory) – wzorzec bardzo często stosowany do Tworzenia instancji obiektów, najczęściej wykorzystywany przy tworzeniu danych testowych
  • Strategia (Strategy)
  • Budowniczy (Builder) – alternatywny dla Fabryki sposób tworzenia instancji rekordów
  • Singleton – często stosowany wzorzec, pozwala zoptymalizować wykorzystanie (tworzenie) obiektów klasy do jednej instancji

Wzorce architektoniczne

Wzorce architektoniczne są sprawdzonymi i uznanymi rozwiązaniami zbliżonymi do wzorców projektowych. Odnoszą się jednak do znacznie szerszego zakresu obejmującego problemy architektury oprogramowania.

Najpopularniejsze:

  • MVC (Model-View-Controller) – jeden z kluczowych konceptów dla platformy Salesforce.com, z pewnością spotkał się z nim każdy, kto próbował stworzyć stronę Visualforce. Dzieli on funkcjonalność na trzy połączone ze sobą części
  • P2P (Peer-to-peer)
  • Layered Architecture

Style  architektoniczne

Stylem architektonicznym określamy zestaw reguł, które określają rodzaj komponentów i połączeń, które mogą zostać użyte do zaprojektowania systemu.

Przykłady:

  • SOA (Service Oriented Architecture)
  • S.O.L.I.D
  • DRY

 

Jeżeli chodzi o Salesforce, największą uwagę należy zwrócić na wzorce projektowe – to właśnie tymi konceptami programiści posługują się najczęściej. To one definiują strukturę logiczną, jaką przyjmie kod. Ich znajomość i umiejętność zastosowania bywa również wyznacznikiem umiejętności programisty.

Benefity

Zakładając, że wiemy już co oznaczają poszczególne pojęcia, nadal powinniśmy zadać sobie najważniejsze pytanie: dlaczego istnieją i co wnoszą?

  • Są sprawdzone – najważniejsza własność to to, że jest to rozwiązanie sprawdzone, wykorzystane w wielu projektach i zapewniające rozwiązanie pewnych problemów
  • Są językowo neutralne – większość z tych rozwiązań można przenosić pomiędzy różnymi obiektowymi językami programowania, dzięki czemu programistom zapoznającym się z platformą łatwiej przychodzi zrozumienie zastosowanych rozwiązań
  • Są elastyczne, ich stosowanie zwiększa łatwość wprowadzania zmian, a tym samym koszty utrzymania
  • Ułatwiają komunikację w zespole, jako rozwiązania powszechnie znane i używane pozwalają na szybsze zrozumienie i rozszerzanie/zmianę logiki przez nowych członków zespołu
  • Zmniejszają ryzyko błędu poprzez stosowanie sprawdzonych rozwiązań

 

Co dalej?

Mam nadzieje, że ten artykuł pozwala zrozumieć ogólny sens i zyski wynikające ze stosowania ogólnie przyjętych standardów. W kolejnych wpisach postaram się w sposób bardziej szczegółowy odnieść się do wspomnianych powyżej punktów.

Share on Facebook0Share on Google+0Tweet about this on Twitter0Share on LinkedIn0

Podobne wpisy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *