2009-08-12 22 views
6

Jestem w trakcie integrowania naszej niestandardowej aplikacji internetowej z QuickBooks Enterprise 9. Myślałem, że mogę używać QuickBooks jako mojej "bazy danych". Gdy dana osoba tworzy fakturę, faktura jest przechowywana tylko w QuickBookach. Gdy osoba przegląda listę faktur, faktycznie przegląda listę faktur QuickBooks. Chcę się upewnić, że dane są przechowywane tylko w jednym miejscu.Tworzenie usługi sieciowej (WCF) w celu integracji z QuickBooks

Zdaję sobie sprawę, że mogę używać QB Web Connector, ale problem polega na tym, że nie miałbym kontroli nad tym, kiedy żądania do QB zostaną faktycznie przetworzone (to zadanie zależy od złącza internetowego).

Mam więc mój interfejs internetowy, aby działał jak "twarz" QuickBooksa, ale nie mam dobrego sposobu na dotarcie z pliku QuickBooks znajdującego się na wewnętrznym serwerze. Pomyślałem, że mogę stworzyć usługę WWW WCF i zainstalować ją na serwerze QuickBooks. Usługa internetowa mogłaby wówczas być moim punktem integracji. Moja niestandardowa aplikacja internetowa może następnie korzystać z usługi internetowej, a viola - mieć dostęp do moich plików QuickBooks.

Moje pytanie brzmi: czy aplikacja WCF może łączyć się z QuickBookami? Jeśli nie, czy mogę utworzyć usługę Windows, która będzie moim punktem integracji? Jeśli tak, czy moja niestandardowa aplikacja internetowa może "spożywać" usługę Windows?

+0

Jesteś już zamknięty w QB jako back-end? Jeśli nie, poważnie rozważyłbym ten punkt. Sam QuickBooks jest raczej powolny i kruchy, z mojego doświadczenia. Ich API też nie jest zabawne. – Adrien

+0

Nie jestem. Miałem nadzieję, że dzięki temu mogę przyspieszyć rozwój. – CodingBytes

+0

Jestem w zespole w procesie robienia czegoś dokładnie tak, z usługą WCF działającą na pudełku QB. Czy osiągnąłeś sukces z tym? Zbudowaliśmy go, ale mamy sporo czasu na uzyskanie uprawnień z usługami IIS/QB, aby usługa sieci Web działała. Działa znakomicie uruchamiając usługę sieci Web na serwerze VS, ale nie ma takiego szczęścia z usługami IIS. – RyanW

Odpowiedz

11

Zacznę od ostrzeżenia, że ​​QuickBooks prawdopodobnie nie jest najlepszym wyborem dla niezawodnej bazy danych zaplecza dostępnej ze zdalnej strony internetowej. W rzeczywistości ... to prawdopodobnie naprawdę zły wybór.

Powinieneś mieć własną bazę danych aplikacji, a jeśli chcesz również wymieniać dane z QuickBooks, rób to poza normalnym cyklem życia aplikacji, jako oddzielny proces synchronizacji.

QuickBooks generalnie nie jest wystarczająco wiarygodne dla typu always-on-line aplikacji ze względu na szereg przyczyn:

  • niestabilnych połączeń SDK
  • aktualizacje i tryb jednego użytkownika będzie zablokować was z dostępu QuickBooks
  • trudności w nawiązywaniu połączenia SDK z procesów non-GUI (Windows usług IIS i procesy)

z tym s pomoc ...

Tak, można utworzyć usługę WWW WCF, hostować ją na maszynie QuickBooks i przekazać komunikaty usługi WWW WCF do/z QuickBooks.

Tak, można również utworzyć usługę systemu Windows, która wykonuje to samo.

NIE Czy wdrożyć go jako usługa systemu Windows, a NIE należy wdrożyć go w IIS - zamiast realizować go jako aplikacji GUI, który biegnie wzdłuż QuickBooks.

Jeśli próbujesz wdrożyć rzeczy jako usługę Windows lub w IIS, zestaw SDK QuickBooks wymaga, abyś miał dostęp do GUI (to użytkownicy pompy komunikatów GUI COM do wysyłania zdarzeń lub coś w tym stylu ...) do przetwarzania żądań, więc prawdopodobnie będziesz musiał użyć czegoś podobnego do QBXMLRP2e.exe, aby przekroczyć granicę procesu między QuickBooks a twoją nie-GUI usługą Windows/IIS. Moje doświadczenie było takie, że jest to gigantyczny ból w tyłku i wymaga również mielenia przy pomocy uprawnień DCOM.

Mam przykład i trochę dokumentacji on my QuickBooks integration wiki.

IDN Forums to dobre miejsce do zadawania pytań.

Moja rada dla Ciebie byłoby albo:

  • użyć złącza Web i QuickBooks i dać nadzieję na przechowywanie wszystkich danych w jednym miejscu. Buforuj dane w prawdziwej bazie danych i aktualizuj je, okresowo wysyłając zapytania do QuickBooks. Już prawie skończyłem budować rozwiązanie, by zrobić to dokładnie teraz i działa fantastycznie.

LUB

  • Użyj innego systemu konta. NetSuite jest całkiem niezły. Nie jestem pewien, co jeszcze tam jest, ale gdybym był tobą, szukałbym czegoś opartego na SQL lub silnym API SOAP/REST.
+0

Keith, twoja strona ma linki do "niski poziom testosteronu" i "jak używać iPhone'a" oraz wiele innych spamerskich linków. –

+0

@DavidMurdoch Dzięki, sprawdzi się. –

Powiązane problemy