miércoles, 15 de julio de 2015

Entity Data Model (EDM), Entity Framework

¿Qué es una entidad?
Según:

Una entidad es cada objeto identificable y separable. Se refiere a individuos, organizaciones, sistemas, bits de datos o inclusive distintos componentes de sistemas que son considerados importantes en sí mismos.
Ver ejemplos de diferentes definiciones en el enlace anterior.


EDM Definición
Según:

El bloque fundamental de construcción de Modelo de Entidades de Datos (EDM)  es un Tipo Entidad (Entity Type). Un (Entity Type) sirve de plantilla para las entidades, el cual representa un objeto específico con una clave única de entidad dentro del conjunto de entidades, una colección de instancias de un Tipo de Entidad. En el modelo conceptual, los Tipos Entidad son construidos a partir de propiedades y describen la estructura en un nivel más alto. Los grupos de entidades (Entity) son agrupados lógicamente en un Contenedor de Entidades (Entity Container)


Entity Data Model   
Según:

Es un conjunto de conceptos que describen la estructura de los datos, independientemente del formato en el que estén almacenados. EDM se basa en el modelo entidad-relación (Entity-Relationship Model) descrito por Peter Chen en 1976, pero también incorpora nuevas funciones y amplía sus usos tradicionales. Ver: https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model

EDM soluciona los desafíos que plantea el tener datos almacenados en muchos formatos. Considere, por ejemplo, un negocio que almacena los datos en bases de datos relacionales, archivos de texto, archivos XML, hojas de cálculo e informes. Esto presenta importantes desafíos en el modelado de datos, el diseño de aplicaciones y el acceso a los datos. Al diseñar una aplicación orientada a datos, el desafío consiste en escribir un código eficaz y que se pueda mantener sin sacrificar la eficacia del acceso a los datos, el almacenamiento y la escalabilidad. Cuando los datos tienen una estructura relacional, el acceso a los datos, el almacenamiento y la escalabilidad resultan muy eficaces, pero es más difícil escribir un código eficaz y que se pueda mantener. Cuando los datos tienen una estructura de objeto, se invierten las ventajas; es decir, la escritura de un código eficaz y que se pueda mantener se consigue a costa de la eficacia en el acceso a los datos, el almacenamiento y la escalabilidad. Aunque es posible encontrar el equilibrio adecuado entre ambos métodos, surgen nuevos desafíos cuando se mueven los datos de un formato a otro. Entity Data Model resuelve estos desafíos describiendo la estructura de los datos en forma de entidades y relaciones que son independientes de cualquier esquema de almacenamiento. Esto hace que el formato en el que están almacenados los datos sea irrelevante a la hora de diseñar y desarrollar las aplicaciones. Y, dado que las entidades y las relaciones describen la estructura de los datos tal como se usan en una aplicación (no el formato en el que están almacenados), pueden evolucionar al mismo tiempo que la aplicación.

Un modelo conceptual (conceptual model) es una representación específica de la estructura de los datos en forma de entidades y relaciones, y normalmente se define mediante un lenguaje específico de dominio (DSL) que implementa los conceptos de EDM. El lenguaje de definición de esquemas conceptuales (CSDL) es un ejemplo de este tipo de lenguaje específico de dominio. Las entidades y relaciones descritas en un modelo conceptual se pueden considerar como abstracciones de objetos y asociaciones en una aplicación. Esto permite a los desarrolladores centrarse en el modelo conceptual sin tener que preocuparse por el esquema de almacenamiento, así como escribir el código teniendo en cuenta la eficacia y el mantenimiento. Mientras tanto, los diseñadores del esquema de almacenamiento pueden centrarse en la eficacia en el acceso a los datos, el almacenamiento y la escalabilidad.Ver: https://en.wikipedia.org/wiki/Domain-specific_language


Otras páginas complementarias para ver:

https://msdn.microsoft.com/es-es/data/ef.aspx (Sitio de Microsoft para el estudio de EF)




---------------???(modelo de Entidad Relación)







lunes, 6 de julio de 2015

martes, 16 de junio de 2015

Desarrollo Guiado por Pruebas (test driven development c#)

https://msdn.microsoft.com/en-us/library/hh212233.aspx

https://msdn.microsoft.com/en-us/library/ff847525(v=vs.100).aspx (importante tutorial para MVC)


YOUTUBE
https://www.youtube.com/watch?v=rZ8Q5EJ2bQM

https://www.youtube.com/results?search_query=test+driven+development+c%23

http://codeduiadda.blogspot.com/ (para leer de las pruebas unitarias)

Sesiones Windows

http://www.brianbondy.com/blog/id/100/ (explicación de sesiones, escritorio, etc)

Proyecto C# EXAM 70 483

Catalogo de Proveedores

* Maestro de Proveedores, modificar, introducir, eliminar
* Maestro de Productos
* Ventas del Proveedor (Salidas)
* Clientes del Proveedor
* Salidas básicas de su Catálogo

Comunicación --- WCF (todos los demás protocolos) / WPF

Web --- WebAPI (WS, protocolo http)  --- SOA Arquitectura Orientada a Servicios, ahora esta evolucionando a Plataformas orientadas a servicios

alojamiento
bitspark
ecodominio

http://galawebhost.com.ve/areacliente/cart.php?gid=5

https://damienbod.wordpress.com/2013/11/18/using-sqlite-with-entity-framework-6-and-the-repository-pattern/ (Entity Framework sqlite)

Basic HTTP
WSHTTP      Internet


como llamar a otro formulario en WPF

Service.Navigate = new (Pagina.xaml)

= new (URI (pagina), absoluta /relativa

Inicio.xaml


Frame se puede trabajar como un master page

Maestros

Proveedores  ---- Incluir ---target ('Frame Inicial')

https://www.youtube.com/watch?v=SCWVa-HPxvQ

lunes, 8 de junio de 2015

Encriptación (Encryption)

Privacidad (para que la información sólo pueda ser accedida por determinados usuarios), encriptación, encriptacion de streams de datos, los datos encriptados son llamados chiphertext


El proceso contrario es la desencriptación (Decryption), (Cryptography) es el estudio y práctica de técnicas de encriptación y desencriptación.



Integridad (para que la información sea en todos sus datos y características originales), 



Autenticación (que la información de interés es de la realmente del origen que se desea), Certificados digitales, Hash para crear firmas digitales


SHA (Secured Hash Algorithm), para chequear integridad de los datos del mensaje
MAC (Message Authentication Code) algoritmo, para chequear tanto identidad del remitente y los datos del mensaje 


Aquí tiene que ver lo del Strong Name de la aplicación, implicando la firma digital y hash de los datos


encriptacion es diferente a criptografia


No repudio
no repu, auten, integridad de los datos

(IV) Initialization Vector



Llave simétrica
Llave asimétrica
Llave híbrida


Modelo de criptografía de .NET Framework (Lista de algoritmos recomendados según su aplicación) UY Importante!!


jueves, 4 de junio de 2015

jueves, 7 de mayo de 2015

Datagriview & Data

De los datagridview
http://arsalantamiz.blogspot.com/2008/09/binding-datagridview-combobox-column.html
Opciones del datagridview
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowsdefaultcellstyle(v=vs.110).aspx

Colocar la maxima longitud de una columna de un dgv

((DataGridViewTextBoxColumn)dataGridView1.Columns[yourColumn]).MaxInputLength = 6;


MUY IMPORTANTE PARA EL DESARROLLO DE APLICACIONES

https://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k%28APPLICATIONSETTINGSOVERVIEW%29&rd=true

https://msdn.microsoft.com/en-us/library/ff921347.aspx

https://msdn.microsoft.com/en-us/library/ff647359.aspx

https://msdn.microsoft.com/en-us/library/gg406140.aspx  (Guia para desarrollar en WPF una aplicacion)


https://msdn.microsoft.com/en-us/library/ee658117.aspx (Arquitectura)

Cuidado al modificar el Scope de la aplicacion pudiera dejar de funcionar ciertas operaciones

http://stackoverflow.com/questions/7671148/textbox-display-formatting



(Elementos esenciales de aplicaciones .NET Framework)
https://msdn.microsoft.com/es-es/library/ms172157(v=vs.110).aspx

https://msdn.microsoft.com/en-us/library/0x4t63kb(v=vs.110).aspx


https://www.google.co.ve/search?q=cas+.net&oq=cas+&aqs=chrome.0.69i59j69i65l3j69i57j69i60.1830j0j7&sourceid=chrome&es_sm=93&ie=UTF-8
(interesante para guardar datos con seguridad)


https://msdn.microsoft.com/en-us/library/ms229592(v=vs.110).aspx (Enhancing Windows Form Application)

https://msdn.microsoft.com/en-us/library/ff361664(v=vs.110).aspx (.NET Development) Punto Inicial

https://msdn.microsoft.com/en-us/library/system.windows.forms.binding(v=vs.110).aspx (Para enlazar un control con unas propiedades)

https://msdn.microsoft.com/en-us/library/ff361664(v=vs.110).aspx (Naming Convention)

https://msdn.microsoft.com/es-es/library/f45fce5x(v=vs.110).aspx (Recursos de escritorio)

sábado, 2 de mayo de 2015

martes, 3 de marzo de 2015

Correr aplicación como Administrador

Para correr una aplicación como administrador, se puede agregar al proyecto un nuevo elemento o ítem llamado: "Application Manifest File", que lo único importante a modificar en este caso es: 

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Posteriormente Visual Studio solicitará reiniciarse y a partir de allí, la aplicación correrá en modo administrador.


Referencias
http://stackoverflow.com/questions/2818179/how-to-force-my-net-app-to-run-as-administrator-on-windows-7



Otra para consultar

http://stackoverflow.com/questions/3598824/how-to-force-my-c-sharp-winforms-program-run-as-administrator-on-any-computer


xml version="1.0" encoding="utf-8" ?> 
 manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     version="1.0.0.0" name="MyApplication" />
     xmlns="urn:schemas-microsoft-com:asm.v2">
        
             xmlns="urn:schemas-microsoft-com:asm.v3">
                 level="requireAdministrator" uiAccess="false" />
            
        


http://www.programering.com/a/MjMwgDMwATI.html

lunes, 2 de marzo de 2015

Chequear versión del framework instalada

http://www.apesoftware.com/articles/check-for-dotnet.aspx

Recursos no liberados por una aplicación

Si por ejemplo se finaliza una aplicación que esta utilizando recursos no administrados por .NET, si dicho recurso como una dll no fue liberado de la memoria, este quedara utilizandose o sin poderse retomar pues no fue liberado por el sistema operativo. Por ejemplo se esta haciendo uno de una dll no manejada, y alguno de sus proceso u objetos no fueron , dado el caso que se cerró la aplicación sin liberar dichos recursos, se pueden revisar la información que muestra el sistema operativo



Al obtener el nombre de este caso que no libero los recursos, por ejemplo: "Libro de Ventas Aclas. exe", se le finaliza el proceso correspondiente

lunes, 23 de febrero de 2015

Otros instaladores

(Inno Installer)
http://www.jrsoftware.org/isdl.php

Nota: recordar al generar cambios guardar en el programa generador de instaladores del inno,