Mostrando entradas con la etiqueta Juan Pablo Cano. Mostrar todas las entradas
Mostrando entradas con la etiqueta Juan Pablo Cano. Mostrar todas las entradas

jueves, 8 de marzo de 2012

MICROSOFT DYNAMICS AXAPTA 2009 DESDE EL PUNTO DE VISTA DE UN ANALISTA DE SQL SERVER

Hace mucho tiempo que no subía ningún artículo al Blog, y pensando uno que pudiera ser interesante he optado por acercarme a Dynamics Axapta 2009. Pero va a ser un acercamiento desde el punto de vista de un Desarrollador en SQL Server.
Quizás algunas empresas afinen mas sus implementaciones, pero por lo general se dedican a implementar este producto desde el punto de vista puro y duro de Axapta. Adolecen de un punto de vista y afinamiento muy importante en SQL Server. Sí, ya se que puede implementarse usando ORACLE, pero yo me centraré en el primero.

De primeras el acercamiento es más bien duro y arduo, tras instalarse, nos encontramos con una Base de Datos que dispone de 2066 tablas, 25 vistas y varios procedimientos almacenados (también dependerá de la licencia de Axapta que se disponga).


Vamos a intentar desgranar un poco el sistema.

Esta es una lista de las tablas y a que modulo del sistema pertenecen, (mantengo la descripción en inglés, pues no quiero realizar traducciones que pudieran llevar a error en caso de buscar más información).


ADDRESS* Central address register
AIF* Application Integration Framework
ASSET* Fixed assets module
BANK* Banking module
BACH* Bach processing functionality
BOM* Bills of material functionality (manufacturing)
COS* Cost accounting module
CUST* Accounts receivables functionality
DEL_* Tables what are not used in the current version, but are still maintained for version upgrade purposes
DIMENSION* Cross application (financial) dimension tables
EVENT* Alert system tables
FORECAST* Item forecast functionality
HRM* Human recourse management tables
INTERCOMPANY* Tables for intercompany functionality
INTRASTAT* Tables related with intrastate reporting
INVENT* Inventory related functionality tables
KM* Knowledge management module tables
LEDGER* Tables related with general ledger functionality
NUMBERSEQUENCE* Number Sequence setup tables
OLAP* Tables related with Online Analytical Processing functionality in AX


Como podemos observar existen una serie de tablas que no deben usarse fácilmente, pues forman parte del propio sistema de la aplicación.

Desde luego, no es recomendable modificar datos o realizar borrados o, incluso, modificar la estructura, si no tenemos un conocimiento muy profundo, ya que existen relaciones dentro del modelo de datos. Es más, el propio Axapta, se encarga de recorrer tablas y recolectar distintos datos, que luego integra en sus propias tablas.

Para poder usar algo sencillo, vamos a realizar una simple consulta en una tabla muy interesante; CUSTTABLE. Como su propio nombre indica, almacena los datos principales de los Clientes de nuestra Empresa (customer register).

Realizamos un simple Select con los datos de prueba de la empresa Contoso de Dynamics.



No se muestran todas las columnas disponibles (125). Para una descripción detallada de las mismas ver: http://msdn.microsoft.com/en-US/library/aa891009%28v=ax.50%29.aspx

Estos mismos datos podríamos usarlos para generar fuera del entorno de desarrollo de Axapta, de un simple informe que nos muestre todos los Clientes que tenemos. Para realizarlo, utilizaremos Reporting Services de SQL Server.

1. Abrimos Visual Studio.
2. Seleccionamos Crear Proyecto.
3. En Tipos de Proyecto, seleccionamos Proyectos de Business Intelligence.
4. En Plantillas, seleccionamos Proyecto de Servidor de informes.
5. Pulsamos Aceptar.




Una vez creado nuestro Proyecto, Agregamos un Nuevo Informe.



Creamos nuestro Origen de Datos:



Pulsamos siguiente y en la consulta, introducimos el siguiente Select:

SELECT ACCOUNTNUM, DATAAREAID, NAME, ADDRESS, PHONE, TELEFAX, INVOICEACCOUNT, CUSTGROUP, CURRENCY, COUNTRYREGIONID, ZIPCODE, STATE,
COUNTY, URL, EMAIL, CELLULARPHONE, PHONELOCAL, NAMEALIAS, CONTACTPERSONID, INVOICEADDRESS, OURACCOUNTNUM, SALESPOOLID, INCLTAX,
CUSTITEMGROUPID, NUMBERSEQUENCEGROUP, LANGUAGEID, PAYMDAYID, LINEOFBUSINESSID, DESTINATIONCODEID, GIROTYPE, SUPPITEMGROUPID,
TAXLICENSENUM, CITY, STREET, PAGER, SMS
FROM CUSTTABLE

Pulsamos Siguiente.

Seleccionamos Tabular en el Tipo de Informe.

En Diseñar tabla, incluimos todos los datos en el Detalle.



Pulsamos Siguiente.
Seleccionamos el estilo de tabla que más nos guste.
Ponemos el nombre del Informe: Clientes, marcamos Vista previa y si hemos realizado correctamente todos los pasos, debería mostrarnos una pantalla como ésta:



Ya tenemos nuestro primer informe de Clientes, usando los datos de Axapta. Sencillo, ¿no?

Ahora solo es cuestión de ajustar las columnas, dejar los campos que más puedan interesarnos, y modificar el diseño con los colores que nos puedan interesar.





Como podéis ver, es muy sencillo obtener datos del Complejo Sistema, estudiando el modelo de datos y usando herramientas a las que estamos totalmente acostumbrados.


En el siguiente artículo, veremos otra tabla muy importante para nuestra Empresa; INVENTTRANS, así como ciertas relaciones que nos pueden ayudar mucho a entender la complejidad de esta grandiosa Aplicación.

lunes, 13 de septiembre de 2010

PASOS PARA CONFIGURAR SQL SERVER 2008 PARA ADMITIR CONEXIONES REMOTAS.

Las nuevas políticas de Seguridad de Microsoft incorporan restricciones a la hora de comenzar a usar SQL Server 2008. Los Servicios que antes estaban habilitados por defecto, ahora no lo están, y es función del Administrador ir habilitándolos según las necesidades de uso del mismo.

Una de las cuestiones más importantes es la de Admitir Conexiones Remotas en nuestro Servidor. A fin de habilitarlas y asegurarnos que se pueden conectar desde otros ordenadores debemos seguir unos sencillos pasos:

1. Abriremos SQL Server Management Studio, nos situamos encima de la instancia de nuestro Servidor y pulsamos botón derecho, Propiedades, seleccionamos Conexiones, nos mostrara la siguiente pantalla:



Ahora marcamos el checkbox: “Permitir conexiones remotas con este servidor” u pulsamos aceptar.

2. Vamos al Menú de Inicio > Programas > Microsoft SQL Server 2008 > Herramientas de Configuración > Administrador de Configuración de SQL Server, aparece la siguiente ventana:



Seleccionamos la Configuración de red de SQL Server y luego Protocolos de MSSQLSERVER. Como podemos observar, por defecto solo tiene habilitado el protocolo de Memoria compartida, el resto estan deshabilitados. Básicamente es el tipo de protocolo que se usa, cuando nos conectamos a SQL Server desde el mismo Servidor.

Lo que debemos hacer es habilitar los protocolos: “Canalizaciones con nombre” y “TCP/IP”. Para lo cual, pulsamos con el botón derecho del ratón encima de los mismos y pulsamos Habilitar. En las dos ocasiones nos mostrara un mensaje informándonos, que para que la nueva configuración surta efecto abra que reiniciar el Servicio de SQL Server.

Ahora nos quedará así:



3. Vamos al Menú de Inicio > Ejecutar y escribimos services.msc y le damos aceptar. De esta forma nos abrirá la Consola de Administración de Servicios. Nos desplazamos hasta el Servicio con nombre “SQL Server (MSSQLSERVER)”, nos situamos encima y pulsamos el botón derecho del ratón, seleccionando; reiniciar. Con esto aplicaremos los cambios efectuados en el paso anterior.




4. SI estamos utilizando SQL Server con nombre de instancia y sin emplear un número concreto de puerto TCP/IP, debemos habilitar el servicio SQL Server Browser, que se encuentra en la misma ventana de Servicios con el nombre de “SQL Server Browser”. Nos situamos encima y con el botón derecho del ratón pulsamos en Propiedades, o bien podemos hacer doble click, es lo mismo.


En el Tipo de Inicio, seleccionamos Automático y pulsamos Iniciar para que el Servicio arranque. Aceptar para cerrar la pantalla.

Este Servicio comporta ciertos riesgos de seguridad que deben ser considerados, pues existen otras alternativas a utilizar como configurar el Cliente de SQL Servidor con el Alias del Servidor, o utilizar la conexión incorporando el puerto de TCP/IP a usar, por defecto en SQL Server es el 1433.


5. Y por último, en caso de tener habilitado el Firewall de Windows, cosa que deberíamos tener por Seguridad, deberemos configurarlo para que los Servicios de SQL Server y SQL Browser puedan comunicarse con el exterior. Vamos a Menú de Inicio , hacemos clic en Ejecutar , escribimos firewall.cpl y pulsamos Aceptar. Nos muestra esta ventana:


Pulsamos en “Permitir un programa a través del Firewall de Windows” nos muestra:



Pulsamos en Agregar programa nos muestra la ventana:



Pulsamos en Examinar e introducimos la carpeta donde se encuentra el Servicio de SQL Server: “C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn” en la misma seleccionamos el programa: “sqlservr.exe” y pulsamos Aceptar. Repetimos la operación para añadir el SQL Server Browser que se encuentra en la carpeta: “C:\Program Files\Microsoft SQL Server\90\Shared”. Seleccionamos el programa: “sqlbrowser.exe” y pulsamos Aceptar. Veremos que ambas excepciones nos aparecen en la pantalla de Configuración del Firewall.

Y con esto ya tenemos configurado nuestro Servidor SQL 2008 para permitir Conexiones desde cualquier ordenador de nuestra red.

viernes, 19 de marzo de 2010

MALWARE EN APLICACIONES LEGÍTIMAS


Esta Semana, he recibido este correo, la verdad, bastante preocupante de confirmarse las noticias que se detallan:

Si allá por el 2005, Mark Russinovich, nos mostro como Sony incluía un Rootkit en sus CDs para tratar de evitar la copia y distribución de contenidos protegidos, que podía ser aprovechado por otro malware para ocultarse en el Sistema Operativo, este mes de Marzo se han destapado varias noticias relacionadas.
Así, desde Hispasec y Security By Default, nos informan como Vodafone ha distribuido junto con el software de su HTC Magic, el troyano empleado por la Bornet Mariposa, el Conficker, el Lineage y otro software para robo de datos bancarios. Por otro lado, nos cuentan también, que los cargadores USB de Energize incluyen un troyano con el que un usuario podría lograr el control de los sistemas afectados, que por cierto, ya es posible explotarlo a través de Metasploit.

Si a esto añadimos otras noticias, como la distribución de malware desde la página Oficial de Firefox, o la "forma" de detectar nuevo malware de los antivirus, hace que el tema del malware este más candente que nunca.

lunes, 21 de diciembre de 2009

SQL SERVER 2008 Y LA LOPD


Nueva característica en SQL Server 2008 Enterprise Edition

Cifrado de datos transparente (TDE). En SQL Server 2005 teníamos algo parecido pero a nivel de columna. Ahora en esta nueva versión podemos encriptar toda la base de datos y así protegerla ante el robo de los datos contenidos. Muy importante de cara a la LOPD y al cumplimento en la encriptación de datos de nivel alto.
La definición dada por Microsoft es: “El cifrado de datos transparente (TDE) realiza el cifrado y descifrado de E/S en tiempo real de los datos y los archivos de registro.”

La forma de usarlo sería mediante unos sencillos pasos:
1. Seleccionamos la base de datos master:
2. Creamos nuestra clave de encriptación. Para ello hay que usar una palabra segura con mayúsculas, minúsculas, números y caracteres de puntuación. De acuerdo con las normas de Microsoft.
3. Creamos el certificado a nivel de Servidor. Garantiza que nuestra base de datos no podrá ser restaurada en otro Servidor, mientras no exista este certificado.
4. Seleccionamos nuestra base de datos.
5. Creamos la clave de encriptación en la misma, para ellos usamos el certificado que hemos creado antes.
6. Activamos el cifrado en la misma.

Scripts de configuración:

-- 1
USE master

GO

-- 2
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'P@ssw0rd1!'
GO

-- 3
CREATE CERTIFICATE MiCertificado WITH SUBJECT = 'Certificado Servidor'
GO

-- 4
USE Mibasedatos
GO

-- 5
CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_128 ENCRYPTION BY SERVER CERTIFICATE MiCertificado
GO

-- 6
ALTER DATABASE Mibasedatos SET ENCRYPTION ON
GO



Y ya podemos usarla con toda seguridad.

lunes, 13 de julio de 2009

EL FUTURO SEGÚN MICROSOFT

Nada que decir durante los seis minutos que dura en video. Sólo ver, oir, callar y alucinar. En mi opinión una mezcla de Minority Report de Tom Cruise y Harry Potter.


Productivity Future Vision

jueves, 21 de mayo de 2009

VISUAL STUDIO 2010 BETA 1 ¡ALLÁ VAMOS!

Desde hoy se puede descargar la Beta1 de este entorno de desarrollo de Microsoft desde AQUÍ. Así que sin dudarlo un momento me pongo con ello y me bajo los 1,13 GB que ocupa el ISO. También sin dudarlo lo instalo en mi nuevo y flamante ordenador Intel Pentium Quad con Hyper-V y sus 4 Gb de memoria. Como tal todo funciona perfectamente y se instala en unos cuantos minutos. Solo me solicita un reinicio.

La primera pantalla que aparece es ésta:


Como se puede comprobar, Microsoft ha remodelado... todo el entorno para adaptarlo a su nueva tecnología WPF. Todo muy visual.
La primera sensación es de un incremento sensible en la velocidad de carga de este entorno y su ejecución. Desde luego tras la primera carga en la cual configura y recompila por primera vez todos los ensamblados del mismo.

Si pulsamos New Project nos aparece esta pantalla de selección de template:



Como se puede observar además de todos los templates existentes en las versiones anteriores añade los nuevos de Framework 4.0.

Selecciono Windows Form Application y tras añadir algún control para ver si existen cambios destacables a primera vista, tengo la siguiente pantalla:



En principio los controles son los mismos a los que se les ha añadido los Visual Basic PowerPacks, que antes tenías que descargarte aparte. Desde luego esto no es mas que una primera impresión en un entorno que destaca por su agradable apariencia visual, si rendimiento y aparente solidez. He probado Betas de productos anteriores y en muchas ocasiones me he tirado tardes enteras para hacerlas funcionar sin que empezasen a mostrar errores continuos. Por suerte, este no es el caso y parece que Microsoft empieza a entregarnos productos cada vez más sólidos y potentes.

También he probado a cargar alguno de mis proyectos desarrollados con Visual Studio 2005 Pro y con los inmejorables controles de DevExpress y tengo que reconocer que se ha ejecutado sin problemas y sin errores. Una pequeña pega que he tenido con las pantallas de diseño que tenían estos controles, me ha mostrado el siguiente error:

“This method uses CAS policy, which has been obsoleted by the .NET Framework. In order to enable CAS policy for compatibility reasons, please use the legacyCasPolicy configuration switch. Please see http://go2.microsoft.com/fwlink/?LinkId=131738 for more information.”

Aparentemente por las nuevas políticas de seguridad de código del nuevo Framework 4.0 y de los controles que no son totalmente compatibles con este nuevo entorno de desarrollo actualmente.

Se pueden descargar ejemplos de C# 4.0 en:

http://code.msdn.microsoft.com/csharpfuture/Release/ProjectReleases.aspx?ReleaseId=1686

Yo creo que por hoy es suficiente. Seguiré probando sus muchas novedades para el desarrollo en Windows.