miércoles, 26 de septiembre de 2012
domingo, 23 de septiembre de 2012
conexión de java con sql 2008 mediante el jdbc.
Para establecer una conexión de base de datos SQL Server mediante
NetBeans 7.0.1 a través de JDBC habrá que seguir los siguientes pasos en un
sistema operativo Windows:
1. Descargarse el
driver oficial de Microsoft SQL Server JDBC desde el siguiente enlace .
2. Una vez
descargado, hay que establecer en las propiedades de nuestro proyecto el driver
(Libraries> Compile) y pulsar sobre añadir JAR/Carpeta.
3. Buscar el archivo 'sqljdbc.jar' y seleccionarlo.
3. Buscar el archivo 'sqljdbc.jar' y seleccionarlo.
En estos tres pasos habremos establecido nuestro driver sql server para
nuestro proyecto, de manera que ya se podrá establecer la conexión contra SQL
Server a través de JDBC:
1. Importar la librería java.sql.*;
2. Establecer la cadena de conexión y demás parámetros:
JAVA:
1.
try {
2. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
4. "databaseName=Northwind;user=sa;password=123456;";
10.
}
En ciertas ocasiones
será necesario establecer la conexión TCP/IP de nuestro servidor SQL Server,
para ello seguir las indicaciones de esta página (son
para SQL Server 2005 pero aplicables).
PORTAFOLIO
1. Arquitectura Cliente-Servidor:
Una arquitectura es un
conjunto de reglas, definiciones, términos y modelos que se emplean para
producir un producto.
La arquitectura Cliente/Servidor agrupa conjuntos de elementos que efectúan procesos distribuidos y computo cooperativo.
La arquitectura Cliente/Servidor agrupa conjuntos de elementos que efectúan procesos distribuidos y computo cooperativo.
Un servidor es un conjunto
de Hardware y Software que responde a los requerimientos de un cliente.
Un cliente es un conjunto de
Software y Hardware que invoca los servicios de uno o varios servidores.
Un cliente realiza
peticiones a otro programa
Consta de al menos tres
niveles funcionales:
Ø Presentación:
Se refiere a la interfaz entre el usuario y el sistema. Acepta datos de
entrada.
Ø Lógica de negocio: Valida los datos, se realizan cálculos, etc.
Ø Nivel de acceso: almacenamiento físico y extracción de los datos.
Ø Lógica de negocio: Valida los datos, se realizan cálculos, etc.
Ø Nivel de acceso: almacenamiento físico y extracción de los datos.
Ejemplos:
La mayoría de los servicios de Internet son tipo de cliente-servidor. La acción de visitar
un sitio web requiere una arquitectura cliente-servidor, ya que
el servidor web sirve las páginas web al navegador (al cliente). Al leer este
artículo en Wikipedia , la computadora y el navegador web del usuario serían considerados un cliente; y las
computadoras, las bases de datos, y los usos que componen
Wikipedia serían considerados el servidor. Cuando el navegador web del usuario solicita un
artículo particular de Wikipedia, el servidor de Wikipedia recopila toda la información a
mostrar en la base de datos de Wikipedia, la articula en una página web, y la envía de nuevo al navegador web del cliente.
Otro ejemplo podría ser el funcionamiento de un juego online. Si existen dos servidores de juego, cuando un
usuario lo descarga y lo instala en su computadora pasa a ser un cliente. Si
tres personas juegan en un solo computador existirían dos servidores, un
cliente y tres usuarios. Si cada usuario instala el juego en su propio
ordenador existirían dos servidores, tres clientes y tres usuarios.
2. Tipos de estructuras:
Ø Cliente-Servidor
Tradicional:
Se
carga una sola página a la vez, y se espera la respuesta de una solicitud para
responder la otra.
Ø
Arquitectura
en 2 niveles:
La arquitectura en 2 niveles se utiliza para
describir los sistemas cliente/servidor en donde el cliente solicita recursos y
el servidor responde directamente a la solicitud, con sus propios recursos.
Esto significa que el servidor no requiere otra aplicación para proporcionar
parte del servicio.
Características:
• Dos capas
• El cliente maneja
la interfaz de usuario y lógica de aplicación
• El servidor maneja la base
de datos y lógica transaccional
Ø Cliente-Servidor de 3
capas:
En la arquitectura en 3 niveles,
existe un nivel intermediario. Esto significa que la arquitectura generalmente
está compartida por:
·
Un
cliente, es decir, el equipo que solicita los recursos, equipado con una
interfaz de usuario (generalmente un navegador Web) para la presentación
·
El
servidor de aplicaciones (también denominado software intermedio), cuya tarea es proporcionar los recursos
solicitados, pero que requiere de otro servidor para hacerlo
·
El
servidor de datos, que proporciona al servidor de aplicaciones los datos que
requiere.
Ø Cliente-Servidor de N
capas:
En la arquitectura en
3 niveles, cada servidor (nivel 2 y 3) realiza una tarea especializada (un
servicio). Por lo tanto, un servidor puede utilizar los servicios de otros
servidores para proporcionar su propio servicio. Por consiguiente, la
arquitectura en 3 niveles es potencialmente una arquitectura en N-niveles
Ejemplos:
• WWW
• Web-browser
• Web-server (app server)
3. Transact-SQL:
Transact-SQL
es fundamental para trabajar con SQL Server. Todas las aplicaciones que se
comunican con SQL Server lo hacen enviando instrucciones Transact-SQL al
servidor, independientemente de la interfaz de usuario de la aplicación.
- Transact SQL no es CASE-SENSITIVE, es decir, no diferencia
mayúsculas de minúsculas como otros lenguajes de programación como C o
Java.
- Un
comentario es una aclaración que el programador incluye en el código. Son
soportados 2 estilos de comentarios, el de línea simple y de multilínea,
para lo cual son empleados ciertos caracters especiales como son:
- --
Para un comentario de linea simple
- /*
... */ Para un comentario de varias lineas
- Un
literal es un valor fijo de tipo numérico, caracter, cadena o lógico no
representado por un identificador (es un valor explícito).
- Una
variable es un valor identificado por un nombre (identificador) sobre el
que podemos realizar modificaciones. En Transact SQL los identificadores de variables deben comenzar
por el caracter @, es decir, el nombre de una variable debe comenzar por
@.Para declarar variables en Transact
SQL debemos utilizar la palabra clave declare, seguido del identificador y tipo de datos de la
variable.
·
Un script
de Transact SQL es un conjunto
de sentencias de Transact SQL en
formato de texto plano que se ejecutan en un servidor de SQL Server.
·
Un script está compuesto por uno o varios lotes. Un lote delimita el alcance de
las variables y sentencias del script. Dentro de un mismo script se diferencian
los diferentes lotes a través de las instrucción GO.
En ocasiones es necesario separar las sentencias en varios lotes, porque Transact SQL no permite la ejecución
de ciertos comandos en el mismo lote, si bien normalmente también se utilizan
los lotes para realizar separaciones lógicas dentro del script.
6. Arquitectura SMP:
Una arquitectura SMP es
básicamente una expansión de una arquitectura tradicional pero con la adición
de varios procesadores que comparten todos los demás recursos del sistema
(memoria principal, almacenamiento secundario, periféricos de entrada y
salida). En esta arquitectura no se establece distinción entre los
procesadores; todos son jerárquicamente iguales y pueden ejecutar tareas
indistintamente. De esta característica viene el nombre de ``simétrica''.
En general una arquitectura SMP tiene un
equivalente en uniprocesador, y naturalmente un sistema SMP puede ejecutar
simultáneamente varios programas o aplicaciones, que normalmente podrían
ejecutarse en el sistema uniprocesador, de manera independiente. Sin embargo,
para el uso de aplicaciones que aprovechen los múltiples procesadores para
expeditar la realización de cálculos, nos interesa que dichos procesos no sean
totalmente independientes, buscando entonces que cuenten con manera de
comunicarse para distribuirse información, compartir y consolidar resultados.
Ya que un sistema SMP los procesadores comparten
todos los periféricos y recursos, el esquema más obvio para comunicarse en una
arquitectura SMP es el uso de memoria compartida. Como el nombre lo indica, en
este esquema los procesadores tienen acceso a un espacio de direcciones común;
esto puede ser todo el espacio de direcciones o únicamente un área designada
para memoria compartida, permitiendo a cada proceso contar con un área
exclusiva para sus requerimientos.
La memoria compartida es un esquema conceptualmente
simple de utilizar. Sin embargo presenta ciertas limitaciones. Una de ellas, ya
que se puede tener a dos o más procesadores manipulando la misma área de
memoria, es que se puede caer en inconsistencias donde un procesador espera un
dato que ha sido modificado por otro. Esto también puede provocar condiciones
de competencia (``race conditions'') y atoramientos (``deadlocks''),
que son problemas clásicos de la sincronización de procesos, pero que no pueden
dejar de tomarse en cuenta en una arquitectura SMP. Estas condiciones pueden
resolverse utilizando mecanismos de sincronización de procesos, como semáforos,
monitores y secciones críticas.
La limitación más importante de la arquitectura
SMP, en términos del rendimiento máximo que puede alcanzarse, es la posibilidad
de saturación de los buses del sistema. Ya que todos los procesadores tienen
acceso al mismo bus de memoria, y en general a todos los periféricos que se
encuentran comunicados comúnmente por buses, conforme se incrementa el número
de procesadores se incrementa también el tráfico en dichos buses. Esto causa
una saturación que finalmente termina por negar el incremento de rendimiento
obtenido teniendo varios procesadores. Por esta razón una arquitectura SMP
difícilmente puede escalar más allá de algunas decenas de procesadores.
7 Arquitectura MPP:
Es un tipo de arquitectura de procesamiento
paralelo en que cada procesador tiene su propia memoria local pero puede
también tener acceso a la memoria de otros procesadores. Está es llamada
no-uniforme porque un procesador puede acceder su propia memoria local más
rápido que la memoria no local (memoria que está en otro procesador o
compartida entre procesadores).
MPP o procesamiento paralelo masivo (Massively
Parallel Processing) es un tipo de arquitectura que usa muchas CPUs separadas
corriendo en paralelo para procesar un solo programa. MPP es similar a
procesamiento simétrico (SMP: Symmetric Multiprocessing), con la principal
diferencia que en los sistemas SMP.
MSMQ:
La tecnología Microsoft Message Queuing (MSMQ) permite que aplicaciones que se ejecutan en momentos distintos puedan comunicarse a través de redes y sistemas heterogéneos que podrían estar temporalmente offline. MSMQ proporciona un medio de entrega de mensajes garantizada, encaminamiento eficaz, seguridad y mensajería basada en criterios de prioridad. Se puede utilizar para implantar soluciones para escenarios de mensajería asíncrona o síncrona.
MSMQ es una herramienta de Microsoft para realizar el manejo de colas de mensajes. La misma viene con Windows NT/2000 y cuenta con una interfaz que permite escribir programas en lenguaje C o utilizando componentes COM para realizar el envío y recepción de mensajes. Utilizando estas características se desarrolló un conjunto de funciones para el manejo de mensajes que pueden ser utilizadas desde GeneXus con el generador C/SQL.
La función principal de las colas de mensajes es la de permitir la comunicación asincrónica entre procesos. Muchas veces, se tiene un proceso que invoca una rutina que lleva mucho tiempo, pero que no interesa el resultado de la misma. En la programación tradicional, el proceso llamador queda esperando a que el invocado termine para poder continuar su ejecución, aunque no se vea afectado por los resultados. La ventaja que tienen los mensajes asincrónicos es que el llamador no sabe cuando se ejecuta el proceso y además puede continuar su ejecución una vez enviado el mensaje.
La función principal de las colas de mensajes es la de permitir la comunicación asincrónica entre procesos. Muchas veces, se tiene un proceso que invoca una rutina que lleva mucho tiempo, pero que no interesa el resultado de la misma. En la programación tradicional, el proceso llamador queda esperando a que el invocado termine para poder continuar su ejecución, aunque no se vea afectado por los resultados. La ventaja que tienen los mensajes asincrónicos es que el llamador no sabe cuando se ejecuta el proceso y además puede continuar su ejecución una vez enviado el mensaje.
MSMQ provee otras funcionalidades como ser la autenticación y el encriptado de mensajes, y el uso de transacciones externas, por ejemplo administradas por SQL Server.
5. Comunicación asíncrona:
Comunicación asíncrona. Es la conexión que se establece entre el cliente y el servidor que permite la transferencia de datos no sincrónica, o sea el cliente puede realizar varias peticiones al servidor sin necesidad de esperar por la respuesta de la primera.
A diferencia, las conexiones sincrónicas solo pueden realizar una petición al servidor y hasta que esta no sea respondida no se puede realizar la siguiente.
Ventajas de la comunicación asíncrona:
El uso de las conexiones asíncronas para la transmisión de datos está justificada en gran medida por la facilidad que brinda de realizar peticiones y obtener respuestas del servidor sin necesidad de recargar la página web, esto permite que el sitio web gane en velocidad reduciendo el consumo de ancho de banda. De esta forma es posible realizar cambios sobre las páginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones.
viernes, 21 de septiembre de 2012
Suscribirse a:
Entradas (Atom)