¿Cómo integrar todas las API de una industria en mi sitio y crear una barra de búsqueda para consultar? ¿Conoces algún ejemplo de esto?

Necesita una forma de distribuir su consulta a múltiples puntos finales y agregar una respuesta. Potencialmente, podría hacer esta distribución / agregación en el cliente (por ejemplo, en el navegador) o en el lado del servidor con un middleware.

La solución basada en el navegador requeriría que proporcionara un medio para autenticarse contra múltiples servicios, suponiendo que las API de los servicios que desea integrar son servicios REST / JSON amigables para el navegador.

La solución basada en middleware es más complicada de crear pero más fácil de consumir e impone menos requisitos a los servicios que desea consultar, ya que está libre de limitaciones de CORS / navegador y los requisitos de autenticación son más relajados aquí. También podría necesitar un conjunto de API-Enablement aquí para proteger su API de agregación contra el mal uso.

Para el middleware, podría recomendarle elastic.io (descargo de responsabilidad, soy un CEO aquí), o wot.io o posiblemente CloudElements. Solución basada en navegador que puede consultar OAuth.io para autenticación y JQuery para hacer las solicitudes XML HTTP.

Ciertamente, hay empresas que hacen esto. De hecho, hemos hecho algo similar a lo que está proponiendo en la industria bancaria para uno de nuestros clientes, Pich Technologies.

Pich ofrece un servicio de agregación que ofrece una visión integral de un usuario en todos sus bancos. Cada banco es completamente diferente. Desarrollamos proxies de acceso para cada banco que sepa cómo interactuar con él y traducir datos a un formato común. Este formato de datos y común está expuesto a los clientes Pich.

Supongo que el enfoque debería ser más o menos el mismo. Dependiendo de sus necesidades de búsqueda, debe pensar en extraer datos de sus proveedores de datos e indexarlos en lugar de hacerlo durante la interacción del usuario.

Eso sería muy difícil de hacer en tiempo real. Simplemente sería demasiado lento. Puede consultar todas las API con anticipación y luego indexar todos los datos en sus servidores y luego ejecutar las consultas de sus usuarios en su índice. Sin embargo, esto generalmente va en contra de la mayoría de las políticas de uso de API. Y sería muy costoso hacer de todos modos estar constantemente actualizado y también almacenar grandes cantidades de datos.