2009-08-12 61 views
6

Estoy en proceso de integrar nuestra aplicación web personalizada con QuickBooks Enterprise 9. Mi idea es que podría usar QuickBooks como mi "base de datos". Cuando una persona crea una factura, la factura se almacena solo en QuickBooks. Cuando una persona ve una lista de facturas, en realidad está viendo una lista de facturas de QuickBooks. Quiero asegurarme de que los datos estén almacenados en una sola ubicación.Crear un servicio web (WCF) para integrar con QuickBooks

Me doy cuenta de que podría usar el QB Web Connector, pero el problema es que no tendría control sobre cuándo se procesarán realmente las solicitudes a QB (ese trabajo depende del Conector Web).

Así que tengo mi IU web para actuar como la "cara" de QuickBooks, pero no tengo ninguna forma de acceder ay desde el archivo QuickBooks ubicado en un servidor interno. Lo que estaba pensando era que podía crear un servicio web de WCF e instalarlo en el servidor de QuickBooks. El servicio web podría ser mi punto de integración. Mi aplicación web personalizada podría consumir el servicio web y, viola, tengo acceso a mis archivos de QuickBooks.

Mi pregunta es esta: ¿Puede una aplicación WCF conectarse y ejecutar QuickBooks? Si no, ¿podría crear un servicio de Windows para actuar como mi punto de integración? Si es así, ¿puede mi aplicación web personalizada "consumir" un servicio de Windows?

+0

¿Ya está bloqueado en QB como su back-end? Si no, reconsideraría seriamente este punto. QuickBooks en sí es bastante lento y frágil, en mi experiencia. Su API tampoco es muy divertida. – Adrien

+0

Yo no soy. Tenía la esperanza de que al hacerlo, podría acelerar el desarrollo. – CodingBytes

+0

Estoy en un equipo en el proceso de hacer algo como esto, con un servicio de WCF ejecutándose en el cuadro QB. ¿Terminaste teniendo éxito con esto? Lo hemos construido, pero nos está costando mucho obtener permisos correctos con IIS/QB para que se ejecute el servicio web. Funciona muy bien ejecutando el servicio web con el servidor VS, pero no tuvo tanta suerte con IIS. – RyanW

Respuesta

11

Comenzaré advirtiéndole que QuickBooks probablemente no sea su mejor opción para una base de datos de back-end confiable accesible desde un sitio web remoto. De hecho ... probablemente sea una muy mala elección.

Debe tener su propia base de datos de aplicaciones, y luego si también necesita intercambiar datos con QuickBooks, hágalo fuera del ciclo de vida normal de su aplicación, como un proceso de sincronización separado.

QuickBooks generalmente no es lo suficientemente confiable para el tipo siempre en línea de aplicaciones debido a un número de razones:

  • conexiones SDK escamosas
  • actualizaciones y el modo de un solo usuario se dejarlo fuera de acceder QuickBooks
  • Dificultad para establecer conexiones SDK procedentes de procesos no GUI (servicios de Windows IIS y procesos)

Con que s ayuda ...

Sí, podría crear un servicio web WCF, alojarlo en la máquina QuickBooks, y hacer que sus mensajes de retransmisión de servicio web WCF ay desde QuickBooks.

Sí, también podría crear un servicio de Windows que haga el mismo tipo de cosas.

NO hacer un implementarlo como un servicio de Windows, y NO aplicarla dentro de IIS - en vez implementar como una aplicación de interfaz gráfica de usuario que se ejecuta junto con QuickBooks.

Si intenta poner en práctica las cosas como un servicio de Windows o dentro de IIS, el SDK QuickBooks requiere tener una interfaz gráfica de usuario disponible (los usuarios de TI una bomba mensaje de interfaz gráfica de usuario COM para eventos de despacho o algo así ...) para procesar las solicitudes, por lo que probablemente necesite usar algo como QBXMLRP2e.exe para montar a horcajadas el límite del proceso entre QuickBooks y su servicio/IIS de Windows que no es GUI. Mi experiencia ha sido que se trata de un dolor gigantesco en el trasero, y también es necesario eliminar los permisos de DCOM.

Tengo un ejemplo y alguna documentación on my QuickBooks integration wiki.

El IDN Forums es un buen lugar para hacer preguntas.

Mi recomendación para ti sería que o bien:

  • utilizar el conector Web y QuickBooks y renunciar a la esperanza de mantener todos sus datos en un solo lugar. Guarde en caché los datos en una base de datos real y actualícela consultando consultas rápidas de forma periódica. Ya casi termino de construir una solución para hacer exactamente esto, y funciona fantástico.

O

  • utilizar un sistema de cuenta diferente. NetSuite es bastante agradable. No estoy seguro de qué más hay por ahí, pero si fuera usted, buscaría algo basado en SQL o con una fuerte API de SOAP/REST.
+0

Keith, su sitio web tiene enlaces a "tratamiento con testosterona baja" y "cómo usar la cámara de iPhone" y muchos otros enlaces de spam. –

+0

@DavidMurdoch Gracias, echa un vistazo. –

Cuestiones relacionadas