domingo, 27 de marzo de 2011

Desarrollando Aplicaciones Moviles

Plataformas utilizadas en el Desarrollo de Aplicaciones Móvile

Windows 7 series, a nueva versión del sistema operativo de Microsoft para SmartPhone que vino hace unos dias y que, al menos con previews, dejó impresionados a muchos, no estará disponible para ningún aparato que cuenta ahora con Windows Mobile 6.1 o 6.5. Microsoft se ha puesto mucho más estricto con los requisitos de cada uno de los celulares que traerá Windows Phone 7 (para mejorar la experiencia del usuario), y por lo tanto, al no contar con los 3 botones necesarios (3 botones, exactamente), el HD2 de HTC no califica para actualizarse al Windows 7.

htc-hd2-angled

El primero de nueva gama de HTC de Mobile World Congress del mes pasado, y trazando una línea directa de nuevo a un teléfono casi 12 meses de edad, el HTC Increíble debe dejarnos fríos.Embalaje ni la gran pantalla de la Touch HD , ni correr el sistema operativo más reciente, como la inminente deseo , es un núcleo de teléfono único en lo que es rápido perfila como un núcleo mundo dual. Lo que pasa es más débil dispositivos tienen la costumbre de sorprender a usted, y el no es diferente. Echa un vistazo a la completa revisión SlashGear.


Comentario
A mi parecer en este momento estas son las dos plataformas mas empleada en nuestro país para el desarrollo de aplicaciones móviles, en este momento las dos cuentan con una gran gama de celulares que tienen su sistema operativo en ellos los mas populares htc, samsung, nokia, etc.
Su framework de desarrollo como ser su sdk de ambos son gratis para bajar, es por ello que muchos desarrolladores lo emplean en sus proyectos, pero como dicen el mejor de ambos es el que mejor domine el desarrollador y al que le puedan sacar lo mejor de cada uno.

domingo, 13 de marzo de 2011

OWASP - SEGURIDAD EN APLICACIONES WEB
El proyecto abierto de seguridad en aplicaciones Web (OWASP por sus siglas en inglés) es una comunidad abierta y libre de nivel mundial enfocada en mejorara la seguridad en las aplicaciones de software. la misión es hacer la seguridad en aplicaciones "visible", de manera que las organizaciones pueden hacer decisiones informadas sobre los riesgos en la seguridad de aplicaciones. Todo mundo es libre de participar en OWASP y en todos los materiales disponibles bajo una licencia de software libre y abierto. La fundación OWASP es una organización sin ánimo de lucro 501c3 que asegura la disponibilidad y apoyo permanente para su trabajo.

COMENTARIO

En la actualidad son pocas las empresas que incorporan la seguridad en sus desarrollos, ya que suponen que es un gasto el agregar técnicas y estándares de seguridad en sus procesos, por considerarlos tediosos y caros su implementacion.
Es por causa de este tipo de acciones que nuestro software en la actualidad es subvalorado por nuestros clientes ya que creen que es un software de menor calidad que el importado.

Si quieres conocer un poco sobre la organización OWASP puedes hacerlo aquí. http://www.owasp.org/index.php/Main_Page

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

Estandares en el Proceso de Desarrollo de Software.


Los estandares son parte muy importante de la gestion del desarrollo de software, sin estos la elaboracion de cualquier proyecto seria algo insirto, ya que no contaria con mecanismos para poder gestionar y controlar de forma correcta todo el ciclo de vida del proyecto de software a elaborar.

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

Framework

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...