TDD y ATDD

contenido
  1. Garantía de Calidad equilibrada
  2. automatización de pruebas
  3. TDD y ATDD
  4. conclusión
  5. leer en un lado

Con las herramientas de análisis de código estático como FindBugs menudo, FXCop o CheckStyle pueden utilizar para comprobar el código contra el fallo de la aplicación independiente. excepciones al descubierto obvia nulas referencias de puntero y fragmentos de código no utilizado pueden encontrar así específico. En general, sin embargo, no debe limitarse al análisis de código estático, sino que se complementan las métricas en función de la programación en parejas. Este intercambio de conocimientos también se apoya mucho al equipo y colectiva Código posesión permite. Si cualquier programador en el equipo es capaz de cambiar cualquier otro código, creando una nueva forma de trabajar, porque no hay código Peters ya no ir a la vez, pero es el código de todos los miembros del equipo.

Al igual que con todas las métricas, sin embargo, tener en cuenta que no se trata de medir el desempeño individual de los miembros del equipo o para utilizar, por ejemplo, las métricas de cobertura como un objetivo para el equipo de desarrollo de software. Cem Kaner y plomo Walter P. Bond "Métricas de Software de ingeniería - ¿Qué miden y cómo lo sabemos?" [3] que tal comportamiento a las manipulaciones y burlar los resultados de métricas. Por ejemplo, la unidad de pruebas puede crear de forma selectiva de manera que se consigue la cobertura porcentual. Son entonces por lo general fuertemente ligados a la lógica de la aplicación, por lo que es difícil en retrospectiva para cambiar el código sin romper la prueba. En lugar de ello, los autores proponen invertir en la formación de los desarrolladores y trabajar con ellos directamente en el código.

Lo suficiente no es suficiente

Una vez que una red de pruebas automáticas se coloca junto con la integración continua, es sólo un pequeño paso para desarrollo basado en pruebas (TDD). El ciclo de desarrollo comienza con una pequeña prueba, en su defecto: Ejecuta una prueba no sólo la mayor cantidad de código de producción deberían escribirse de manera que puede ser con éxito completo. Posteriormente, son la redundancia en el código de reducir a la refactorización (Fig. 3). La mayoría de los equipos no se dan cuenta es que esto también está en la automatización de pruebas para el desarrollo de software en el que el código de prueba es limpia, ya que de lo contrario es cara rápidamente el problema de las pruebas mantenibles malas.

Con desarrollo basado en pruebas a largo plazo de mantener, código probado para ser creado (Fig. 3).Con desarrollo basado en pruebas a largo plazo de mantener, código probado para ser creado (Fig. 3).


Este enfoque inicialmente aparece dogmática, sino para aprender basado en pruebas de desarrollo, se ha elegido deliberadamente esta manera. Cuando se produce la seguridad después de algún tiempo en ciertas áreas también pueden tratar de aplicar en incrementos mayores. Sin embargo, debe quedar claro que demasiado grande un paso conlleva el riesgo de estancarse, y la prueba no vendrá rápidamente de nuevo en funcionamiento. Si esto ocurre, el problema debe ser dividido en unidades más pequeñas y se solucionará de esa manera.

Especificación con ejemplos

Una nueva tendencia en el desarrollo de métodos actualmente va hacia el desarrollo impulsado por Acceptancetest (ATDD) y el desarrollo del comportamiento impulsado por (TDC). En su esencia, el TDC es la asociación de TDD, ATDD, diseño de dominio impulsada, de fuera adentro Desarrollo y uso de un lenguaje ubicuo como talleres de especificaciones creadas por instrumentos. En la práctica ATDD por desgracia, a menudo se confunde con TDC.

ATDD está diseñado para ayudar a las funciones correctas para desarrollar (Fig. 4).ATDD está diseñado para ayudar a las funciones correctas para desarrollar (Fig. 4).

En ATDD (ver [4]). Es una medida para implementar los requisitos correctamente como sea posible en el código (Fig. 4). El trabajo comienza temprano, incluso mientras se definen las necesidades reales. Representantes del desarrollo y el equipo de pruebas se reunirán con el cliente e identificar los criterios de aceptación para las funciones futuras (Fig. 5). Aquí, los probadores y programadores ([5] ver.) Un entendimiento común de las necesidades del cliente, con una habitación lo suficientemente grande para diferentes decisiones de diseño se mantiene abierto. Así que los programadores y probadores pueden encontrar una solución al problema del cliente, con el que se puede satisfacer en el largo plazo.

Todo el equipo de los clientes, los programadores y probadores debe ser un entendimiento común de las funciones resultantes tienen (Fig. 5).Todo el equipo de los clientes, los programadores y probadores debe ser un entendimiento común de las funciones resultantes tienen (Fig. 5).


Sobre la base de los criterios de aceptación mencionados anteriormente, el equipo de desarrollo trabajando inicialmente en ejemplos descriptivos que antes de pasar a la función, sin embargo, continuar perfeccionando. Ejemplos empujan de manera sucinta y con precisión lo que se ha logrado a través de las funciones. Se mueven a la altura de los requisitos de negocio y no tienen nada que ver con los detalles de implementación, tales como la posición de los elementos de la GUI.

En paralelo con la ejecución de las funciones del equipo luego trabaja para automatizar los ejemplos. Algunos grupos desarrolladores son aún capaces de integrar la lógica de negocio de los casos de negocios basados ​​en su código de dominio. La literatura habla de fuera adentro Desarrollo: El desarrollo es impulsado desde el exterior hacia el interior. En este caso sólo la cantidad de lógica de código de dominio y la aplicación se ha diseñado y escrito como es absolutamente necesario. En la práctica, hay algunos equipos que han alcanzado un nivel de madurez tal. Las ventajas de este enfoque, sin embargo, no han de ser despedidos de las manos: Puede ser antes de la función de desarrollo que la propuesta de aplicación se ejecutará lo que quieren, entonces la flexibilidad a los cambios en las necesidades a largo plazo.

TDD Total y ATDD forman una simbiosis con la que un alto grado se puede lograr en la automatización de pruebas. Por lo tanto, es posible gracias a una cubierta ATDD solicitud de cerca del 100 por ciento, mientras que con TDD 100 por ciento de cobertura de código es posible. de este modo combinado TDD asegura que el código es correcto, mientras que ATDD asegura que es el código correcto.

estándar de programación para sistemas embebidos Misra C 2012 publicó

La industria del motor Asociación de Software de Confiabilidad (Misra) ha publicado recientemente el estándar de programación integrado Misra C 2012th La norma define las normas para C y C ++ - codificación de los desarrolladores para evitar errores de tiempo de ejecución que pueden resultar de las construcciones inseguras o debilidades estructurales de idiomas. La especificación de más de 200 páginas de espesor que tiene por lo tanto casi se duplicó, es compatible con la nueva versión de C99 y al parecer fue revisado de manera significativa en varios lugares.

Ahora, pues, además de las normas y directrices que han de considerarse como directrices deben ser utilizados para otros recursos para verificar la correspondencia con los requisitos. Normas sólo pueden verificarse en probar el código, sin embargo. puede hacer referencia a la norma como un archivo PDF a través de la tienda web del consorcio de 15 libras esterlinas, la versión impresa cuesta 45 libras.

Misra es una asociación de fabricantes de automóviles, proveedores y prestadores de servicios. La primera aprobada por la Organización en 1998 de reglas Misra C con su pozo 100 reglas para la programación C de seguridad se convirtieron en una especie de estándar de facto para la programación C incrustado. La segunda versión, Misra en 2004, escribió, entre otras cosas, utilizar una herramienta para el control de las normas. En 2008, el consorcio con Misra C ++ se había ampliado las directrices para la versión orientada a objetos del lenguaje. (ANE)

servidores de aplicaciones Java: Red Hat JBoss son 10 gratis

JBoss 10

La versión ya está disponible 10 del servidor Java Enterprise proporciona la base para la plataforma 7 JBoss Enterprise Application comercial de Red Hat es también el tercer lanzamiento importante ya que el cambio de nombre del proyecto de código abierto.

Red Hat versión 10 del servidor de aplicaciones Java publicó JBoss. Implementa todas las especificaciones de Java EE 7 perfiles completos y Java EE Web Profile 7, en la actualidad las últimas versiones de las normas empresariales Java. Soporte para Java 7 se terminó, que consiste en garantizar una mejor integración con la corriente de Java. 8 El servidor se puede utilizar con las instantáneas actuales de desarrollo de la esperada del año próximo 9 de Java más allá.

Las principales innovaciones

En lugar de Message Broker HornetQ JBoss ahora incluye su desarrollo ActiveMQ Artemis, aunque enriquecida por una serie de nuevas funciones, a nivel de protocolo compatible comportarse con HornetQ. La nueva versión integra el proyecto Undertow JS. Este scripts de servidor no puede escribir, puede hacer que el acceso a la CDI (Contextos y la inyección de dependencias) y Frijoles APP entidad (Java Persistence API). En virtud de los cambios de titularidad de Undertow todavía jóvenes con el servidor web compatible con el estándar HTTP / 2.

Para los desarrolladores también debe ser interesante que ahora la versión 5 del marco de persistencia Hibernate se soporta scripts de PowerShell y en el directorio bin de la distribución JBoss se han añadido. En futuras versiones, son para reemplazar .bat guiones. Con JBoss 10, es finalmente posible, como cualquier aplicación "despliegue Singleton" configurar. Esto permite que las aplicaciones sean siempre deben estar instaladas en un nodo de servidor en particular en el clúster. El fallo de un nodo, la aplicación se reiniciará automáticamente en otro nodo.

JBoss a JBoss

Con 10 JBoss ya ha aparecido la tercera versión del servidor de aplicaciones Java, se ejecuta bajo este nombre desde el servidor de código abierto. que había llegado a un cambio de nombre debido a que el pie detrás de él compañía quería una mayor diferenciación de la oferta basada en JBoss comercial. El primer lanzamiento - JBoss 8 - fue lanzado en febrero de 2014, la segunda bajo el número de versión 9 seguido en julio de 2015. A pesar de que la versión era compatible con el Java EE 7 (Java Enterprise Edition). JBoss proporciona la base para la próxima versión de Red Hat JBoss Enterprise Application comercial Plataforma 7 (JBoss EAP 7)(ANE)

Modular, mejor documentada y PHP 7 – Zend Framework 3 ha sido puesto en libertad

Modular, mejor documentados y PHP 7? Zend Framework 3 ha sido puesto en libertad

Después de varios años de desarrollo, por fin hay una nueva versión mayor de los marcos de PHP populares y más allá de un Micro Framework.

El plan era en realidad que el Zend Framework podría llegar a nuevas versiones principales cada año y medio a dos años. De éstos, los desarrolladores de los marcos de PHP que se había anunciado el con el lanzamiento de la versión 2 en septiembre de 2012 tenía, sin embargo, adoptar pronto. Y más tarde, prevista para el otoño de 2015 fecha de lanzamiento no podía sostenerlos. Pero ahora la espera ha terminado, ya que la versión 3 de la Zend Framework ahora está oficialmente disponible.

Marco modular

La mayoría de los cambios son de naturaleza estructural. Es aquí, por ejemplo, la asignación de algunos componentes en sus propios proyectos versionados. Esto se hace con el objetivo de reutilizar estos componentes en otro lugar más fácil y así acelerar el proceso de desarrollo. Es importante también que el final del año pasado 7.x lanzado PHP es apoyado por la nueva versión.

En el desarrollo de la nueva versión en el idioma, sino también con el PHP 5.x anterior hasta cuatro veces mejor rendimiento observado. PHP mínima 5.6 ahora se proporciona Zend Framework. 3 Ya no se está desarrollando la cadena de liberación obsoleta con el número de versión 1.x, no solamente en el mejor de los parches de seguridad - y sólo hasta finales de septiembre de 2016a

Documentación y Micro Framework

Para cambiar de desarrollada con Zend Framework 2 aplicaciones MVC (Modelo Vista Controlador) para facilitar la nueva versión proporciona a los usuarios un montón de ruta de migración documentada disponible es hacer algunos cambios necesarios. Además, se ha prestado una gran atención en general a la documentación. Por lo que sólo tales se almacena en cada repositorio de un componente. Las nuevas características en el futuro sólo se aceptarán en la medida en que también se documentaron.

Nuevos caminos finalmente se pisan los desarrolladores con la introducción de un middleware separada Micro Framework. Expresiva es considerado como el futuro del desarrollo de PHP por parte de los desarrolladores de marco a diferencia de gran oferta-pila completa MVC.(ANE)

CreateJS incluye bibliotecas para HTML5 y Flash desarrolladores

En colaboración con Adobe tiene el equipo de Grant Skinner (gskinner.com), que ha trabajado en el momento de Microsoft ya en la tecnología de demostración HTML 5 margaritas Amor Piratas, una nueva biblioteca JavaScript para HTML5 y Flash desarrollador / AIRE presentada. CreateJS combina una serie de bibliotecas existentes para reproducción de gráficos, audio y elementos de Flash. Además, la colección contiene su propio conjunto de herramientas que se pueden exportar al contenido de la plataforma HTML5 desde Flash Pro.

En las centrales CreateJS lía las cuatro bibliotecas de JavaScript EaselJS, TweenJS, SoundJS y PreloadJS todavía en fase de desarrollo para una pre-carga de varios componentes. Por otra parte, la aplicación de Adobe AIR Zoë está incluido en el paquete con el que .swf animaciones pueden exportar hoja de EaselJS como Sprite.

Bastante nuevo es el conjunto de herramientas que CreateJS gskinner.com ha desarrollado en colaboración con Adobe. Ofrece mucho más características que Zoë y permitir a los desarrolladores de Flash Pro para exportar contenidos tales como iconos, vectores, animaciones, mapas de bits, sonido y texto. Los datos entregados desde la caja de herramientas como una biblioteca de objetos que puedan apelar directamente encima CreateJS y HTML5 a continuación.

La biblioteca de nuevos CreateJS debería estar disponible en las próximas semanas createjs.com. Una documentación, demos y diferentes tutoriales que gskinner equipo también quiere publicar. Para la concesión de licencias, el grupo no disponía de información - pero como la mayoría de las bibliotecas ya incluidos son de código abierto bajo la licencia MIT, se puede esperar una forma de licencia comparable para CreateJS. Ligeramente más largo co-desarrollado por Adobe Instrumental se ha hecho esperar, por otra parte, ya que Adobe aún no podía proporcionar información sobre su disponibilidad.(Rl)

clasificación de programación: JavaScript y Java en la parte superior

Las clasificaciones Lenguaje de programación RedMonk el año 2016: Enero

Con JavaScript, Java, PHP, Python, C #, C ++, Ruby, CSS, C y Objective-C, la misma programación exacta, ver el ranking bianual RedMonk - y que también en el mismo orden.

Hay el índice mensual de programación Tiobe para determinar el lenguaje de programación más popular de sus resultados en la solicitud " programación" obtenido en 25 motores de búsqueda. Pero también hay la clasificación de lenguajes de programación bianuales RedMonk, donde las correlaciones entre los analistas la discusión de una lengua en StackOverflow producen con su uso en proyectos de GitHub con el fin de evaluar cuánto se utiliza un lenguaje de programación en el futuro.

Un poco tarde RedMonk ahora ha dado los resultados de enero se sabe que la actual popularidad de los lenguajes de programación más importantes.

RedMonk En la parte superior derecha son para los lenguajes de programación más populares. Cambia ha habido pocos en comparación con julio de 2015.(Imagen:RedMonk )

situación estable

Entre los 10 primeros asientos ha hecho nada desde el estudio anterior, así que antes de JavaScript Java sigue en cabeza con un estrecho margen la lista, seguido por PHP (3), Python (4), C # (5), C ++ ( 5.) Ruby (5), CSS (8), C (9) y Objective-C (10). Que Java y JavaScript están en curso para encontrar en la parte superior, probablemente también con el apoyo que los dos idiomas se utilizan a menudo en las empresas en la misma aplicación, puede ser suficiente, sobre todo porque JavaScript demandas cada vez más profesionales.

Que no había llegado también habrá cambios en el top 10, el analista RedMonk explica por el hecho de que las decisiones de un idioma en el negocio se diseñan generalmente en el largo plazo. Por lo tanto, no se podía esperar en un futuro cercano con una mayor fragmentación, será incluso disminuir debido a que los idiomas del juego tienen un alto nivel de madurez.

Hablado con potencial más allá de la parte superior 10 o incluso aún fuera de la parte superior 20 son ruidosos RedMonk Elixir (54a), Julia (51), Rust (46), Swift (17) y el Tipo Script (31) que consiste en diferentes razones para ser estimados. Así Elixir, Julia y Rust fueron capaces de pasar a través de su atención el diseño de lenguajes bien considerada. El Swift sucesor objectice C también en que se ha convertido recientemente en código abierto, y la imprenta recibido mucha ascensor en la comunidad JavaScript, pero también en Microsoft últimamente puntuaciones duda ahora.(ANE)

Ventanas roja lanzado OpenJDK 8 para (entre los desarrolladores) Sombrero

OpenJDK 8 disponible para Windows

Las compañías de código abierto, ha anunciado la disponibilidad de la aplicación oficial gratuita de Java SE para Windows. Los grupos destinatarios son los desarrolladores que crean aplicaciones de middleware estudio para RHEL Windows con JBoss Developer.

OpenJDK es una implementación libre de Java SE, que se originó como un grupo escindido del JDK. 6 Red Hat se tomó el tiempo para dirigir el proyecto. Oracle es un patrocinador gobernador de Java y la cabeza de OpenJDK. 8

En la página de descarga del proyecto OpenJDK construye para diferentes sistemas Linux, pero no existen para Windows. Red Hat ha lanzado una versión de OpenJDK 8 para Windows. Sin embargo, en general no debe reemplazar el JDK normal, pero está destinado a desarrolladores, aplicaciones de middleware con Red Hat JBoss Developer Studio en Windows para RHEL (Red Hat Enterprise Linux) de generación. La compilación de Windows 8 de OpenJDK es totalmente compatible con las correspondientes notas de RHEL, por lo que el software de Java se comporta en ambos sistemas por igual.

Más detalles sobre el OpenJDK para Windows están disponibles en la página del proyecto, donde se encuentra un enlace a un instalador MSI. La información sobre las condiciones que faltan: El nombre de descargas indica una acumulación de 64 bits. Incluso si el sitio sólo muestra el sistema operativo Windows 8, se puede suponer que también es compatible con Windows 7 y Windows 10 sólo a causa de la propagación de construcción correspondiente OpenJDK. (RME)

Las preguntas y respuestas más importantes acerca de la aplicación PaaS

contenido
  1. Las preguntas y respuestas más importantes acerca de la aplicación PaaS
  2. los proveedores de tecnología, seguridad y justicia
  3. leer en un lado
Las preguntas y respuestas más importantes acerca de la aplicación PaaS

El uso de la nube es, por supuesto, para muchas empresas, que restringen el uso, pero sobre todo en SaaS y IaaS. El uso de PaaS es sólo poco a poco ganando impulso. Pero lo que se debe considerar a las empresas antes de decidirse? Este artículo proporciona respuestas a cinco preguntas clave antes de la aplicación PaaS.

Donde PaaS aporta alguna ventaja?

Como plataforma como servicio (PaaS) es un enfoque ampliamente nuevo, muchas compañías a menudo es claro cómo el concepto funciona y cuáles son las ventajas. A menudo PaaS es visto como un entorno de desarrollo, o sólo la eliminación de tareas administrativas realizadas. También se puede utilizar como la columna vertebral para la gestión del ciclo de vida del software, sin embargo - desde el desarrollo de la operación.

El desarrollo puede también mucho "ágil"nerfolgen porque PaaS es compatible con una variedad de herramientas y técnicas y escenarios de despliegue permite que el sol "clásico" arquitecturas de servidor no son factibles. Cualquier desarrollador puede, por ejemplo, probar nuevas ideas directamente en un desplegado dentro de un entorno de prueba corta de tiempo que coincide estrechamente el entorno de producción posterior. Con herramientas para la simulación de carga como Blitz.io y software de análisis de aplicaciones, tales como desarrolladores New Relic pueden pre-analizar el comportamiento de las aplicaciones en condiciones casi reales y ajustar. Fabricantes como Cloud9 incluso ofrecen un completo navegador-IDE, con el que se puede desarrollar software directamente en la nube. En resumen: Esto podría ser todas las razones que aumentan significativamente con la eficiencia y la calidad de PaaS un departamento de TI.

En conjunción con el despliegue continuo de los resultados del trabajo de los desarrolladores serán proporcionados al usuario más rápido. Incluso los cambios pequeños pueden rodar a cabo por un PaaS varias veces al día, con los desarrolladores normalmente entregan nuevo código a través de Git o Versionskontrollsyteme similar en PaaS. Los usuarios de software pueden seguir trabajando sin interrupción con las aplicaciones durante el despliegue de las nuevas versiones. software de integración continua como Travis-CI también ofrece la posibilidad de integrar la entrega de software para diversas plataformas en la nube en el proceso de CI.

Cuando se asegura software roll-out que cada nodo servidor proporciona el mismo entorno de tiempo de ejecución, tanto en el desarrollo y en los sistemas de producción. Esto evita los componentes que faltan y los conflictos de versión. Actualizaciones de componentes o el uso de nuevos lenguajes de programación se pueden aislar de forma fiable sistemas de clasificación antes de la entrega en la prueba de funcionamiento en vivo.

aplicaciones PaaS se pueden escalar sobre la marcha en un corto período de tiempo. operadores de aplicaciones garantía en cuanto al usuario final un alto rendimiento constante. los proveedores de SaaS a escala, por ejemplo, durante el horario normal y hacia abajo de nuevo más tarde, cuando la mayoría de los usuarios están en la jornada de trabajo. En los juegos en línea y aplicaciones sociales, resulta que a la inversa: no es el valor máximo en las tardes.

Para las grandes empresas que mantienen sus propios centros de datos, un PaaS privadas podrían ser interesantes. Se asegura que los recursos informáticos patentados y activos existentes de manera más eficiente. Gracias a los recursos de aprovisionamiento de autoservicio de acuerdo con un botón puede estar disponible. Esto permite que los procesos de desarrollo más eficientes y más ágiles, acortando los ciclos de innovación.

A través del uso de PaaS, que puede adaptarse rápidamente a las cambiantes necesidades -
que debe ser frenado sin cuellos de botella de recursos. Especialmente en los mercados altamente dinámicos, como el mercado de consumo o de telecomunicaciones, los ahorros en gastos y tiempo asociados constituye una ventaja competitiva importante para las empresas.

Sin embargo, PaaS hay ninguna ventaja cuando las aplicaciones de muy estática en la naturaleza o cuando la adaptación a PaaS significa esfuerzo desproporcionado. Ejemplos de ello son más pequeñas aplicaciones CMS, software estándar o software heredado de edad y sin capa de abstracción existentes.

¿Qué aplicaciones trabajar en la nube, que no lo son?

La mayoría de las aplicaciones se pueden ejecutar en entornos PaaS. Para Java, Ruby, Python, PHP y .NET, hay muchos proveedores de PaaS - algunos se especializan en un idioma que otros ofrecen soporte para múltiples idiomas.

Muchos de los marcos se ajustan para que funcionen de forma óptima con PaaS. Estos incluyen marcos que cuentan con una configuración automática o ofrecen un soporte almacenamientos de bloque. Fácil de implementar en los marcos de PaaS, por ejemplo, rieles, Symfony y primavera.

En las modernas aplicaciones API de nube pueden ser configurados para el almacenamiento centralizado de datos - por lo que son compatibles PaaS en la mayoría de los casos. dejar que las aplicaciones heredadas
estas funciones normalmente reequipar. Las adaptaciones de PaaS significan principalmente optimizaciones que son beneficiosas para el rendimiento, la fiabilidad y la escala horizontal, como los proveedores de PaaS sus plataformas con la orientación de "mejores prácticas" han diseñado.

La implementación de las rutinas de configuración automática no es obligatoria, pero es muy recomendable. Por lo general, establecer el proveedor de PaaS cualquier parámetro de configuración de la aplicación a través de un archivo o variables de entorno que una aplicación puede utilizar para la configuración. Por lo tanto, los errores humanos pueden ser. Al mismo tiempo, evita, por ejemplo, una aplicación en el entorno de prueba accidentalmente con una base de datos de producción "habla",

Para facilitar el traslado de aplicaciones que proporcionan los proveedores de PaaS la información que necesitan para aplicar ajustes en forma de materiales de documentación o de formación. Alternativamente, se puede dibujar en el know-how de consultores en la nube para representar adecuadamente a complejos sistemas de TI en un PaaS.

Sin embargo, no todas las técnicas son imágenes de PaaS. Un servidor de correo no se puede utilizar, por ejemplo, en el trabajo con los sistemas IP asignadas dinámicamente PaaS. Por consiguiente, la entrega de correo es manejado por terceros. Streaming de aplicaciones que trabajan lejos de los estándares HTTP, han hecho que sea difícil también para transmitir sus datos a través de animales de enrutamiento optimizado web y cualquier caché web.

El enjambre: Java EE servicios de micro con JBoss

Recientemente, la primera alfa de la nueva JBoss Sidecar Swarm está disponible. Así pues, debería embalaje en la medida servidor de aplicaciones junto con la aplicación real que se necesita para obtener un archivo ejecutable de Java. este "aplicación tarro sola"- o "tarro de grasa"Concepto se ve a menudo como el enfoque correcto para arquitecturas de servicios de micro.

Actualmente, las noticias de la zona de Java EE se acumulan. Además de la última versión candidata de JBoss Application Server-9 un llamado mantenimiento ha sido preparada incluyendo Java EE 7 de liberación (MR). Y el 8 de Java EE JSR oficialmente disponible desde hace algún tiempo. Sin embargo, esta noticia cojera de la pila clásica Java EE detrás de los acontecimientos actuales. las palabras "envase" o "Servicios micro" Uno busca en vano en la especificación. Al menos por el creado en base a las aplicaciones JBoss, esta brecha se cierra un poco.

JBoss Swarm: Servicios Micro ejecutables

enjambres "aplicación tarro sola"- o "tarro de grasa"Concepto es considerado por algunos como el enfoque correcto para arquitecturas de servicios de micro. Sin ella para querer filosofar ahora, es bastante emocionante algo sólo para mirar a esta nueva versión. En el siguiente ejemplo, quiero hacer hincapié en que no es más que un ejemplo de una técnica y no representa la única forma correcta para servicios de micro.

Dada una sencilla aplicación web basada en Java EE 7 Maven. En pom.xml se erige como única función:


javax
Java EE Web-api
7.0
previsto

Se construye un archivo WAR 6 Kbytes. enjambre / RS / 8080 del cliente / a una simple salida de JSON: Se ejecuta en JBoss, lo que lleva a una llamada http: // localhost:

{
"Nombre": "Markus".
"lastName": "Eisele".
"dirección de la calle": "Werner-von-Siemens-Ring 14".
"ciudad": "Grasbrunn".
"pcode": "85630".
"pHONENUMBERS": [
{
"grado": "móvil".
"número": "111-111-1111"
},
{
"grado": "casa".
"número": "222-222-2222"
}
]
}

Por lo que todo esto no es emocionante. Para hacer esta sencilla aplicación es un archivo ejecutable independiente, ahora Swarm entra en juego. Para ello, un nuevo plug-in debe ser fácilmente añadidos al proyecto recién creado:


org.wildfly.swarm
JBoss-enjambre-plugin
$ {} Version.wildfly-enjambre


paquete

crear



El número de versión, es mejor pom.xml a través de la propiedad de Maven. Actualmente Swarm está disponible como 1.0.0.Alpha1. Una pequeña advertencia fue pronunciada aquí para usuarios de Windows. Sólo esta versión no se ejecuta en Windows. El último maestro contiene la corrección, pero ya, y que se construye a sí mismo de forma rápida y utilizado localmente para 1.0.0.Alpha2-INSTANTÁNEA Swarm, se puede ver el resultado en Windows.

Sin embargo, el plug-in no hace todo el trabajo solo. De las dependencias (dependencias) las características de Java EE utilizados siguen agregar. Para la pequeña muestra que sólo la función de JAX-RS:


org.wildfly.swarm
JBoss-Swarm-jaxrs
$ {} Version.wildfly-enjambre
previsto

A continuación, el proyecto puede ser construido a través de mvn package. Además del resultado esperado, el archivo enjambre de muestra y 1,0-SNAPSHOT.war ahora también es mucho más grande enjambre de muestra y 1.0-SNAPSHOT-swarm.jar aterrizó en el destino / directorio. Ahora tiene unos 30 MB.

JAR probar la grasa

en realidad sólo queda la puesta en marcha y pruebas de la no tan pequeño frasco:

java -jar enjambre-1,0-SNAPSHOT-swarm.jar

La salida es una indicación de diversas versiones de los subsistemas utilizados. Ahora, incluso la prueba:

C: \>rizo -v http: // localhost: 8080 / rs / cliente
* Conectado a localhost (:: 1) Puerto 8080 (# 0)
> GET / rs / HTTP cliente / 1.1
> User-Agent: rizo / 7.30.0
> Host: localhost: 8080
> Aceptar: * / *
>
< HTTP / 1.1 200 OK
< Conexión: keep-alive
< Content-Type: application / json
< Content-Length: 221
< Fecha: Vie, 08 de Mayo el año 2015 07:59:00 GMT
<
{"Nombre":"Markus"."lastName":"Eisele"."dirección de la calle":
"Werner-von-Siemens-Ring 14"."ciudad":"Grasbrunn".
"pcode":"85630"."pHONENUMBERS
": [{"grado":"móvil"."número":"111-111-1111"},
{"grado":"casa"."número":"222-222-2222"}]} * Conexión a # 0
localhost dejado intacto

Que todavía quiere usar otras especificaciones, encontrarán más detalles en el blog Swarm. Actualmente servlet, JAX-RS ShrinkWrap, origen de datos a través de la implementación, la mensajería y algunos otros son compatibles.

se desea una respuesta y la cooperación. Cualquier persona que quiera encontrar toda la información sobre el mango @ WildFlySwarm-Twitter. Si se olvida de funciones o si encuentra errores, pueden participar directamente en el proyecto GitHub.

Una visión general de las alternativas de Java para uso industrial

contenido
  1. Una visión general de las alternativas de Java para uso industrial
  2. Scala
  3. Fantom
  4. Kotlin
  5. Ceilán
  6. conclusión
  7. leer en un lado
Una visión general de las alternativas de Java para uso industrial

Durante mucho tiempo ha trasladado al mundo de la pequeña de Java. En marzo de 2014, los cierres de Java son 8, finalmente, salir de nuevo pagar una brisa fresca. Pero incluso los ocho años de edad y acaba de desastre recién quemado modularización de Java Jigsaw muestra la dificultad de los fabricantes es probable que caigan más innovaciones en el futuro. Pero hay esperanza. lenguajes alternativos para la JVM prometen nuevos paradigmas de programación, código más conciso y más flexibilidad.

Para uso industrial, en particular las que representan emergente en el horizonte estático y lenguajes de programación estrictamente escritos son interesantes. Sus exámenes en tiempo de diseño y garantías en tiempo de ejecución son entornos complejos mayor garantía y por lo tanto hacer que los competidores directos para Java. Tiempo para obtener una visión general de los principales candidatos.

En relación con la nueva programación de un problema es a menudo citado como Primer: "la programación funcional", La programación puramente funcional es bastante exótico y también bastante desconocidos para muchos desarrolladores. En general, por lo tanto, más idiomas múltiples paradigmische significaba que se combinan, entre otros elementos de la programación funcional en sí mismo.

Pero ¿para qué? herramientas de lenguaje funcional permiten una programación mucho más eficiente en ciertas circunstancias. Y Java 8 lleva a cabo con un Cierres una característica funcional importante. El siguiente ejemplo ilustra la diferencia sobre la base de una lista de clasificación:

// "clásico" Ordenar una lista usando comparador
Collections.sort (listOfCars, nuevo comparador () {
public int comparar (c1 coches, coches c2) {
volver p1.maker.compareTo (p2.maker);
}
});

Con cierres en Java 8, la tarea puede resolverse, sin embargo desigual concisa:

// ordenar una lista usando la expresión lambda
listOfCars.sort ((c1, c2) -> c1.maker.compareTo (c2.maker));

En primer lugar: Todos los idiomas presentados son funcionales, mientras se centra claramente en las oportunidades en Java 8 créditos. En última instancia, sin embargo, las diferencias están en los detalles, por lo que un análisis individual oferta detallada.

Desarrollo web: Mono equipo de planes de aplicación de webassembly

Desarrollo web: proyecto Mono previsto otorgar a las webassembly

El equipo responsable de la implementación de código abierto de Microsoft .NET Framework webassembly quiere utilizar como plataforma de destino. Actualmente, no está experimentando con dos enfoques diferentes: la compilación estática y código administrado.

El proyecto Mono es venir a través de conjunto de banda para las aplicaciones Web para su uso en el futuro. Actualmente, la aplicación se encuentra en una fase de exploración temprana. De acuerdo con un informe en el sitio Mono los primeros experimentos son bastante prometedores.

Se utilizan dos prototipos diferentes. La primera se basa en una compilación estática completa. Esto crea una gran aplicación que contiene tanto el tiempo de ejecución de mono-C y bibliotecas de clases asociadas, así como el programa compilado. El segundo enfoque se traduce sólo el tiempo de ejecución Mono, que luego ejecuta los programas de los desarrolladores como código administrado. El segundo enfoque reduce el tamaño de la descarga, pero no alcanza el rendimiento del proyecto compilado completa.

Ambos enfoques actualmente siguen utilizando el perfil de escritorio completo para Mono. En el siguiente paso, el equipo quiere optimizar el perfil en la web o el uso móvil y para la eliminación de funciones innecesarias. Además, los fabricantes quieren optimizar la comodidad para los desarrolladores. Para ello, un compilador JIT intérprete o en el navegador es independiente de la metodología definitiva utilizado para crear el programa terminado para el proceso de desarrollo deseable, las versiones en caché de libmono utilizan.

Breve presentación de webassembly y mono

Webassembly (WASM) es un enfoque de la programación del navegador del lado del cliente. El proyecto, que ha dejado el comienzo de la fase de vista previa del navegador, utiliza un formato binario. No debe sustituir JavaScript, sino que se complementan, y lo más importante utilizado allí donde se requiere un alto rendimiento. Básicamente, el enfoque del formato binario no es nuevo: ActiveX y Java son algunos de los más destacados representantes. Java falló en el navegador, así como Adobe Flash, especialmente en numerosas vulnerabilidades, ya ActiveX en Microsoft es el único. En webassembly un grupo de la comunidad del W3C, los empleados de los principales proveedores de navegadores obras pertenecen.

Mono es una implementación de código abierto de Microsoft .NET Framework, que se basa en la especificación ECMA para C # y el Common Language Infrastructure. Con él, el marco de trabajo para diferentes plataformas, especialmente MacOS, Linux y Windows. En mayo, la quinta versión principal es liberada. Microsoft es uno de los patrocinadores del proyecto.(RME)

Java EE 8 es lanzado oficialmente

Java EE 8 es lanzado oficialmente

A la sombra de la vértebra a Java 9, Oracle ha actualizado la versión de la empresa. Técnicamente, se queda corto de las expectativas originales. Emocionante es actualmente también el futuro de la plataforma como un proyecto de código abierto.

Con muchos menos vértebras que Java 9 Oracle ha lanzado finalmente Java EE 8, después de que la compañía también se había movido el lanzamiento de la versión para empresas varias veces. Ya en diciembre de 2016 estaba claro qué características sería parte de la plataforma. Por lo tanto, también era evidente que muchos módulos no llegan hasta la octava versión de Java de la empresa.

APIs nuevas y actualizadas

Las nuevas características clave de la API Java Servlet 4.0, la primera vez que proporciona / 2 compatibilidad con HTTP, y una API de seguridad dedicada pertenece. JSON-B (JSON Encuadernación) obtiene su propio API, y la API de Java para JSON-P está en la versión 1.1 componente de la plataforma. Numerosas otras APIs han recibido adiciones importantes en cierta medida, incluyendo contextos y la inyección de dependencias (CDI) con el salto a la versión 2.0.

Otros paquetes actualizados son JavaServer Faces (JSF) 2.3, 2.0 Bean Validation, JAX-RS (JAX-RS) 2.1, Java Persistence 2.2, API Java para WebSocket 1.1 y correo Java 1.6. Aunque Java EE 8 aparece en paralelo a Java 9, primero se aborda algunas extensiones que no se incluyeron en la versión 8 de la edición estándar, en la anterior plataforma Java EE. Vale la pena mencionar aquí los arroyos y la API y de fecha y hora.

Los planes futuros para la Fundación Eclipse

java 2017

Información detallada sobre Java EE 8, 9 de Java y los desarrollos actuales en el entorno Java está disponible en el iX desarrollador Special Edition, que está disponible entre otras cosas en la tienda H.

Se espera que Java EE 8 será la última versión de la plataforma bajo el modelo de licencia actual y el nombre. Oracle ha anunciado planes para transferir en agosto de Java EE comunidad de código abierto. A mediados de septiembre, la compañía especifica los planes y anunció, entre otras cosas, que la plataforma es a la tierra bajo el paraguas de la Fundación Eclipse. Es importante que la Fundación no sólo el control de las especificaciones, sino también acerca de las implementaciones de referencia (RI), la compatibilidad de los kits Tecnología (TCK) y hacerse cargo de la documentación del proyecto de la tecnología de Oracle Java EE y GlassFish guiada debería.

Los detalles sobre las nuevas características de Java EE 8 se pueden tomar desde el sitio del proyecto. Allí, la documentación de la API, un tutorial y el SDK vinculado a descargar.

Ver desarrollador Heise:

  • Oracle quiere transferir Java EE a la comunidad de código abierto
  • Análisis: Oracle parece girar la esquina en Java EE en el último momento
  • Java EE hacia la fuente abierta: Oportunidades y riesgos
  • Java EE 8 toma el último obstáculo antes de la liberación
  • Java EE es a la tierra bajo el paraguas de la Fundación Eclipse
(RME)

Reconocimiento de voz: Google expande la voz de Cloud API

Reconocimiento de voz: Google expande la voz de Cloud API

El servicio de conversión de habla en texto escrito ahora puede manejar archivos de audio con hasta tres horas de duración. También hay 30 nuevas versiones de idioma.

Google Cloud API de voz añadió algunas versiones y las funciones del lenguaje. El gigante de Internet ha introducido el servicio de reconocimiento de voz automático en la primavera de 2016 y un año más tarde elevado a un servicio de pleno derecho. Proporciona una API para la integración con el desarrollador del servicio en la nube en sus propias aplicaciones.

Al principio, más de 80 idiomas o variantes son 30 los nuevos, incluyendo swahili, Java e Inglés como se habla en los países africanos de Ghana, Kenia, Nigeria y Tanzania. De acuerdo con el blog, las nuevas versiones cubren en conjunto de más de mil millones de personas adicionales.

Los archivos para la conversión a texto pueden ahora ser más del doble de tiempo como el máximo anterior de 80 minutos con una longitud máxima de tres horas. Para casos especiales, también son probablemente la opción de aumentar la cuota de los casos individuales. Además de las nuevas características frescas, el blog también sugieren que la nube de voz proporciona ahora marca de tiempo en el texto coincidente se pueden mostrar durante la reproducción del archivo de audio. Además, los usuarios pueden por lo tanto juegan por cada palabra coincidente al leer el texto convertido.(RME)

Tomee con nuevas características y correcciones de errores

Bajo la dirección de la compañía David Blevins Tomitribe la nueva versión 1.7 de Java Enterprise Edition de Apache Tomcat fue publicado hace unos días.

El anunciado por primera vez en octubre de 2011 la versión de Tomcat Tomee (pronunciado: "Tommy") Complementa el servidor web y el contenedor de servlets a las funciones de Java Enterprise Edition (Java EE). jefe de desarrollo David Blevins ha lanzado la última versión 1.7. Además de la corrección de errores en los cientos de números y nuevas características se han proporcionado. Así Tomee 1.7.x está ahora también dirige el 8 de Java SE

pero lo más interesante es la introducción de un nuevo perfil con el nombre de pluma. Todavía es experimental e incluye la distribución Tomee Plus con Mojarra como la implementación JSF (Java Server Faces) y EclipseLink como el proveedor JPA (Java Persistence API). Obviamente, la comunidad Apache quiere que sea más fácil para los clientes GlassFish anteriores para cambiar a Tomee.

La distribución se puede descargar desde los sitios Tomee o integrada directamente a través de Maven (API de Java EE, y OpenEJB Tomee):


org.apache.openejb
api JavaEE
6,0-6
previsto

org.apache.openejb
openejb-core
4.7.0

org.apache.openejb
Tomee
1.7.0

Aquí, la versión 1.7 está siendo certificado solamente para los mayores de Java EE 6 Web Perfil. Por lo tanto, el anuncio no es ninguna sorpresa que el sitio web que todas las actividades se orientan sistemáticamente a la nueva versión 2.0.x de ahora en adelante. El objetivo ha basado en Tomcat 8 a un 7 certificación Java EE. La certificación web perfil reunieron en contraste con los perfiles completos sólo las técnicas utilizadas en una aplicación web típica de Java utilizado. (Markus Eisele) /(ANE)

ASP.NET vNext: De MVC, API web y páginas web MVC 6

El marco, API Web y páginas Web ASP.NET MVC se unifican y se combinan en ASP.NET MVC. 6 A continuación, se presentan cambios fundamentales.

Por TechEdNorth Latina en Houston, Microsoft anunció que la próxima versión de ASP.NET que actualmente se llama ASP.NET vNext que unifica web frameworks MVC ASP.NET, ASP.NET Web API y páginas Web ASP.NET, dándoles un modelo de programación común. También se sabe que estos marcos se combinan a la versión 6 de ASP.NET MVC.

Esta nueva versión se desacopla de del hotel Internet Information Server (IIS) y por lo tanto se puede ejecutar en diferentes servidores. Por ejemplo, los ingenieros de Microsoft Scott Hunter y Scott Hanselman mostraron en una conferencia que se desarrolló de modo que las aplicaciones web se pueden ejecutar Mono en un Mac gracias a la implementación libre de .NET. fundador mono Miguel de Icaza también se había informado anteriormente de un soporte para Linux. Por el desacoplamiento de IIS 6 aplicación MVC también puede ser lanzado en un proceso separado.

Sin embargo, este desacoplamiento también trae algunos cambios fundamentales. Por ejemplo, a partir de un nuevo proyecto y la configuración del sistema y la fusión de los conceptos analógicos en el ASP.NET MVC y ASP.NET Web API mencionado. Además, se introduce un único mecanismo de inyección de dependencia. Por esta razón, Microsoft aseguró que ASP.NET vNext también apoyará las actuales versiones más recientes de MVC, API Web, páginas Web e incluso ASP.NET Web Forms su forma actual, además de MVC. 6

Además MVC SignalR aparecerá con ASP.NET vNext en una nueva versión. Estos dos marcos también son compatibles con el optimizado para la variante de las aplicaciones de servidor .NET junto con la próxima versión 7 O / R mapper Entidad marco. (Manfred Steyer) /(ANE)