Uncategorized

Existen muchos boom’s en el medio, siempre hay cosas nuevas que salen, que se mueren, que se ponen de moda, y normalmente generan mas confusión que otra cosa en el medio de las TI y ahora áreas relacionadas como son Marketing Digital, Marketing, Comercialización Híbrida, etc.

Quiero compartirles unas ideas al respecto de este gran tema, pues creo que en ocasiones encarecemos mucho los productos (desarrollado e instalados) por esta falta de claridad y el desarrollo pasa de ser divertido y útil a un proyecto complejo desde antes de iniciarse.

Recuerden que no es un tratado de tesis ni la verdad absoluta… luego hay cada clavado hehe.

En tiempos recientes se habla mucho al respecto de como se deben implementar los microservicios, arquitecturas, infraestructuras, clouds, etc. Esto entre otros múltiples factores nos lleva a un punto crucial del proceso: Las API’s.

¿Pero realmente estamos creando las API’s de forma correcta, pensando en su impacto en los sistemas legacy actuales y que la migración podrá llevar mucho tiempo?.

Los requerimientos de diseño para aplicaciones móviles con microservicios son especiales y deben considerar sobre todo temas de seguridad y escalabilidad.

¿API’s?

¿Qué son?. Veamos la definición de diccionario:

La interfaz de programación de aplicaciones, abreviada como API del inglés: Application Programming Interface. Es un conjunto de subrutinas, funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción.

Y la simple:

Es el contrato a cumplir por ambas partes: Servidor vs Cliente de consumo.

De ahi la importancia de su correcto diseño, implementación y administración.

¿Porqué debes diseñar una correcta API (API Design)?

Hay unos puntos del porque debemos cuidar al máximo el diseño de las API’s

  • Asegura la correcta utilización de la implementación. Seguro y Confiable.
  • Minimiza el tiempo de desarrollo de una aplicación.
  • Minimiza la cantidad de código a desarrollar. Y como cada línea de código es un bug potencial …
  • A veces el término contrato no es claro.

¿Y la seguridad?

Como es un punto de acceso público en muchos casos, la seguridad ya no es un tema opcional, simplemente debemos entender el grado de protección dependiendo que nivel de datos expuesto u operaciones son sensibles de realizar.

Entonces tenemos varias alternativas (que se pueden usar independientemente o en conjunto) para proveerlas de Seguridad:

  • Mecanismos de Token propietarios.
  • Encriptación de request y response.
  • Uso de canales seguros (https).
  • Uso de medios seguros (VPN).
  • Frameworks de autenticación (OAuth, AccessToken, JWT, etc).

El diseño de las API’s es la única forma en que los contratos entres los back end’s y sus clientes aseguren una arquitectura con las características de alta disponibilidad, resilencia y robustez que por requerimiento del cliente o de implementación se definan.

Por lo anterior, imaginemos cuando una aplicación (y sus clientes) se vuelve mas compleja, requiere que desde el propio diseño se usen herramientas para su definición, implementación y publicación correcta. Y el número de servicios expuestos (además de sus instancias disponibles) pasan de las decenas a los cientos o miles de ellas.

Y a tal grado se potencia el problema que a fechas recientes se ha generado toda una corriente de aplicaciones, frameworks y conjuntos de éstas para lograrlo, a lo anterior se le ha denominado API Management.

Administración de API’s (API management).

Si se echan una búsqueda en internet podrán ver que existe no mil formas, pero muchas disponibles en todos los sabores posibles. Pero para no inventar el hilo negro de todo esto les compartiré un post de Raúl Galán Gómez que de forma muy práctica nos platica más:

API Management: ¿qué es y para qué sirve? por Raúl Galán Gómez

Como se darán cuenta viene un camino difícil, hasta de especialización al respecto, no dudo que pronto aparezcan los expertos en el API Management por la cantidad de conocimientos que deben poseer y poner en practica.

Pues si tienen dudas al respecto o ayuda que pudiera brindarles, ya saben en la sección de contacto pueden hacérmelas llegar y platicar al respecto.

Y pues nos vemos hasta el próximo post.

Saludos.

Y como siempre sigamos #Javeando

Hola después de tanto tiempo,

Hace poco se anunció un cambio en el evento que se reconocía como el evento más importante del mundo Java, el JavaOne, dejaba de existir.

Evento que año tras año se llevaba a cabo en la Ciudad de San Francisco California, éste evento nos daba una amplia ventana al mundo de los ingenieros que diseñan e implementan las API’s y estándares alrededor del mundo de Java, de los programadores de pie, lídes de proyectos, en fin de una comunidad Java cosmopolita.

Oracle argumenta que el evento de JavaOne se expande a otros lenguajes, etc etc, pero obviamente eso no es así, seguramente necesitan espacio para mas de sus tecnologías, tendencias y negocios. Porque no generar otra conferencia alrededor de su Oracle Code?, o bien, poner tracks (que siempre han existido) alternos o aledaños.

El ambiente alrededor del anuncio comienza a generar demasiadas especulaciones que si bien, he caído en las mismas prefiero no darle mucho eco, ya que algunas son tan de teorías de conspiración hasta el simple hecho del motor de Oracle en la mayoría de sus decisiones, lo que no deje mucho $$$ no es necesario proseguirlo.

Habrá que buscar que otras conferencias darán ese espacio de especialización a las comunidades Java de forma global , que si bien existen alrededor del mundo, aun no conseguían el nivel o el grado de interés que siempre tuvo JavaOne desde hace casi 20 años de existencia.

Me quedó con el agrado de haber asistido a la última JavaOne2017, seguramente iré este año a ver que transformaciones se ven, pero en los siguientes solamente la comunidad y el empuje de lo que una vez SUN dejó nos dirá.

Unas cuantas líneas de reflexión sobre la tristeza de este anuncio, y por más que muchos digan que hay que verle lo positivo al asunto…

Aviso oficial de la desaparición de JavaOne

Mas acerca del evento Oracle Code One

Originalmente Posted by edivargas on October 11, 2014

Hola,

Aca reportando desde el JavaDay 2014, y es muy grato platicarles que es un evento que luce muy fresco, divertidos y sobre todo interesante. Gracias a los esfuerzos de chicos como Maria, Mario, Mercedes, Edwin, Alice, César entre otros hacen posible que decenas de programadores Java se encuentren y tengan un conjunto de charlas de novedades y cosas interesantes que no han conocido quizás aún o que van a profundizar.

Ponentes como Andrés Almiray, Alex Soto, Marcos Monzon  su servidor entre otros brindamos info acerca de Java, de sus tendencias, sus frameworks, etc.

Felicidades y sobre todo chicos de JavaDay y otros sigamos compartiendo y haciendo cosas tan padres como éstas.

http://guate-jug.net/javaday2014/

Originalmente Posted by edivargas on October 5, 2014

Este año tuve la oportunidad de asistir nuevamente al #JavaOne después de 14 años de haber asistido a mi primero.

Aquella ocasión el Moscone en San Francisco era llenado por mas de 27,000 personas, SI!!! 27,000 programadores o conocedores de Java tratando de conocer cosas tan sorprendentes como Java4 JEE1.3, WS, XML y otras tecnologías de punta… claro de aquellos años.

Ahora con un número menor de miembros y dentro del ámbito de Oracle Open World fue grandioso, tanto como todos los anteriores (en época de SUN). Se vió viejos amigos, viejas luminarias, nuevos chicos, nuevos adeptos, y obvio todos felices.

Permítanme darles algunas impresiones de las tecnologías que pude revisar, y decirles mi punto de vista al respecto. Lo que si es que Oracle está dandole prisa a un número de cosas que requiere posicionar pero que al final del día el mercado decide, pero viene cosas nuevas Welcome Java10 y JEE8