sábado, 20 de febrero de 2010

Instalando Oracle Fusion Middleware 11g

Para hacer una instalación rápida, aquí les dejo un pequeño resumen:

1) Descargue e instale: Oracle WebLogic Server 11g Rel 1 (10.3.2)

2) Descargue e instale: Oracle Database 10g Express Edition

3) Descargue e instale Enterprise Repository (11.1.1.2.0)

Descomprima y por cosola (CMD) digite: cd c:\ofm_rcu_win_11.1.1.2.0_disk1_1of1\rcuHome\BIN
Luego ejecute: rcu.bat






A mí se me presento el siguiente error:

RCU-6083:Fallo: Comprobar requisitos para el componente seleccionado:SOAINFRA
Consulte el log de RCU en C:\Oracle\Middleware\ofm_rcu_win_11.1.1.2.0_disk1_1of1\rcuHome\rcu\log\logdir.2010-02-18_22-55\rcu.log para obtener más información.
Consulte el log de RCU en C:\Oracle\Middleware\ofm_rcu_win_11.1.1.2.0_disk1_1of1\rcuHome\rcu\log\logdir.2010-02-18_22-55\rcu.log para obtener más información.
RCU-6107:Fallo de Requisitos de Parámetro de Inicialización de Base de Datos para: processes
El Valor Actual es = 40. Debería ser ser mayor o igual que 200.
http://soadev.blogspot.com/2009/07/error-in-running-repository-creation.html

En caso de presentarse el anterior error ejecutar las siguientes sentencias, en su motor Oracle:
Connect as SYSDBA using user "system"
SQL> connect system/password
SQL> show parameters processes
SQL> alter system set processes=200 scope=spfile;

Si instalo la Express puede hacerlo a través del administrador WEB

Luego retoma el wizard de del repositorio y al dar siguiente ya no se presentara el error:






4) Descargue e instale: SOA Suite de Oracle Fusion Middleware http://www.oracle.com/technology/software/products/middleware/htdocs/fmw_11_download.html

Importante abrir y actualizar el JDeveloper

6) Proceda a configurar un dominio en el Weblogic, y ya estará listo para trabajar con la SOA suite de Oracle.

jueves, 28 de enero de 2010

Beneficios y una ventana a la Arquitectura Empresarial

La arquitectura empresarial facilita el mejoramiento del negocio, le permite actualizarse y refinarse contribuyendo al entendimiento y control del negocio, para permitir una vista completa de la organización.

Para realizarlo existen diferentes Framework’s de arquitectura empresarial, los cuales nos indican el estado actual (AS-IS) y futuro o deseado (TO-BE) que podría llegar a tener una empresa, teniendo siempre como foco la realidad del negocio. Uno de estos Frameworks es TOGAF de la Open Group (http://www.opengroup.org/) (Sponsors Platinum: IBM y Hewlett-Packard), el cual presenta toda una metodología con un proceso iterativo basado en fases conocido como Architecture Development Method (ADM) el cual nos sirve para entender y mejorar el negocio en las organizaciones.

A continuación les presento un pequeño preview de lo que encontraran en cada una de sus fases:
Fase preliminar: Entender el negocio, principios, como se va a realizar la gobernabilidad, métodos a ser adoptados.

A. Visión de la Arquitectura: Alcance a nivel de IT (Como todas las demás fases son cíclicas) alineados con los procesos internos
B. Arquitectura Negocio: Estructura organizacional, Procesos, roles, objetivos que buscan los procesos
C. Arquitectura de sistemas de información: Aplicaciones, Seguridad y calidad de los Datos (Clientes, Proveedores, Facturas) “Bases de datos NO” todo lo que se refiere a entidades y objetos de negocio, Portabilidad.
D. Arquitectura Tecnológica: Todo lo que tenga que ver con Hardware, Software, bases de datos estándares
E. Oportunidades y Soluciones: Visibilidad sobre nuevas aplicaciones que apoyaran el negocio
F. Plan de Migración: Como va ser el plan de implantación detallado y como va ser el ROI
G. Gobierno de la implementación: Como, cuando, que personas
H. Arquitectura y gestión del cambio: En qué fase vamos, que hace falta?

Togaf además del método, propone el Enterprise continuum, el cuál es una vista que contiene el capital intelectual y diferentes tipos de artefactos de la Arquitectura.

Para más información TOGAF 9. The Open Group Architecture Framework (TOGAF): http://www.opengroup.org/architecture/togaf9-doc/arch/toc.html

domingo, 15 de noviembre de 2009

Patrones de seguridad para SOA

Cuando aplicamos en general la seguridad atacamos diferentes dimensiones: La primera es la Autenticación que nos indica como nos vamos a autenticar a un servicio, la segunda Autorización es decir que operaciones podemos hacer a que recursos podemos acceder, la tercera es la Auditoría o conocida como no repudio donde podemos hacer rastreos de las operaciones no autorizadas y las ultimas Confidencialidad, Integridad y Disponibilidad las cuales nos aseguran que los datos son confiables, que no fueron alterados en el transporte y que nuestros servicios deben seguir disponibles para nuestros usuarios


EXCEPTION SHIELDING

Problema: Sin filtrar datos de la excepción de salida de un servicio, este puede contener detalles de la implementación interna que puede comprometer la seguridad del servicio y su entorno.

Solución: Asegurar las excepciones sustituyendo los datos sensibles de la excepción, por datos seguros.

Aplicación: En tiempo de diseño, mediante ejecución (subrutinas).

Impacto: El seguimiento de errores es más difícil.



Message Screening

Problema: Un atacante puede transmitir mensajes con contenido malicioso o incorrecto a un servicio, dando lugar a un comportamiento indeseable.

Solución: Cuando un servicio recibe un mensaje, éste hace una serie de controles para detectar el contenido del mensaje de datos dañinos

Aplicación: Cuando un servicio recibe un mensaje este hace una serie de chequeos para detectar el contenido mal formado.

Impacto: Se requiere tiempo de procesamiento extra, y la lógica de detección requiere rutinas especializadas para procesar contenido de los mensajes binarios, tales como archivos adjuntos

Trusted Subsystem

Problema: Un consumidor que tiene acceso a los recursos backend de un servicio directamente, puede comprometer la integridad de los recursos

Solución: El servicio está diseñado para utilizar sus propias credenciales de autenticación y autorización de los recursos backend en nombre de los consumidores

Aplicación: Dependiendo de la naturaleza de los recursos subyacentes, varias opciones de diseño y tecnologías de seguridad se pueden aplicar

Impacto: Si este tipo de servicio se ve comprometido por los atacantes o usuarios no autorizados, puede ser explotado para acceder a una amplia gama de recursos.

Service perimeter guard

Problema: Los consumidores externos que requieren acceso a uno o más servicios en una red privada, podrían atacar el servicio o usuario para acceder a recursos internos

Solución: Un servicio intermedio se establece en el perímetro de la red y este es asignado para trabajar con un FireWall así que pueda establecer comunicación entre la red externa y la interna

Aplicación: Establecer un mecanismo seguro, entre redes externas e internas

Impacto: Adiciona complejidad y sobrecarga al rendimiento ya que hay una labor intermedia
Para más información: http://www.soapatterns.org/masterlist_c.asp

Modelos operacionales

Las empresas tienen modelos operativos y es importante que estas hagan uso de la tecnología para apoyar su modelo.

Dentro de la “Arquitectura Empresarial” (En otro post ampliare este concepto), es importante que las empresas identifiquen en que cuadrante “están” o a cual se quieren “mover en el futuro” ya que la forma de operar debe estar alineada con la estrategia de la organización. A continuación presento un mapa mental que presenta un resumen del paper del MIT donde se encuentran explicados estos modelos:

http://web.mit.edu/cisr/resbrfgs/2005_12_3C_OperatingModels.pdf


jueves, 13 de agosto de 2009

Que indican los cuadrantes mágicos de Gartner? Cuál es su objetivo?

Primero que todo Gartner es una empresa consultoría encargada de investigar, la industria y las tendencias del mercado. Dentro de sus famosos cuadrantes mágicos, se pueden identificar las diferentes empresas que se encuentran en la vanguardia en tecnologías como: BPM, BI, ERP, etc. A continuación podrán ver un resumen de los cuadrantes del 2004, 2007 y 2009 que hacen referencia a BPM, las clasificaciones se encuentran por competidores, lideres, buenos jugadores y visionarios. Su objetivo es ser uno de los puntos de partida o base, para aquella organización que está buscando implementar tecnología BPM en la automatización de sus procesos de negocio. Por supuesto mi favorito y que además ha estado en lo cuadrantes es BizAgi – Vision.








jueves, 16 de julio de 2009

Que se debe tener en cuenta en los componentes y arquitectura involucrados en un LoadTest?

En la Internet, se habla mucho de TeamTest, hasta podemos encontrar imágenes y videos muy superficiales de cómo hacer pruebas unitarias y de carga, a nuestras aplicaciones WEB. Lo cierto es que en la actualidad nuestras aplicaciones WEB son cada vez más robustas y dinámicas. Por ello es que en los ambientes que disponemos para las pruebas, se deben hacer unas preparaciones previas en nuestra infraestructura y ambientes, para garantizar su éxito.

Consejos importantes para garantizar el éxito de tus pruebas: (De no hacerlo tus pruebas se van a ver frustradas y mal interpretadas).

Configuraciones en el Servidor WEB:

  • WEB.CONFIG: Validar que en el Web.config la opción de debug se encuentre apagada:
  • Se debe asegurar que los assemblies de la aplicación, se generen en release y no Debug
  • MACHINE.CONFIG: Para aprovechar el o los procesadores de tu servidor, debes cambiar la configuración predeterminada del FrameWork, realizando el siguiente cálculo matemático, por procesador con el fin de reducir contención, cuando se maneja mucha carga:
http://msdn.microsoft.com/en-us/library/ms998549.aspx

Configuraciones en la Base de Datos SQL 2005:

  • En SQL 2000 anteriormente para manejar los bloqueos o abrazos mortales, debíamos añadir a nuestras consultas, las conocidas sentencias sucias (NOLOCK). Con SQL 2005 ya no es necesario, basta con configurar adecuadamente el nivel de aislamiento (ISOLATION LEVEL) a SNAPSHOT y así nuestro motor funcionará similar a como lo hace ORACLE, manejando versionamiento de filas. En una instalación predeterminada el nivel de aislamiento de la transacción READ COMMITTED, vine por defecto. Para utilizar el aislamiento SNAPSHOT, debemos agregar el siguiente Transact-SQL: ALTER DATABASE MyDatabase SET ALLOW_SNAPSHOT_ISOLATION ONCon este otro no hay necesidad de hacer algo adicional en el código (Como colocar en las transacciones: SET TRANSACTION ISOLATION LEVEL SNAPSHOT;):ALTER DATABASE MyDatabase SET READ_COMMITTED_SNAPSHOT ON

http://msdn.microsoft.com/es-es/library/ms174269(SQL.90).aspx

Reportes y contadores a analizar después de un LoadTest en VS2008

Este es uno de los resúmenes, que nos arroja el Team Test:
A continuación el tipo de análisis que debes hacer, luego que termina la carga. Los siguientes imágenes se obtienen haciendo clic sobre la traza de contadores, dentro de la herramienta Team Test (cuando finaliza la carga), por supuesto debes tener en cuenta adicionar los contadores apropiado, y aportar un buen analisis:

Indicador General

A continuación se presenta el total de las solicitudes, y las peticiones por segundo: En el contador de carga de usuarios podemos visualizar como se fue incrementando 5 usuarios a 50 en el primer minuto con los 30s de la prueba.(Haciendo uso de la carga completa de usuarios virtuales). También podemos observar el número de solicitudes por segundo y ver que número de errores presentados durante la prueba en este caso con valor 1.
Indicador de Procesador y Memoria

Servidor WEB (10.1.5.116):En el siguiente gráfico podemos observar, que el procesador se mantuvo en un promedio de %32 y tuvo 3 picos de %89 lo cual es normal, al no tratarse de un valor constante. Su uso de memoria se mantuvo en un 30%. Es importante resaltar que el proceso w3wp en el servidor de mantiene en un intervalo de 200m a 230m.

Servidor BASE DE DATOS(10.1.5.119):En el siguiente gráfico podemos observar, que el procesador se mantuvo en un promedio de %3 este no presenta ningún pico. Su uso de memoria se mantuvo en un 14%

Indicadores IIS

En el siguiente gráfico podemos observar, que se presentaron 8 peticiones en cola (Requests Queued). También podemos ver a nivel de ASP NET, no se presentaron solicitudes rechazadas (Requests Rejected) ni reinicios del proceso W3p (Worker Process Restarts) utilizado por la aplicación.

En los últimos 30s, los requerimientos se empiezan a encolar (Requests Queued), esperando una respuesta, por defecto en el machine.config el máximo es 100. Cuando se sobre pase este valor, entonces el servidor Web habrá alcanzado el límite de requerimientos concurrentes que puede procesar.



Indicadores SQL Server
En el siguiente gráfico podemos observar que no se presentaron bloqueos (Number of Deadlocks/sec), el máximo Número de bloqueos (Lock Waits/sec) por segundo fue de 1s. Total de (Full Scans/sec) 138. El Número máximo de transacciones en la base de datos corresponde a 1.524. Número máximo de conexiones a la base de datos 22.



Indicadores .NET CLR Memory y Loading

Porcentaje de uso de CPU que se lleva el recolector de basura CLR (% Time in GC). Se observa que el tiempo de procesamiento que le esta llevando al GC en recolectar la basura, está por encima de los umbrales propuestos por Microsoft. Los iconos amarillos corresponden a Umbrales sobrepasados de warning y los rojos a umbrales de error




El contador Current Assemblies, que nos indica el número total de assemblies en memoria se mantuvo en un valor constante, lo cual es normal.
Byte in all Heaps: Este contador es la suma de otros cuatro contadores: Gen 0 Heap Size, Gen 1 Heap Size, Gen 2 Heap Size y Large Object Heap Size. Muestra la cantidad de memoria virtual en bytes actualmente alocada en los heaps manejados. Si este contador crece sostenidamente indica que existe una leak de memoria en código manejado.