Oracle MCS: Almacenar valores en las Políticas de Aplicación

Oracle MCS permite gestionar el ciclo de vida en varios niveles, diferentes entornos y versionados. En este post vamos a poner el foco en la gestión del ciclo de vida (versionado) de cada uno de los artefactos como, por ejemplo, Mobile Backends, Custom APIs y sus implementaciones, etc. Estos artefactos tienen dos estados: draft y published. Una vez que una API está publicada, se congela, porque no es seguro modificarla. Si la modificamos podemos causar problemas a los diferentes componentes que estén utilizando dicha API.

Esta es una de las razones por la que el versionado es uno de los puntos clave que hay que tener en cuenta cuando desarrollamos APIs.

Vamos a suponer que tenemos una aplicación móvil que consume una API de Twitter expuesta en Oracle MCS. Para poder conectarnos a la API propia de Twitter, necesitamos unas credenciales que podemos obtener de la Plataforma de Twitter en el momento en que creamos una aplicación.

Una opción, por ejemplo, sería tener las credenciales en un fichero JSON o incluso dentro de una variable en nuestro fichero de implementación.

Pero, ¿es ésta la forma correcta de hacerlo? Bueno, podemos pensar que sí, es más, Oracle MCS nos permite crear una nueva implementación de la API, desplegarla en MCS y activarla sin tener que modificar nuestra aplicación móvil.

A parte de los problemas que podemos causar si por error modificamos una línea de código, que no debíamos tocar, no podremos reutilizar esta API para otras aplicaciones móviles que requieran otras credenciales.

Leer más…

Cuando el crecimiento de la empresa y el desarrollo profesional van unidos

La vocación por la tecnología y trabajar para conseguir los objetivos de nuestros clientes es lo que tenemos en común las personas que formamos avanttic. El “100% Oracle” es la pasión de avanttic y de todos nosotros: lo que comparte la compañía con las personas que la formamos.

En este marco profesional (este contexto que nos engloba) el crecimiento y el desarrollo profesional van unidos. Es una relación bidireccional porque en la medida que avanttic crece, los que estamos aquí crecemos. Y en cuanto cada uno de nosotros nos formamos, mejoramos y avanzamos en nuestra carrera profesional, hacemos posible que avanttic crezca.

Cuando hablo con compañeros o con algunos candidatos sobre desarrollo profesional y posibilidades de crecimiento, suelo decir que estamos en un buen momento y en el lugar adecuado. avanttic crece día a día y eso permite nuestro crecimiento personal. Sólo hay que esperar la oportunidad, por ejemplo un proyecto nuevo que necesite la figura de un coordinador, uno que implique trabajar con una tecnología nueva, una oportunidad internacional…

¿Qué responsabilidad tiene cada uno en esto? ¡Estar preparados! avanttic debe velar por este crecimiento, invirtiendo en certificaciones y en formación técnica y competencial, alineada con la mejora del desempeño y los planes de desarrollo profesional. El equipo debe implicarse, estudiar, investigar y en ocasiones invertir tiempo personal para su desarrollo.

El crecimiento de avanttic conlleva el crecimiento del equipo.

Y si el equipo crece, avanttic es más grande.

Introdución a Kubernetes: Orquestando dockers

Resultado de imagen de kubernetesEn anteriores entradas vimos una introducción a docker, además de cómo crearlos y manternerlos.

Pero, ¿cómo los gestionamos y utilizamos? Hay diferentes herramientas para orquestar docker, como swarn, apache mesos o kubernetes. En esta entrada nos vamos a centrar en la herramienta que google donó al software libre en 2015: kubernetes. A Google siempre le ha gustado hacer trabajar a otros y que éstos le aporten contenidos: maps, youtube, etc…. Y no iba a ser diferente con kubernetes, una de las herramientas que tiene ahora mismo más desarrolladores y commits.

Kubernetes consta de diferentes componentes que nos ayudan a gestionar nuestros contenedores docker, como dns, red, proxy, monitorización, apis, scheduler, etc. La instalación es bastante complicada, pero vamos a ver dos formas que nos la facilitan: minikube y kubeadm.

Minikube levanta máquinas virtuales con todos los componentes para que funcione kubernetes. Podemos elegir virtualbox, kvm, hyperv… Es muy sencillo y nos servirá para probarlo. Es poco operativo porque levanta los contenedores dentro de las máquinas virtuales, con la limitación que pueden tener éstas de memoria o espacio.

Kubeadm nos levanta en local contenedores docker con los componentes de kubernetes y se conecta al demonio local de docker.

En avanttic tenemos un cluster con dos nodos de kubernetes instalados con kubeadm, los llamamos kubernetes1 y kubernetes 2, vamos a ver unos ejemplos.

Selection_027

Primero vamos a ver unos conceptos importantes:

  • Deployment: es el contenedor docker que vamos a desplegar que contiene la aplicación. Por ejemplo un servidor web.
  • Pod: un pod es cada unidad de Deployment que tenemos funcionando. Con kubernetes gestionamos cuantos pods queremos levantar de cada aplicación.
  • Services: son los servicios que exponemos que hacen referencia a los PODS

Vamos a desplegar una aplicación, por ejemplo, un servidor web o un weblogic que podemos descargar de nuestro repositorio docker de avanttic https://hub.docker.com/u/avanttic. Como estos últimos son privados por tener licencias, vamos a probar con un apache.

Leer más…

Categorías:WebLogic Etiquetas: , , ,

ADF tips: Diferentes formas de mostrar mensajes de validación

ADF tips

Este post trata sobre las diferentes opciones que tenemos para mostrar mensajes de validación, como cuando tenemos un componente de entrada de datos marcado como requerido o como cuando utilizamos un componente tipo af:validateDoubleRange para manejar la validación.

Podemos tener un formulario simple como éste:

Por defecto, si solo hay un error de validación, el mensaje se mostrará en una especie de bocadillo.

Si por el contrario tenemos más de un mensaje, estos se mostrarán en un popup.

Si queremos cambiar la forma en la que se muestran los mensajes disponemos de 2 componentes:

Leer más…

Categorías:ADF / Java Etiquetas: , , ,

1 año ayudando a transformar el mundo

Hoy, 6 de julio de 2017, se cumple un año desde que avanttic firmó su adhesión al Programa Unidos de Save the Children.

Durante estos meses, avanttic ha ido realizando aportaciones trimestrales del fondo solidario, que proviene de lo que se ha ido recolectando en las diversas campañas realizadas desde avanttic_lives.

Nuestro interés por seguir colaborando en ayudar a la infancia ha hecho que, además de seguir con Save the Children por otro año más, hayamos ampliado las donaciones a otras entidades locales.

En Barcelona se han hecho algunas aportaciones extraordinarias a la Fundación de Sant Joan de Deu, la última al programa #paralosvalientes que tiene como objetivo construir un hospital para vencer al cáncer infantil.

En Madrid la aportación de nuestro I Torneo de Padel Solidario se destinó a ASION, la Asociación Infantil Oncológica de Madrid.

En avanttic queremos creer que, mediante la difusión y las aportaciones económicas de nuestras campañas #avanttic_solidary, ayudamos a transformar su mundo.

¿Por qué Oracle IoT Cloud Service es una magnífica solución?

En alguna ocasión ya hemos hablado de IoTCS (Oracle Internet of Things Cloud Service), como en la entrada en la que desarrollamos cómo IoTCS complementa toda la solución PaaS de Oracle. Pero hoy vamos a mostrar cómo funciona y cuales son las piezas que hacen de este producto una magnífica solución para todas nuestras necesidades relacionadas con Internet of Things, como por ejemplo sensores.

 

 

Resumiendo, IoTCS pertenece al gran abanico que nos proporciona Oracle alrededor de PaaS. Este producto nos ayuda a tomar decisiones y estrategias críticas al permitir conectar dispositivos (Raspberry, Arduino…) a la nube, analizar los datos de esos dispositivos en tiempo real y llegar a integrarlos con las soluciones empresariales de las que se disponga.

En la siguiente imagen de Oracle IoT Cloud Service mostramos una vista a alto nivel de la arquitectura.

oracle_iot_cloud_architecture.png

Los datos de las “things – dispositivos en algún lugar del mundo” son enviados a IoTCS. Éstos pueden ser enviados conectándose directa o indirectamente, en cuyo caso el dispositivo se comunicará con una pasarela (posiblemente a través de un protocolo propietario) y ésta enviará los datos a IoT Cloud Service.

Dichos dispositivos y sus conexiones son gestionados por el producto. Los atributos, la categoría de dispositivo o la ubicación se pueden agregar a los dispositivos para ayudar a encontrar otros dispositivos rápidamente (por ejemplo, para localizar uno defectuoso).

Los datos enviados a la nube pueden ser enviados directamente a los sistemas de backend (que pueden estar on premise o en la nube) o pueden ser analizados en la nube y el resultado del análisis enviado a otros sistemas, por ejemplo a un BI para producir informes más detallados o a un sistema ERP para realizar un seguimiento de los activos.

Veamos con más detalle cada módulo de IoTCS y de forma sencilla cómo trabajar con ellos.

Leer más…

Categorías:Cloud Etiquetas: ,

OHS 12.2.x privilege ports (<1024) UNIX

junio 29, 2017 Deja un comentario

En versiones previas a la 12.2.x, como ya se indicaba en este post, el procedimiento para iniciar el OHS en los puertos inferiores a 1024 ha ido modificando con el tiempo y esta versión no iba a ser menos que las anteriores.

Dicho procedimiento se ha simplificado en esta última versión y las tareas a realizar son las siguientes:

  1. Parar los procesos de OHS:
    $DOMAIN_HOME/bin/stopComponent.sh ohs1
    
  2. Como usuario root modificar el propietario del fichero “launch” y sus permisos:
    chown root $ORACLE_HOME/ohs/bin/launch
    chmod 4750 $ORACLE_HOME/ohs/bin/launch
    
  3. Modificar el fichero $DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/httpd.conf (o ssl.conf si se va a securizar). En este caso modificamos ssl.conf:
    ###################################################################
    # Oracle HTTP Server mod_ossl configuration file: ssl.conf        #
    ###################################################################
    
    # The Listen directive below has a comment preceding it that is used
    # by tooling which updates the configuration.  Do not delete the comment.
    #[Listen] OHS_SSL_PORT
    Listen 443
    [...]
    #[VirtualHost] OHS_SSL_VH
    <VirtualHost *:443>
    
  4. Iniciar el proceso OHS y verificar el puerto:
    $DOMAIN_HOME/bin/startComponent.sh ohs1
    
Categorías:WebLogic Etiquetas: ,