2010-06-09 8 views
5

Mamy następujące systemy (i więcej), że przesyłanie danych/pull z jednej aplikacji do drugiej:W jaki sposób kompleks architekt Szyny systemy

  • Hosted CRM (InsideSales.com) system telefoniczny
  • Asterisk (wewnętrzny)
  • System reklama Banner (OpenX gościmy)
  • System lead Generation (uczelnię)
  • sklepu e-commerce (Spree, gościmy)
  • zadanie b oard (własnej roboty)
  • Szereg miejscu pracy zadrapania + praca przychodzące karmi
  • system dostarczania poczty (jak MailChimp, homegrown)
  • System zarządzania zdarzeniami (jak Eventbrite, homegrown)
  • Układ deski rozdzielczej (wiele wykresów i raportów wyciągających informacje ze wszystkich innych systemów)

Z Rails 3 tuż za rogiem, naprawdę chcę realizować strategię w zakresie aplikacji mikro, ale staram się zdecydować, czy powinienem mówić o aplikacjach poprzez API HTTP REST lub ponieważ kontroluję je wszystkie, czy powinienem zrobić coś takiego jak wspólne modele w kod, który upraszcza, ale pozwala również na łatwiejsze wycieki materiałów przez granice ...

Słyszałem, że 37signals ma wiele małych aplikacji, jestem ciekawy jak te aplikacje komunikują się ze sobą ... Lub jeśli masz wszelkie porady z własnego doświadczenia wielu aplikacji.

Dzięki! Próbowałem zadać to na moim blogu: http://rywalker.com/chaos-2010 zbyt długo.

Odpowiedz

4

Ostatnim razem, gdy musiałem zwariować - przykleić kilka małych aplikacji, użyłem prostego API REST.

Punkty premiowe: umożliwia integrację z usługami/aplikacjami napisanymi w innych językach.

Pomaga także, jeśli masz szalonego menedżera miłości, który lubi obracać technologie bez ostrzeżenia.

3

Miałem to samo z plusem: musiałem również porozmawiać z niektórymi demonami, które nie były dokładnie przygotowane na HTTP. Więc zastosowałem następujący wzór: Interfejs API REST wykorzystujący XML/JSON do wymiany danych i używania memcache do wymiany krótkich wiadomości. (definiujesz niektóre klucze, które zaktualizujesz w memcache i inne oprogramowanie, po prostu pociągniesz memcache szukając tych kluczy)

jako środek bezpieczeństwa dodano API KLUCZ lub uwierzytelnienie klienta HTTP przy użyciu certyfikatu cyfrowego.

5

I rzeczywiście dostał odpowiedź e-mail z DHH ...

Używamy kombinacji obu, ale domyślnie spocząć integracji. Jedynym miejscem, w którym korzystamy z bezpośredniej integracji z bazą danych, jest baza danych użytkowników 37signals ID. Ponieważ musi być tak szybki. REST jest o wiele bardziej rozsądny. Zacznij tam, a następnie zoptymalizuj później, jeśli zajdzie taka potrzeba.

0

Inną opcją jest wysyłanie wiadomości AMQP (za pośrednictwem rabbitmq lub w inny sposób).

Powiązane problemy