La capacidad de crear columnas virtuales es una característica nueva en Oracle 11g que permite definir un campo que contiene datos derivados (calculados), obtenidos de otras columnas de la base de datos. Las características que tiene son: No consumen espacio ya que se...
TIK-tec
El pulso de la tecnologíaPython: historia y áreas de aplicación
Hablemos sobre una tecnología que está en auge, dentro de las distintas cloud: Serverless, tecnología que permite crear servicios dentro del cloud, pero que no poseen servidor. Existen múltiples tecnologías Serverless dentro de Amazon, pero nos vamos a fijar en una de...
Cursor Sharing
No es infrecuente encontrar aplicaciones que hacen caso omiso del principio de usar bind variables y se comprueba que el rendimiento baja considerablemente por la elevada tasa de hard parsing que se produce. Casi sin pensarlo el desarrollador se refugia en el uso del...
Python: historia y áreas de aplicación
Python es uno de los lenguajes de programación más populares para aquellos que se quieren iniciar en el mundo del desarrollo. Veamos algunas de las razones: Es interpretado y creado con la legibilidad como bandera. Solo requiere de un editor de texto y un intérprete...
JavaScript: un lenguaje para dominarlos a todos
JavaScript es un lenguaje de programación interpretado que se creó en el año 1995 por Brendan Eich. Ha pasado por distintos nombres (Mocha, LiveScript...) hasta llamarse así, que fue una estrategia de marketing para conseguir atraer programadores de Java a este...
Usos de los Web Components
Los Web Components son un conjunto de especificaciones que implementan los navegadores y que van a permitir crear nuevas etiquetas HTML con la estructura, estilos y funcionalidad que nosotros necesitemos. Estos componentes nos proporcionan ventajas como que: Vamos a...
AWS Serverless con AWS Lambda
Hablemos sobre una tecnología que está en auge, dentro de las distintas cloud: Serverless, tecnología que permite crear servicios dentro del cloud, pero que no poseen servidor. Existen múltiples tecnologías Serverless dentro de Amazon, pero nos vamos a fijar en una de...
Introducción a Amazon Web Services
Actualmente se habla de cloud sin tener una idea clara de lo que es y si es lo que realmente necesitamos como solución de empresa. En este caso vamos a hablar de las funcionalidades básicas de uno de los servicios cloud más famosos por el momento. Se trata de Amazon...
MERN, el nuevo MEAN
En los últimos tiempos, no han parado de salir frameworks y librerías JavaScript que nos permiten desarrollar la parte del frontend de las aplicaciones de una forma sencilla sin necesidad de usar librerías como JQuery o JavaScript puro para modificar el DOM de las...
BDD- Behavior Driven Development
Más conocido por sus siglas BDD, es un proceso de desarrollo de software creado por Dan North en el año 2000, tomando como base TDD, creado por Kent Beck, orientando el origen de la prueba a una especificación o requisito. Básicamente busca que, dada la descripción...
Herramientas DevOps
A lo largo de los años, muchos desarrolladores que sabían de sistemas hemos estado trabajando con mucha ilusión con gran cantidad de herramientas de múltiples disciplinas, con el afán de facilitarnos el trabajo a nosotros mismos y a nuestros compañeros. Esta forma de...
VUE: ¿otro framework más?
En estos últimos años en los que no paran de salir librerías y frameworks para desarrollar aplicaciones web, uno de los últimos en aparecer ha sido Vue. Vue es un framework JavaScript que surge en 2014 desarrollado por Evan You y que nos permite construir las...
Soap-UI: probando servicios web
No cabe duda de que el mundo del desarrollo siempre avanza con nuevas herramientas, paradigmas y desarrollos. Por eso, a día de hoy, las empresas están enfocándose en un nuevo paradigma: la arquitectura de microservicios. Los microservicios no dejan de ser pequeñas...
REDUX
Introducción Cuando las aplicaciones crecen demasiado, puede llegar a ser difícil controlar el estado de la aplicación y los cambios que tienen que realizarse cuando esta cambia. Y aquí es donde entra Redux. Redux es una librería que permite controlar el estado de las...
Groovy y Scala, estado actual
Queremos fijarnos en la situación por la que pasan actualmente dos eternos aspirantes al cetro de Java como lenguaje más empleado de la JVM. Eso es, lo has adivinado, son Groovy y Scala. Estos dos lenguajes que abanderaron los nuevos lenguajes de la JVM, nunca han...
Desarrollo con ASP.NET MVC 6
Los desarrolladores de Software con tecnologías Microsoft siguen de enhorabuena. ASP.NET MVC 6 es la última versión de la plataforma de Microsoft para el desarrollo de aplicaciones web empleando el patrón MVC, que sigue evolucionando. Mantiene la línea que ya se...
XML Sigue vivo
XML es la abreviatura de “eXtensible Markup Language”, y es un estándar creado por el World Wide Web Consortium lanzado en 1998. Es heredero del lenguaje SGML, al igual que HTML, que también surge del mismo lenguaje. Si lleváis tiempo en esto, ya os habréis encontrado...
Kafka y su misión en el ecosistema
¿Qué es Kafka? Kafka es un sistema distribuido para el procesamiento de streams. La finalidad de Kafka es ofrecer una plataforma de baja latencia y alto rendimiento para gestionar feedings en tiempo real. Para ello, dispone de una capa de almacenamiento de tipo...
Penetration Testing
También conocido como PenTest, Pruebas de Penetración o simplemente pruebas de seguridad, son test de seguridad lanzados contra servidores para evaluar sus posibles riesgos contra ataques de terceros. Suelen servir para evaluar no solo las debilidades de nuestro...
Microservicios: huyendo de la Estrella de la Muerte
Imaginémonos que nos encontramos trabajando en la Estrella de la Muerte de StarWars, una arquitectura de aplicación que es una locura, con cientos de funcionalidades, enorme pesaje y difícil manejo. La aplicación o estructura, según nuestro señor Darth Vader, debe ser...
ExtJS: Caminando hacia las nuevas aplicaciones
De un tiempo a esta parte, el presente de las aplicaciones web ha cambiado sobremanera. Desde el nacimiento del HTML5 como evolución tecnológica de la capa web, han aparecido frameworks que han llevado el desarrollo y el código javascript al futuro. Así nacieron...
React, el secreto de más de una aplicación
React es una librería JavaScript desarrollada por Facebook que permite crear interfaces de usuario siguiendo el desarrollo basado en componentes. Esta librería puede usarse junto a cualquier framework, como por ejemplo Ruby on Rails, Meteor, Angular… Y se ha usado en...
Ruby on Rails (RoR), desarrollo web rápido, fácil y potente
Hace un tiempo hablamos del lenguaje de programación Ruby y de cómo sus características lo hacían ágil y dinámico a la hora de programar software. Ahora vamos a hablar de uno de sus frameworks de trabajo más importante, Rails, entorno para construir aplicaciones web...
OWASP Mobile Security Project
El mundo de la seguridad es un tema que lleva con nosotros desde casi el inicio de la informática y cada vez cobra más importancia en el mundo empresarial. Las empresas gastan millones de euros anuales en todo tipo de seguridad informática para proteger sus activos y...
Cómo reducir los tiempos muertos de los programadores
En grandes proyectos de desarrollo es habitual que se produzcan largos períodos de tiempo en que los programadores físicamente no pueden trabajar, ya que el código está compilándose. Este problema es conocido e incluso se pueden encontrar chistes al respecto. Estos...
PHP. El lenguaje cada vez más de moda
PHP empezó en el año 1995 como un lenguaje multiplataforma, pero mucho ha cambiado desde aquel entonces hasta nuestros días. Creado por Rasmus Lerdorf, actualmente es un lenguaje de programación multiparadigma, imperativo, funcional, orientado a objetos, procedural y...
Puppet, Chef o Ansible. Comparando herramientas de aprovisionamiento
Una gran cantidad de herramientas están apareciendo en el mercado para ayudar a los administradores de sistemas y a los DevOps a simplicar su trabajo y a automatizar procesos en cantidades ingentes de servidores. Presentamos tres ejemplos de herramientas de este tipo:...
Elasticsearch
Elasticsearch es un proyecto Open Source altamente escalable que permite realizar búsquedas de texto optimizadas y ofrece una analítica de todos sus datos. Generalmente se utiliza para ofrecer búsquedas de texto complejas a nuestra aplicación. Gracias a Elasticsearch...
Proyectos y gestión: El mundo “Ágil(e)”
En un artículo anterior, hablamos de proyectos, gestión, el Project Manager e introdujimos el concepto Agile. Es hora ya de poner los puntos sobre las íes, ya que la tendencia lleva tiempo siendo migrar a este enfoque tan molón en la gestión de proyectos. Orígenes...
HDD, ¡un nuevo paradigma!
HDD, Hard-Disk Drive, discos duros, NO. HDD son las siglas de Hype-Driven Development tal y como lo define Marek Kirejczyk en su blog tecnológico. Se trata de una tendencia muy humana según la cual las novedades más promocionadas, aquéllas a las que se les da mucho...
Patrones GoF Fecha de publicación
Los patrones de diseño, extensamente utilizados en la industria del desarrollo de software, representan soluciones standard a problemas recurrentes. La idea de patrón en el contexto del desarrollo se inspira en el arte arquitectónico, proporcionando un recurso...
Testing de aplicaciones Web
Cuando se desarrolla un proyecto de software nunca se deben subestimar sus pruebas. Esta parte es crítica, tanto para ofrecer la calidad que el cliente espera como para desarrollar un software robusto y libre de errores. Dependiendo del tipo de pruebas, estas...
Introducción al desarrollo de videojuegos para móvil con Unity 3D Fecha de publicación
Actualmente Unity 3D es uno de los entornos de desarrollo de videojuegos multiplataforma más usado en el mundo. Vio la luz en mayo de 2005 y ahora posee uno de los motores de videojuegos más potentes del mercado, un editor de escenas 3D y un IDE para programar, aunque...
Hipervisores VS Contenedores
El mundo está cambiando a marchas forzadas. Las metodologías de trabajo y de administración se están modificando, incluso revolucionando gracias a nuevas tecnologías de virtualización. Virtualización: hipervisores Volvamos unos años atrás. Tímidamente aparecían nuevas...
Herramientas de un ecosistema Java para un desarrollo ágil
Cuando se habla de un ecosistema para el desarrollo ágil, se está hablando de un conjunto de herramientas y metodologías que permiten que los desarrollos estén más controlados, permitiendo llegar a los hitos en los plazos fijados. En este artículo nos vamos a centrar...
C++14 y lo que trae C++17
C++ es un lenguaje con una larga trayectoria de uso en la industria del software. Difícilmente se puede encontrar un programador que no conozca C++. Creado en 1979, C++ fue oficialmente estandarizado en 1998. Esa estandarización ha sido actualizada en 2003, 2011 y...
Cómo ser desarrollador iOS de aplicaciones comerciales y no morir en el intento
¿Quieres ser desarrollador móvil y no sabes cómo? Aquí vamos a intentar guiarte entre toda la cantidad de información que puedes encontrar. Antes de ponernos con todos los pasos, y ya que estamos hablando de iOS, recordaremos la frase que Steve Jobs dijo en su...
Swift: Patrón Repositorio con Genéricos
Antes de ponernos manos a la obra vamos a ver por qué nos viene bien utilizar este patrón. Tenemos una aplicación en la que sus datos pueden estar en diferentes sitios: Core Data, Realm, SQLite, memoria, preferencias de usuario, servidor… Cada vez que necesitemos unos...
Proyectos y gestión
Mucha gente considera que la mejor (y a veces única) forma de ascender en el mundo del desarrollo de software es dedicarse a la gestión de proyectos. De hecho hay empresas que promueven esta vía profesional. Lamentablemente la gestión de proyectos es un campo que no...
IoT. Internet de las cosas
Internet de las cosas, Internet of Things, o IoT por sus siglas en inglés, es un concepto a veces un poco abstracto, pero que desde hace algún tiempo está generando bastante interés en las empresas y en general en toda la población. Cuando hablamos de Internet de la...
Seguridad web y OWASP
OWASP, de Open Web Application Security Project, es una organización sin ánimo de lucro dedicada al estudio de las amenazas de seguridad que sufre el software que se desarrolla en la actualidad. Además de identificar cuáles son estas amenazas, OWASP toma como tarea el...
Symfony: el rey de los frameworks PHP
Symfony es, posiblemente, el framework PHP más popular y utilizado actualmente, junto con Laravel, del que ya hablamos en otro artículo anterior. Es, además, utilizado por grandes proyectos, y tiene una enorme Comunidad detrás. Conozcámoslo un poco más. Lo primero que...
Laravel: Eloquent PHP
En el año 2011, PHP pegaba fuerte como lenguaje para la web, a pesar de ser un lenguaje considerado como mal diseñado, inconsistente y con importantes carencias. Como ejemplo, sirva decir que funcionalidades como los espacios de nombres o las clausuras, estándares en...
Ruby, o cómo programar de manera simple y rápida
Ruby es un lenguaje de programación desarrollado por Yukihiro Matsumoto ('Matz'), orientado a objetos, multiplataforma y de desarrollo rápido, con una sintaxis similar a lenguajes como Perl o Python. Entendiendo las necesidades de nuestros días. Ruby en el mundo...
GIS en 2016: dónde nos encontramos
Los Sistemas de Información Geográfica, o GIS (por sus siglas en inglés: Geographical Information Systems) son, en el año 2016, una pieza clave en el mundo tecnológico. En sus orígenes, el concepto GIS estaba asociado a grandes máquinas realizando procesos pesados, y...
Desarrollo .NET multiplataforma: Windows, Linux y Mobile.
Desde que en el 2014 Microsoft anunciara la liberación de la plataforma .NET, ha habido importantes avances para facilitar la vida de los desarrolladores, como la liberación del programa que usa el científico Stephen Hawking para comunicarse (ACAT) que está escrito en...
¿Así que esto es Machine Learning?
Si sois profesionales del sector, habréis notado cómo en los últimos años dos tecnologías ocupan gran parte de las conversaciones: Big Data y Machine Learning. En este post vamos a intentar conocer un poco de esta última. Si no estamos familiarizados ya con esta...
AngularJS: Preparándonos para el futuro
De un tiempo a esta parte el presente de las aplicaciones web ha cambiado sobremanera. Si hace unos años JavaScript era considerado como un mero validador de código en la parte cliente, ahora se ha convertido en un lenguaje envolvente, capaz de realizar las mismas...
Testing de aplicaciones en JavaScript
Es bien sabido que todo proyecto que se precie necesita superar una fase de pruebas en su ciclo de vida. Sin embargo, esta realidad cada vez se hace tan evidente que empiezan a surgir metodologías de desarrollo de software en las que las pruebas juegan un papel...
Desarrollo de aplicaciones con VAADIN
Vaadin es un framework RIA derivado de GWT para el desarrollo de aplicaciones web basado en HTML5 y Javascript. Apareció en su primera forma en el año 2002 y en su actual arquitectura en el 2009, estando implantado actualmente en miles de sitios web. Veamos los puntos...
Bases de datos NoSQL, la antítesis de las bases de datos relacionales
Durante años hemos dado una importancia suma al tratamiento de la información, a su seguridad e incluso al rendimiento en la explotación de datos. Sin embargo, existe un problema cuando hablamos de tratamiento de información a gran escala: cuando la información está...
Novedades JAVA 8
LA EVOLUCIÓN DE UN DINOSAURIO Como ocurre en la vida real, por ejemplo, con las grandes empresas, Java se ha convertido a lo largo de los años en un producto de gran tamaño, donde cualquier cambio ha de ser muy meditado por las implicaciones que pueda llevar. Así,...
SCRUM, una metodología ágil
De un tiempo a esta parte, las tecnologías y metodologías ágiles han tomado una importancia increíble en el mundo empresarial. Sobre todo en las factorías de software se veía necesario un nuevo “modelo de trabajo”, basado en la buena gestión de los mejores recursos...
XCode 7, ¡lo que está por llegar!
Tras la presentación de este año de Swift 2.0 y XCode7, llegan una gran cantidad de jugosas novedades para los desarrolladores, que permitirán nuevas y muy interesantes posibilidades en el mundo iOS y OSX a nivel de desarrollo. ¿Qué hay de nuevo, viejo? Una de las...
Big Data
¿Qué es el Big Data? En la actualidad, el Big Data está presente en muchos eventos tecnológicos. Cuando se habla de él se asocia a la idea de que es necesaria su implantación para conseguir que la empresa pueda aprovechar sus características para conseguir más...
Virtualización de escritorios con VMware Horizon View
Sin duda, una de las funcionalidades más interesantes que nos ofrece el mundo de la virtualización es la de poder proporcionar escritorios virtuales a nuestros usuarios finales. Desde la aparición de los primeros PCs destinados a los usuarios finales, uno de los...
ODI Oracle Data Integrator – Un nuevo enfoque en la Integración de Datos
La aparición de Oracle Data Integrator 11g, y su nueva versión Oracle Data Integrator 12c, ha supuesto un nuevo paso estratégico, por parte de Oracle, en el desarrollo de una plataforma de integración de datos estable y consistente. Además, constituye una plataforma...
Funciones analíticas en ORACLE
Uso de la funciones LAG/LEAD Dos de las funciones analíticas que introduce Oracle en su lenguaje SQL son LAG y LEAD, que permiten obtener el valor de la fila anterior y posterior respectivamente. Esta funcionalidad es sumamente útil en operaciones de análisis de...
Despliegue de aplicaciones en JBoss EAP 6.2 con CLI
El desarrollo de aplicaciones web implica la creación de componentes JavaEE: Clientes de aplicación y applets (en el cliente). Java Servlet, JavaServer Faces (JSF), and JavaServer Pages (JSP). Enterprise JavaBeans (EJB) (o enterprise beans). Los componentes, una vez...
Webscripts en Alfresco ECM
Los WebScripts son elementos clave dentro de Alfresco y de uso obligado para cualquier desarrollador. Nos permiten construir servicios web para la gestión de contenidos accesibles vía HTTP, es decir, convierten el repositorio de Alfresco en un gestor de contenido...
Java7. NIO2
Nio2, permite un enfoque basado en buffer y canales. Es un nuevo componente aparecido en Java 7. Es un formato asíncrono. Los buffer son objetos que contienen datos y los canales son los dispositivos propiamente dichos como un archivo o socket. Para usar este sistema,...
Columnas Virtuales
La capacidad de crear columnas virtuales es una característica nueva en Oracle 11g que permite definir un campo que contiene datos derivados (calculados), obtenidos de otras columnas de la base de datos. Las características que tiene son: No consumen espacio ya que se...
Leer documentos XML desde Enterprise COBOL
Podemos procesar documentos XML desde programas Cobol usando el mandato XML PARSE. Este mandato es el interface de alta velocidad del lenguaje Cobol, que es parte del “run-time” del compilador. El tratamiento de un documento XML implica el control en ambos sentidos....
Internacionalización con JSF
Cuando se diseña una aplicación web se utiliza un idioma para generar la información, pero generalmente se quiere que pueda encontrarse expresada en algún otro idioma más. La internacionalización es el proceso que permite diseñar una aplicación de tal forma que se...
WebLogic: Balanceo de carga Oracle Forms
Oracle http Listener, balancea la carga a distintas instancias Oracle WebLogic, que abrirá un pool de instancias Forms Server Runtime, encargadas de la ejecución de los trabajos. A continuación se muestran los distintos escenarios disponibles para dar disponibilidad a...
Duplicar una base de datos utilizando RMAN
Se puede utilizar RMAN para duplicar una base de datos con el comando DUPLICATE a partir de los backups de la base de datos original manteniendo la base de datos original intacta. La base de datos duplicada (con nuevo DBID) será idéntica a la base de datos target o...
HTML5. La etiqueta video
Hasta ahora, no existía un estándar para visualizar una película de vídeo en una página web. Hoy, la mayoría de vídeos se muestran a través de un plug-in del estilo de flash. HTML5 define un nuevo elemento que especifica una forma estándar para incrustar una vídeo o...
ALFRESCO: El modelo de contenidos
Diseño y desarrollo de los cimientos de un proyecto de gestión de contenidos Alfresco incorpora un metamodelo en su estructura, es decir, la capacidad para que nosotros declaremos nuevos modelos de contenido. Un modelo de contenido define la estructura de información...
Hibernate: Recuperación de objetos. Fetch y Lazy
Hibernate recupera la información de la base de datos de una forma peculiar. Existen dos conceptos importantes que debemos controlar cuando se trabaja con Hibernate: Cuándo decide Hibernate recuperar la información de la base de datos y cargarla en memoria. De qué...
Administración avanzada de red en Linux. Filtrado de tráfico con Iptables
El Kernel de Linux, a través de Netfilter y las heramientas iptables, es capaz de implementar potentes firewalls hasta nivel 4 de red. La configuración de un firewall a través de la herramienta iptables puede hacerse de 2 maneras diferentes: Mediante un script de...
Aplicaciones OLAP. Bases de Datos Dimensionales
Introducción a los cubos Las herramientas OLAP (onLine Analitical Processing) tienen como objetivo fundamental soportar las consultas “ad-hoc” de los usuarios que analizan el negocio. Por lo general estos usuarios están familiarizados con el uso de las hojas de...
JEE. Mensajería JMS
Introducción JMS En JEE el concepto de mensajería se refiere a la comunicación con poco acoplamiento entre emisor y receptor y totalmente asíncrona. Se podría definir su comportamiento como buzón de voz, donde un emisor deja un mensaje para que un receptor lo recoja...
Oracle11g. Identificación de SQL Cargado
Identificar el SQL Cargado es el primer paso en el proceso de ajuste de SQL. En este capítulo se verán las distintas herramientas disponibles para identificarlo con: ADDM Top SQL Dynamic performance views Statspack Proceso de Ajuste de SQL Existen tres pasos en el...
HTML5: WebWorkers y WebSockets
Webworkers Los WebWorkers nos permiten ejecutar procesos en paralelo sin impactar en el rendimiento del navegador. Sin Web Workers por ejemplo, las tareas JavaScript pueden bloquear otros JavaScript de la página y por tanto el Navegador se puede colgar. JavaScript es...
JPA. JQL Java Persistence Query Language
Introducción JPA JPA es un componente de la arquitectura J2EE que permite establecer un interface de mapeo ORM (Object Relational Mapping) para gestionar datos en aplicaciones Java. Los datos que se gestionan en Java normalmente se solucionan a través de objetos,...
“Múltiples inquilinos”. La nueva arquitectura de Oracle12c
¿Qué significa la “c” en Oracle 12c? Tras el éxito de la anterior base de datos, Oracle11g (“g” identifica grid computing ‑red/rejilla), la versión más reciente de base de datos de Oracle (sobre la versa esta documentación) es Oracle12c, “c” representa cloud...
Tendencias en Business Intelligence
El ámbito de la inteligencia de Negocios o Business Intelligence está alcanzado un auge considerable en los últimos años y su previsión de crecimiento está entre las más altas del mercado. Se estima que para el ciclo 2014-2016 estará en torno a un 10% anual. El avance...
Catálogo 2024
Conoce nuestra oferta formativa para este año
Catálogo IA
Descarga nuestro catálogo específico de Inteligencia Artificial