Curso Básico.NET - SQL               Febrero 2013
Temario   • Programación Orientada a     objetos (POO)   • Lenguaje unificado de     modelado (UML)   • Lenguaje SQL   • L...
POO
Conceptos fundamentales                                                                         POO                     • ...
UML
Principales diagramas                                      UML                    • Casos de uso                    • Clas...
Ejercicio                                         UML     Se requiere un sistema para el control de     acceso de empleado...
UMLEjercicio     Las puertas de acceso común se activan     cuando se ingresa un código de acceso, las     puertas de acce...
SQL
MS SQL Server                                                            SQL                     •   IDE                  ...
Lenguaje de definición de datos                          SQL (DDL)                    •    Create                    •    ...
Instrucciones fundamentales del DDL                                                             SQL            Create     ...
Ejercicio(DDL)                                SQL      • Crear por medio de código una tabla del        modelo de accesos ...
Lenguaje de manipulación de datos                                       SQL (DML)                     • Insert            ...
SQLInstrucciones fundamentales del  DML    Select    select [nombre_columna],..[n]    Insert    Insert [nombre_tabla] valu...
Instrucciones principales del DML                                                            SQL             Lógicos      ...
JOINS                                                                                 SQL             La sentencia join en...
Ejercicio(DML)                                  SQL      • Insertar treinta registros en la tabla creada        en el ejer...
Ejercicio(DML)                                   SQL    • Crear una consulta que genere el siguiente      resultado.    • ...
Ejercicio(DML)                                   SQL    • Crear una consulta que enliste un conteo de      cada uno de los...
Vistas                                                             SQL     Tabla virtual o consulta basada en varias tabla...
SQLProcedimiento almacenado              Un procedimiento es un programa dentro de la base de datos             que ejecut...
SQLDesencadenador (Trigger)             Es un procedimiento que se ejecuta cuando se cumple una             condición esta...
SQLDesencadenador (Trigger)    Trigger DDL    Los desencadenadores DDL, al igual que los desencadenadores    habituales, a...
SQLDesencadenador (Trigger)             CREATE TRIGGER [nombre_desencadenador] ON DATABASE                 FOR [Operación ...
SQLFunciones    Una función es una rutina de Transact-SQL o Common Language    Runtime (CLR) que acepta parámetros, realiz...
SQLEjercicio     •Generar una vista donde se muestre a las personas y los accesos     de esta.     •Generar un stored proc...
SQLTareas programadas (Jobs)             El objeto de rendimiento Jobs del Agente SQL Server contiene             contador...
SQLEjercicio (Jobs)     •Crear un job que realice lo siguiente ejecutar un procedimiento     almacenado que genere una lis...
SQLTablas    •Físicas         create Table []    •Temporales       •Globales         create table ##[nombre_tabla]([nombre...
SQLIF...ELSE     Impone condiciones en la ejecución de una instrucción     Transact-SQL. La instrucción Transact-SQL que s...
SQLIF...ELSE     IF [condicion_boleana]     BEGIN     [Codigo]     END     ELSE     [Codigo]     END                  sTI_...
SQLCASE   Evalúa una lista de condiciones y devuelve una de las   varias expresiones de resultado posibles   http://techne...
SQLCASE   CASE expresion    WHEN [valor] THEN     expresion resultado    ELSE      expresion resultado   END              ...
SQL   Cursores y ciclos             Cursor             Un cursor es una variable que nos permite recorrer con             ...
SQLCursores y ciclos    DECLARE <nombre_cursor> CURSOR    FOR <sentencia_sql>     -- apertura del cursor    OPEN <nombre_c...
SQL   Cursores y ciclos             Ciclo             Establece una condición para la ejecución repetida de             un...
SQLCursores y ciclos    WHILE [condicion]    BEGIN       [Codigo]    END                 sTI_CI_v1_201302
SQLComando Execute   Ejecuta una cadena de comandos o una cadena de caracteres dentro de   un lote de Transact-SQL o uno d...
SQL   Ejercicio             Generar las siguientes consultas             •Generar una lista que indique por cada una de la...
SQLEjercicio    Generar una lista de empleados por acceso y mostrarla en el sistema    Como se muestra en el siguiente eje...
SQLEjercicio final     Generar un procedimiento almacenado para resolver el siguiente     problema.     Se desea que la ba...
SQLEjercicio final     •‘Acceso temporal denegado’     Este deberá mostrarse al usuario que trate de ingresar a una puerta...
C#
C#Temario   •Framework .NET   •Lenguaje C#        •POO en C#        •Estructuras de control   •Arquitectura serTI   •DAO ,...
C#   Framework             •El Framework. NET es una plataforma de desarrollo para la creación de             aplicaciones...
C#   Versiones de .NEThttp://msdn.microsoft.com/es-es/library/bb822049.aspx                                    sTI_CI_v1_2...
Versiones de .NET                                                                          C#.NET   IDE                Des...
C#   Lenguaje C#              C# es un lenguaje orientado a objetos elegante y con seguridad de tipos              que per...
POO                                                           C#                   • Clase                         • class...
POO                                                                        C#                   • Abstracción             ...
POO                                                             C#      • Polimorfismo      internal class Mamifero       ...
POO                                                                    C#public override void YoSoy()     {       base.YoS...
POO                                                      C#class Program {     static void Main(string[] args) {       var...
POO                                                                  C#                   • Polimorfismo              inte...
Estructuras de control                   C#      • If      If([condicion_boleana]){        [codigo_If];      }      else{ ...
Estructuras de control                                                       C#             • while             while ([co...
Arquitectura serTI              C#             sTI_CI_v1_201302
DAO (Data Access Object)                                      C#    Data Access Objects (DAO, Objetos de Acceso a Datos)  ...
DAO (Data Access Object)        C#             sTI_CI_v1_201302
ADO                                                               C#      (Microsoft ActiveX Data Objects - ADO). Conjunto...
ADO                      C#      sTI_CI_v1_201302
LINQ                                                            C#  LINQ to SQL es una implementación de O/RM(object relat...
LINQ                      C#       sTI_CI_v1_201302
SQL Entity Framework                                                     C#   Entity Framework es un conjunto de tecnologí...
SQL Entity Framework           C#            sTI_CI_v1_201302
Lenguaje LINQ                                                                      C#    Language Integrated Query (LINQ, ...
Lenguaje LINQ                                               C#    •LINQ to XML    •LINQ to Entities    •LINQ to Objects   ...
Ejercicio                                                           C#    Generar alas siguientes consultas:    •Una consu...
Principales Operadores LINQ                      C#      •Where                       •Concat      •Select                ...
Ejercicio                                                      C#      •Seleccionar 5 operadores de la cada una de las col...
Métodos HTTP                                                                       C#   Método    Significado   GET       ...
Active server page (ASP)                                               C#   Microsoft introdujo esta tecnología llamada Ac...
Ciclo de vida ASP                                                  C#         •PreInit         •Init         •InitComplete...
ASP MVC (Model-View-Controller)                                                  C#    ASP.NET MVC es, básicamente, una im...
ASP MVC (Model-View-Controller)   C#            sTI_CI_v1_201302
ASP Controles principales                                     C# ASP             HTML                    Validadores •Labe...
ASP Master Page                                                     C#    Páginas maestras ASP.NET le permiten crear un di...
Control de usuario (WebUserControl)                              C#      Controles de usuario Web son archivos con la exte...
Controles de navegación                                                           C#     •Control Menu El Menu (control) p...
Ajax                                                                                     C#         AJAX, acrónimo de Asyn...
Ejercicio                                                C#    •Crear una página maestra alguna de las siguientes    distr...
Ejercicio                                                            C#    Crear o modifica la estructura necesaria para r...
Ejercicio                                                       C#      Crear una página web para el registro de usuarios ...
GridView                      C#     C           sTI_CI_v1_201302
Interface de usuario                                           C#     •La interfaz de usuario es el medio con que el usuar...
Prototype (patrón de diseño)                                      C#     El patrón de diseño Prototype (Prototipo), tiene ...
Javascript                                                                       C#          Lenguaje de programación inte...
Javascript                                                                         C#           •Eventos                on...
Cascading Style Sheets (CSS)                                            C#     CSS son las siglas de Cascading Style Sheet...
Principales elementos CSS                                  C#     •Selectores     •Notación     •Tipos de medios     •Sint...
Estructura de estilos CSS              C#    •Elemento    html {    border-color:red;    }    <html>    Estilo    .html { ...
Ejemplo CSS                                                          C#    <html>         <head>               <style>    ...
jQuery                                                              C#     •jQuery es una biblioteca de JavaScript, creada...
jQuery Selectores y Eventos                                     C#           •Selectores                jQuery() o $()    ...
jQuery Ejercicio                                               C#      •Generar una página que contenga 4 controles que de...
jQuery Ejercicio                                                    C#      •Seleccionar la caja de texto y las etiquetas ...
jQuery Ajax                                          C#     A)           jQuery.ajax({           url: "test.html",        ...
XML                                                            C#      XML proviene de eXtensible Markup Language (“Lengua...
XML Estructura Básica                              C#     <?xml version="1.0"?>     <Elemento>          <Elemento_Hijo [no...
JSON                                                               C#       JSON, acrónimo de JavaScript Object Notation, ...
JSON Estructura Básica                  C#     {     Elemento:valor     Elemento:[                elementoHijo1:valor     ...
Comparación XML y JSON                        C#     XML     <persona>     <nombre>juan</nombre>     <edad>22</edad>     <...
Prototype                                                               C#     Prototype es un framework que facilita el d...
Definición de un prototipo                                          C#     Definición     var Objeto= Class.create();     ...
Herencia de un prototipo                                 C#     Definición     var objetoHijo= Class.create();     objetoH...
jQuery UI                                                         C#     Es una biblioteca de componentes para     el fram...
jQuery UI Principales controles                                   C#      Interactions               Widgets        Effect...
jQuery UI Ejercicio                                                 C#    •Seleccionar tres elementos de jQuery UI e imple...
Windows Communication Foundation                                 C#       •Windows Communication Foundation (WCF) es un ma...
WCF Componentes principales                         C#        •Endpoint            •Address (¿Dónde?)                 Dire...
WCF Diagrama                                                      C#Cliente                                               ...
WCF Configuración                                                                               C#Services<system.serviceM...
WCF Configuración                                                                 C#Behaviors<behaviors>     <serviceBehav...
IIS                                                                 C#      Internet Information Services o IIS es un serv...
IIS Versiones                                                        C#         •IIS 1.0.- Proporciona la opción de la arq...
IIS Tipos de canalización administrada                                 C#       Canalización integrada es una canalización...
IIS Pool de aplicaciones                                                 C#        Son creados a nivel del IIS del web ser...
IIS Instalación de Framework                                         C#       Panel control>programas>Programas y caracter...
C#Gracias por su asistencia       sTI_CI_v1_201302
Servicios Estratégicos en Tecnologías de           Información S. de R.L. de C.V.                           Av. de las Gra...
Upcoming SlideShare
Loading in...5
×

Curso SQL-C# Basico

2,202

Published on

Ejercicios en https://trello.com/card/febrero-2013/5064bf2878d2cb3f1410d728/1

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,202
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
93
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Curso SQL-C# Basico

  1. 1. Curso Básico.NET - SQL Febrero 2013
  2. 2. Temario • Programación Orientada a objetos (POO) • Lenguaje unificado de modelado (UML) • Lenguaje SQL • Lenguaje C# sTI_CI_v1_201302
  3. 3. POO
  4. 4. Conceptos fundamentales POO • Clase • Objeto • Abstracción • Encapsulamiento • Polimorfismo • Herencia• http://arevalomaria.wordpress.com/2010/11/24/introduccion-a-la-programacion-orientada-a-objetos/• http://msdn.microsoft.com/es-es/library/bb972232.aspx sTI_CI_v1_201302
  5. 5. UML
  6. 6. Principales diagramas UML • Casos de uso • Clases • Estado • Secuencia • Componentes• http://www.docirs.cl/uml.htm• http://www.escet.urjc.es/~smontalvo/umlToJava_v2.pdf sTI_CI_v1_201302
  7. 7. Ejercicio UML Se requiere un sistema para el control de acceso de empleados de la empresa “X”, la empresa cuenta con acceso por medio de código de empleado y sistemas biométricos, el acceso se divide en diez puertas en dos diferentes edificios. El edificio “A” cuenta con 6 puertas de las cuales tres son de uso común (baño, comedor y acceso lugar de trabajo) y tres tienen acceso restringido (site, almacén y enfermería). El edificio “B” cuenta con 4 puertas de las cuales tres son de acceso común (idem anterior) y una de acceso restringido para el almacén. sTI_CI_v1_201302
  8. 8. UMLEjercicio Las puertas de acceso común se activan cuando se ingresa un código de acceso, las puertas de acceso restringido deberán ser abiertas únicamente cuando se ingrese un código valido así como la lectura de la huella digital. El sistema se alojara en el site del edificio “A”. Realizar un diagrama de casos de uso para el acceso a la empresa. Realizar un diagrama de clases para la aplicación. Realizar un diagrama de secuencia para el ingreso a la puerta “A” Baño y “B” almacén. Realizar un diagrama de estado para una puerta restringida. sTI_CI_v1_201302
  9. 9. SQL
  10. 10. MS SQL Server SQL • IDE • Instancia • Conexiones • Configuración de red • Administración de usuarios• http://www.islasoft.com/Producto/Diferencias_SQL_Server_Office.pdf sTI_CI_v1_201302
  11. 11. Lenguaje de definición de datos SQL (DDL) • Create • Alter • Drop • Truncate• http://support.microsoft.com/kb/180841/es• http://www.youtube.com/watch?v=HO5eb2wBaBk sTI_CI_v1_201302
  12. 12. Instrucciones fundamentales del DDL SQL Create create table [nombre_tabla]( [campo_1] [tipo dato]) Alter alter table [nombre_tabla] add [nombre_columna] [tipo dato] alter table [nombre_tabla] drop [nombre_columna] alter column [nombre_columna] [tipo_dato] [propiedad_especial] Drop drop [objeto] [nombre_tabla] • index • database • table Truncate truncate table [nombre_tabla]• http://grimpidev.wordpress.com/2009/03/21/diferencias-entre-truncate-table-y-delete-from/ sTI_CI_v1_201302
  13. 13. Ejercicio(DDL) SQL • Crear por medio de código una tabla del modelo de accesos y otra por medio la herramienta de diseño. • Crear una consulta que agregue la columna de fecha de creación y modificación además de las columnas de usuarioCreacion y usuarioUltimaModificación • Crear una consulta para remover la columna de usaurioCreacion • Borrar la primer tabla creada. sTI_CI_v1_201302
  14. 14. Lenguaje de manipulación de datos SQL (DML) • Insert • Update • Delete • Select• http://msdn.microsoft.com/es-es/library/ms177591(v=sql.90).aspx / sTI_CI_v1_201302
  15. 15. SQLInstrucciones fundamentales del DML Select select [nombre_columna],..[n] Insert Insert [nombre_tabla] values ([valor_columna],..[n]) Update update [nombre_tabla] set [nombre_columna] = [valor_columna] Delete delete from [nombre_tabla] sTI_CI_v1_201302
  16. 16. Instrucciones principales del DML SQL Lógicos Clausulas •AND •FROM Predicado •OR •WHERE •ALL •NOT •GROUP BY •TOP Comparación •HAVING •DISTINCT •BETWEEN •ORDER BY •DISTINCTROW •LIKE Relacionales •IN •< Agregado •> •AVG •<> •COUNT •<= •SUM •>= •MAX •= •MIN• http://andresmtzg.wordpress.com/2012/11/15/sql/• http://laboratorio.is.escuelaing.edu.co/labinfo/doc/Manual_Basico_del_Lenguaje_SQL.pdf sTI_CI_v1_201302
  17. 17. JOINS SQL La sentencia join en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL). Habitualmente cuando necesitamos recuperar la información de las consultas combinadas o JOINS. Las consultas combinadas pueden ser de tres tipos: •Combinación interna •Combinación externa •Uniones• http://www.devjoker.com/contenidos/articulos/17/Consultas-combinadas-JOINS.aspx sTI_CI_v1_201302
  18. 18. Ejercicio(DML) SQL • Insertar treinta registros en la tabla creada en el ejercicio anterior (Generar fechas de creación y modificación aleatorias no se podrá repetir ninguna) • Generar una consulta que contenga los 5 registros con fechas de creación más antiguas y modificar su fecha de modificación por la del día de hoy sTI_CI_v1_201302
  19. 19. Ejercicio(DML) SQL • Crear una consulta que genere el siguiente resultado. • Se requiere dividir la tabla de la cual se tiene información en tres periodos (estos deberán de tratar de ser equitativos en el número de registros), estos dependerán de la fecha de creación siendo los más antiguos los que formen el primer periodo y los mas recientes el último periodo. • Extraer la fecha de creación máxima y mínima del segundo periodo. sTI_CI_v1_201302
  20. 20. Ejercicio(DML) SQL • Crear una consulta que enliste un conteo de cada uno de los días de fecha de creación de la tabla con la que se tiene contenido. P.e. si la base de datos contiene los siguiente registros. Fecha creación 30/1/2013 30/12/2012 Deberá generar el siguiente registro. Día | Conteo 30 | 2 Nota: si un día no se encuentra este deberá mostrar un 0 sTI_CI_v1_201302
  21. 21. Vistas SQL Tabla virtual o consulta basada en varias tablas, vistas o consultas. Esta tabla virtual se le asigna un nombre que se almacena permanentemente en la base de datos, generando al igual que las tablas una entrada en el diccionario de datos. La vistas se compone de filas y columnas como una tabla real a diferencia de que estas se generan a partir de una consulta y no existen físicamente los registros Sintaxis CREATE VIEW [nombre_vista] As [consulta_SQL] sTI_CI_v1_201302
  22. 22. SQLProcedimiento almacenado Un procedimiento es un programa dentro de la base de datos que ejecuta una acción o conjunto de acciones especificas. Un procedimiento tiene un nombre, un conjunto de parámetros (opcional) y un bloque de código.• http://www.devjoker.com/contenidos/catss/238/Procedimientos-almacenados-en-Transact-SQL.aspx sTI_CI_v1_201302
  23. 23. SQLDesencadenador (Trigger) Es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación Trigger DML Son un tipo especial de procedimiento almacenado que se ejecuta automáticamente cuando se modifican los datos de una determinada tabla. Los desencadenadores se crean a menudo para exigir integridad referencial o coherencia entre los datos lógicamente relacionados en tablas diferentes.• http://msdn.microsoft.com/es-es/library/ms191524(v=sql.90).aspx sTI_CI_v1_201302
  24. 24. SQLDesencadenador (Trigger) Trigger DDL Los desencadenadores DDL, al igual que los desencadenadores habituales, activan procedimientos almacenados como respuesta a un evento. Sin embargo, a diferencia de los desencadenadores DML, no se activan como respuesta a las instrucciones UPDATE, INSERT o DELETE de una tabla o vista. En cambio, sí se activan en respuesta a diversos eventos del lenguaje de definición de datos (DDL). Estos eventos corresponden principalmente a instrucciones Transact-SQL que comienzan por las palabras clave CREATE, ALTER y DROP. Determinados procedimientos almacenados del sistema que realizan operaciones de estilo DDL también pueden activar desencadenadores DDL. sTI_CI_v1_201302
  25. 25. SQLDesencadenador (Trigger) CREATE TRIGGER [nombre_desencadenador] ON DATABASE FOR [Operación Insert/Update/Alter] AS [Código] GO• http://msdn.microsoft.com/es-es/library/ms191524(v=sql.90).aspx• http://msdn.microsoft.com/es-es/library/ms175941(v=sql.90).aspx sTI_CI_v1_201302
  26. 26. SQLFunciones Una función es una rutina de Transact-SQL o Common Language Runtime (CLR) que acepta parámetros, realiza una acción, como un cálculo complejo, y devuelve el resultado de esa acción como un valor. El valor devuelto puede ser un valor escalar (único) o una tabla. Utilice esta instrucción para crear una rutina reutilizable que se pueda utilizar de estas formas: •En instrucciones Transact-SQL como SELECT •En las aplicaciones que llaman a la función •En la definición de otra función definida por el usuario •Para parametrizar una vista o mejorar la funcionalidad de una vista indizada •Para definir una columna en una tabla •Para definir una restricción CHECK en una columna •Para reemplazar un procedimiento almacenado sTI_CI_v1_201302
  27. 27. SQLEjercicio •Generar una vista donde se muestre a las personas y los accesos de esta. •Generar un stored procedure para eliminar a una persona; Este deberá borrar todos los accesos de esta así como almacenar en una bitácora las principales operaciones que realizo. •Generar un trigger para dar de alta automáticamente los accesos generales cuando se da de alta una nueva persona. sTI_CI_v1_201302
  28. 28. SQLTareas programadas (Jobs) El objeto de rendimiento Jobs del Agente SQL Server contiene contadores de rendimiento que proporcionan información acerca de los trabajos del Agente SQL Server.• http://msdn.microsoft.com/es-mx/library/ms177481.aspx sTI_CI_v1_201302
  29. 29. SQLEjercicio (Jobs) •Crear un job que realice lo siguiente ejecutar un procedimiento almacenado que genere una lista con las personas que faltaron el día anterior (es decir no hay registro de fecha de ellas en ninguna puerta) así como analizar la hora de entrada y marcar con retardo a las personas que no ingresaron a tiempo (tolerancia 10 min) a la hora de entrada (9 AM) y con asistencia para las que llegaron a tiempo •Estas se deberán almacenar en una tabla de asistencia que deberá contener los siguientes estados por cada persona asistencia, retardo e inasistencia. •La tarea programada deberá correr todos los días laborales (L-V) al termino del ciclo laboral (7 PM) sTI_CI_v1_201302
  30. 30. SQLTablas •Físicas create Table [] •Temporales •Globales create table ##[nombre_tabla]([nombre_columna] [tipo_dato]) •Locales create table #[nombre_tabla]([nombre_columna] [tipo_dato]) •Variables declare @[nombre_tabla] TABLE( [nombre_columna] [tipo_dato]); sTI_CI_v1_201302
  31. 31. SQLIF...ELSE Impone condiciones en la ejecución de una instrucción Transact-SQL. La instrucción Transact-SQL que sigue a una palabra clave IF y a su condición se ejecuta si la condición se cumple: la expresión booleana devuelve TRUE. La palabra clave opcional ELSE introduce otra instrucción Transact-SQL que se ejecuta cuando la condición IF no se cumple: la expresión booleana devuelve FALSE. sTI_CI_v1_201302
  32. 32. SQLIF...ELSE IF [condicion_boleana] BEGIN [Codigo] END ELSE [Codigo] END sTI_CI_v1_201302
  33. 33. SQLCASE Evalúa una lista de condiciones y devuelve una de las varias expresiones de resultado posibles http://technet.microsoft.com/es-es/library/ms181765.aspx sTI_CI_v1_201302
  34. 34. SQLCASE CASE expresion WHEN [valor] THEN expresion resultado ELSE expresion resultado END sTI_CI_v1_201302
  35. 35. SQL Cursores y ciclos Cursor Un cursor es una variable que nos permite recorrer con un conjunto de resultados obtenido a través de una sentencia SELECT fila a fila. Cuando trabajemos con cursores debemos seguir los siguientes pasos. Declarar el cursor, utilizando DECLARE Abrir el cursor, utilizando OPEN Leer los datos del cursor, utilizando FETCH ... INTO Cerrar el cursor, utilizando CLOSE Liberar el cursor, utilizando DEALLOCATEhttp://www.devjoker.com/contenidos/articulos/240/Cursores-en-Transact-SQL.aspx sTI_CI_v1_201302
  36. 36. SQLCursores y ciclos DECLARE <nombre_cursor> CURSOR FOR <sentencia_sql> -- apertura del cursor OPEN <nombre_cursor> -- Lectura de la primera fila del cursor FETCH <nombre_cursor> INTO <lista_variables> WHILE (@@FETCH_STATUS = 0) BEGIN -- Lectura de la siguiente fila de un cursor FETCH <nombre_cursor> INTO <lista_variables>… END -- Fin del bucle WHILE -- Cierra el cursor CLOSE <nombre_cursor> -- Libera los recursos del cursor DEALLOCATE <nombre_cursor> sTI_CI_v1_201302
  37. 37. SQL Cursores y ciclos Ciclo Establece una condición para la ejecución repetida de una instrucción o bloque de instrucciones SQL. Las instrucciones se ejecutan repetidamente siempre que la condición especificada sea verdadera. Se puede controlar la ejecución de instrucciones en el bucle WHILE con las palabras clave BREAK y CONTINUE.http://msdn.microsoft.com/es-mx/library/ms178642.aspx sTI_CI_v1_201302
  38. 38. SQLCursores y ciclos WHILE [condicion] BEGIN [Codigo] END sTI_CI_v1_201302
  39. 39. SQLComando Execute Ejecuta una cadena de comandos o una cadena de caracteres dentro de un lote de Transact-SQL o uno de los siguientes módulos: procedimiento almacenado del sistema, procedimiento almacenado definido por el usuario, procedimiento almacenado CLR, función escalar definida por el usuario o procedimiento almacenado extendido. Ejemplo Execute ‘Select * from [nombre tabla]’ sTI_CI_v1_201302
  40. 40. SQL Ejercicio Generar las siguientes consultas •Generar una lista que indique por cada una de las puertas en la aplicación si esta esta asociada o no al menos a un usuario. Puerta | Asociada Almacén –A Si Almacén-B No •Generar una consulta donde muestre la lista de usuarios y los clasifique en los siguientes rubros Invitado - Solo acceso a las áreas comunes (AC) Personal – (AC) y al área de trabajo (AT) Enfermero(a) – (AC)- Enfermería (E) Infraestructura (AC) – Site Empleado | Acceso Pedro Personal María Enfermerahttp://msdn.microsoft.com/es-mx/library/ms178642.aspx sTI_CI_v1_201302
  41. 41. SQLEjercicio Generar una lista de empleados por acceso y mostrarla en el sistema Como se muestra en el siguiente ejemplo y tomando en cuanta los criterios definidos en el punto anterior. Acceso | Nombre | NAccesos | Día Enfermería María, Alejandra, Elena 12 11/02/2013 Personal Juan, Mario, Karla, John 24 11/02/2013 Infraestructura Jimena, Arturo 1 11/02/2013 sTI_CI_v1_201302
  42. 42. SQLEjercicio final Generar un procedimiento almacenado para resolver el siguiente problema. Se desea que la base de datos controle de manera lógica el tiempo en que abre y se cierra una puerta (1 min) y un usuario no podrá abrir dos puertas considerando el siguiente criterio, puertas del mismo edificio deberá tener un minuto de diferencia para abrirlas y puertas de edificios diferentes cinco minutos de diferencia. •Modificar la estructura necesaria requerida para mantener el estado de las puertas dentro de un registro. •Generar un procedimiento almacenado para abrir una puerta este deberá regresar los siguientes valores. • ‘Acceso denegado’ Este mensaje se mostrara a la persona que no tenga permiso para acezar a la puerta sTI_CI_v1_201302
  43. 43. SQLEjercicio final •‘Acceso temporal denegado’ Este deberá mostrarse al usuario que trate de ingresar a una puerta y no cumpla con las reglas de tiempo establecidas anteriormente •‘Clave errónea’ Este mensaje deberá ser enviado cuando la clave de la puerta sea invalida •‘Acceso concedido’ Este deberá mostrarse cuando cumpla con todas las condiciones de acceso requeridas en el sistema. La salida esperada es la siguiente --Acceso denegado Exec [nombre_procedimiento] [paramA], [paramB], [paramC]… -- Acceso temporal denegado Exec [nombre_procedimiento] [paramD], [paramE], [paramF]… Y así sucesivamente para los cuatro estados sTI_CI_v1_201302
  44. 44. C#
  45. 45. C#Temario •Framework .NET •Lenguaje C# •POO en C# •Estructuras de control •Arquitectura serTI •DAO , ADO, LINQ,SQL Entity Framework •Active server page (ASP) •Ajax •Javascript •Prototype •Jquery •XML •JSON •CSS •Windows Communication Foundation •Redes sociales con C# •IIS sTI_CI_v1_201302
  46. 46. C# Framework •El Framework. NET es una plataforma de desarrollo para la creación de aplicaciones para Windows, Windows Store, Windows Phone, Windows Server y Windows Azure. •La plataforma de Marco. NET incluye el C # y Visual Basic lenguajes de programación, el tiempo de ejecución de lenguaje común, y una extensa biblioteca de clases.http://msdn.microsoft.com/es-es/library/zw4w595w.aspx sTI_CI_v1_201302
  47. 47. C# Versiones de .NEThttp://msdn.microsoft.com/es-es/library/bb822049.aspx sTI_CI_v1_201302
  48. 48. Versiones de .NET C#.NET IDE Descripción1.0 Visual Studio .NET Contenía la primera versión de CLR y la primera versión de las bibliotecas de clases base.1.1 Visual Studio .NET Incluía actualizaciones de ASP.NET y ADO.NET. Esta versión se actualizó dos veces 2003 posteriormente, con Service Pack 1 y (SP1) SP2.Esta versión incorporaba también la ejecución en paralelo, lo que permite que las aplicaciones de un solo equipo ejecuten varias versiones de CLR.2.0 Visual Studio 2005 Se incorporó una nueva versión de CLR con ampliaciones de las bibliotecas de clases base, que incluían genéricos, colecciones de genéricos y ampliaciones significativas de ASP.NET. Esta versión se actualizó con el SP1 y el SP2.3.0 Visual Studio 2005 Esta versión es esencialmente .NET Framework 2.0 con la incorporación de Windows Presentation Foundation (WPF), Windows Communications Foundation (WCF), Windows Workflow Foundation (WF) y CardSpace. Se actualizó con SP1 y SP2.3.5 Visual Studio 2008 Se agregaron nuevas características, como los sitios web habilitados para AJAX y LINQ. La actualización SP1 incorporaba datos dinámicos y un pequeño conjunto de mejoras adicionales.4 Visual Studio 2010 Incluye una nueva versión de CLR, bibliotecas de clases base expandidas y nuevas características, como Managed Extensibility Framework (MEF), Dynamic Language Runtime (DLR) y contratos de código.4.5 Visual Studio 2012 Incluye una versión actualizada de CLR, compatibilidad para compilar aplicaciones Tienda Windows de Windows y las actualizaciones para WPF, WCF, WF y ASP.NET. sTI_CI_v1_201302
  49. 49. C# Lenguaje C# C# es un lenguaje orientado a objetos elegante y con seguridad de tipos que permite a los desarrolladores crear una amplia gama de aplicaciones sólidas y seguras que se ejecutan en .NET Framework. Puede utilizar este lenguaje para crear aplicaciones cliente para Windows tradicionales, servicios Web XML, componentes distribuidos, aplicaciones cliente-servidor, aplicaciones de base de datos, y muchas tareas más. C# proporciona un editor de código avanzado, diseñadores de interfaz de usuario prácticos, un depurador integrado y muchas otras herramientas para facilitar un rápido desarrollo de la aplicación basado en la versión del lenguaje C# y en .NET Framework.http://msdn.microsoft.com/es-es/library/z1zx9t92(v=vs.80).aspx sTI_CI_v1_201302
  50. 50. POO C# • Clase • class • Modificadores de acceso • Public [Elemento] • Internal [Elemento] • Private [Elemento] • Protected [Elemento] • Objeto • [Clase] [nombre Objeto] = new [Clase]() • var [nombre Objeto] = new [Clase]() • var [nombre Objeto] = [Objeto]()http://msdn.microsoft.com/es-mx/library/ms228593(v=vs.80).aspx sTI_CI_v1_201302
  51. 51. POO C# • Abstracción • abstract class [Nombre_Base] • Encapsulamiento • Public String [Popiedad]{get;set;} • Public String [Popiedad]{ get{return _att;} set{_att=value;};} • Herencia • class [Nombre]: [Nombre_Base]http://msdn.microsoft.com/es-es/library/ms173152(v=vs.90).aspx sTI_CI_v1_201302
  52. 52. POO C# • Polimorfismo internal class Mamifero { public int Patas { get; set; } public string Nombre { get; set; } public virtual void YoSoy() { Console.WriteLine("Yo Soy:"); } } internal class Leon : Mamifero { public Leon() { this.Patas = 4; this.Nombre = "Leon"; } sTI_CI_v1_201302
  53. 53. POO C#public override void YoSoy() { base.YoSoy(); Console.WriteLine("Un" + this.Nombre + " con " + this.Patas + " patas"); } } internal class Chimpance : Mamifero { public Chimpance() { this.Patas = 2; this.Nombre = "Chimpance";} public override void YoSoy() { base.YoSoy(); Console.WriteLine("Un" + this.Nombre + " con " + this.Patas + " patas"); } } sTI_CI_v1_201302
  54. 54. POO C#class Program { static void Main(string[] args) { var oMamifero = new Mamifero(); Console.WriteLine("Mamifero"); oMamifero.YoSoy(); var oLeon = new Leon(); Console.WriteLine("Leon"); oLeon.YoSoy(); var oChimpance= new Chimpance(); Console.WriteLine("Chimpance"); oChimpance.YoSoy(); List<Mamifero> oMamiferos = new List<Mamifero>(); oMamiferos.Add(oLeon); oMamiferos.Add(oChimpance); Console.WriteLine("Polimorfismo"); foreach (var mamifero in oMamiferos) { mamifero.YoSoy(); } Console.ReadKey(); } } sTI_CI_v1_201302
  55. 55. POO C# • Polimorfismo internal class Mamifero { public int Patas { get; set; } public string Nombre { get; set; } public virtual void YoSoy() { Console.WriteLine("Yo Soy:"); } } internal class Leon : Mamifero { public Leon() { this.Patas = 4; this.Nombre = "Leon"; }http://msdn.microsoft.com/es-es/library/ms173152(v=vs.90).aspx sTI_CI_v1_201302
  56. 56. Estructuras de control C# • If If([condicion_boleana]){ [codigo_If]; } else{ [codigo_else]; } • switch switch{ case [valor]: break; default: break; } sTI_CI_v1_201302
  57. 57. Estructuras de control C# • while while ([condicion]) { break; continue; } • for for ([tipo_dato] [varialble] [inicializador]; [condicion de paro]; [paso]) { [codigo]; } • foreach foreach([tipo_dato] [objeto] in [Lista_Objetos] ){ [codigo]; }http://es.wikipedia.org/wiki/Estructuras_de_control sTI_CI_v1_201302
  58. 58. Arquitectura serTI C# sTI_CI_v1_201302
  59. 59. DAO (Data Access Object) C# Data Access Objects (DAO, Objetos de Acceso a Datos) es una interfaz orientada a objetos creada por Microsoft la cual permitía a las primeras versiones de Microsoft Access y Visual Basic utilizar el motor de base de datos Jet . Posteriormente (en la versión 3.5) fue capaz de realizar un bypass al motor Jet y directamente acceder a las fuentes de datos ODBC, incluyendo Microsoft SQL Server y otros sistemas de bases de datos de empresa. DAO 3.6 fue la versión final desarrollada por Microsoft. Microsoft dice que DAO no estará disponible en los futuros sistemas operativos de 64-bit. sTI_CI_v1_201302
  60. 60. DAO (Data Access Object) C# sTI_CI_v1_201302
  61. 61. ADO C# (Microsoft ActiveX Data Objects - ADO). Conjunto de objetos COM para el acceso a recursos de datos. Prevé una capa entre los lenguajes de programación y las bases de datos OLE, lo que permite a los programadores escribir programas que accedan a datos, sin saber cómo está implementada la base de datos (sólo se debe tener cuidado en la conexión a la misma). Tampoco es necesario conocer sobre SQL cuando se usa ADO, aunque también pueden utilizarse comandos SQL, pero esto crearía en el programa una dependencia del tipo de base de datos usado. sTI_CI_v1_201302
  62. 62. ADO C# sTI_CI_v1_201302
  63. 63. LINQ C# LINQ to SQL es una implementación de O/RM(object relational mapping, mapeador de objetos relacionales) que viene con la versión "Orcas" del .NET Framework, y nos permite modelar bases de datos relacionales con clases de .NET. Podemos consultar bases de datos con LINQ, así como actualizar/añadir/borrar datos de ellas. sTI_CI_v1_201302
  64. 64. LINQ C# sTI_CI_v1_201302
  65. 65. SQL Entity Framework C# Entity Framework es un conjunto de tecnologías de ADO.NET que apoyan el desarrollo de aplicaciones de software orientadas a datos. Los arquitectos y desarrolladores de aplicaciones orientadas a datos han luchado con la necesidad de lograr dos objetivos muy diferentes. Ellos deben modelar las entidades, relaciones y lógica de los problemas de las empresas que están resolviendo, y también deben trabajar con los motores de datos utilizadas para almacenar y recuperar los datos. Los datos pueden abarcar varios sistemas de almacenamiento, cada uno con sus propios protocolos, e incluso aplicaciones que funcionan con un único sistema de almacenamiento debe equilibrar los requisitos del sistema de almacenamiento con los requisitos de la escritura de código de la aplicación eficaz y fácil de mantener. sTI_CI_v1_201302
  66. 66. SQL Entity Framework C# sTI_CI_v1_201302
  67. 67. Lenguaje LINQ C# Language Integrated Query (LINQ, pronunciado “link”) es un componente de la plataforma Microsoft .NET que agrega capacidades de consulta a datos de manera nativa a los lenguajes .NET, si bien existen implementaciones para Java, PHP, JavaScript y ActionScript. LINQ extiende el lenguaje a través de las llamadas expresiones de consulta, que son parecidas a las sentencias SQL y pueden ser usadas para extraer y procesar convenientemente datos de arrays, clases enumerables, documentos XML, bases de datos relacionales y fuentes de terceros. Otros usos, que utilizan expresiones de consulta como plataforma general para la composición de expresiones más legibles, incluyen la construcción de manejadores de eventos. LINQ además define un conjunto de nombres de métodos (llamados operadores de consulta estándar), y un conjunto de reglas de traducción, que son usadas por el compilador para traducir las expresiones de consulta en expresiones normales del lenguaje, usando estos nombres de métodos, expresiones lambda y tipos anónimos. Muchos de los conceptos que LINQ ha introducido, fueron probados inicialmente en el proyecto de investigación Microsoft Cω. LINQ fue lanzado como un componente principal de .NET Framework 3.5 el 19 de noviembre de 2007. sTI_CI_v1_201302
  68. 68. Lenguaje LINQ C# •LINQ to XML •LINQ to Entities •LINQ to Objects •LINQ to DataSet http://msdn.microsoft.com/es-es/library/bb387061.aspx http://msdn.microsoft.com/es-es/library/bb386964.aspx http://msdn.microsoft.com/es-es/library/bb397919.aspx http://msdn.microsoft.com/es-es/library/bb386977.aspx sTI_CI_v1_201302
  69. 69. Ejercicio C# Generar alas siguientes consultas: •Una consulta para alta, baja, actualización y búsqueda por clave de una tabla. •Generar una consulta que obtenga la lista de los edificio en formato Xml sTI_CI_v1_201302
  70. 70. Principales Operadores LINQ C# •Where •Concat •Select •Combine •Group by •Max •Count •Average •SelectMany •Aggregate •Distinct •Sum •Union •Union •Intersect •Min •Except •Cross Join •Take •Group Join •TakeWhile •OrderBy •ThenBy •Range sTI_CI_v1_201302
  71. 71. Ejercicio C# •Seleccionar 5 operadores de la cada una de las columnas anteriores y utilizarlos en consultas; Las consultas serán puntuadas al final del ejercicio dependiendo de le número de operadores que se utilizan con un valor exponencial. •1 op= 1! pto •2 op = 2! ptos •…… sTI_CI_v1_201302
  72. 72. Métodos HTTP C# Método Significado GET Devuelve el recurso identificado en la URL pedida. HEAD Funciona como el GET, pero sin que el servidor devuelva el cuerpo del mensaje. Es decir, sólo se devuelve la información de cabecera. POST Indica al servidor que se prepare para recibir información del cliente. Suele usarse para enviar información desde formularios. PUT Envía el recurso identificado en la URL desde el cliente hacia el servidor. OPTIONS Pide información sobre las características de comunicación proporcionadas por el servidor. Le permite al cliente negociar los parámetros de comunicación. TRACE Inicia un ciclo de mensajes de petición. Se usa para depuración y permite al cliente ver lo que el servidor recibe en el otro lado. DELETE Solicita al servidor que borre el recurso identificado con el URL. CONNECT Este método se reserva para uso con proxys. Permitirá que un proxy pueda dinámicamente convertirse en un túnel. Por ejemplo para comunicaciones con SSL. sTI_CI_v1_201302
  73. 73. Active server page (ASP) C# Microsoft introdujo esta tecnología llamada Active Server Pages en diciembre de 1996, por lo que no es nada nueva. Es parte del Internet Information Server (IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente, traduciendo la definición de Microsoft: “Las Active Server Pages son un ambiente de aplicación abierto y gratuito en el que se puede combinar código HTML, scripts y componentes ActiveX del servidor para crear soluciones dinámicas y poderosas para el web”. sTI_CI_v1_201302
  74. 74. Ciclo de vida ASP C# •PreInit •Init •InitComplete •PreLoad •Load •LoadComplete •PreRender •PreRenderComplete •SaveStateComplete •Render •Unload http://msdn.microsoft.com/es-mx/library/ms178473(v=vs.80).aspx http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx sTI_CI_v1_201302
  75. 75. ASP MVC (Model-View-Controller) C# ASP.NET MVC es, básicamente, una implementación del patrón Modelo - Vista - Controlador (MVC) para tecnología ASP.NET. El patrón MVC no es ni nuevo (data de finales de los años 70) ni está pensado para aplicaciones web, pero en realidad en aplicaciones web encaja perfectamente. Brevemente podemos decir que el patrón MVC separa la lógica (y acceso a datos) de una aplicación de su presentación, usando 3 componentes: Modelo: Representa las reglas de negocio de la aplicación (y el acceso a datos subyacente). Vistas: Representan la presentación de la aplicación. Controlador: Actúan de intermediario entre el usuario y el Modelo y las Vistas. Recogen las peticiones del usuario, interaccionan con el modelo y deciden que vista es la que debe mostrar los datos. En el contexto de ASP.NET MVC: Toda la lógica de negocio y el acceso a datos es el Modelo (en muchos casos el Modelo puede estar en uno o varios assemblies referenciados). Las vistas contienen, básicamente, el código que se envía al navegador, es decir el código HTML (y código de servidor asociado, siempre y cuando este código haga cosas de presentación, no de lógica de negocio). Los controladores reciben las peticiones del navegador y en base a esas, deciden que vista debe enviarse de vuelta al navegador y con qué datos. sTI_CI_v1_201302
  76. 76. ASP MVC (Model-View-Controller) C# sTI_CI_v1_201302
  77. 77. ASP Controles principales C# ASP HTML Validadores •Label •Input (Button) •Compare •Textbox •Input (Text) •Custom •HyperLink •Input (CheckBox) •Range •Image •Image •RegularExpresion •RadioButton •Select •RequieredField •CheckBox •ValidationSummary •GridView •ListBox •DropDownList sTI_CI_v1_201302
  78. 78. ASP Master Page C# Páginas maestras ASP.NET le permiten crear un diseño coherente para las páginas de la aplicación. Una sola página maestra define el aspecto y la sensación y el comportamiento estándar que desea para todas las páginas (o un grupo de páginas) de la aplicación. A continuación, puede crear páginas individuales de contenido que contienen el contenido que desea mostrar. Cuando los usuarios solicitan las páginas de contenido, se fusionan con la página principal para producir una salida que combina el diseño de la página principal con los contenidos de la página de contenido. sTI_CI_v1_201302
  79. 79. Control de usuario (WebUserControl) C# Controles de usuario Web son archivos con la extensión ascx que se pueden incluir en los formularios Web Forms, Web Forms con el padre convirtiéndose en el contenedor del control.. Controles de usuario Web le permiten reutilizar fácilmente piezas de funcionalidad en una serie de formularios Web Forms. http://msdn.microsoft.com/en-us/library/3457w616(v=vs.71).aspx sTI_CI_v1_201302
  80. 80. Controles de navegación C# •Control Menu El Menu (control) permite agregar funcionalidad de navegación a las páginas web. El control Menu admite un menú principal y submenús, y permite definir menús dinámicos (a veces denominados menús emergentes). Para obtener información acerca de la programación del control Menu, vea Menu (Clase) en MSDN Library. •Control SiteMapPath El SiteMapPath (control) muestra una ruta de navegación (también denominada árbol de navegación) que indica al usuario la ubicación de la página actual y muestra los vínculos como una ruta de retorno a la página principal. El control proporciona muchas opciones para personalizar la apariencia de los vínculos. Para obtener información acerca de la programación del control SiteMapPath, vea el artículo SiteMapPath (Clase) en MSDN Library. • Control TreeView El TreeView (control) sirve para mostrar datos jerárquicos, como una tabla de contenido o un directorio de archivos, en una estructura de árbol. Para obtener información acerca de la programación del control TreeView, vea el artículo TreeView (Clase) en MSDN Library. sTI_CI_v1_201302
  81. 81. Ajax C# AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. 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. Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se solicitan al servidor y se cargan en segundo plano sin interferir con la visualización ni el comportamiento de la página. JavaScript es el lenguaje interpretado (scripting language) en el que normalmente se efectúan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto disponible en los navegadores actuales. En cualquier caso, no es necesario que el contenido asíncrono esté formateado en XML. Ajax es una técnica válida para múltiples plataformas y utilizable en muchos sistemas operativos y navegadores dado que está basado en estándares abiertos como JavaScript y Document Object Model (DOM). http://msdn.microsoft.com/en-us/library/3457w616(v=vs.71).aspx sTI_CI_v1_201302
  82. 82. Ejercicio C# •Crear una página maestra alguna de las siguientes distribuciones sTI_CI_v1_201302
  83. 83. Ejercicio C# Crear o modifica la estructura necesaria para realizar lo siguiente. •Generar una página de bienvenida en el sistema. Esta deberá tener un espacio para ingresar un correo electrónico y un password. El sistema deberá validar estos datos y si son correctos deberá enviarlo a una pantalla de Inicio. •Crear un mapa de navegación para el sitio así como un menú lateral. •El sistema deberá guardar en un XML el estado de cada usuario y al iniciar la aplicación esta deberá enviarlo a la ultima página donde navego. Si no existe deberá ingresar al la de inicio sTI_CI_v1_201302
  84. 84. Ejercicio C# Crear una página web para el registro de usuarios donde se valide lo siguiente. •Validar que la caja de texto password sea igual al de la confirmación •Generar que la fecha de nacimiento sea de un adulto (18 años mínimo) •Validar el correo electrónico tenga una estructura valida. •Validar que se ingrese el nombre •Mostrar un resumen de los datos erróneos en caso de existir sTI_CI_v1_201302
  85. 85. GridView C# C sTI_CI_v1_201302
  86. 86. Interface de usuario C# •La interfaz de usuario es el medio con que el usuario puede comunicarse con una máquina, un equipo o una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo. Normalmente suelen ser fáciles de entender y fáciles de accionar. sTI_CI_v1_201302
  87. 87. Prototype (patrón de diseño) C# El patrón de diseño Prototype (Prototipo), tiene como finalidad crear nuevos objetos duplicándolos, clonando una instancia creada previamente.. Este patrón especifica la clase de objetos a crear mediante la clonación de un prototipo que es una instancia ya creada. La clase de los objetos que servirán de prototipo deberá incluir en su interfaz la manera de solicitar una copia, que será desarrollada luego por las clases concretas de prototipos sTI_CI_v1_201302
  88. 88. Javascript C# Lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico. Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas, en bases de datos locales al navegador... aunque existe una forma de JavaScript del lado del servidor (Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es también significativo. JavaScript se diseñó con una sintaxis similar al C, aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo Java y JavaScript no están relacionados y tienen semánticas y propósitos diferentes. https://developer.mozilla.org/es/docs/Introducci%C3%B3n_a_JavaScript_orientado_a_objetos sTI_CI_v1_201302
  89. 89. Javascript C# •Eventos onClick,onChange,mouseMove •Selectores getElementByID, getElementByTagName •Document Object Model document.XX •Incluir script •HTML <script src=“*Nombre+" type="text/javascript"></script> •C# Page.ClientScript.RegisterClientScriptBlock(this.GetType(), “*Nombre_Script+",* Script+, true); http://www.maestrosdelweb.com/editorial/diez-funciones-imprescindibles-en-javascript/ http://www.maestrosdelweb.com/editorial/dom/ sTI_CI_v1_201302
  90. 90. Cascading Style Sheets (CSS) C# CSS son las siglas de Cascading Style Sheets - Hojas de Estilo en Cascada - que es un lenguaje que describe la presentación de los documentos estructurados en hojas de estilo para diferentes métodos de interpretación, es decir, describe como se va a mostrar un documento en pantalla, por impresora, por voz (cuando la información es pronunciada a través de un dispositivo de lectura) o en dispositivos táctiles basados en Braille. Dentro del diseño de páginas de Internet se presenta esta como la vanguardia en cuanto a definición de estilos dentro de las plantillas de diseño. A través de instrucciones en código HTML se definen los estándares del conjunto de páginas que conforman el proyecto. La meta es uniformizar nuestro diseño. http://www.xsvc.com.ve/tutoriales/ManualCssHojasDeEstilos.pdf sTI_CI_v1_201302
  91. 91. Principales elementos CSS C# •Selectores •Notación •Tipos de medios •Sintaxis •Unidades •Modelo de cajas •Márgenes •Relleno •Bordes •Modelo de formato visual •Detalles del modelo de formato visual •Efectos visuales •Contenido generado, numeración automática y listas •Colores y fondo •Medios paginados •Fuentes •Texto •Tablas •Interfaz de usuario http://www.w3c.es/Divulgacion/GuiasReferencia/CSS21/ sTI_CI_v1_201302
  92. 92. Estructura de estilos CSS C# •Elemento html { border-color:red; } <html> Estilo .html { border-color:red; } <body class=“html”> •Identificador #html { border-color:red; } <div id=“html”> sTI_CI_v1_201302
  93. 93. Ejemplo CSS C# <html> <head> <style> body{ background-color:gray;} /*Nivel 1*/ body table { background-color:yellow;} /*Nivel 2*/ body table tr {background-color:green;} /*Nivel 3*/ #MiTexto{background-color:#f32;} .Elemento{color:white;} </style> </head> <body> <span> Texto Body</span> <table> <tr class="Elemento"> <td > Texto td <span id="MiTexto"> Texto Span</span> </td> </tr> </table> </body> </html> sTI_CI_v1_201302
  94. 94. jQuery C# •jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite simplificar la manera de interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC. •Lema write less, do more sTI_CI_v1_201302
  95. 95. jQuery Selectores y Eventos C# •Selectores jQuery() o $() •Eventos document.ready( function (){} ); Funciones anonimas function (){} •Efectos •Handlers http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery sTI_CI_v1_201302
  96. 96. jQuery Ejercicio C# •Generar una página que contenga 4 controles que deben de llevar las siguientes características •(A)Dos deberán ser etiquetas (html) con nombres y clases diferentes •(B)Uno deberá ser un dropDownList (ASP) con el nombre de una clase igual al de una etiqueta •(C)Una caja de texto Con clases y nombres diferentes a los anteriores. •Crear botones para lo siguiente •Seleccionar todos los controles que pertenezcan a la clase estilos 2 y deberá ocultarse. sTI_CI_v1_201302
  97. 97. jQuery Ejercicio C# •Seleccionar la caja de texto y las etiquetas cambiando las siguientes propiedades •Tipo de letra Calibri •Tamaño 10 pts •Color Rojo Cargar una imagen que se oriente en la parte superior de la pantalla a la derecha esta deberá cambiar cuando el mouse pase sobre ella y regresar a su estado cuando este salga sTI_CI_v1_201302
  98. 98. jQuery Ajax C# A) jQuery.ajax({ url: "test.html", context: document.body }).done(function() { //código aquí }); B) jQuery.ajax({ url : "test.html", cache : false, type : this.type, dataType : "jsonp", crossDomain : true, data : { json : this.data }, success : function(data) { //código aquí }, error : function(data) { //código aquí } }); http://api.jquery.com/jQuery.ajax/ sTI_CI_v1_201302
  99. 99. XML C# XML proviene de eXtensible Markup Language (“Lenguaje de Marcas Extensible”). Se trata de un metalenguaje (un lenguaje que se utiliza para decir algo sobre otro lenguaje) extensible de etiquetas que fue desarrollado por el Word Wide Web Consortium (W3C), un consorcio internacional que elabora recomendaciones para la World Wide Web. El XML es una adaptación del SGML (Standard Generalized Markup Language), un lenguaje que permite la organización y el etiquetado de documentos. Esto quiere decir que el XML no es un lenguaje en sí mismo, sino un sistema que permite definir lenguajes de acuerdo a las necesidades. El XHTML, el MathML y el SVG son algunos de los lenguajes que el XML está en condiciones de definir. sTI_CI_v1_201302
  100. 100. XML Estructura Básica C# <?xml version="1.0"?> <Elemento> <Elemento_Hijo [nombreAtributo]=valor> valorElemento < /Elemento_Hijo > </Elemento> sTI_CI_v1_201302
  101. 101. JSON C# JSON, acrónimo de JavaScript Object Notation, es un formato ligero para el intercambio de datos. JSON es un subconjunto de la notación literal de objetos de JavaScript que no requiere el uso de XML. La simplicidad de JSON ha dado lugar a la generalización de su uso, especialmente como alternativa a XML en AJAX. Una de las supuestas ventajas de JSON sobre XML como formato de intercambio de datos en este contexto es que es mucho más sencillo escribir un analizador sintáctico (parser) de JSON. En JavaScript, un texto JSON se puede analizar fácilmente usando la función eval(), lo cual ha sido fundamental para que JSON haya sido aceptado por parte de la comunidad de desarrolladores AJAX, debido a la ubicuidad de JavaScript en casi cualquier navegador web. sTI_CI_v1_201302
  102. 102. JSON Estructura Básica C# { Elemento:valor Elemento:[ elementoHijo1:valor ,elementoHijo2:valor] } sTI_CI_v1_201302
  103. 103. Comparación XML y JSON C# XML <persona> <nombre>juan</nombre> <edad>22</edad> <estudios> <estudio>primario</estudio> <estudio>secundario</estudio> </estudios> </persona> JSON { nombre:juan, edad:22, estudios:[primario,secundario] } sTI_CI_v1_201302
  104. 104. Prototype C# Prototype es un framework que facilita el desarrollo de aplicaciones web con JavaScript y AJAX. Su autor original es Sam Stephenson, aunque las últimas versiones incorporan código e ideas de muchos otros programadores. A pesar de que incluye decenas de utilidades, la librería es compacta y está programada de forma muy eficiente. Prototype se ha convertido en poco tiempo en una referencia básica de AJAX y es la base de muchos otros frameworks y librerías relacionadas como script.aculo.us. Las primeras versiones de Prototype no incluían ningún tipo de documentación, lo que dificultaba su uso y provocaba que la mayoría de usuarios desconocieran su verdadero potencial. Afortunadamente, las versiones más recientes del framework disponen de una completa documentación de todas las funciones y métodos que componen su API. La documentación incluye la definición completa de cada método, sus atributos y varios ejemplos de uso: http://www.prototypejs.org/api http://librosweb.es/ajax/capitulo_10/el_framework_prototype.html sTI_CI_v1_201302
  105. 105. Definición de un prototipo C# Definición var Objeto= Class.create(); Objeto. prototype = { initialize: function(propiedad) { propiedad= propiedad; }, metodo: function(parametro) { return this. propiedad+ : + parametro; } }; Uso var objeto= new Objeto(‘propiedad); objeto. metodo( parametro ); // -> " propiedad : parametro " sTI_CI_v1_201302
  106. 106. Herencia de un prototipo C# Definición var objetoHijo= Class.create(); objetoHijo.prototype = Object.extend(new Objeto() ,{ //Redefinimos el método metodo: function(parametro) { return parametro; } } ); Uso var hijo = new objetoHijo(‘propiedad); hijo.metodo(‘parametro); // -> “parametro” sTI_CI_v1_201302
  107. 107. jQuery UI C# Es una biblioteca de componentes para el framework jQuery que le añaden un conjunto de plug- ins, widgets y efectos visuales para la creación de aplicaciones web. Cada componente o módulo se desarrolla de acuerdo a la filosofía de jQuery (find something, manipulate it: encuentra algo, manipúlalo). sTI_CI_v1_201302
  108. 108. jQuery UI Principales controles C# Interactions Widgets Effects Draggable Accordion Add Class Droppable Autocomplete Color Animation Resizable Button Effect Selectable Datepicker Hide Sortable Dialog Remove Class Menu Show Progressbar Switch Class Slider Toggle Utilities Spinner Toggle Class Position Tabs Widget Factory Tooltip http://jqueryui.com/demos/ sTI_CI_v1_201302
  109. 109. jQuery UI Ejercicio C# •Seleccionar tres elementos de jQuery UI e implementarlos en una página •Crear un prototipo de la pantalla que se utilizo antes y generar los métodos correspondientes para guardar, actualizar, consultar y eliminar para desde jQuery. sTI_CI_v1_201302
  110. 110. Windows Communication Foundation C# •Windows Communication Foundation (WCF) es un marco de trabajo para la creación de aplicaciones orientadas a servicios. Con WCF, es posible enviar datos como mensajes asincrónicos de un extremo de servicio a otro. Un extremo de servicio puede formar parte de un servicio disponible continuamente hospedado por IIS, o puede ser un servicio hospedado en una aplicación. Un extremo puede ser un cliente de un servicio que solicita datos de un extremo de servicio. Los mensajes pueden ser tan simples como un carácter o una palabra que se envía como XML, o tan complejos como una secuencia de datos binarios sTI_CI_v1_201302
  111. 111. WCF Componentes principales C# •Endpoint •Address (¿Dónde?) Dirección de la red •Binding (¿Cómo?) Protocolo:TCP,HTTP,MSMQ etc.. Codificación: Texto o Binario Seguridad: SSL, Seguridad SOAP Referencia al servicio a exponer •Contract (¿Qué?) •Interfaz: Contrato de servicio sTI_CI_v1_201302
  112. 112. WCF Diagrama C#Cliente Servidor Endpoint Mensajes Endpoint C B A A B C sTI_CI_v1_201302
  113. 113. WCF Configuración C#Services<system.serviceModel> <services> <service behaviorConfiguration="BlockBehaivior" name="Aon.Adte.Servicio.Estadistico.Folios"> <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BlockBinding" contract="Aon.Adte.Servicio.Estadistico.IFolios"> <identity> <dns value="10.205.4.21" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services></system.serviceModel> sTI_CI_v1_201302
  114. 114. WCF Configuración C#Behaviors<behaviors> <serviceBehaviors> <behavior name="BlockBehaivior"> <dataContractSerializer maxItemsInObjectGraph ="65536"/> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior> </serviceBehaviors></behaviors>Bindings<bindings> <basicHttpBinding> <!--Base--> <binding name="BlockBinding" closeTimeout="01:00:00" sendTimeout="01:00:00" receiveTimeout="01:00:00" openTimeout="01:00:00" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Mtom" transferMode="Streamed"> <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> </binding> </basicHttpBinding> sTI_CI_v1_201302</bindings>
  115. 115. IIS C# Internet Information Services o IIS es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows. Originalmente era parte del Option Pack para Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft destinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Windows XP Profesional incluye una versión limitada de IIS. Los servicios que ofrece son: FTP, SMTP,NNTP y HTTP/HTTPS. Antiguamente se denominaba PWS (Personal Web Server), y actualmente forma parte de la distribución estándar de Windows, de modo que no se necesita una licencia extra para instalarlo. Este servicio convierte a una PC en un servidor web para Internet o una intranet, es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente. Los servicios de Internet Information Services proporcionan las herramientas y funciones necesarias para administrar de forma sencilla un servidor web seguro. sTI_CI_v1_201302
  116. 116. IIS Versiones C# •IIS 1.0.- Proporciona la opción de la arquitectura cliente servidor para Windows 95. •IIS 2.0.- Soporta plugins, extensiones de Microsoft FrontPage. •IIS 3.0.- Paginas Active Server, conexiones con bases de datos de Microsoft a través de Actives Data Object y ODBC. •IIS 4.0.- Microsoft Management Console (MMC). •IIS 5.0.- Administración remota de IIS y otros servicios de Windows. •IIS 6.0.- Utilización de autenticación en Passport, Proxy y Firewall. •IIS 7.0.- Extensibilidad de .NET Y Extensiones ISAPI •IIS 7.5.- Extensiones WebDav y FTP, Filtrado de solicitudes y módulos del Administration Pack. sTI_CI_v1_201302
  117. 117. IIS Tipos de canalización administrada C# Canalización integrada es una canalización de procesamiento de solicitudes unificada que admite módulos de código nativo y código administrado, provoca todos los eventos que expone el objeto HttpApplication, que habilita los módulos HTTP de ASP.NET existentes para trabajar en el modo integrado de IIS 7.0, canalización unificada recibe la primera solicitud de cualquier recurso de una aplicación, se crea una instancia de la clase ApplicationManager que es el dominio de aplicación en el que se procesa la solicitud. sTI_CI_v1_201302
  118. 118. IIS Pool de aplicaciones C# Son creados a nivel del IIS del web server, típicamente por el administrador web para definir algunos aspectos de seguridad y performance de un conjunto de aplicaciones, se utilizan para administrar web sites y aplicaciones, desde el IIS 5.0 sTI_CI_v1_201302
  119. 119. IIS Instalación de Framework C# Panel control>programas>Programas y características>activar o desactivar características Windows Habilitar el IIS Habilitar Microsoft .NET 3.5 WCF Registrar framework C:WindowsMicrosoft.NETFramework64v4.0.30319 aspnet_regiis –i sTI_CI_v1_201302
  120. 120. C#Gracias por su asistencia sTI_CI_v1_201302
  121. 121. Servicios Estratégicos en Tecnologías de Información S. de R.L. de C.V. Av. de las Granjas No. 155 Int. 4 Col. Jardín Azpeitia, 02530 México, Distrito Federal. Oficina. 55906817 Twitter. @serTI_MX linkedIn: http://linkedin.com/in/serti info@serti.com.mx www.serti.com.mx
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×