Knoema World Data Altas: Atlas mundial de datos a nuestro alcance

javOSize: The free next generation java profiler

¿Qué es JUBULA?

Jubula es una Herramienta gratuita para el desarrollo de Test Funcionales que permite probar diferentes tipos de aplicaciones:

JUBULA es una evolución del producto comercial GUIDancer, se distribuye como plugin de Eclipse o como versión standalone, podéis descargarlo desde aquí.

Sus principales características son:

En el sitio web de BREDEX podéis descargar el instalador stand-alone:

Software downloads

Installers for Windows

Installer for Jubula on 32-bit Windows (1.1 GB)

Installer for Jubula on 64-bit Windows (1.1 GB)

Installers for Linux

Installer for Jubula on 32-bit Linux

Installer for Jubula on 64-bit Linux

Installers for Mac

Installer for Jubula on MacOS (1.0 GB)

Y el User Manual aquí.

MockBin: Mocks de Endpoints REST

Continuando con el post de ayer dedicado a APIembed hoy:

Mockbin es una herramienta que Mashape acaba de hacer open-source y que permite de forma sencilla generar a medida endpoints para testar y moquear peticiones y respuestas HTTP entre APIs, librerías,…

Sus principales características son:

· Los Endpoints se crean usando un HTTP Archive (HAR) response object

· Soporta todos los verbos HTTP

· Soporta salidas en JSON, XML, YAML y HTML

· Genera headers CORS

Podéis ver un ejemplo invocando a esta URL:

http://mockbin.com/request?foo=bar&foo=baz

Que en Java por ejemplo se invocaría así:

O con curl:

Los MockBin se generan desde la propia web: https://mockbin.com/bin/create introduciendo un conjunto de parámetros:

Una vez creado nos dará un identificador y la forma de invocarlo:

https://mockbin.com/bin/950ef8eb-cb24-4832-bd4f-838106ffc775/view

Así como ejemplos (APIembed) para diferentes lenguajes:

APIembed: generando código de invocación a nuestros Servicios REST de forma sencilla

APIembed es un portal web desarrollado por Mashape que permite generar un widget HTML con el código para invocar a Servicios REST en una gran variedad de lenguajes, algo como:

Para generar el código de invocación basta con crear el HAR Request object que sirve para describir el formato de la petición HTTP.

El HAR tiene este formato:

Un ejemplo:

https://apiembed.com/sample.json

{

“method”: “POST”,

“url”: “http://mockbin.com/request”,

“httpVersion”: “HTTP/1.1”,

“queryString”: [

{ “name”: “foo”, “value”: “bar” },

{ “name”: “foo”, “value”: “baz” }

],

“headers”: [

{ “name”: “Accept”, “value”: “application/json” },

{ “name”: “Content-Type”, “value”: “application/json” }

],

“cookies”: [

{ “name”: “foo”, “value”: “bar” },

{ “name”: “bar”, “value”: “baz” }

],

“postData”: {

“mimeType”: “application/json”,

“text”: “{“foo”: “bar”}”

}

}

Una vez lo tenemos desde la web: https://apiembed.com indicamos:

· Source: url al HAR

· Targets: lenguajes de generación

Y nos generará el código del iFrame a insertar en nuestra APP Web:

//api.apiembed.com/?source=https://apiembed.com/sample.json&targets=shell:curl,node:unirest,java:unirest,python:requests,php:curl,ruby:native,objc:nsurlsession,go:native

¿Qué es JHipster?

JHipster es una herramienta que merece la pena ser conocido ya sólo por su nombre y logo, ¿verdad? :)

JHipster es una herramienta de generación basada en Yeoman generator


para generar aplicaciones Web Spring Boot + AngularJS .

Las aplicaciones web que se generan se basan en este stack:

Aplicación Single Web Page:

· Responsive Web Design

Flujo Yeoman:

And what if a single Web page application isn’t enough for your needs?

Technology stack on the server side

Una aplicación completa Spring sobre:

· Spring Boot para configuración sencilla

Adicionalmente:

· Monitorización con Metrics

  • Cacheo con ehcache (local cache) o hazelcast (distributed cache)
  • Opcional clustering de session HTTP con hazelcast
  • Optimized static resources (gzip filter, HTTP cache headers)
  • Logs con Logback, configurable en runtime
  • Pooling con HikariCP para rendimiento óptimo
  • Construye un WAR estándar o un JAR ejecutable

Así una aplicación generada tiene este aspecto:

Formulario

Monitorización:

Configuración Log:

En este videocast podéis verlo en funcionamiento https://www.youtube.com/watch?v=fbEnchNPHSc

Un poco de Pulsar CEP

eBay acaba de liberar bajo licencia Apache 2 Pulsar.

Sus creadores lo definen así:

Pulsar es un es plataforma para el procesamiento de streams y analítica en tiempo real. Pulsar puede usarse para recolectar y procesar eventos de usuario y de negocio en tiempo real y para generar métricas y agregaciones sobre ventanas temporales todo esto siguiendo un lenguaje SQL-like.

Pulsar escala a millones de eventos por segundo en alta disponibilidad, se integra fácilmente con strores como Cassandra.

(Vamos lo que de toda la vida se define como un CEP :D)

Pulsar fue creado con estos objetivos:

· Escalabilidad: escalando a millones de eventos por segundo

· Latencia: procesamiento y entrada en órdenes menores de segundo

· Disponibilidad: sin caída del cluster durante actualización del software, actualización de las reglas y cambios en la topología

· Felxibilidad: facilidad para definir y cambias la lógica de procesamiento, ruteado de eventos, topologís

· Productividad: soporte para CEP y un lenguaje 4GL para filtrado de datos, agregación y procesamiento stateful

· 99,9% Data Delivery

· Despliegue en Cloud: los nodos pueden distribuirse entre data centers

FLUJO:

El flujo de Pulsar consiste en varios estados no acoplados.

Los eventos se transportan de forma asíncrona entre el pipeline lo que simplifica la escalabilidad permitiendo que cada estado pueda construirse y operarse de forma independiente.

LENGUAJE DE CONSULTAS:

Al estilo de los CEPs más tradicionales Pulsar ofrece un lenguaje de consultas SQL-like:

DESPLIEGUE:

La lógica CEP de Pulsar se despliega en diversos nodos (CEP cells = celda CEP), cada celda CEP se configure con un canal de entrada, un canal de salida y una lógica de proceso.

Los eventos se particionan por una clave (usuario por ejemplo) de modo que todos los eventos con una misma clave se rutean a la misma celda CEP.

En cada estado los eventos pueden particionarse por una clave diferente permitiendo agregación en varias dimensiones:

Con esta arquitectura para escalar a más eventos simplemente tengo que meter más celdas CEP.

Pulsar CEP usa Apache ZooKeeper para detectar nuevas celdas y rebalancear el tráfico, de la misma forma si una celda se cae Pulsar reenruta el tráfico a otros nodos…

Pulsar CEP soporta varios modelos de mensajería entre estados, pudiendo elegir modelo Push o Pull. Pulsar permite persistir los eventos en Kafka para garantizar el procesado.

Opinión:

Pulsar CEP resulta una solución muy interesante en el ámbito “Real Time Big Data”, se me ocurren diversos escenarios de uso:

· los que hayáis usado Storm habréis echado en falta un lenguaje estilo SQL para procesar los streams (algunos hasta hemos integrado un CEP con Storm)

· los que necesitéis un CEP con licencia Apache (y no GPL como Esper) hasta ahora teníais poca elección: Siddhi CEP

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 649 seguidores

A %d blogueros les gusta esto: