JSF con CDI - Parte I

SQL SERVER ORACLE MYSQL JAVA JAVAEE JDBC MVC DAO PATRONES ANDROID CDI
INTRODUCCIÓN
JavaServer Faces 2.0 define sus propias anotaciones para registrar las clases que van a ser Managed Beans. La anotación es @javax.faces.bean.ManagedBean y por lo tanto ya no es necsario especificar esta información en el archivo XML faces-config.xml.
También permite definir el ámbito de los Managed Beans y los hace accesibles desde expresiones EL.
@javax.faces.bean.ManagedBean
@javax.faces.bean.SessionScoped
public class ClaseDemo implements Serializable{ 
   ... 
}
Context and Dependency Injection (CDI) define el mecanismo para administrar beans y resolver dependencias entre servicios dentro del estándar JEE. CDI ofrece la posibilidad de inyectar componentes en una aplicación, incluyendo la posibilidad de seleccionar en tiempo de despliegue que implementación en particular se inyectara.
CÓDIGO FUENTE - EUREKA-CS-ORACLE-JDBC
En esta sección te presento un video que una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.
CDI: ANOTACIONES BASICAS
Registrar una Clase
Para registrar una clase en CDI se utiliza la anotación @javax.inject.Named.
@javax.inject.Named
public class ClaseDemo implements Serializable{ 
   ... 
}
Por defecto el nombre de la instancia es el nombre de la clase con su primera letra en minúscula, pero es posible especificar otro nombre para referirnos a la instancia de la clase, tal como se muestra a coninuación:
@javax.inject.Named(value = "demoController")
public class ClaseDemo implements Serializable{ 
   ... 
}
Ambito de la Instancia
CDI permite que las instancias existan en ámbitos bien definidos. Para marcar el ámbito de una clase manejada por CDI, se utilizan anotaciones que se encuentran en el paquete javax.enterprise.context.
Los ámbitos soportados por CDI son los siguientes:
@ApplicationScoped Las instancias existen durante todo el ciclo de vida de la aplicacion. Estas instancias son globales y accesibles desde cualquier sesión HTTP.
@SessionScoped Las instancias son accesibles por todas las peticiones que ocurren durante una sesión HTTP.
@ConverstationScoped Las instancias existen durante una conversación. Una conversación esta compuesta de varias peticiones y pueden existir varias conversaciones por sesión.
@RequestScoped Las instancias solamente existen durante la peticion HTTP. Una vez que termina el ciclo de vida de la petición, también termina su contexto.
El ámbito @RequestScoped es muy común, por lo que existe una anotación que incluye las anotaciones @Named y @RequestScoped, esta anotación es:
@javax.enterprise.inject.Model
CÓDIGO FUENTE - EUREKA-WEB-ORACLE-JDBC
En esta oportunidad te presento un video donde te explico cómo ejecutar el código fuente de una aplicación Java Web, utilizando HTML, CSS, JavaScript, AJAX y JSON, en la capa de persistencia se utiliza JDBC y base de datos Oracle XE 11g.
Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.
EJEMPLO
Descripción
En este ejemplo se desarrolla una aplicación sencilla, que sirva para ilustrar como se aplica CDI con JSF.
El caso es una aplicación que permita sumar dos números, tendremos una pagina para ingresar los números y otra para mostrar el resultado.
El IDE utilizado es NetBeans 7.4 con Glasfish 4.0.
En este ejemplo se utilizarán los siguientes recursos:
index.xhtml Página que presenta el formulario para ingresar los dos números.
result.xhtml Página para mostrar el resultado de la operación.
DemoController.java Clase java administrada por CDI.
Programación
Clase Java: DemoController
package pe.egcc.controller;

import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

/**
 *
 * @author Gustavo Coronel
 */
@Named
@RequestScoped
public class DemoController {

  private int num1;
  private int num2;
  private int suma;

  public int getNum1() {
    return num1;
  }

  public void setNum1(int num1) {
    this.num1 = num1;
  }

  public int getNum2() {
    return num2;
  }

  public void setNum2(int num2) {
    this.num2 = num2;
  }

  public int getSuma() {
    return suma;
  }

  public String doProcesar() {
    suma = num1 + num2;
    return "result";
  }

}
Página: index.xhtml
    <h:form>
<h1>SUMA DE DOS NUMEROS</h1>; <h:panelGrid columns="2"> <h:outputLabel value="Número 1:"/> <h:inputText value="#{demoController.num1}" size="5" /> <h:outputLabel value="Número 2:"/> <h:inputText value="#{demoController.num2}" size="5"/> <f:facet name="footer"> <h:commandButton value="Procesar" action="#{demoController.doProcesar()}"/> </f:facet> </h:panelGrid> </h:form>
Página: result.xhtml
    <h:form>
  
       <h1>SUMA DE DOS NUMEROS</h1>

       <h:panelGrid columns="2">
 
           <h:outputLabel value="Número 1:"/>
           <h:outputText value="#{demoController.num1}"/>
           
           <h:outputLabel value="Número 2:"/>
           <h:outputText value="#{demoController.num2}"/>

           <h:outputLabel value="Suma:"/>
           <h:outputText value="#{demoController.suma}"/>
 
           <f:facet name="footer">
               <h:commandLink value="Retornar" 
                              action="index" />
           </f:facet>
           
       </h:panelGrid>
    </h:form>
CÓDIGO FUENTE - EUREKA-WEB-MYSQL-SPRING
En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.



Java Web Lección 01: Servlets

JAVA WEB - LECCIÓN 01: SERVLETS

INTRODUCCIÓN

El servlet es la tecnología Java que permite crear aplicaciones web dinámicas, es decir, que permite al usuario interactuar con la aplicación, por ejemplo, hacer consultas, insertar y eliminar datos, etc.

Un Servlet es un objeto java que pertenece a una clase que extiende de javax.servlet.http.HttpServlet, y admite peticiones a través del protocolo HTTP. El servlet recibe peticiones desde un navegador web, las procesan y devuelven una respuesta al navegador, normalmente en HTML.

Para obtener la respuesta que debe enviar, un servlet puede acceder a bases de datos, comunicarse con otros componente, como por ejemplo, un Bean, un EJB, o tal vez un Web Service.

En esta lección veremos cómo crear e interactuar con los servlets.

DIAPOSITIVA

CÓDIGO FUENTE - EUREKA-WEB-ORACLE-JDBC

En esta oportunidad te presento un video donde te explico cómo ejecutar el código fuente de una aplicación Java Web, utilizando HTML, CSS, JavaScript, AJAX y JSON, en la capa de persistencia se utiliza JDBC y base de datos Oracle XE 11g.

Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.

CÓDIGO FUENTE - EUREKA-WEB-MYSQL-SPRING

En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.

Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.



SQL SERVER IMPLEMENTACIÓN
LECCIÓN 02 - CREACIÓN DE UNA BASE DE DATOS

SQL SERVER IMPLEMENTACIÓN, Oracle, SQL, SQLServer

REQUERIMIENTO

Descripción

La institución Perú Training necesita un modelo de datos para desarrollar un prototipo para llevar el control de:
  1. Los alumnos que se matriculan en cada uno de sus cursos.
  2. Los pagos que realizan los alumnos.
  3. La nota que el alumno obtiene en el curso.

Modelo de Datos

El modelo de datos es básico, y se muestra en la siguiente imagen:

CREACIÓN DE LA BASE DE DATOS

Sintaxis

La sintaxis básica para crear una base de datos es la siguiente:
CREATE DATABASE < nombre de la base de datos >;
GO

Creación de la base de datos EDUCA

CREATE DATABASE EDUCA;
GO

USE EDUCA;
GO

CÓDIGO FUENTE - EUREKA-CS-ORACLE-JDBC

En esta sección te presento un video que una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.

CREACIÓN DE UNA TABLA

Sintaxis

CREATE TABLE [ esquema . ] < nombre de tabla > (
    < definición de columna >,
    . . .
    . . .
);
GO

Tabla: ALUMNO

CREATE TABLE dbo.ALUMNO
( 
 alu_id               INT  NOT NULL ,
 alu_nombre           varchar(100)  NOT NULL ,
 alu_direccion        varchar(100)  NOT NULL ,
 alu_telefono         varchar(20)  NULL ,
 alu_email            varchar(50)  NULL  
);
GO

Tabla: CURSO

CREATE TABLE dbo.CURSO
( 
 cur_id               INT IDENTITY ( 1,1 ) NOT NULL ,
 cur_nombre           varchar(100)  NOT NULL ,
 cur_vacantes         int  NOT NULL ,
 cur_matriculados     int  NOT NULL ,
 cur_profesor         varchar(100)  NULL ,
 cur_precio           money  NOT NULL 
);
GO

Tabla: MATRICULA

CREATE TABLE dbo.MATRICULA
( 
 cur_id               INT  NOT NULL ,
 alu_id               INT  NOT NULL ,
 mat_fecha            datetime  NOT NULL ,
 mat_precio           money  NOT NULL ,
 mat_cuotas           int  NOT NULL ,
 mat_nota             int  NULL 
);
GO

Tabla: PAGO

CREATE TABLE dbo.PAGO
( 
 cur_id               INT  NOT NULL ,
 alu_id               INT  NOT NULL ,
 pag_cuota            int  NOT NULL ,
 pag_fecha            datetime  NOT NULL ,
 pag_importe          money  NOT NULL 
);
GO

CLAVES PRIMARIAS

Sintaxis

ALTER TABLE [ esquema . ] < nombre de tabla >
   ADD CONSTRAINT < nombre >
   PRIMARY KEY CLUSTERED ( < lista de columnas > );
GO

Creación de Claves Primarias

Crear las claves primarias según el siguiente cuadro:
TABLA NOMBRE COLUMNAS
CURSO PK_CURSO cur_id
ALUMNO PK_ALUMNO alu_id
MATRICULA PK_MATRICULA cur_id, alu_id
PAGO PK_PAGO cur_id, alu_id, pag_cuota

CLAVES FORANEAS

Sintaxis

ALTER TABLE [ esquema . ] < nombre de tabla >
   ADD CONSTRAINT < nombre >
   FOREIGN KEY ( < lista de columnas >  ) 
   REFERENCES [ esquema . ] < nombre de tabla referenciada > [ ( columnas referenciadas ) ] 
   [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 
   [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] ;
GO

Creación de Claves Foráneas

Crear las claves foráneas según el siguiente cuadro:
TABLA NOMBRE COLUMNAS REFERENCIA
MATRICULA FK_MATRICULA_CURSO cur_id CURSO
MATRICULA FK_MATRICULA_ALUMNO alu_id ALUMNO
PAGO FK_PAGO_MATRICULA cur_id, alu_id MATRICULA

CÓDIGO FUENTE - EUREKA-WEB-ORACLE-JDBC

En esta oportunidad te presento un video donde te explico cómo ejecutar el código fuente de una aplicación Java Web, utilizando HTML, CSS, JavaScript, AJAX y JSON, en la capa de persistencia se utiliza JDBC y base de datos Oracle XE 11g.
Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.

RESTRICCIONES TIPO UNIQUE

Sintaxis

ALTER TABLE [ esquema . ] < nombre de tabla >
   ADD CONSTRAINT < nombre >
   UNIQUE ( < lista de columnas >  ) ;
GO

Creación de Restricciones tipo UNIQUE

Crear las siguientes restricciones de tipo UNIQUE:
TABLA NOMBRE COLUMNAS
CURSO U_CURSO_NOMBRE cur_nombre
ALUMNO U_ALUMNO_NOMBRE alu_nombre
ALUMNO U_ALUMNO_EMAIL alu_email

RESTRICCIONES TIPO CHECK

Sintaxis

ALTER TABLE [ esquema . ] < nombre de tabla >
   ADD CONSTRAINT < nombre >
   CHECK ( < condición >  ) ;
GO

Creación de Restricciones tipo CHECK

TABLA NOMBRE DESCRIPCIÓN
CURSO CHK_CURSO_VACANTES Las vacantes debe ser mayor que cero.
CURSO CHK_CURSO_MATRICULADOS Los matriculados debe ser mayor o igual a cero y menor o igual que las vacantes.
CURSO CHK_CURSO_PRECIO El precio debe ser mayor que cero.
MATRICULA CHK_MATRICULA_PRECIO El precio debe ser mayor que cero.
MATRICULA CHK_MATRICULA_CUOTAS Las cuotas debe ser mayor o igual que uno.
MATRICULA CHK_MATRICULA_NOTA La nota de ser NULL o un valor entre 0 y 20.
PAGO CHK_PAGO_IMPORTE El importe debe ser mayor que cero.

Creación de Restricciones tipo DEFAULT

Sintaxis

ALTER TABLE [ esquema . ] < nombre de tabla >
   ADD CONSTRAINT < nombre >
   DEFAULT ( < valor >  )  FOR < nombre de columna > ;
GO

Ejemplo

Crear una restricción de tipo DEFAULT de nombre D_CURSO_MATRICULADOS que asigne un valor cero a la columna CUR_MATRICULADOS de la tabla CURSO.

INSERTAR DATOS

Tabla Curso

SET IDENTITY_INSERT dbo.Curso ON;
GO

INSERT INTO CURSO(CUR_ID,CUR_NOMBRE,CUR_VACANTES,CUR_PRECIO,CUR_PROFESOR)
VALUES(1,'SQL Server Implementación',24,1000.0,'Gustavo coronel');

INSERT INTO CURSO(cur_id,cur_nombre,cur_vacantes,cur_precio,cur_profesor)
VALUES(2,'SQL Server Administración',24,1000.0,'Gustavo coronel');

INSERT INTO CURSO(cur_id,cur_nombre,cur_vacantes,cur_precio,cur_profesor)
VALUES(3,'Inteligencia de Negocios',24,1500.0,'Sergio Matsukawa');

INSERT INTO CURSO(cur_id,cur_nombre,cur_vacantes,cur_precio,cur_profesor)
VALUES(4,'Programación Transact-SQL',24,1200.0,NULL);

INSERT INTO CURSO(cur_id,cur_nombre,cur_vacantes,cur_precio,cur_profesor)
VALUES(5,'Java Fundamentos',24,1600.0,'Gustavo Coronel');

INSERT INTO CURSO(cur_id,cur_nombre,cur_vacantes,cur_precio,cur_profesor)
VALUES(6,'Java Cliente-Servidor',24,1600.0,'Gustavo Coronel');

INSERT INTO CURSO(CUR_ID,CUR_NOMBRE,CUR_VACANTES,CUR_PRECIO,CUR_PROFESOR)
VALUES(7,'GESTION DE PROYECTOS',24,2200.0,'RICARDO MARCELO');
GO

SET IDENTITY_INSERT dbo.Curso OFF;
GO

Tabla Alumno

INSERT INTO ALUMNO (alu_id, alu_nombre, alu_direccion, alu_telefono, alu_email )
VALUES
( 1,'YESENIA VIRHUEZ','LOS OLIVOS','986412345','yesenia@hotmail.com'),
( 2,'OSCAR ALVARADO FERNANDEZ','MIRAFLORES',NULL,'oscar@gmail.com'),
( 3,'GLADYS REYES CORTIJO','SAN BORJA','875643562','gladys@hotmail.com'),
( 4,'SARA RIEGA FRIAS','SAN ISIDRO',NULL,'sara@yahoo.com'),
( 5,'JHON VELASQUEZ DEL CASTILLO','LOS OLIVOS','78645345','jhon@movistar.com'),
( 6,'RODRIGUEZ ROJAS, RENZO ROBERT','SURCO','673465235','rrodrigiez@gmail.com'),
( 7,'CALERO MORALES, EMELYN DALILA','LA MOLINA','896754652','ecalero@peru.com'),
( 8,'KAREN FUENTES','San Isidro','555-5555','KAFUENTES@HOTMAIL.COM'),
( 9,'Yamina Ruiz','San Isidro','965-4521','yami_ruiz@gmail.com'),
(10,'MARIA EULALIA VELASQUEZ TORVISCO','SURCO','6573456','mvelasques@gmail.com'),
(11,'FIORELLA LIZET VITELLA REYES','SAN BORJA','5468790','fvitela@outlook.com');
GO

Tabla Matricula

SET DATEFORMAT DMY
GO

DECLARE @ANIO VARCHAR(10);
SET @ANIO =  cast(year(getdate()) as varchar);

INSERT INTO dbo.MATRICULA ( cur_id, alu_id, mat_fecha, mat_precio, mat_cuotas, mat_nota ) 
VALUES(1, 5,'15-04-' + @ANIO +' 10:30',800.0,1,15);

INSERT INTO dbo.MATRICULA ( cur_id, alu_id, mat_fecha, mat_precio, mat_cuotas, mat_nota ) 
VALUES(1, 3,'16-04-' + @ANIO +' 11:45',1000.0,2,18);

INSERT INTO dbo.MATRICULA ( cur_id, alu_id, mat_fecha, mat_precio, mat_cuotas, mat_nota ) 
VALUES(1, 4,'18-04-' +@ANIO +' 08:33',1200.0,3,12);

INSERT INTO dbo.MATRICULA ( cur_id, alu_id, mat_fecha, mat_precio, mat_cuotas, mat_nota ) 
VALUES(2, 1,'15-04-' + @ANIO +' 12:33',800.0,1,16);

INSERT INTO dbo.MATRICULA ( cur_id, alu_id, mat_fecha, mat_precio, mat_cuotas, mat_nota ) 
VALUES(2, 2,'01-05-' + @ANIO +' 15:34',1000.0,2,10);

INSERT INTO dbo.MATRICULA ( cur_id, alu_id, mat_fecha, mat_precio, mat_cuotas, mat_nota ) 
VALUES(2, 3,'03-05-' + @ANIO +' 16:55',1300.0,3,14);

INSERT INTO dbo.MATRICULA ( cur_id, alu_id, mat_fecha, mat_precio, mat_cuotas, mat_nota ) 
VALUES(2, 4,'04-05-' + @ANIO +' 17:00',400.0,1,18);

INSERT INTO dbo.MATRICULA ( cur_id, alu_id, mat_fecha, mat_precio, mat_cuotas, mat_nota ) 
VALUES(2, 5,'06-05-' + @ANIO +' 13:12',750.0,1,17);

GO

Actualizar Tabla Curso

Se debe actualizar la columna cur_matriculados en la tabla Curso.
UPDATE dbo.CURSO
SET cur_matriculados = (
 SELECT COUNT(*) FROM dbo.MATRICULA
 WHERE dbo.MATRICULA.cur_id = dbo.CURSO.cur_id );
GO

Tabla Pago

SET DATEFORMAT DMY
GO

DECLARE @ANIO VARCHAR(10)
SET @ANIO = CAST(YEAR(GETDATE()) AS VARCHAR)
INSERT INTO DBO.PAGO VALUES(1,3,1,'16-04-' + @ANIO,500)
INSERT INTO DBO.PAGO VALUES(1,3,2,'16-05-' + @ANIO,500)
INSERT INTO DBO.PAGO VALUES(1,4,1,'18-04-' + @ANIO,400)
INSERT INTO DBO.PAGO VALUES(1,4,2,'18-05-' + @ANIO,400)
INSERT INTO DBO.PAGO VALUES(2,1,1,'15-04-' + @ANIO,800)
INSERT INTO DBO.PAGO VALUES(2,2,1,'01-05-' + @ANIO,500)
INSERT INTO DBO.PAGO VALUES(2,3,1,'03-05-' + @ANIO,430)
INSERT INTO DBO.PAGO VALUES(2,3,2,'03-06-' + @ANIO,430)
INSERT INTO DBO.PAGO VALUES(2,4,1,'04-05-' + @ANIO,400)
INSERT INTO DBO.PAGO VALUES(2,5,1,'06-05-' + @ANIO,750)
GO

SEQUENCIAS

Sintaxis

CREATE SEQUENCE [ esquema . ] < nombre de secuencia >
START WITH < valor de inicio >
INCREMENT BY < valor de incremento > ;
GO

Ejemplo

CREATE SEQUENCE dbo . sq_alumno
    START WITH 20
    INCREMENT BY 1;
GO

INSERT INTO ALUMNO (alu_id, alu_nombre, alu_direccion, alu_telefono, alu_email )
VALUES
( next value for dbo.sq_alumno ,'SHARON TINEO','SURCO','956389564','karla@gmail.com');
go

INSERT INTO ALUMNO (alu_id, alu_nombre, alu_direccion, alu_telefono, alu_email )
VALUES
( next value for dbo.sq_alumno ,'KARLA MORALES','LOS OLIVOS','93564356','claudia@gmail.com');
GO

SELECT * FROM ALUMNO;
GO

CÓDIGO FUENTE - EUREKA-WEB-MYSQL-SPRING

En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.


JAVA SERVER FACES
LECCION 01- PRIMEROS PASOS

JAVA SERVER FACES, Eclipse, GlassFish, Java, Java Web, JEE, Patrones, Web

INTRODUCCIÓN

En esta primera sesión entenderemos la arquitectura de JSF, crearemos nuestros primeros ejemplos, y también accederemos a una base de datos utilizando JDBC.

DIAPOSITIVA

CÓDIGO FUENTE - EUREKA-CS-ORACLE-JDBC
En esta sección te presento un video de una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.
CÓDIGO FUENTE - EUREKA-WEB-ORACLE-JDBC
En esta oportunidad te presento un video donde te explico cómo ejecutar el código fuente de una aplicación Java Web, utilizando HTML, CSS, JavaScript, AJAX y JSON, en la capa de persistencia se utiliza JDBC y base de datos Oracle XE 11g.
Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.
CÓDIGO FUENTE - EUREKA-WEB-MYSQL-SPRING
En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.


SQL SERVER IMPLEMENTACIÓN
LECCIÓN 01 - INTRODUCCIÓN

SQL SERVER ORACLE MYSQL JAVA JAVAEE JDBC MVC DAO PATRONES ANDROID
CLIENTE - SERVIDOR
Aclarando Conceptos
Cliente-Servidor
Es un modelo basado en la cooperación e interacción de dos partes conocidas como servidor o back-end y cliente o front-end.
Aplicación Servidor
Es la aplicación que provee servicios, por ejemplo, los servidores de base de datos ofrecen servicios de persistencia de datos, podríamos mencionar a SQL Server, Oracle, MySQL, etc,
Aplicación Cliente
Es la aplicación que hace uso o consume los servicios de la Aplicación Servidor; por ejemplo, las aplicaciones comerciales como los sistemas de ventas y compras necesitan que sus datos persistan en el tiempo, para lo cual se recurren a los servidores de base de datos que ofrecen estos servicios.
Arquitectura
El cliente se encuentra del lado del usuario y se define como un proceso consumidor de servicios, mientras que el servidor provee los servicios requeridos y se encuentra de manera remota al usuario y es transparente al cliente.
Los clientes deben estar en la red de la empresa, estas pueden ser redes locales, pero también es posible tener clientes remotos a través por ejemplo de una red VPN.
CÓDIGO FUENTE - EUREKA-CS-ORACLE-JDBC
En esta sección te presento un video que una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.
SQL SERVER 2012
¿Qué es SQL Server 2012?
Microsoft SQL Server es un sistema de gestión de bases de datos diseñado como soporte de sistemas operacionales ú OLTP (OnLine Transaction Processing – Procesamiento de transacciones en línea), que soporta también sistemas de análisis de datos ú OLAP (OnLine Analytical Processing – Procesamiento analítico en línea), y aplicaciones de comercio electrónico (e-commerce).
Tecnologías de Microsoft SQL Server 2012
Microsoft SQL Server 2012 es un conjunto completo de tecnologías y herramientas de administración y análisis de datos para el entorno empresarial.
  • SQL Server Database Engine (Motor de Base de Datos SQL Server)
  • Analysis Services (Servicios de Análisis)
  • Reporting Services (Servicios de Generación de Reportes)
  • Integration Services (Servicios de Integración)
  • Master Data Services (Servicios de Datos Maestros)
  • Data Quality Services (Servicios de Calidad de Datos)
  • Replication (Replicación ó Duplicación)
SQL Server Database Engine
SQL Server Database Engine (Motor de Base de Datos) es el servicio básico del producto y se encarga de las operaciones para el almacenamiento, procesamiento, y manejo de la seguridad de los datos. Controla el acceso de las aplicaciones a la base de datos y ejecuta las transacciones.
El motor de base de datos le permite crear bases de datos relacionales para procesamiento de transacciones en línea (OLTP) o procesamiento analíticos de datos en línea (OLAP), incluyendo la creación de los objetos de la base de datos: tablas, índices, vistas, procedimientos almacenados, y usuarios.
Analysis Services
SQL Server Analysis Services (Servicios de Análisis) le permite construir y desplegar bases de datos para análisis como soporte a las soluciones de inteligencia de negocios.
Analysis Services le permite diseñar, construir y administrar bases de datos multidimensionales con data consolidada de las bases de datos transaccionales ú operacionales y de otros orígenes de datos, utilizando la técnica de datos agregados.
Reporting Services
SQL Server Reporting Services (Servicios de Generación de Reportes) es una plataforma que a través de un conjunto de herramientas y servicios permite acceder a una variedad de orígenes de datos para generar y publicar reportes en diferentes formatos.
Incluye APIs que le permiten a los desarrolladores crear reportes a la medida de las necesidades de los usuarios.
Integration Services
Microsoft Integration Services (Servicios de Integración) es una plataforma que nos brinda la posibilidad de crear soluciones de integración de datos a nivel empresarial. Permite migrar datos desde orígenes diversos, transformarlos para estandarizarlos, y almacenarlos en un repositorio común. Una de sus aplicaciones más comunes es la actualización de datawarehouses.
Integration Services se basa en la construcción de paquetes que contienen las tareas a ejecutar. Los paquetes permiten programar tareas casi sin escribir líneas de código.
Master Data Services
Master Data Services (MDS) es la solución SQL Server para la administración de la data maestra. Mediante Master Data Management (MDM) podemos definir listas de datos no transaccionales para mantenimiento de la data maestra.
Master Data Services incluye jerarquías, seguridad granular, transacciones, control de versiones de datos y reglas de negocios.
Data Quality Services
SQL Server Data Quality Services (DQS) es un producto de control de calidad de los datos administrado por conocimiento que le permite construir una base de conocimiento para utilizarla en el control de calidad de los datos en tareas como corrección, enriquecimiento, estandarización y eliminación de duplicidad.
DQS está formado por una aplicación servidor, el Servidor de Calidad de Datos (Data Quality Server), y por una aplicación cliente, el Cliente de Calidad de Datos (Data Quality Client) que se instalan como parte de Microsoft SQL Server 2012.
Data Quality Services
SQL Server Data Quality Services (DQS) es un producto de control de calidad de los datos administrado por conocimiento que le permite construir una base de conocimiento para utilizarla en el control de calidad de los datos en tareas como corrección, enriquecimiento, estandarización y eliminación de duplicidad.
DQS está formado por una aplicación servidor, el Servidor de Calidad de Datos (Data Quality Server), y por una aplicación cliente, el Cliente de Calidad de Datos (Data Quality Client) que se instalan como parte de Microsoft SQL Server 2012.
CÓDIGO FUENTE - EUREKA-WEB-ORACLE-JDBC
En esta oportunidad te presento un video donde te explico cómo ejecutar el código fuente de una aplicación Java Web, utilizando HTML, CSS, JavaScript, AJAX y JSON, en la capa de persistencia se utiliza JDBC y base de datos Oracle XE 11g.
Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.
Ediciones de Microsoft SQL Server 2012
Las diferentes ediciones de SQL Server se adecuan a los requerimientos de rendimiento, tiempo de ejecución y precio de los distintos tipos de organizaciones.
EDICIÓN DESCRIPCIÓN
Enterprise (64 bit y 32 bit) Ofrece una gama completa de capacidades con rendimiento ultrarrápido, virtualización ilimitada e inteligencia de negocios de extremo a extremo permitiendo altos niveles de servicio para cargas de trabajo de misión crítica y acceso a diversos puntos de vista de los datos para los usuarios finales.
Business Intelligence (64 bit y 32 bit) Ofrece una completa plataforma que permite a las organizaciones construir y desplegar soluciones BI seguras, escalables y manejables. Ofrece funcionalidades interesantes como exploración y visualización de datos basada en navegador, potente gestor de capacidades mash-up (página web que ofrece datos, presentaciones y funcionalidad de diferentes orígenes de datos), y administración integrada mejorada.
Standard (64 bit y 32 bit) Ofrece gestión de datos básica y bases de datos de inteligencia de negocios para las aplicaciones de departamentos y pequeñas organizaciones, compatibles con herramientas de desarrollo comunes on-premise (software que se ejecuta en la sede de la organización que lo usa, en oposición al software que se ejecuta en la nube) o basadas en la nube, permitiendo una gestión de base de datos eficaz con mínimos recursos TI.
Web (64 bit y 32 bit) Opción con costo total de propiedad bajo ideal para Web hosters (organizaciones dedicadas al alojamiento de sitios Web) y VAPs Web (organizaciones que ofrecen servicios de valor agregado a través de la web). Proporciona escalabilidad, accesibilidad y capacidad de gestión para propietarios de webs pequeñas y de gran escala.
Developer (64 bit y 32 bit) Ideal para los programadores que desarrollan aplicaciones para SQL Server. Ofrece toda la funcionalidad de la edición Enterprise, pero el servidor solo puede utilizarse para desarrollo y prueba, no como un servidor de producción. Se entrega en forma gratuita o con un costo simbólico muy bajo.
Express (64 bit y 32 bit) Es la base de datos gratuita a nivel de entrada. Es ideal para el aprendizaje y para aplicaciones de escritorio o de pequeños servidores orientados a datos. Es la mejor opción para los vendedores independientes de software, desarrolladores y aficionados a crear aplicaciones cliente.
SQL Server 2012 ofrece como novedad la edición SQL Server Express LocalDB, una versión sencilla de Express que cuenta con todas las características de Express, pero se ejecuta como una aplicación de escritorio en modo usuario, se instala rápidamente, no requiere configuración, y tiene pocos requisitos previos.
SQL SERVER MANAGEMENT STUDIO (SSMS)
SQL Server Management Studio es una aplicación cliente que proporciona un entorno gráfico para crear y gestionar nuestras bases de datos, crear y gestionar los objetos de las bases de datos, y desarrollar consultas en SQL Server.
TIPOS Y MODOS DE AUTENTICACIÓN
TIPOS DE AUTENTICACIÓN
Tipo de Autenticación Windows
Cuando un usuario se conecta a través de una cuenta de usuario de Microsoft Windows, SQL Server valida el nombre de cuenta y la contraseña de seguridad de Windows. Esto significa que Windows confirma la identidad del usuario. SQL Server no pide la contraseña y no realiza la validación.
Tipo de Autenticación SQL Server
Al utilizar la autenticación de SQL Server, los inicios de sesión se crean en SQL Server, que no se basa en las cuentas de usuario de Windows. El nombre de usuario y la contraseña se crean utilizando SQL Server y se almacenan en SQL Server. Los usuarios que se conectan utilizando la autenticación de SQL Server deben proporcionar sus credenciales (inicio de sesión y contraseña) cada vez que se conectan.
MODO DE AUTENTICACIÓN
Se refiere a como esta configurado el servidor SQL Server.
Modo de Autenticación Windows
Habilita solo el Tipo de Autenticación Windows.
Modo de Autenticación Mixto
Habilita el Tipo de Autenticación Windows y el Tipo de Autenticación SQL Server.
EJERCICIO 1
  1. Revisar el servicio del servidor SQL Server.
  2. Cargar el SSMS.
  3. Conectese al servidor local utilizando Autenticación Windows.
  4. Revise el modo de autenticación del servidor.
  5. Habilite la cuenta SA.
  6. Cierre la conexión actual.
  7. Conectese al servidor local utilizando la cuenta SA.
ACCESO REMOTO
Por defecto el servidor SQL Server no permite conexiones remotas.
Habilitar Conexiones Remotas
Utilice la herramienta SQL Server Configuration Manager para habilitar la configuración remota.
Habilitar Puerto
Si el computador tiene el firewall activado, será necesario habilitar el puerto.
EJERCICIO 2
  1. Habilite las conexiones repotas de su servidor.
  2. Habilite el puerto 1433 en el firewall.
  3. Conectese a otros servidores utilizando SSMS.
  4. Modifique la configuración del puerto para que solo puedan conectarse desde 2 equipos.
CÓDIGO FUENTE - EUREKA-WEB-MYSQL-SPRING
En esta sección te presento un video de una aplicación web desarrollada SPRING FRAMEWORK y MYSQL.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.


Java OO - Lección 07 - Arreglos

JAVA OO - LECCIÓN 07 - ARREGLOS

INTRODUCCIÓN

Una de las necesidades con las que siempre nos encontramos cuando creamos software es el manejo de colecciones de datos, una de las formas de hacerlo es mediante arreglos.
En esta lección aprenderemos a crear arreglos de diferentes formas, también aprenderemos a recorrerlos de manera indexada y utilizando la técnica tipo colección. En la parte final desarrollaremos un caso ilustrativo.

DIAPOSITIVA

VIDEO - PARTE 1

CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS

En esta sección te presento el curso virtual de JAVA ORIENTADO A OBJETOS.

CÓDIGO FUENTE

En esta sección te presento un video de una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.



Java OO - Lección 00 - Introducción

JAVA POO - LECCION 00 - INTRODUCCIÓN
INTRODUCCIÓN
En esta sesión introductoria veremos un panorama general del desarrollo de software y las técnicas o metodologías que están surgiendo con el propósito de garantizar la calidad del producto software y el cumplimiento de los plazos para su creación.
Finalmente definiremos el alcance del taller, así como la metodología que utilizaremos en su desarrollo.
DIAPOSITIVA
VIDEO
CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS
En esta sección te presento el curso virtual de JAVA ORIENTADO A OBJETOS.
CODIGO FUENTE
En esta sección te presento un video que una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video tienes el enlace.



Java OO - Lección 06
Interfaces y Polimorfismo

JAVA OO - LECCIÓN 06 - INTERFACES Y POLIMORFISMO

INTRODUCCIÓN

En esta lección veremos el concepto de interfaz, sus ventajas y como debemos aplicarlo; mostraremos algunos casos ilustrativos. Finalmente desarrollaremos un caso ilustrativo.

DIAPOSITIVA

VIDEO - PARTE 1

CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS

En esta sección te presento el curso virtual de JAVA ORIENTADO A OBJETOS.

CÓDIGO FUENTE

En esta sección te presento un video de una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.



Java OO - Lección 05 - Herencia

JAVA OO - LECCIÓN 05 - HERENCIA Y POLIMORFIsMO

INTRODUCCIÓN

Una de las características más importantes de la Orientación a Objetos con Java es la herencia. En esta lección aprenderás qué es la herencia, sus características, sus ventajas y cómo aplicarla. También estarás desarrollando el concepto de polimorfismo. Al finalizar la lección desarrollaremos un ejemplo aplicando herencia.

DIAPOSITIVA

VIDEO - PARTE 1

CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS

En esta sección te presento el curso virtual de JAVA ORIENTADO A OBJETOS.

CÓDIGO FUENTE

En esta sección te presento un video de una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.



Java OO - Lección 04 - Alcance de Clase y de Alcance de Instancia

JAVA OO - LECCIÓN 04 - ALCANCE DE CLASE Y ALCANCE DE INSTANCIA

INTRODUCCIÓN

En esta lección desarrollaremos los conceptos de miembros con alcance de clase y alcance de instancia, el acceso a variables y métodos, así como también el inicializador estático. Finalizaremos la lección con el desarrollo de un proyecto aplicativo.

DIAPOSITIVA

VIDEO - PARTE 1

CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS

En esta sección te presento el curso virtual de JAVA ORIENTADO A OBJETOS.

CÓDIGO FUENTE

En esta sección te presento un video de una aplicación CLIENTE-SERVIDOR.
Tú tienes acceso al código fuente de esta aplicación, después del video esta el enlace.