¿Cómo se comunicaban e intercambiaban aplicaciones complejas en red antes de desarrollar el estilo arquitectónico REST?

Usted pregunta: ¿Qué tan complejas se comunicaron e intercambiaron las aplicaciones en red antes de desarrollar el estilo arquitectónico REST?

Es posible que desee echar un vistazo a CORBA, que permite arquitecturas OO distribuidas implementadas con múltiples lenguajes de programación desde mediados del ’90 del siglo pasado y todavía se usa hoy en algunas arquitecturas complejas (y en algunos sistemas heredados). Nunca cumplió completamente la promesa de hacer que el uso de objetos remotos fuera tan simple como si fueran objetos locales, pero honestamente se acercó bastante.

Los intentos de reinventar CORBA de manera diferente en torno a XML dieron como resultado SOAP, donde la “S” inicial alguna vez significaba “Simple” pero nunca cumplió esa promesa, tanto en mi opinión como en la opinión de todos los demás que luego eligieron REST forma de hacer las cosas.

A veces, un martillo y clavos son realmente todo lo que necesitas (pero tratar de transformar un banco de madera en una nave espacial sigue siendo una mala idea)

ASN.1 fue utilizado por algunas normas. Todavía se usa para claves privadas criptográficas, entre otras cosas.

Consulte: ¿Cuáles son las diferencias clave entre Apache Thrift, Google Protocol Buffers, MessagePack, ASN.1, BERT y Apache Avro? Todos estos proporcionan serialización binaria, marcos RPC e IDL. ¿Cuáles son sus diferentes características (rendimiento, etc.)?

En una era anterior, cuando las redes significaban compartir archivos, las aplicaciones en red simplemente se comunicaban a través de archivos compartidos.

Uh, no, no creo que ese sea el punto de descanso. Particularmente la parte de “aclarar”, ya que es independiente del formato de datos. Puede ser XML, Json (bastante detallado), etc. Existen protocolos más livianos, por ejemplo. usando cargas binarias.

Lo bueno de Rest es que permite transacciones de una manera bien definida, utilizando el protocolo estándar de Internet, HTTP.

Existen otros protocolos, como RMI, Soap, WSDL y muchos otros. Son más o menos complejos, se pueden basar en apretones de manos, sesiones, etc. El descanso no tiene estado, ese es quizás uno de sus activos más fuertes, lo que lleva a cierta simplicidad.

SOAP y TCP / IP. En su mayor parte, las arquitecturas distribuidas no existían.

El patrón API se inventó en la década de 1970 cuando no existían arquitecturas distribuidas y se aplicó a la web cuando las arquitecturas distribuidas no se usaban ampliamente en la web; Las arquitecturas centralizadas se utilizaron principalmente para la web.

Cuando las arquitecturas distribuidas se usaban con el patrón API, los datos y la funcionalidad de E / S no se podían compartir sin duplicación de código y eso creaba problemas con la sincronización en toda la arquitectura conocida como una ‘preocupación transversal arquitectónica’.

La mayoría de las arquitecturas api distribuidas sufren de esto.

Muchas aplicaciones utilizaron la fuerza bruta en los primeros días de la interconexión de redes. IOW, envió los datos en sí, no en ningún formato en particular, sino en uno que el destinatario entendió. (Y lo hicimos en 1978, mucho antes de que Intel inventara chips de red. Enviamos una hora completa de datos a través de un cable plano paralelo [8 cables activos] de una CPU a otra. Y, aparte de una noche que tomó hasta aproximadamente las 2 de la mañana para descubrir cómo resolver el problema de “¿quién habla primero?”, funcionó bien hasta mucho después de que Internet fuera una empresa en funcionamiento).

Personalmente, he usado el protocolo XML sobre http que algunas personas llaman SOAP, que normalmente se realiza en. Net framework utilizando servicios web asmx o WCF.

algunas veces implementé comunicaciones tcp directas, lo cual es un desastre y requiere mucho trabajo, pero es necesario si necesita enviar y recibir muchos datos binarios.

Si mis comunicaciones se realizan en la misma máquina, usaría tuberías con nombre

Antes de REST era XML / SOAP / WSDL / etc. maraña de complejidades. Antes de eso, el intercambio electrónico de datos (EDI) era aún peor.

Respondí una pregunta similar aquí.

More Interesting

¿Cuál es la IA más inteligente para descargar en este momento?

¿El concepto de "ingeniero de pila completa" va en contra de la cultura / mentalidad de DevOps?

Evaluar la idoneidad de los programas de procedimientos para aplicaciones gráficas. Como ingeniero de software, ¿cómo respondería a esta pregunta?

Como desarrollador de software, ¿teme que mantener su trabajo sea cada vez más difícil a medida que más personas quieran convertirse en desarrolladores?

Cómo valorar los servicios de desarrollo de software en Sudáfrica

¿Cuáles son las principales diferencias entre las herramientas de monitoreo de errores Bugsnag, Sentry y Rollbar?

¿Qué tipo de títulos debería estudiar si soy una mujer de 14 años y tengo un interés creciente en el software de la computadora y demás?

¿Qué computadora portátil (disponible en India) es la más adecuada para un ingeniero de software con un presupuesto de 50 mil rupias?

¿Qué tipo de política ocurre en las grandes compañías de software?

¿Qué aplicación utilizan la mayoría de los bancos indios para todas sus transacciones financieras? He oído que es Finacle. ¿Cuál es el significado de Finacle en el sector bancario? ¿En qué back-end y tecnología se basa Finacle?

Cómo construir un programa de detección de rostros en Java / Android

¿Puedes decir qué tan bueno es un programador dependiendo de su habilidad para hablar?

¿Cuáles son tus manías en escribir código?

¿La grandeza de Quora es más el resultado de una gran ingeniería o grandes decisiones de producto?

¿La metodología Agile está haciendo que el ciclo de vida del desarrollo de software sea más amigable para el cliente?