domingo, 27 de marzo de 2011
Desarrollando Aplicaciones Moviles
domingo, 13 de marzo de 2011
domingo, 30 de mayo de 2010
Creando una Aplicacion Web Basada en Arquitectura N-Capas
Introduccion
El desarrollo de software es una tarea que requiere tener conocimientos variados, tanto de capacidad de diseño, capacidad de analisis, capacidad de programacion, todas estas actividades deberian ser realizadas por un equipo, conformados por profesionales multidisiplinarios que reunan todos sus conocimientos en la elaboracion o desarrollo de un producto.
Una de estas Capacidades es la de poder representar una arquitrctura tanto logica como fisica a traves de Algoritmos que permitan recrear esta idea y transformarla en algo que se pueda ver mediante un IDE y un lenguaje de programacion.
Diseño Arquitectonico N-Capas
Capa de Acceso a Datos (Persistencia)
La Capa de acceso a datos la representaremos a traves de librerias de clases que permitan interactuar con una fuente datos.
Ejemplo en codigo VB.Net
#Region "Libreria"
Imports System.Data.Common
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports BESEC = BE.Seguridad
#End Region
Namespace Seguridad
Public Class PersonaDAO
#Region "Manejador de Datos Sql"
Public Function Conectar() As Boolean
Dim Estado As Boolean = False
Dim cn As SqlConnection = New SqlConnection()
Dim cmd As SqlCommand = New SqlCommand()
Try
cn.ConnectionString = "Data Source=JCPEINADO-PC\SQLEXPRESS;Initial Catalog=dbPrueba;Integrated Security=True"
cn.Open()
cmd.Connection = cn
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT * FROM RegPersona"
Dim obj As SqlDataReader = cmd.ExecuteReader()
Catch ex As Exception
Return Estado
Finally
Estado = True
End Try
cn.Close()
cmd.Dispose()
Return Estado
End Function
Capa de Negocio (BC)
La capa de Negocio permite interactuar con la capa de acceso a datos, permitiendo asi la separacion de funciones o delegacion.
#Region "Librerias"
Imports DAL.Seguridad
Imports BE.Seguridad
#End Region
Namespace Seguridad
Public Class Personas
Public Function Conectar() As Boolean
Dim DALObj As PersonaDAO = New PersonaDAO()
Return DALObj.Conectar()
End Function
Public Function Listado() As List(Of Persona)
Dim ObjPersona As PersonaDAO = New PersonaDAO()
Return ObjPersona.Listado()
End Function
End Class
End Namespace
Capa de Presentacion
La capa de presentacion se sirve de la capa de negocios para poder presentar los datos que la capa de negocio le entrega.
Imports BC.Seguridad
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
Dim BcObj As Personas = New Personas()
If BcObj.Conectar() Then
Response.Write("La coneccion fue exitosa !!!")
End If
dgPersona.DataSource = BcObj.Listado()
dgPersona.DataBind()
End Sub
viernes, 10 de abril de 2009
Estandarizacion en el proceso de desarrollo de software
Comentario.
Las empresas de desarrollo de software en la actualidad no toman en cuenta los aspecto de seguridad en el proceso de desarrollo del software, ni emplean estándares o normas para el ciclo de vida del mismo, es por ello que las empresas locales no son competencia para empresas extranjeras que cumplen con las normativas internacionales y pueden ofertar sus productos en cual parte de mundo por que tienen el aval de instituciones que las garantizan.
Es por ello que las acciones que tiene que tomar una organización para poder medir de alguna manera en que situación se encuentra con respecto a la seguridad en cada fase del proceso de desarrollo de software, es bastante tedioso de la manera en la que se lo afronta en la actualidad, sin contar con las herramientas, Metodología, estándares y normas que apoyen este tipo de proceso.
Esto ocasiona que la organización incurra en muchos gastos por que tienen que contratar con personal altamente capacitado o contratar empresas externas que se encarguen de este tipo de procesos, ya que el personal es muy reducido y están obligados a realizar diferentes tipos de tareas, ya que no existe una estructura en la organización bien definida.
El personal al no contar con herramientas de apoyo comienza a buscar alternativas para poder evaluar su propio software, haciendo que el compañero revise y valide lo que el otro a realizado, haciendo informal un proceso que es muy importante para el proceso de desarrollo.
Uno de los objetivos principales es el de adoptar una norma, modelo ya existente a nivel internacional adecuándola la realidad local, y proponerla como una normativa que cubra todos los aspectos de seguridad para el desarrollo de software.
Entre los objetivos puntuales es el de contar con normas y estándares de seguridad para cada uno de las fases del ciclo de vida del desarrollo de software.
Contar con herramientas de apoyo en cada una de estas fases que faciliten y guíen el proceso de desarrollo.
Adoptar los patrones planteados para emplearlos en el proceso de desarrollo.
Contar con metodologías y herramientas de test para poder medir el nivel de seguridad en el que se encuentra cada una de las fases del proyecto de desarrollo de software.
Para ello se adoptara una norma internacional que servirá para la elaboración de una guía que servirá de apoya a la norma, estas dos herramientas permitirán a las empresas que quieran auditar y elaborar un sistema lo puedan hacer de forma rápida y segura.
Esta guía contara con métodos para resolver cada uno de los puntos planteado por la norma a través de ejemplos prácticos y en algunos casos asiendo uso de técnicas y herramientas que ya son utilizadas por otras empresas internacionales con bastante existo.
La norma que se pretende utilizar o adoptar como la norma madre será la ISO/IEC 15408-3, que será interpretada y plasmada en la guía que se pretende presentar como solución al problema de implementación de software seguro en empresas locales, ya que esta cuenta con todos los puntos relevantes necesario para garantizar el desarrollo de un proyecto de software con todas las garantía necesaria.
miércoles, 13 de febrero de 2008
Desarrollando aplicaciones con FrameWork, .net, java
Esquema de desarrollo de software a traves de codigo manejado, que permiten el uso de herramientas, controles, liberias, que permiten el desarrollo de aplicaciones robustas.
Email: Jpeinadop@gmail.com
Google Colab + Python
¿Que es Google Colab? Colab es una plataforma cloud, que permite a sus usurios programadores trabajar sobre una plataforma primero multile...
-
Introduccion El desarrollo de software es una tarea que requiere tener conocimientos variados, tanto de capacidad de diseño, capacidad de an...
-
¿ Qué no es Docker ? En primer lugar Docker, no es una maquina virtual ya que este no requiere de una disposición física ya preconfig...