jueves, 29 de noviembre de 2012

Data Contracts

Hoy por la tarde alguien de mis amigos me comento, se ve interesante pero generas Entidades clásicas pero nosotros usamos Data Contracts, … le dije entonces hagamos un template para ello.

using System;
using WcfSerialization = global::System.Runtime.Serialization;


namespace !namespace!
{
/// <summary>
/// Data Contract Class - DC!table_name!
/// </summary>
[WcfSerialization::DataContract(Namespace = "http://www.EmsvSoftware.com/DC!table_name!", Name = "DC!table_name!")]
public partial class !classname!
{

<region to="columns">
private !datatype! !colname!;
</region>


<region to="columns">
[WcfSerialization::DataMember(Name = "!colname!", IsRequired = false, Order = $index)]
public !datatype! !colname!
{
get{ return !colname!;}
set{!colname! = value;}
}
</region>
}
}

mejor una imagen para que se aprecie mejor
datacontracts

y bueno, en el GenCode, agregamos la solución y un proyecto de tipo entidad y le asignamos el template de Data Contracts que habiamos creado.


seldc


Y el resultado fue este:


Parte 1


dc1


Parte 2


dc2


Bueno se podría decir que esta en algo.

miércoles, 28 de noviembre de 2012

Espicificando un Template para uso del sp_xml_preparedocument con GenCode 2012 r 3.1

 

Tambien podemos agregar a nuestros templates de scripts de base de datos la generacion de procedimientos usando sp_xml_preparedocument, y asi poder hacer inserciones masivas a nuestras tablas mediante un xml

como seria el Template

template

La salida

resultado

jueves, 22 de noviembre de 2012

Video de como funciona GenCode 2012 r 3.1

Les doy a conocer la funcionalidad del nuevo generador en un video.

para que se visualize mejor en algunos casos hay que poner la calidad del video a 720 dpi HD

martes, 20 de noviembre de 2012

GenCode 2012 r 3.1 Test Stored Procedure

 

En este módulo a comparación de la version anterior no solo se ejecuta el stored procedure, si no que dependiendo del motor de base de datos nos va ha dar indicadores, por ejemplo en el caso de SQL las lecturas logicas y promedios de las lecturas y en el caso de Oracle podemos ver los números de las ejecuciones, el uso de la memoria entre otros.

Solamente hay que seleccionar el stored procedure y automaticamente se obtendrán los parámetros, en el cuál podemos editar y al momento de ejecutar podremos observar los resultados en la parte inferior en una grilla de datos y en la parte superior los indicadores.

Para SQL Server

llsql

Para Oracle

lloracle

martes, 13 de noviembre de 2012

Diccionario de Datos mejorado con GenCode

 

En las versiones anteriores sólo se limitaba a mostrar el nombre de la columna, el tipo de datos y la longitud, pues ahora esto ya no es así, pues tambien se ha incluido información de tipo de clave (PK, FK) y los comentarios que nos van a dar mayor información al momento de documentar nuestra base de datos o procesos que estemos generando código. En conclusion se mejora la herramienta para el desarrollador.

aca vemos el listado de tablas disponible al momento de seleccionar la base de datos

Capture

 

luego de ello, el resultado, ya que gracias  al rdlc, podemos exportar a Word, Excel y PDF

rep

sábado, 6 de octubre de 2012

GenCode 2012 r 3.1 (en construcción …..)

 

Demos una mirada a la nueva version del generador de código (en construcción).

Una de las caracteristicas principales es que se basa en plantillas (Template) en la que el usuario define el código que se va a generar ya sea en C# o VB.net.

Su diseño es más amigable y un entorno que es una fusión entre el IDE del SQL Server y características de Visual Studio.

Aca observamos el IDE principal con sus opciones de configuración con las cuales el motor del GenCode usa para poder generar código.

Capture

En esta imagen vemos la parametrizacion de los tipos de datos y sus equivalencias con el lenguaje de programación

datatype

 

Luego podemos configurar que libreria de acceso a datos queremos usar, como por ejemplo: DBType, SqlType, OracleType ya que es completamente configurable y asu vez definimos cual seria su parser segun el lenguaje de programación que definamos.

Ejemplos de Librarias, bueno podemos decidir entre usar ADO net clasico, Enterprise Library u Oracle Data Access Component, es completamente libre.

library

La parte más resaltante es el uso de template, como les mencione al inicio del post.

En esa sección se muestran las plantillas de proyecto (clases) a las cuales les definimos plantilla de código, que el Generador maneja con su propio motor y parser de lectura basado en XML y Regular Expresion

El parser del GenCode reconoce su propia sintaxis de marcado y sus propias funciones que devuelven los metadados que son reemplazados en las plantillas, haciendo al GenCode mas flexible.

template

templatedl

Aun estoy contruyendo las demas funciones, vamos lentos pero seguros.

Otra caracteristica que mencioné como fusion de Visual Studio, es que para generar código, tenemos que crear una Solucion y a esa solución empezamos a agregar los proyectos de clases donde se van a alojar con el codigo resultante, el acceso a la base de datos es muy similar a las versiones anteriores pero con ligeras variantes que poco a poco voy a mostrar.

solution

columns

Vamos viendo una de las mejoras en la opcion de conexion al servidor de datos, el cual es la base de la generación de código

gcEntity

gcdl

 

solexplorer

vale mas una imagen que mil palabras y observamos los resultados en el Solution Explorer en el que se van agregando las clases generadas

 

 

 

 

 

 

 

Como se agregan los proyectos a la solucion y definimos la plantilla a usar, pues en la siguiente imagen se los muestro

addprojectEntity

lunes, 13 de agosto de 2012

Crear un Web Test en VS 2010

Es común preguntarse si nuestras aplicaciones tienen un buen rendimiento, y para ello Visual Studio nos provee de herramientas que nos van a permitir generar indicadores para tomar desiciones y mejorar nuestros aplicactivos

para ello aca les pongo un ejemplo muy sencillo de una página que obtiene data Dummy.

 

dummy2

 

Primero agregamos un proyecto de Test

 

Capture

 

Luego agregamos el Test

addwebTest

 

Luego seleccionamos Web Performance Test

 

addwebTest2

 

 

y automaticamente se inicia Internet Explorer, que nos va a permitir capturar los Response y Request, de forma automática conforme naveguemos en la aplicación o en la páginas

para ello ingresamos la url del aplicativo y nos carga un grid con la data dammy, suficiente pare generar response y request.

 

capturewebtest

 

Para finalizar la captura hacemos click en el boton stop y los parámetros son obtenidos por el visual studio

stop

 

par

 

Ejecutar el webtest

 

runwebtest1

 

Resultado de correr el webtest, nos indicara si paso exitosamente

runwebtest

 

Request

request

 

Response

response

 

Context

context

 

Hasta aquí, solo muestro los pasos para generar un webtest, ya que nos brinda información valiosa,

ya que podemos hacer que se ejecute en un loop, por ejemplo podemos hacer que esta página de pruebas se ejecute en un loop de 100 y ver el comportamiento de la página

y la parte final de esto es generar los Load Test que nos brinda información de los contadores, ya que aqui es donde realmente se va a estresar la aplicacion con la cantidad de usuarios concurrentes que le indiquemos y para ellos necesitamos generar código de los webtest que es un paso muy sencillo que los tocaremos en otro momento.

 

Espero les sirva de ayuda