Está en la página 1de 221

Tone Central del Ecuador

ae

Jorge Galeas

al NA]
: ): Universidad Central del Ecuador

og
ADO.NET
[© DE
| Acceso a Datos

Application
Inicialmente, no había interfaces
comunes de acceso a datos:
Driver Manager

+ Cada proveedor proporcionaba "dl


un API (u otros mecanismos) Driver Driver Driver
e Cambiar SGBD tenía un coste
muy alto
Data D ata Data
Source Source Source
© Universidad Central del Ecuador

ODBC (Open DataBase Connectivity)


e Estandar de acceso a BD desarrollado por Microsoft
e Proporciona interfaz única para acceder a varios SGBD
e Modelo de drivers para acceder datos
e Cualquier proveedor puede escribir un driver ODBC
e Soportado por la mayoría de los SGBD

(| : Your o
)
ODBC (Open DataBase Connectivity)
Application

Driver Manager

Y
DSN
Configuration

’ Y Y

Connector/ODBC

MySQL Server
OEIZIZZzZ_L=y 7
OLE-DB (Object Linking and Embedding
Database)
e Desarrollado por Microsoft para mejorar ODBC
e Proporciona un API más limpia y acceso a datos más eficiente
que ODBC
e OLE-DB Providers
e Proporcionan acceso a un SGBD
e Inicialmente: ODBC
e Posteriormente se añadieron otros
¢ OLE-DB Consumers
e Se comunican con los “proveedores”
[© EE
OLE-DB (Object Linking and Embedding
Database)
Application

OLE DB
e

Application
OLE DB
OLE DB provider Data
Ea LU

Application

OLE DB
consumer
| Universidad Central del Ecuador

Data Access Consumers

- punteros,
En Lenguajes que utilizan
como C o C++ es ANO A A018 AC LS |

posible acceder directamente T T T


a las APIs ODBC y OLE-DB
o Pa ra acceder d esde otros OS ODBC OLE DB Custom Providers O...N

lenguajes es necesaria una *


nueva capa ps
DAO, RDO, ADO y ADO.NET ES EN E e E) E -
SQL NoSQL > SharePoint Excel
L(G) siversidad Conia dl Ecuador
Data Access Consumers

Data Access Objects (DAO)


e Estaba basado en el motor JET(Joint Engine Technology), que
había sido diseñado para Access
e DAO 1.0 soportaba ODBC y comunicación directa con Access
(sin ODBC)
e DAO 2.0 se amplió para soportar OLE-DB
e Problema: sólo puede hablar con el motor JET
e Menor rendimiento
© Universidad Central del Ecuador

Data Access Consumers

Remote Data Objects (RDO)


e Solución de Microsoft
e Para comunicarse con BD distintas de Access, RDO no usa el
motor JET como DAO. Se comunica con el nivel ODBC
directamente
+ Puede usar cursores del lado del cliente para navegar los
registros, en contraposición a la necesidad de DAO de usar
cursores del lado de servidor
e Mejor rendimiento
(© Rr
Data Access Consumers
ActiveX Data Objects (ADO)
¢ Propuesto como sustituto de DAO y RDO
e Se pretendía que sirviese para acceder a cualquier tipo de datos
(desde BD a e-mail, ficheros de texto plano y hojas de cálculo)
¢ Soporta comunicación con fuentes de datos a través de ODBC y
OLE-DB
e Introdujo el modelo de proveedores (provider model), que
permitió a los vendedores de software crear sus propios
proveedores
{© Lae
Data Access Consumers
ActiveX Data Objects (ADO)
e Características
e Modelo más limpio que sus predecesores
e Batch updating
e Disconnected Data Access
e Multiple Recordsets
e Inconvenientes
e Eltrabajo en modo desconectado era engorroso
e Notenía pool de conexiones
e Diseño no correctamente factorizado
B Universidad Central del Ecuador

ADO NET
VB Ooms Or: JScript a es

Common Language Specification

ASP.NET MUTUAS
Web Forms Web Services Forms

ADO.NET & XML

Base Class Library

AOS EC
AP S car, rd — al eo

Operating System
(OLE
ADO NET

e ADO.NET es el modelo de acceso a datos para las aplicaciones


basadas en .NET
e ADO.NET es heredero de la tecnología ADO (ActiveX Data
Objects) implantada por Microsoft 2002.
¢ ADO.NET es una tecnologia mucho mas sencilla de utilizar, con un
modelo de objetos basado en XML, lo que permite una mejor
interacción con la información desde y hacia las bases de datos.
e Arquitectura que permite acceder a bases de datos de cualquier
proveedor ya sea en modo local o remoto.
L(G) siversidad Conia dl Ecuador
Beneficios de ADO.NET
Independencia de la Fuente de Datos: manejo de datos con el objeto
DataSet, por ende es totalmente independiente del tipo de conexión
Rendimiento: basado en XML. El manejo de datos es dramáticamente más
eficiente que en ADO
Escalabilidad: con la utilización del objeto DataSet, la conexión a la base
de datos es utilizada por mucho menos tiempo de parte del servidor

La cantidad de conexiones a bases de datos en un servidor, resulta un


actor fundamental en cuanto al rendimiento de dicho servidor. ASP.NET
esta basado en disconnected data acces, por lo tanto se reduce el tiempo
de uso de las conexiones, permitiendo un sistema mucho más escalable
[ORE
Modelo de objetos ADO.NET
Cinco objetos principales:
e En el proveedor de datos (dependen del gestor de bases de
datos).
e Connection.
e Command.
e DataReader.
e DataAdapter.
¢ Independiente del proveedor de datos.
e DataSet.
[ORE
Modelo de objetos ADO.NET

ADO.NET
Proveedor de datos ADO.NET (Datos con conexión)
Datos sin conexión
fill >
‘= Objeto DataAdapter Objeto DataSet
€ update

Origen de Objeto Y
Datos Connection

Objeto Objeto read


Command DataReader
(ORE
Modelo de objetos ADO.NET
Connection: Establece la conexión con la base de datos mediante
una cadena de conexión
Command: Ejecuta una acción contra el almacén de datos, ya sea
de consulta o de acción
DataReader: Conjunto de registros recuperado a partir del objeto
Command.
DataAdapter:
* Puente entre la conexión y los datos almacenados en un Puente
entre la conexión y los datos almacenados en un DataSet
* Permite cargar los datos en el DataSet a partir de un origen de
datos y actualizarlos
[© Ea
Modelo de objetos ADO.NET
DataSet

DataSet:
e Objeto “abstracto”: desligado de Colección Tables
cualquier gestor de bases de datos —
e Conjunto de tablas obtenidas
Colección Rows
mediante el método Fill del objeto
DataAdapter DataRow
+ Se puede considerar como una base de
Colección Columns
datos almacenada en la memoria
caché del cliente, dejando disponible DataColumn
la conexión con el origen de datos para Colección Relations

otros usuarios
DataRelation
(OLE
Modo conectado y modo desconectado
Modo conectado:
e Utiliza los objetos Connection, Command y DataReader.
e Se establece una conexión permanente con el origen de datos.
e A partir de una conexión, el objeto Command generará un objeto
DataReader con la información necesaria con la información
necesaria.
e Los datos del objeto DataReader son de sólo lectura
e El objeto Command, también se encargará de realizar las
operaciones de actualización con la base de datos.
e La información entre el cliente y el servidor se establece en un
formato binario propietario del gestor de base de datos.
Modo conectado y modo desconectado
Modo conectado:
e Se utiliza cuando se deben procesar pocos registros durante poco
tiempo o cuando no sea necesario compartir con otras
aplicaciones.
e Realización de informes.
e Páginas dinámicas ASP de Internet
(OES 4
Modo conectado y modo desconectado
Modo desconectado:
La conexión sólo es necesario establecerla cuando se descarga información del
origen de datos
Cada tabla del DataSet precisa de un objeto DataAdapter.
e El método Fill se encargará de cargar una tabla en el DataSet.
e Los datos se almacenan en la memoria caché del cliente en un objeto DataSet.
e Los datos almacenados en el DataSet se pueden modificar
Las modificaciones efectuadas en el DataSet se pueden sincronizar con el origen
de datos.
* El método Update del objeto DataAdapter permite actualizar el origen de
datos
La información entre el cliente y el servidor se transmite en forma de datos XML
(© Rar
Modo conectado y modo desconectado

Modo desconectado:

Se utiliza cuando:
e Se necesita modificar los datos frecuentemente.
e Es necesario que los datos estén mucho tiempo en memoria (por
ejemplo en aplicaciones Windows Form).
e Cuando no siempre es posible estar conectado al origen de
datos (aplicaciones móviles)
Tone Central del Ecuador
ae

Jorge Galeas

al NA]
O Universidad Central de
l Ecuador

ASP.NET
[© EE
ASP NET
Las aplicaciones Web inician con el uso de HTML (Hypertext
Markup Lenguaje), el cual, es complementado con el uso de
la CGI (Common Gateway Interface) enseguida es utilizada
también la ISAPI (Internet Server Application Programming
Interface) , sucedida por ASP (Active Server Pages),
finalizando con ASP .NET haciendo mucho más fácil y
escalable el desarrollo de aplicaciones Web dinámicas.

HTML (1991) Páginas estáticas orientadas al contenido


| Universidad Central del Ecuador

Páginas Web Estáticas y Dinámicas

Estaticas Fae Dinamicas

>
~

EDO a

Servidor Web
Navegador

Base de datos
© Universidad Central del Ecuador

Aplicaciones Web
Una aplicacion web es un programa que genera archivos en HTML
(paginas) que se transmiten por medio del protocolo HTTP de un
servidor al cliente y viceversa, brindando distintas funcionalidades a un
usuario final.
El HTTP define como los navegadores y los servidores Web se comunican
uno con otro.
En una aplicación web, el componente principal es el HTML Form, que es
el elemento de html que contiene los controles de la interfaz de usuario
de cada página y captura la entrada de datos del usuario. El HTML Form
es la porción de la página que es enviada a través del protocolo HTTP al
servidor para procesar el pedido realizado por el usuario
(ORI
Servidor Web
Un servidor web es un programa que ejecuta una aplicación web que
genera las páginas disponibles para ser visitadas por los usuarios de la
red. A la computadora que ejecuta este programa también se lo llama
servidor web.
Internet Information Server (IIS), es el servidor Web de Microsoft que
corre sobre plataformas Windows. Los servicios que ofrece son: FTP,
SMTP, NNTP y HTTP/HTTPS
Las páginas ASP tienen la extensión .ASP y son procesadas por la DLL
ASP.DLL y sin embargo las páginas ASP.Net poseen la extensión .ASPX y
son procesadas por el entorno de ejecución .NET Framework, que las
transforma en el código intermedio, representado en este caso por la
DLL ASPNET_ISAPI.DLL
]) Universidad Control del Ecuador
Servidor Web

HTTP REQUEST HTTP RESPONSE


> f >
| VERB | URI VERSION RESPONSE CODE 1 HTTP VERSION
y Y y

a fe ea

| REQUEST HEADER RESPONSE HEADER


7 Ne y

= E >»

REQUEST MESSAGE RESPONSE MESSAGE


y XS >
C Eee idor Web
Internet Information Services o IIS es un servidor web y un conjunto de
servicios para el sistema operativo Microsoft Windows
IIS 1.0, Windows NT 3.51 Service Pack 3
IIS 2.0, Windows NT 4.0
115 3.0, Windows NT 4.0 Service Pack 3
IIS 4.0, Windows NT 4.0 Option Pack
IIS 5.0, Windows 2000
IIS 5.1, Windows XP Professional
IIS 6.0, Windows Server 2003 y Windows XP Professional x64 Edition
IIS 7.0, Windows Vista (Solo Business y Ultimate) y Windows Server 2008
IIS 7.5, Windows 7 y Windows Server 2008 R2
IIS 8.0, Windows 8 y Windows Server 2012
IIS 8.5, Windows 8.1 y Windows Server 2012 R2
IIS 10, Windows Server 2016
IIS 10.0, Windows 10 y Windows Server 2019
[OLE
Hypertext Transfer Protocol (HTTP)
HTTP es un protocolo de Internet que define la sintaxis y la semantica
que deben utilizar los navegadores y los servidores Web para poder
comunicarse
Esta basado en texto y es transmitido sobre conexiones TCP
Es un protocolo orientado a transacciones y sigue el esquema petición-
respuesta entre un cliente y un servidor. Al cliente que efectúa la
petición (un navegador web) se lo conoce como "user agent" (agente del
usuario). A la información transmitida se la llama recurso y se la
identifica mediante un localizador uniforme de recursos (URL). Los
recursos pueden ser archivos, el resultado de la ejecución de un
programa, una consulta a una base de datos, la traducción automática
de un documento, etc
(ORE
HyperText Markup Language HTML
Lenguaje de marcado predominante para la elaboración de páginas
web que se utiliza para describir y traducir la estructura y la
información en forma de texto, así como para complementar el
texto con objetos tales como imágenes.
El HTML se escribe en forma de «etiquetas», rodeadas por
corchetes angulares (<>)
HTML también puede describir, hasta un cierto punto, la apariencia
de un documento, y puede incluir un script (JavaScript), el cual
puede afectar el comportamiento de navegadores web y otros
procesadores de HTML.
[ORE
HTML Forms

e Enel corazón de toda aplicación Web estan los HTML Forms


e Un HTML Form es la porción de un documento HTML que
aparece entre las etiquetas <form></form>

<form action="formprocessor.html" method="get">


Name: <p>Name: <input type="text" name="Name" /></p>
<p>Address: <input type="text" name="Address" /></p>
Address: <p>City: <input type="text" name="City" /></p>
<p>State: <input type="text" name="State" /></p>
City: <p>Zip: <input type="text" name="Zip" /></p>
</form>
State:

Zip:
[OLE
CGI (Common Gateway Interface 1993)

La primera solución para el manejo del contenido dinámico Web


fue utilizando aplicaciones CGl, las cuales son muy populares en el
ambiente UNIX.
Las aplicaciones CGl son programas ejecutables que pueden correr
sobre un servidor Web, por lo tanto pueden ser utilizados para
crear contenido Web dinámico
B Universidad Central del Ecuador
GOTO

Mecánica de la Common Gateway Interface

He Envia

ia dei el formulario Abre el script CGI


(archivo HTML) P Script CGI
con formulario |

‘ a Base de
dos A partir del datos
informe de
la consulta
o y AE pd Consulta a la base de
Envío sap datos y evaluación del
Servidor informe

Se crea un
Archivo HTML t archivo HTML de
creado de forma forma
Envío
automacica automatica
© Universidad Central del Ecuador

ISAPI (Internet Server Application


Programming Interface)
Debido a los problemas de desempeño y escalabilidad ocasionados
por CGI, Microsoft desarrollo una nueva manera de construir
aplicaciones escalables. Esta nueva alternativa es nombrada
Internet Server Application Programming Interface (ISAPI). ISAPI en
lugar de englobar la funcionalidad en archivos ejecutables, utiliza
DLLs por lo que se logra un gran avance en el rendimiento y
escalabilidad.
L(G) siversidad Conia dl Ecuador
ISAPI (Internet Server Application
Programming Interface)
Existen dos tipos de ISAPI basadas en DLLs:
+ Extensiones ISAPI son llamadas por una dirección URL enviada por
el servidor IIS (Internet Information Server), por ejemplo:
http://localhost/sayhelloisapi/sayhelloisapi.dll son utilizadas
típicamente para peticiones de procesos cliente y salidas por
medio de HTML
e Filtros ISAPI nunca son llamados explícitamente, en vez de eso son
llamados por medio de IIS como respuesta a los eventos a lo largo
de la petición o solicitud (obtener recursos de autentificación)
(OLE
ASP (Active Server Pages 1996)
ASP es basado en scripts y la llamada por medio de un browser o
navegador.
La idea original como el uso de scripts, se convirtid en una
desventaja debido a que el código ASP podía mezclarse con el
estándar HTML.
Se debe tener cuidado en el manejo del término abreviado ASP,
debido a que suele confundirse con el de Application Servicie
Providers

En un principio el código ASP fue escrito en Microsoft Visual Basic


Scripting Edition (VBScript) y después Microsoft Java Script
[OLE
ASP (Active Server Pages)

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

Microsoft
L(G) siversidad Conia dl Ecuador
¿Cómo funciona la tecnología ASP?
ASP es una tecnología dinámica que funciona del lado del servidor,
lo que implica que cuando el usuario solicita un documento ASP, las
instrucciones del programa contenidas en el script, son ejecutadas
para enviar el código resultante HTML al navegador.
El servidor Web, al enviar al cliente una página ASP, ejecuta el
código que contiene la página y posteriormente envía al cliente el
resultado de la ejecución de dicho código. De esta forma se
consigue poder modificar el contenido antes de ser enviado,
además se hace compatible con cualquier navegador, lo que se
envía al cliente es HTML común, Javascript, Flash, entre otros.
: Universidad Central del Ecuador

¿Cómo funciona la tecnología ASP?

DIS AAA eo oe oo sr. ..r?,

Request ASPX file -


y
~~
x
«ae
i ve + eere?,
AO
eee
as 2

Parse ASPX File


e +
4 A

- Generate Page Class


< Response
.

‘(aa mew hs rer? ed LT


eel to Babe a AS AA
PA Pad
Ma

METAN ee ee
[© EE
ASP.Net
Las páginas ASP.Net (Active Server Pages), también llamadas páginas activas o
dinámicas, son páginas que contienen código HTML, script de cliente y un
código que se ejecuta en el servidor, dando como resultado código HTML. Por
lo tanto al cargar una página ASP.Net en el navegador, en realidad no carga la
página ASP.Net como tal, sino el resultado de la ejecución de la página, es
decir la salida de la página ASP.Net, que se trata de código HTML. Es decir, son
páginas que se ejecutan en el servidor enviando como resultado al cliente
código HTML.

Podemos definir ASP.Net como el entorno de desarrollo incluido en la


plataforma .NET de Microsoft, que nos permite desarrollar completas
aplicaciones Web que se ejecutarán sobre el entorno ofrecido por el .NET
Framework
(OLE
ASP.Net
ASP.Net es un “Marco” (framework) para programar aplicaciones web,
de un modo similar al que se programan las aplicaciones windows. El
componente principal son los Web Forms (formularios web) que
permiten, entre otras cosas, separar la interfaz del usuario de la
funcionalidad de la aplicacion.

ASP.Net no es un lenguaje de programacion, sino que es un entorno de


programacion o tecnologia de desarrollo, pero no es un lenguaje. De
hecho ASP.Net soporta distintos lenguajes como Visual Basic.Net, C# o
JScript.
E) viveros
Corra de Ecuador
ASP.Net

ASP.Net permite generar aplicaciones web con el paradigma de


Windows:
e Diseño + Lógica
e Componentes gráficos
e Eventos
e Propiedades
e Estado
Universidad Central del Ecuador
es, ee eee ae,

ea) Y

SS”
,
Web Services “PR sei Wind
ingdows Lo
ASP.NET ES A
”ao
S
a
Data and XML Classes o
de
m
i

Framework Class Library

Common Language Runtime


© Universidad Central del Ecuador

Componentes de las aplicaciones Web ASP.Net


e Formularios Web o páginas .ASPX: Proveen de la interfase visual. No tienen
código ejecutable.
+ Páginas de Code-behind: Están asociadas con cada formulario y son las que
proveen del código ejecutable del lado del servidor
e Archivos de Configuración: Son archivos que permiten configurar la
aplicación, por ejemplo el archivo Web.config y el servidor por ejemplo el
archivo machine.config.
e Global.asax: Es un archivo que contiene código. Este código responde a
eventos que se disparan en la aplicación Web.
e Referencias a servicios web xml
e Conectividad a bases de datos
e Sistema de caché.
(© Ry
Web Forms
e Combinación de código HTML + controles que se ejecutan en el servidor
* Pueden usarse para crear páginas Web programables que sirvan como
interfaz de usuario de las aplicaciones Web.
e Extensión .aspx
e Formularios semejantes a los Windows Forms pero en Web
e Separación lógica — diseño
e Componentes gráficos
e Estado
e Eventos
e Propiedades
e Admiten cualquier lenguaje compatible con Common Language
Runtime de .NET, incluidos Visual Basic, Visual CH y JScript.NET.
165 Universidad Central del Ecuador

Modelo de Código de Páginas Web


e Una Página Web ASP.Net consta de dos partes:
e Elementos visuales, que incluyen controles del servidor y texto
estático.
e Programación lógica para la página, que incluye manejador de
eventos y el resto del código.
e Modelos de Página
e Modelo de Página Single-File: el HTML y el código de programación
se almacena en el mismo .aspx. El código de programación es un
bloque que contiene el atributo runat="server”, para marcar al
código como código ejecutable por ASP.NET
e Modelo de Página Code-Behind: el HTML esta en un archivo .aspx y
el código de programación en otro archivo .aspx
Etiqueta <@Page>
e Language
* Lenguaje en el que está escrita
e Vb, c#, jscript
e CodeFile
+ Qué página contiene el código
e Inherits
¢ Clase con la que va a trabajar
e AutoEventWireup
e Si hay que especificar los procedimientos para los eventos o los
toma dependiendo del nombre del procedimientos
(e) Universidad Central del Ecuador

Etiqueta <form>
¢ Notiene que ver con el concepto de formulario
¢ Puede tener varios <form> .. </form> en una web pero solo uno que se
ejecute en el lado servidor
¢ Method, como se envian los valores al servidor
¢ Post, datos se envian en parejas nombre/valor dentro de la peticion
http
e Get, datos se pasan como un string
e —Runat, identifica si se devuelve información al servidor
+ Runat="“server”, envía la información al servidor
¢ No tiene, se ejecuta como un formulario HTML
Tone Central del Ecuador
ae

Jorge Galeas

al NA]
ATANTRAL>

A Universidad Central del Ecuador

Framework

nedes8.
Tes
(e) Universidad Central del Ecuador

Framework
Un framework es un marco de trabajo que tiene como objetivo
facilitar la solución de problemas que pueden surgir al programar.

Los frameworks aceleran el proceso de programar facilitando


tareas como la organización del código o el trabajo en equipo
dentro de un proyecto

Un Framework es un entorno o ambiente de trabajo para


desarrollo; dependiendo del lenguaje normalmente integra
componentes que facilitan el desarrollo de aplicaciones como el
soporte de programa, bibliotecas, plantillas y más
| Universidad Central del Ecuador

Framework
La arquitectura más utilizada en casi
Patrones de Arquitectura MVC
todos los frameworks es conocida
como MVC (Controlador, Modelo, extrae datos a través de getters extrae datos a través de getters

; : es EE. Y Controllador
Vista), esta arquitectura divide el 7 re Pe ai are
desarrollo en tres grandes partes: | controla
y decide cómo
se muestran los datos
e Modelo: Son los datos de la
aplicación y su reglamentación.
e Vista: Es la presentación de los Vista Modelo
datos. o LS
A, presenta el estado e

e Controlador: Procesa las peticiones actual del modelo actualizatos establecerW


de los usuarios y controla el flujo de oe de eventos.

ejecución del sistema.


(OLE
Caracteristicas de los Frameworks
e La Autenticación mediante login y password que
permite restringir el acceso y el tipo de permiso.
e El Acceso a los datos en archivos txt, xml por ejemplo
mediante interfaces que integran la base de datos.
e Abstraccion de URLs y Sesiones ya que el framework se
encarga de manejarlas.
e Internacionalización que permite la inclusión de varios
idiomas en el desarrollo.
e Controladores fácilmente adaptables a las necesidades
del proyecto que gestionan las peticiones y/o eventos.
[ REEecS Ventajas Frameworks
e Ayuda a establecer mejores prácticas de programación y el uso adecuado
de patrones de diseño.
e El código es más seguro.
+ Se puede evitar el código duplicado y redundante.
e Ayuda a desarrollar código de manera consistente con menos errores.
e Facilita el trabajo en tecnologías sofisticadas.
e Se podría crear su framework de software o contribuir a frameworks de
código abierto. Por lo tanto, hay una mejora continua en la funcionalidad.
e Varios segmentos de código y funcionalidades están prediseñados y probados
previamente. Esto hace que las aplicaciones sean más confiables
¢ Probar y depurar el código es mucho más fácil y pueden hacerlo incluso los
desarrolladores que no son propietarios del código.
+ El tiempo necesario para desarrollar una aplicación se reduce
significativamente.
(© Rr
Frameworks
.NET: El Framework de Microsoft.
Ruby on Rails (RoR): es el Framework de aplicaciones web de código
abierto de un lenguaje de programación llamado Ruby.
Genesis: Framework para WordPress
Zengrid: Framework para Joomla
PhoneGap: Permite crear aplicaciones móviles multiplataforma a
partir de tecnologías web como HTML5, CSS3 y Javascript.
jQuery Mobile: basado en HTML5 optimizado para todas las
plataformas de dispositivos móviles.
Titaniun: Framework Open Source con licencia Apache, genera
aplicaciones nativas para iPhone, Android y Blackberry.
(ORE
Diferencias entre una biblioteca y un
framework
Un framework de software es una
colección de bibliotecas al igual que las
bibliotecas son una colección de rutinas Your Code
precompiladas. Frameworks call your code Your code calls a library

No todos los frameworks de software


Frameworks & Libraries
utilizan o dependen de bibliotecas.
Library Library Library Library

Framework <
La diferencia entre una biblioteca y un q. MO Frememorisoren cortain!licarios AI Library
framework es que el framework llama
al código, y el código llama a la
biblioteca de software.
¿Qué es .NET?

Microsoft .NET es una plataforma,


ambiente o entorno de desarrollo de
software, conformado por un conjunto de
tecnologías y herramientas, con en ello
podemos crear diferentes tipos
de aplicaciones mediante Frameworks,
lenguajes de programación, APls, IDEs,
Editores de código y la programación.
Universidad Central del Ecuador
¿Qué es .NET?
.NET Framework -NET Core Mono Herramientas

Aplicaciones Móviles

WPF Windows Forms ASP.NET Core gaa Android OS | | Plataforma Universal de Windows
AN

ccoo A O EOS
ASP.NET ran? | a li se 1]

Biblioteca de Clases Base .Net Fra. Biblioteca de Clases Base CoreFX Biblioteca de Clases Base Mono Biblioteca de Clases CoreFX

-NET Standard

Entornos de Tiempo de Ejecucion


Common Language Runtime Core Common Language Runtime
(CLR) (CLR) Mono -NET Native

Infraestructura Común

Lenguajes de Programacion ¡o
[OLE
Lenguajes de programacion de .NET
Microsoft .NET:
e CH, FH y Visual Basic (VB)
e J4 (J Sharp) que es un lenguaje transicional para
programadores de java y J++, dejó de producirse en el año
2008
e Error común, decir que C++ está dentro de .NET, tampoco
existe C++ .NET. El lenguaje C++ cuenta con su propio
compilador
IÓ Universidad Central del Ecuador

Lenguajes de programación de .NET


C Sharp: lenguaje de programación simple,
eficaz, moderno, orientado a objetos, seguridad
de tipos, además incluye soporte para
programación orientado a componentes.

Mantiene sus raíces en la familia de lenguajes


estiloC
Si estas familiarizado con C y lenguajes similares
como C++, Java y JavaScript, tendrás pocos
problemas para adaptarte a CH
ENT

6 ) Universidad Central del Ecuador

Lenguajes de programacion de .NET


F Sharp es un lenguaje de
programación funcional, consiste principalmente
en definir tipos y funciones que son de tipo
inferido y generalizadas automáticamente.

Ofrece interoperabilidad limpia con C # y bases


de código existentes. También admite la
programación tradicional imperativa y orientada
a objetos.
CENTRAL
Sd

l Universidad Central del Ecuador

Lenguajes de programación de .NET

Visual Basic es un lenguaje accesible con una


sintaxis simple para crear aplicaciones de tipo
seguro y orientadas a objetos.

La sintaxis de VB es la más cercana al idioma V B


normal, lo que a menudo facilita el trabajo a las
personas sin experiencia en desarrollo de
software.
8 Universidad Central del Ecuador

Paradigmas de programación

Programación Programación
imperativa declarativa

Programación Programación 1 TalolA) Programación


estructurada procedimental lógica funcional

Programación
modular
x TRAD
\

(5 Universidad Central del Ecuador


La

Paradigmas de la programación
PARADIGMA VENTAJAS DESVENTAJAS
* El código se convierte rápidamente
* Fácilmente legible.
en demasiado amplio y difícil de
* Fácil de aprender en lo relativo a
abarcar.
comportamientos.
* Mayor riesgo durante la edición.
* Un modelo fácilmente
* El mantenimiento bloquea el
IMPERATIVA comprensible para los principiantes
desarrollo de la aplicación, ya que la
(vía de solución).
programación funciona
* Se pueden tener en cuenta
estrechamente con el sistema.
características de casos especiales
* La optimización y la ampliación son
de la aplicación.
más difíciles.

* Código más corto y eficiente.


* En parte, difícil de comprender para
* Realizable con métodos no
personas ajenas.
conocidos en el momento de la
* Basado en una forma de pensar no
programación.
habitual en las personas (estado de
* Optimización sencilla, ya que la
DECLARATIVA ejecución se gestiona mediante un
solución).
Las características de casos de
algoritmo.
aplicación individuales se pueden
* Es posible el mantenimiento
considerar en la programación, pero
independiente del desarrollo de la
únicamente de forma compleja.
aplicación.
.NET Framework .NET Core Herramientas

\ Plataforma Cruzada / Servicios Aplicaciones Móviles


LOA iz

sa
Windows Forms ASP.NET Core IET Plataforma Universal de Windows
Console

.NET Framework Console M5 aES om Pe


i Bl
i
Seka nl On
en
Caron
AN
|

Biblioteca de Clases Base .Net Fra. Biblioteca de Clases Base CoreFX Biblioteca de Clases Base Mono Biblioteca de Clases CoreFX

.NET Core
UWP (Plataforma universal
.NET Standard

de Windows) (CE ES
Entornos de Tiempo de Ejecucion

Core Common Language Runtime


(CLR) (CLR) MALL .NET Native
Mono Infraestructura Comun

Lenguajes de Programacién Compiladores


(e) Universidad Central del Ecuador

Implementaciones de .NET
.NET Framework
Es la implementación original y más popular de .NET, existe
desde el año 2002, con .NET Framework podemos
desarrollar aplicaciones web con Asp.Net, aplicaciones de
escritorio con Windows Forms y WPF, servicios y móviles

.Net Framework solamente es para la plataforma


Windows. Es decir, solo se puede compilar en un sistema
operativo Windows, por lo tanto contiene API específicas
de Windows y la biblioteca de clases base.
© Universidad Central del Ecuador

Implementaciones de .NET
-NET Core
Es una implementación multiplataforma de .NET, se ejecuta
en Windows, macOS, Linux, y puede usarse para compilar
aplicaciones móviles, nube e loT (Internet de las cosas),

.NET Core fue diseñada para controlar cargas de trabajo de


servidor y en la nube a gran escala.
Implementa su propia biblioteca de clases base CoreFX.
165 Universidad Central del Ecuador

Implementaciones de .NET
UWP (Plataforma universal de Windows)
Se usa para crear aplicaciones modernas y táctiles de Windows y
software para Internet de las cosas (loT).
Diseñado para unificar los diferentes tipos de dispositivos de destino,
como PC, tabletas, phablets, teléfonos inteligentes e incluso la consola
Xbox.
Las aplicaciones se pueden escribir en C++, CH, VB.NET y JavaScript.
Microsoft toma UWP como una implementación independiente pero
usa una pequeña parte de la biblioteca base core de .NETCore por el
cual muchos lo consideran a UWP dentro de la implementación de
.NETCore.
(OLE
Implementaciones de .NET
Mono
Usado cuando se requiere un entorno de ejecución pequeño,
puede crear aplicaciones móviles multiplataforma como Android,
Mac, ¡OS, tvOS y watchOS, utilizando Xamarin, CH y .NET,
Mono también proporciona juegos creados con el motor de Unity.
Todas las versiones de .NET Standard publicadas actualmente y
todas las aplicaciones de Xamarin pueden compartir código entre
sí y con otras plataformas .NET.
De igual manera que .NET Framework y .NET Core, Mono también
implementa su biblioteca de clases base Mono.
(E NET Standard
e
.NET Standar es una biblioteca de clases portable o PCL, con la biblioteca de
clases portable podemos compartir el código entre varios proyectos
específicos de la plataforma tanto para IOS, android, windows, windows
phone.
Las PCL presentaban muchas desventajas, si la clase usa una API que es
netamente de la biblioteca de clases base de .Net Framework este no podra
ser usado en .Net Core, tendriamos que reemplazar con uno equivalente en
.Net Core; para solucionar eso, la fundación Microsoft .Net creo .Net standard,
que es una fusión de las bibliotecas de clases base y las bibliotecas de clases
portable, eso quiere decir que es común con todas las implementaciones de
.NET, por ejemplo, la clase DataSet (API Ado.NET) puede ser usado por .Net
Core, Mono o .Net Framework, pero eso depende de la versión de .Net
standard y las implementaciones.
L(G) siversidad Conia dl Ecuador
.NET Standard
Desde Visual Studio 2017, la PCL quedo obsoleta, .Net standard
también reemplazo las bibliotecas base de cada implementacion,
pero de hecho no es asi, porque aun hay API adicionales que son
especificas de los sistemas operativos en los que se ejecuta, por
ejemplo, .Net Framework es solo para Windows que incluye una
API para acceder al registro de Windows
L(G) siversidad Conia dl Ecuador
.NET Standard
-NET 5 y versiones posteriores adoptan un enfoque diferente para
establecer la uniformidad que elimina la necesidad de .NET
Standard en la mayoria de los escenarios.
Si desea compartir codigo entre .NET Framework y cualquier otra
implementación de .NET, como .NET Core, su biblioteca debe
apuntar a .NET Standard 2.0.
No se lanzarán nuevas versiones de .NET Standard , pero .NET 5,
.NET 6 y todas las versiones futuras seguirán siendo compatibles
con .NET Standard 2.1 y anteriores.
Universidad Central del Ecuador

.NET Standard
1.0 TA 1.2 1.3 1.4 1.5 1.6 2.0 2.1

.NET Standard 2.1 tiene 37 118 de las 37 118 API disponibles.

implementacion de .NET Soporte de version

.NET y .NET Core 3.0, 3.1, 5.0, 6.0, 7.0

Marco .NET 1 N/A ?

Mononucleosis infecciosa 6.4

Xamarin.iOS 12.16

Xamarin.Mac 5.16

Xamarin.Android 10.0

Plataforma universal de Windows Por determinar

Unidad 2021.2
NETS como
plataforma unificada
de desarrollo para el
ecosistema .NET, es DESKTOP

WPF ‘amarin MLNET VISUAL STUDIO


Windows Forms

una versión temporal UWP

ES
hasta la llegada de
-NET STANDARD
VISUAL STUDIO FOR MAC

.NET6, .NET6 llega ¿NETOS

=
VISUAL STUDIO CODE

junto con Visual INFRASTRUCTURE

Studio 2022 naco co IT COMMAND LINE INTERFACE


© Universidad Central del Ecuador

.NET6
.NET6 permite crear
soluciones modernas para .NET — A unified development platform
Azure, AWS, GCP (Google
P| y e:
Cloud Platform), Windows,
DESKTOP MOBILE GAMING

Linux, Android, macOS, IA


a
A]
Xamarin

¡OS, tvOS, watchOS,


ard

WebAssembly, Xbox, loT Naa:


entre otras, todo ello, COMMON BASE LIBARIES/APIs

integrado dentro de una INFRASTRUCTURE

Unica plataforma global de


desarrollo de soluciones.
: Universidad Central del Ecuador

ET Framework
.Net -Net Net Net
Framework Framework Framework MM Framework
1.0 3.0 Pe re)
.Net AN
Framework Framework
2.0 4.6

.Net Core .Net Core


Mo] 3.0
©. Universidad Central del Ecuador

Roadmap .NET
.NET Schedule

July 2019 Sept 2019 Nov 2019 Nov 2020 Nov 2021 Nov 2022 Nov 2023
NET Core 3.0 .NET Core 3.0 ¡NET Core 3,1 .NET 5.0 .NET 6.0 NET 7.0 .NET 8.0
RC GA LTS GA LTS GA LTS

.NET Core 3.0 release in September


.NET Core 3.1 = Long Term Support (LTS)
.NET 5.0 release in November 2020
Major releases every year, LTS for even numbered releases
* Predictable schedule, minor releases if needed
© Universidad Central del Ecuador

Lenguaje Universal CLR (Common Language


Runtime)
El lenguaje común en tiempo de ejecución, o CLR, es el motor de
ejecución para las aplicaciones del Framework.Net.
El CLR es el núcleo del Framework que desempeña el papel de una
máquina virtual. Se encarga de gestionar la ejecución del código y de
proporcionar servicios a dicho código.

En tiempo de ejecución, CLR es responsable de administrar el entorno


de ejecución del código .NET, así como la asignación de memoria y
administración de hilos de ejecución, reforzando las políticas de
seguridad.
(OLE
- Lenguaje Universal CLR (Common Language
Runtime)
Al automatizar estas tareas, el tiempo y proceso de desarrollo se reduce y
simplifica. Por ejemplo, la recolección automatizada de memoria-basura
permite las no filtraciones de memoria innecesarias

11.Soporte de la Librería de Clase Base

9.Soporte de Hilos 10.Clasificador COM

. 7. Verificador de Tipos 8.Administrador de


Componentes de la Rutina de Clases CLR Excepciones

5.Motor de Seguridad 6.Motor de Depuración

2.Compilador 3.Administrador 4.Colector de


MSIL a Nativo de Cédigo Basura

1. Cargador de Clases

eee <<
: Universidad Central del Ecuador

Lenguaje Universal CLR (Common Language


Runtime)

.NET 1.1 .NET 2/3/3.5 .NET 4/4.5


Componentes de la Rutina de Clases CLR
Componente Descripción
1. Cargador de clases Administra metadatos, carga y diseño de las clases.
2. Microsoft Intermediate Convierte MSIL a código nativo (Justo a tiempo
Language (MSIL) para (J1IT) y Generación nativa (NGEN)).
compiladores nativos
3. Administrador de código Administra la ejecución del código.
4. Recolector de basura (GC) Proporciona administración automática del tiempo
de vida de todos sus objetos. Es multiejecución y

escalable.

5. Motor de seguridad Proporciona seguridad basada en las evidencias,


según el origen del código además de la identidad
del código de invocación.
6. Motor de depuración Permite depurar la aplicación y rastrear la ejecución
del código.
©) Universidad Central del Ecuador

Componentes de la Rutina de Clases CLR

Componente Descripción
8. Administrador de excepciones Proporciona manejo estructurado, donde se ha
mejorado el reporte de errores.
9. Soporte para hilos Proporciona clases e interfaces que permiten la
programación MULTIHILO.
10. Clasificador COM Proporciona organización desde y hacia COM.
11. Soporte para la Biblioteca de Integra el código con CLR que soporta la Biblioteca
clase de .NET Framework de clases de .NET Framework.
©) Universidad Central del Ecuador

Componentes de la Rutina de Clases CLR

Componente Descripción
8. Administrador de excepciones Proporciona manejo estructurado, donde se ha
mejorado el reporte de errores.
9. Soporte para hilos Proporciona clases e interfaces que permiten la
programación MULTIHILO.
10. Clasificador COM Proporciona organización desde y hacia COM.
11. Soporte para la Biblioteca de Integra el código con CLR que soporta la Biblioteca
clase de .NET Framework de clases de .NET Framework.
(© Rr
Caracteristicas del CLR
e Diseño completamente orientado a objetos
e Eliminación del “conflicto de las DLLs” (DLLs pueden coexistir con
las viejas)
e Ejecución multiplataforma
e Integración de lenguajes
e Administración de memoria mediante un garbage collector
* Seguridad de tipos (facilita la detección de errores)
e Aislamiento de procesos (un determinado proceso no se puede
acceder a código o datos pertenecientes a otro)
e Tratamiento de excepciones
AE) Universidad
Central del Ecuador 4
Características del CLR

e Soporte multihilo
e Distribución transparente
e Crea y accede a objetos remotos
e Interoperabilidad con código antiguo
(ORE
Los Ensablados

Son la unidad fundamental de despliegue, control de versiones,


reutilización, y permisos de seguridad de una aplicación

Es una colección de tipos y de recursos integrados y son la unidad


lógica de funcionalidad que proporciona la información que el CLR
necesita sobre las implementaciones de dichos tipos
(e) Universidad Central del Ecuador

Objetivos Ensablados

e Permitir a los programadores especificar reglas de versiones entre


distintos componentes de software
e Proporcionar la infraestructura para que se cumplan las reglas de
versiones.
e Proporcionar la infraestructura que permita que varias versiones
de un componente se puedan ejecutar simultáneamente, lo que
se conoce como ejecución simultánea.
(OLE
Estructura Ensablados

i
Código IL | Código IL |] Código IL |
Tipo X LT Tipo Z |
\
Metadatos para Tipos X, Y y Z 1
I
I
Assembly A

Código IL | Código IL Codigo IL


Tipo P Tipo Q Tipo R

Metadatos Tipos P y Q Metadatos Tipo R

app2. exe M. 3 Mod.netmodule grafico.j

¡3
Assembly B
© Universidad Central del Ecuador

Estructura Ensablados

e Manifiesto del ensamblado, que contiene los metadatos

del ensamblado.

+ Metadatos que describen los tipos del ensamblado.

¢ Código en lenguaje intermedio (MSIL) que implementa

los tipos.

¢ Conjunto de recursos
Información Descripción
Universidad Central del Ecuad«
Nombre del ensamblado Cadena de texto donde se especifica el nombre del
ensamblado.

Numero de version Número de versión principal y secundaria, y número de


revisión y de versión de compilación.
Referencia cultural Información sobre la referencia del ensamblado. Se debe
utilizar sdlo para designar úun ensamblado como
ensamblado satélite que contienen referencias a objetos

Manifiesto
globales y privados
Información sobre el nombre Clave pública del editor si el ensamblado tiene un nombre
seguro seguro.

Ensablados Lista de todos los archivos

del ensamblado
Un

nombre
código

de
en cada

archivo.
archivo

Todos
que contiene

los archivos
el ensamblado

que componen el
y

ensamblado deben encontrarse en el mismo directorio que


contiene el manifiesto de ensamblado.

Información de referencia de Información que utiliza el motor de tiempo de ejecución


tipos para asignar una referencia de tipos al archivo que
contiene su declaración e implementación. Se utiliza para
tipos que se exportan desde el ensamblado.
Información sobre Lista de otros ensamblados a los que hace referencia
ensamblados a los que se estáticamente. Cada referencia tiene el nombre del
hace referencia ensamblado dependiente, los metadatos del ensamblado

(versión, referencia cultural, sistema operativo, etc.) y la


clave pública, si el ensamblado tiene un nombre seguro.
(© =a
Clasificación Ensablados
Ensamblados estáticos: Incluyen tipos de .NET Framework como
(interfaces y clases), y recursos como (mapas de bits, archivos
JPEG, archivos de recursos, etc.). Los ensamblados estáticos se
almacenan en el disco, en archivos ejecutables portables PE.

Ensamblados dinámicos: Se ejecutan directamente desde la


memoria y no se guardan en el disco antes de su ejecución. Los
ensamblados dinámicos se pueden guardar en el disco una vez
que se hayan ejecutado
Clasificación Ensablados

cada una de las clasificaciones puede ser:

Ensamblados Privados: Son utilizados solo por una única


aplicación sin afectar al resto de aplicaciones.

Ensamblados Públicos: Residen en un único sitio físico para


servir a múltiples aplicaciones.
1 =a Intermedio de Microsoft
MSIL Microsoft Intermediate Language
Al compilar una aplicacion en la plataforma .Net, el resultado no es
codigo maquina si no un metalenguaje llamado Lenguaje
Intermedio de Microsoft o MSIL (Microsoft Intermediate Languaje).
El código intermedio MSIL generado por los compiladores del
Framework.Net es independiente de las instrucciones de un CPU
específico, y es convertido a código nativo. Posee un formato
binario con instrucciones de bajo nivel que pueden ser solamente
entendidas por el compilador incluido en .Net llamado JIT (Just in
time Compiler)
1 =a Intermedio de Microsoft
MSIL Microsoft Intermediate Language

VB C++ |] C# JScript |f3rd Part

( PreJIT MSIL

a — Rutina de |
Cod Native | done JIT Compil lenguaje

As,
E común

vv

Cod Native
Caracteristicas de MSIL

e El código MSIL ejecuta las tareas en forma segura gracias


a su código gestionado.
e Posee un entorno de ejecución robusto, puede
convertirse en código nativo en forma eficiente
e Seguridad inherente no causa daños.
e Desarrollo simplificado
e Fácil gestión y despliegue de aplicaciones
e Preserva inversión al desarrollador
(6) Universidad
Central del Ecuador 4
Compilador JIT (Just in time)

Es un compilador bajo demanda en tiempo de ejecución.


La traducción de MSIL a código nativo de la CPU es realizada
por un compilador “Just In Time” o jitter, que va convirtiendo
dinámicamente el código MISIL a ejecutar en código nativo
según sea necesario.
“TANTRA

Cédigo
© Universidad Central del Ecuador Fuente

Libreria
Compilador
(MSIL y (VB.Net. C#. etc)
Metadatos
Y

EXE/DLL
(Msil y
Metadatos)

Compilador JIT Solo'cdédigo


Pre-Jitter
Cargador de
Clases

(Just in time)
verificado
Compilador JIT con
verificación opcional

5
Llamada a
Cédigo un método
a Nativo sin compilar
Gestionado

Ejecución

Y
Comprobaciones
de Seguridad

Motor de
Eiecución
} Universidad Central del Ecuador

Compilador JIT (Just in time)

<2
CLS-Compliant Language
Language Compiler

>
b>
Metadata

Languages

Exceution of a .NET Application


Universidad Central del Ecuador

Libreria de Classes Base (BCL)


ESPACIO DE NOMBRES DESCRIPCION
System Usado para los tipos basicos, tablas, excepciones,
fechas, números aleatorios, recolector de basura,

entrada/salida en consola, etc.

System.Collections Colecciones de datos de uso común como pilas, colas,


listas, diccionarios, etc.

System.Data Manipulación de bases de datos. Forman la arquitectura


ADO.NET.
System.IO Manipulación de ficheros y otros flujos de datos.
System.Net Realización de comunicaciones en red

System.Reflection Acceso a metadatos que acompañan a los módulos de


código. Es la tarea de leer datos del manifiesto.
System.Runtime.Remoting Acceso a objetos remotos
System.Security Acceso a la política de seguridad que se basa el CLR
System.Web.UI.WebControls Creación de interfaces de usuario basadas en ventanas
para aplicaciones Web.
System.Winforms Creación de interfaces de usuario basadas en ventanas

para aplicaciones estándar.


System.XML Acceso a datos en formato XML
Jorge Galeas
| Universidad Central del Ecuador

a
Introducción

ul
IO Universidad Central del Ecuador

Definición de software
e Según IEEE (Instituto de Ingenieros Eléctricos y Electrónicos), en su
estándar 729: la suma total de los programas de cómputo,
procedimientos, reglas, documentación y datos asociados que forman
parte de las operaciones de un sistema de cómputo. Bajo esta
definición el concepto de software va más allá de los programas de
cómputo en sus distintas formas: código fuente, binario o código
ejecutable, además de su documentación. Es decir, el software es todo
lo intangible.
e Se trata del conjunto de instrucciones que permite la utilización del
ordenador o computador. El software es la parte intangible de la
computadora, es decir, programas, aplicaciones, etc.
| Universidad Central del Ecuador

Software Libre
[ORE
Software Libre
e Es aquel que puede ser distribuido, modificado, copiado y usado; por
lo tanto, debe venir acompañado del código fuente para hacer efectivas
las libertades que lo caracterizan.
e Software de dominio público significa que no está protegido por el
copyright no tiene derechos de autor, por lo tanto, podrían generarse
versiones no libres del mismo, en cambio el software libre protegido
con copyleft impide a los redistribuidores incluir algún tipo de
restricción a las libertades propias del software así concebido, es decir,
garantiza que las modificaciones seguirán siendo software libre.
También es conveniente no confundir el software libre con el software
gratuito, éste no cuesta nada, hecho que no lo convierte en software
libre, porque no es una cuestión de precio, sino de libertad.
USAR APRENDER REDISTRIBUIR PUBLICAR UNA FORMA ÉTICA
ADAPTAR MEJORAS DE ENTENDER VALORES
con cualquier el programa a copias para todos para beneficiar a EL SOFTWARE Ética, creatividad,
propósito sus necesidades (libertad 2) toda la comunidad eficiencia, colaboración,
(libertad 0) (libertad 1) (libertad 3) e
comercialización,
no discrimación, ciencia,
: Bs transparencia, seguridad,
distribución y uso =
es competitividad, privacidad,
que permita solidaridad,y sobre todo,
: libertad
requiere a
e
GPL (Copyleft), ©
Apache, BSD,
Creative Commons
(Share Alike) producen y
depuran colaboran
qe (netiqueta)
DISTRIBUCIONES DESARROLLADORES/AS USUARIOS/AS

Debian GNU/Linux instrucciones Fundaciones como FSF, —» ONGs: WikipediA, Greenpeace


Ubuntu usuarios y proyectos como: INSTITUCIONES: UNESCO, NASA
y GNewSense NE CO) EMPRESAS: Google, IBM, SUN, Nokia
eugft ‘ OpenBSD > yay g NS
Bo y E PAISES-REGIONES: Extremadura
OpenSolaris Q A A Francia, China, Brasil, Alemania
AE GNU. KDE De UNIVERSIDADES: y MIT, Berkeley
Ry. Enlightenment, Linux ae El 89% del TOP500 de superordenadores
SPR PROGRAMAS y Gnome, Window Maker, a
reunidos > EJECUT ‘ABLES A y Apache, PostgreSQL, e :
rec iben
en P Gentoo, MySQL,
fuentes tipográficas, PHP, Xorg y dan
traducciones, localizaciones, =
plantillas, sonidos, imagenes,
3 Openoffice.org. dd TAGs ies noms ee XK SOPORTE
Firefox, Audacity,
Y Scribus, Inkscape, de EMPRESAS: p.ej. en España dan soporte 150 en ASOLTF y 588 según Libro Blanco
Blender, GIMP,
o EVENTOS: aKademy, FLISODRNADAS DE Hispalinux, JRSL, Hackmeeting
A) Ktouch, K3b al. ó : LUGS: — Velug, GPUL, CafelBizOGOSFERA: bulma net, vivalinux.com.ar
Seen © UTE-8 de IETF WIKIS: — emacswiki, wiki debian H9QROS: preguntaslinux, ubuntu México
> html, xml de W3C IRC (Chats): OFTC, freendd&STAS DE CORREO: bulmailing, asturlinux
OpenDocument de OASIS e ISO ASOCIACIONES: Linux Español, USLA, Solar
2009-10-11 Ultima version del mapa conceptual del software libre (GPDL) en: es gru org «reneme map'es/map-es svg Autor. René Merou (h@es. gnu org)

https://es.wikipedia.org/wiki/Archivo:Mapa_conceptual_del_software_libre.svg
| Universidad Central del Ecuador

Software Propietario

y "A Adobe KASPERIKY 8


y Universidad Central del Ecuador

Software Propietario

*El software no libre también es llamado software


propietario, software privativo, software privado o software
con propietario.

e Se refiere a cualquier programa informático en el que los


usuarios tienen limitadas las posibilidades de usarlo,
modificarlo o redistribuirlo (con o sin modificaciones), o que
su código fuente no está disponible o el acceso a éste se
encuentra restringido
) Universidad Central del Ecuador

Software Semilibre

Es aquel que mantiene las mismas características que el


software libre para los usuarios individuales, entidades
educativas o sin ánimo de lucro, sin embargo prohíbe esas
libertades para su uso comercial o empresarial
y Universidad Central del Ecuador

Freeware

* No tiene una definición clara y precisa, sin embargo suele


usarse para clasificar al software que puede redistribuirse
libremente pero no modificarse, entre otras cosas, porque
no está disponible su código fuente.

e El freeware no es software libre.


y Universidad Central del Ecuador

Shareware

e Es un software que permite su redistribución, sin embargo


no viene acompañado de su código fuente y, por tanto, no
puede ser modificado.
e Además, pasado un periodo de tiempo, normalmente es
necesario pagar una licencia para continuar usándolo,
tampoco es software libre.
y Universidad Central del Ecuador

Abandonware

e El aobandonware es “software cuyos derechos de autor ya no


son defendido o que ya no está siendo vendido por la
compañía que lo hizo”, y por eso, se dice que ha sido
abandonado
) Universidad Central del Ecuador

Warez

e “Warez” es un término muy usado en las subculturas cracker


para aludir a versiones crackeadas de software comercial,
versiones en las cuales la protección de los derechos de
autor ha sido quitada.

elos warez son distribuciones de software sujetas a los


derechos de autor, comercializadas en violación a la licencia
de derechos de autor del software, en muchos casos la
distribución de los warez es ilegal.
y Universidad Central del Ecuador

Copyright
e El símbolo de copyright es “O”, usado para indicar que una
obra está sujeta al derecho de autor.
e El derecho de autor es un conjunto de normas y principios
que regulan los derechos morales y patrimoniales que la ley
concede a los autores, por el solo hecho de la creación de
una obra literaria, artística o científica, tanto publicada o que
todavía no se haya publicado.
e Una obra pasa al dominio público cuando los derechos
patrimoniales han expirado. Esto sucede habitualmente
trascurrido un plazo desde la muerte del autor.
y Universidad Central del Ecuador

Derecho de autor y Copyright


e El derecho de autor y copyright constituyen dos concepciones sobre
la propiedad literaria y artística.
e El derecho de autor se basa en la idea de un derecho personal del
autor, fundado en una forma de identidad entre el autor y su
creación.
e El copyright se limita estrictamente a la obra, sin considerar atributos
morales del autor en relación con su obra
e El Copyright protege la obra del autor, mientras que los derechos de
autor protegen al autor como individuo.
| Universidad Central del Ecuador

Ventajas del copyright


e Sino se utilizara copyright muchos artistas podrían temer que su
trabajo pudiera ser copiado y modificado sin reconocer el
trabajo al artista inicial. Sin embargo, esto puede traer
problemas: el trabajo del artista podría utilizarse de manera
contraria a su voluntad, poniendo una fotografía estándar en un
cartel racista. Si el artista es reconocido, será entonces asociado
aparentemente con un grupo y una ideología que tal vez no
comparta. Asimismo, tampoco hay garantía de que se le
atribuya el mérito de su trabajo.
e El dueño o la persona que ha escrito una obra tiene derecho a
cobrar por la misma, así como por su reproducciones.
) Universidad Central del Ecuador

Ventajas del copyright

e Las compañías que distribuyen software propietarios responden


ante cualquier problema legal que se suscite respecto a posibles
reclamos de propiedad intelectual.
e Frente a problemas con los programas de los cuales se han
comprado sus licencias propietarias, existe un responsable
frente al cual se puede iniciar alguna acción legal.
) Universidad Central del Ecuador

Desventajas del copyright

e Origina que en el mercado se generen monopolios, ejemplo


de esto es el claro desarrollo de Microsoft. Los
distribuidores de programas generan mercados cautivos, ya
que insertan problemas a sus propios programas a efecto de
que se requiera alguna actualización.
(©) Universidad Central del Ecuador

Desventajas del copyright


e Debido al constante cambio tecnológico los programas se vuelven
obsoletos sumamente rápido por lo que es necesario comprar las
nuevas versiones de los programas, o bien, los nuevos programas
que salgan al mercado; Debido a las prácticas monopólicas que se
ejercen actualmente respecto a los programas propietarios, las
compañías se aprovechan de ello y fijan altos costos para sus
productos, que en muchos casos son inaccesibles para muchas
personas.
e Los altos costos derivados de las prácticas monopólicas de los
software propietarios han contribuido a la proliferación de la
piratería
) Universidad Central del Ecuador

Copyleft

e En un entorno no legal, el copyleft puede considerarse como


opuesto al copyright. Los vocablos ingleses “right” y “left”
además significan “derecha” e “izquierda” respectivamente,
lo que acentúa la diferencia entre ambos conceptos.

elos autores y desarrolladores usan el copyleft en sus


creaciones como medio para que otros puedan continuar el
proceso de ampliar y mejorar su trabajo
SS
(a). Universidad Central del Ecuador
SS

Copyleft
e El símbolo del copyleft es O
Describe un grupo de licencias que se aplican a una diversidad de
trabajos tales como el software, la literatura, la música y el arte.
Una licencia copyleft se basa en las normas sobre el derecho de
autor, las cuales son vistas por los defensores del copyleft como
una manera de restringir el derecho de hacer y redistribuir copias
de un trabajo determinado, para garantizar que cada persona que
recibe una copia o una versión derivada de un trabajo, pueda a su
vez usar, modificar y redistribuir tanto el propio trabajo como las
versiones derivadas del mismo.
y Universidad Central del Ecuador

Ventajas del Copyleft


e Cuando el copyleft rige un trabajo su eficiencia hace cumplir las
condiciones de la licencia a todos los tipos de trabajos
derivados.
e Este tipo de licencias es el que se utiliza generalmente para la
creación de bibliotecas de software, con el fin de permitir que
otros programas puedan enlazar con ellas y ser redistribuidos,
sin el requerimiento legal de tener que hacerlo bajo la nueva
licencia copyleft.
e El copyleft es aquel que permite que todas las partes de un
trabajo (excepto la licencia) sean modificadas por sus sucesivos
autores.
y Universidad Central del Ecuador

Ventajas del Copyleft


e El copyleft también ha inspirado a las artes, con
movimientos emergentes como la “Free Society” y los sellos
discográficos open-source.
e Han inspirado también la creación de las licencias Creative
Commons “compartir igual” y la Licencia de Documentación
Libre de GNU.
| Universidad Central del Ecuador

Desventajas del Copyleft


e El copyleft hace referencia a las licencias que no se heredan a
todos los trabajos derivados, dependiendo a menudo de la
manera en que estos se hayan derivado.
e Se requiere distribuir los cambios sobre el software con
“copyleft”, pero no los cambios sobre el software que enlaza con
el. Esto permite a programas con cualquier licencia ser
compilados y enlazados con bibliotecas con copyleft.
e El copyleft parcial implica que algunas partes de la propia
creación no están expuestas a su modificación ilimitada, o visto
de otro modo, que no están completamente sujetas a todos los
principios del copyleft.
(OEE
Desventajas del Copyleft
El copyleft es mas dificil de poner en practica en aquellas artes que
se caracterizan por la producción de objetos únicos, que no
pueden ser copiados (a menos que no se tema por la integridad
del trabajo original). Ejemplo: suponga que hay una exposición
pública de algunos cuadros mundialmente famosos, algunas de las
muchas copias y trabajos derivados que Andy Warhol hizo de sus
propias obras de arte, y suponga que alguien que tiene acceso a
esos cuadros (sin tener plena propiedad de los derechos de estos),
decide “mejorarlos” con algunos efectos pictóricos de su gusto (sin
olvidar la correspondiente firma con pintura de spray). Dada esta
situación, no habría manera (legal) de detener a este tipo si le
puede considerar el titular bajo copyleft de dichas obras
IO Universidad Central del Ecuador

Definición de patentes
e La OMPI (Organización Mundial de la Propiedad Intelectual) define la
patente como: “Una patente es un derecho exclusivo concedido a
una invención, es decir, un producto o procedimiento que aporta, en
general, una nueva manera de hacer algo o una nueva solución
técnica a un problema. Para que sea patentable, la invención debe
satisfacer determinados requisitos”
e La patente protege ideas, esta es un privilegio que concede el Estado
a los inventores, así constituyen monopolios a favor de ellos. El
titular de una patente tiene en todo momento el derecho de
explotar su invento, el cual es oponible a cualquier persona, sea
física o jurídica. No obstante, el titular puede dar su consentimiento
de que otras personas puedan fabricar, usar, vender, importar el
invento. A cambio de una regalía
y Universidad Central del Ecuador

Definición de patentes
e La palabra patente se emplea en dos sentidos:
e Como un privilegio que se otorga al inventor de algún producto o
proceso aplicable a la industria, para que lo explote de forma
exclusiva.
e Como el documento oficial que expide el estado, en el cual se
reconoce la calidad del inventor y los derechos que genera.

El documento se denomina título de la patente.


) Universidad Central del Ecuador

Patentes de programas de computo o software


El software tiene dos componentes:

¢ Un componente escrito: el código.

e Uncomponente técnico: los algoritmos.

Los requisitos sustantivos y de procedimiento para la concesión de


patentes varían de un país a otro. En particular, varían
significativamente las practicas y la jurisprudencia vigentes en relación
con la patentabilidad de las invenciones relativas a programas
informáticos.
| Universidad Central del Ecuador

Diferencias entre patentes y copyright

e El copyright regula las condiciones de expresión de


una obra, no protege ninguna idea. Las patentes sólo
protegen las ideas y el uso de las ideas.
e El copyright se aplica automáticamente. Las patentes
son publicadas por una oficina de patentes como
respuesta a una solicitud.
e Las patentes cuestan dinero. Cuestan más por lo que
se paga a los abogados para que realicen la solicitud,
que por lo que realmente cuesta su aplicación.
y Universidad Central del Ecuador

Diferencias entre patentes y copyright

e El copyright sólo protege la copia.

e Las patentes es un monopolio absoluto sobre el uso de una idea.


y Universidad Central del Ecuador

Marcas

ela marca es un conjunto de signos para distinguir un


producto o servicio de determinada empresa. Comprende
denominaciones, figuras, formas tridimensionales como
envases, nombres comerciales, razones sociales, nombres
propios de personas.
e Las marcas protegen el uso exclusivo del signo distintivo de
los productos.
e El titular tiene el uso exclusivo de la marca
IO Universidad Central del Ecuador

Marcas

e “Las marcas pueden usarse en el mundo del software libre para


proteger un servicio o producto y hasta un grupo de desarrollo. Por
ejemplo, nosotros podemos crear una aplicación, distribuirla con
licencia libre, incluso de tipo copyleft, y registrar como marca el
nombre del producto. La licencia libre de uso no incluye el uso de la
marca. De esta manera concedemos todas las libertades del
software libre, pero podemos impedir que terceros modifiquen y
distribuyan el programa - quizás de menor calidad - con la misma
marca. Protegemos así la inversión que hayamos realizado para
crear y dar a conocer nuestro producto.”
Jordi Masi Hernández
y Universidad Central del Ecuador

Licencias de software

La licencia es un contrato entre el autor de un programa de


computación y los usuarios. En ella se estipula lo que los usuarios
pueden hacer con la obra: uso, redistribución, modificación, copias y
en qué condiciones

“Es un contrato que determina cómo el autor cede - normalmente de


manera no-exclusiva - parte de sus derechos al usuario (copia,
modificación, distribución, etc.), determinando en qué condiciones el
usuario puede utilizar el programa informático y detallando el
ámbito de los derechos y obligaciones asociados.”
y Universidad Central del Ecuador

Licencias libres

Las licencias de software libre pueden permitir redistribuir un


programa libre o prohiben redistribuirlo. Para distribuir un
programa es necesario cumplir con la licencia. Así, la licencia
contiene las condiciones de uso a las que han de sujetarse los
usuarios, los distribuidores, integradores y todos aquellos que
adquieran un programa libre con una licencia libre.
y Universidad Central del Ecuador

Licencias libres
Licencia Pública General (General Public License, GPL-GNU)
e Se aplica al software de la Free Software Foundation.
e Utiliza la figura del copyright (copyleft).
e Permite la redistribución del código fuente del programa.
e Permite las modificaciones sin restricciones.

El usuario tiene derecho a usar el programa, modificarlo y distribuir las


versiones modificadas, sin embargo no se permite realizar restricciones
propias con respecto a la utilización de ese programa modificado
y Universidad Central del Ecuador

Licencias libres
Licencia Pública General (General Public License, GPL-GNU)

Esta licencia protege la libertad del código en todo momento, ya que


un programa publicado y licenciado bajo sus condiciones nunca
podrá ser convertido en software propietario.
Las modificaciones realizadas a un programa con licencia GPL no
pueden ser publicadas con una licencia diferente a ésta.
Este tipo de licencia en sus Términos y Condiciones para la copia,
distribución y modificación de la Licencia Pública General de GNU
salvaguarda los derechos morales del autor del software.
y Universidad Central del Ecuador

Licencias libres
Licencia Pública General Menor:
Utilizada en bibliotecas, pensada en sus orígenes para permitir el uso
de bibliotecas libres con software propietario, lo que permite el uso de
programas libres con software propietario. El programa se distribuye
como si estuviera bajo la licencia GPL, pero permite la integración con
cualquier otro software
La forma en que opera esta:
1. Se obtienen los derechos de autor de la biblioteca
2. Ofrece la licencia que autoriza copiar, distribuir y/o modificar la
biblioteca.
y Universidad Central del Ecuador

Licencias libres

Otras actividades que no sean copia, distribución o modificación no


están cubiertas en esta licencia y están fuera de su alcance.

El programa se distribuye como si estuviera bajo la licencia GPL,


pero, al mismo tiempo, se permite la integración con cualquier otro
software sin prácticamente limitaciones.
y Universidad Central del Ecuador

Licencias libres

Licencias de código abierto o permisivas.

“aquellas que ceden el uso del programa bajo las condiciones que
definen el software libre pero no obligan necesariamente a hacer
públicas las mejoras que realicemos sobre el código.”

Masi Hernández, Jordi. Software libre


IO Universidad Central del Ecuador

Licencias propietarias
Licencia limitada de uso
Esta licencia es la que se aplica al software propietario. La utiliza
Microsoft con el nombre de Términos de Uso (TDU).

“Una licencia de software otorga al usuario derecho legal a utilizar un


software. Por cada programa de software de Microsoft que se utiliza, se
otorga una licencia al usuario y ésta se documenta en el Contrato de
Licencia de Usuario Final (CLUF). Un usuario de software, necesita una
licencia. El acuerdo de licencia da al usuario el derecho de utilizar el
software. El software está protegido por la ley de derechos de autor,
ue establece que el producto no puede copiar sin autorización del
dueño de derechos de autor.”
IO Universidad Central del Ecuador

Licencias propietarias
Las licencias de software de Microsoft se adquieren por:
e Producto empaquetado ( caja ): Las licencias de este tipo de este software
pueden ser adquiridas a través de cualquier distribuidor autorizado de
software Microsoft. Las licencias de Productos Empaquetados estan
orientadas hacia aquellos consumidores que poseen necesidades de
cantidades muy pequeñas de licencias de software.
e Original Equipment Manuafacturer (OEM): licencia para software
preinstalado en un PC nuevo. Existen dos formas de articular las licencias
OEM, una para fabricantes de equipos originales multinacionales y otra
para fabricantes de equipos locales. Ambos tipos de fabricantes de
equipos pueden distribuir PCs con sistemas operativos.
e Licencia por volumen. Para organizaciones que utilizan múltiples
productos y volúmenes de compra elevados de software Microsoft
y Universidad Central del Ecuador

GNU
En 1984, Richard Stallman creó la Free Software Foundation (FSF) con
el objetivo de crear el sistema Unix libre GNU y la potenciación del
software libre
La definición de software libre propuesta por la Free Software
Foundation, se basa:
1. Libertad para utilizar el programa para cualquier propósito.
2. Libertad para poder estudiar cómo funciona el programa. Implica
acceso al código fuente del mismo.
3. Libertad para redistribuir el programa.
4. Libertad para hacer modificaciones y distribuir las mejoras. Implica
también acceso al código fuente del mismo
y Universidad Central del Ecuador

Open Source (código abierto)


En 1998, Eric S. Raymond, Bruce Pernees y otros hackers involucrados
en el desarrollo de software libre lanzaron la Open Software Initiative y
propusieron el uso de término open source (código abierto).
Condiciones aplicables a programas software libre:
1. Libre distribucion
2. Codigo fuente.
3. Trabajos derivados (bajo mismos términos del software original)
4 Integridad del código de fuente original (versión modificada debe
tener un nombre y número de versión )
= No discriminación contra personas o grupos
y Universidad Central del Ecuador

Open Source (código abierto)


6. No discriminación contra usos
7. Distribución de la licencia.
8. La licencia no debe ser específica de un producto.
9. La licencia no debe restringir otro software
10. La licencia debe ser tecnológicamente neutra
y Universidad Central del Ecuador

Ventajas del software libre


* Bajo costo de adquisición y libre uso
¢ Todo el mundo tiene derecho de usarlo sin costo alguno.
e Todo el mundo tiene derecho a acceder a su diseño y aprender
de el. Es como obtener las instrucciones para construir un carro.
e Todo el mundo tiene derecho de modificarlo: si el software tiene
limitaciones o no es adecuado para una tarea, es posible
adaptarlo a necesidades especificas y redistribuirlo libremente.
* No tiene un costo asociado (gratuito).
e Es de libre distribución (cualquier persona puede regalarlo,
venderlo o prestarlo)
O Universidad Central del Ecuador
~

Ventajas del software libre


e Innovación tecnológica
e El software libre, tiene como objetivo principal compartir la información,
trabajando de manera cooperativa.
+ Este es principalmente el modelo sobre el que la humanidad ha innovado y
avanzado
¢ Requisitos de hardware menores y durabilidad de las soluciones
e Servidores Linux pueden ser utilizados sin la interfaz gráfica
e Escrutinio público
e El modelo de desarrollo de software libre sigue un método a través de la cual
trabajan de forma cooperativa los programadores que en gran parte son
voluntarios y trabajan coordinadamente en Internet. Lógicamente, el código fuente
del programa está a la vista de todo el mundo, y son frecuentes los casos en que se
reportan errores que alguien ha descubierto leyendo o trabajando con ese código.
) Universidad Central del Ecuador

Ventajas del software libre


* Independencia del proveedor
e Gracias a la disponibilidad del código fuente
¢ Industria local
e Formación de profesionales en nuevas tecnologías y al desarrollo
local
e Datos personales, privacidad y seguridad (disponer del
código fuente para auditorias)
e Riesgo de filtración
* Riesgo de imposibilidad de acceso
e Riesgo de manipulación
) Universidad Central del Ecuador

Ventajas del software libre

¢ Adaptacion del software


e El software libre permite personalizar, gracias al hecho de que
disponemos del código fuente
* Lenguas minoritarias, traducción, uso e impulso de difusión
e Diferentes lenguas nativas, en el software propietario sólo la
empresa productora posee los derechos para realizar la traducción
e Software y Estado
e No debe existir en el Estado dependencia tecnológica emergente
de la naturaleza del software propietario
y Universidad Central del Ecuador

Desventajas del software libre


e La curva de aprendizaje es mayor
e El software libre no tiene garantía proveniente del autor
e El software libre se adquiere sin garantías explicitas del
fabricante
e Se necesita dedicar recursos a la reparación de errores
e No existen compañías que respalden toda la tecnología
e Las interfaces gráficas de usuario (GUI) y la multimedia apenas se
están estabilizando
e La mayoría de la configuración de hardware no es intuitiva
IO Universidad Central del Ecuador

Desventajas del software libre


* Únicamente los proyectos importantes y de trayectoria tienen buen
soporte, tanto de los desarrolladores como de los usuarios
e El usuario debe tener nociones de programación
e En sistemas con acceso a Internet, se deben de monitorear
constantemente las correcciones de errores de todos los programas
que contengan dichos sistemas, ya que son fuentes potenciales de
intrusión
e la diversidad de distribuciones, métodos de empaquetamiento,
licencias de uso, herramientas con un mismo fin, etc., pueden crear
confusión en cierto número de personas
y Universidad Central del Ecuador

Ventajas del software propietario


e Control de calidad
* Recursos a la investigación
e Personal altamente capacitado
e Uso común por los usuarios.
e Software para aplicaciones muy específicas
e Amplio campo de expansión de uso en universidades
e Difusión de publicaciones acerca del uso y aplicación del
software
y Universidad Central del Ecuador

Software de Microsoft
e Uso común por los usuarios
e Curva de aprendizaje menor
e Soporte de las herramientas por diversas compañías
e Existen numerosas aplicaciones desarrolladas para la plataforma
Win32 que no han sido portadas a otras plataformas
e Mejoras para desempeño en ambientes de red
e Microsoft obtiene un contrato exclusivo
e Microsoft proporciona la plataforma tecnológica y otras
compañías los desarrollos
y Universidad Central del Ecuador

Desventajas del software propietario


e Cursos de aprendizaje costosos
e Secreto del código fuente
e Soporte técnico ineficiente
e llegal o costosa la adaptación de un módulo del software a necesidades particulares
e Derecho exclusivo de innovación
e llegalidad de copias sin licencia para el efecto
e Imposibilidad de compartir
e Quedar sin soporte técnico
e Descontinuación de una línea de software
* Dependencia a proveedores
e Nulificación de desarrollo tecnológico de la industria nacional (respecto a la
extranjera)
y Universidad Central del Ecuador

Software de Microsoft
e Código fuente oculto
e Descuido respecto a la seguridad (Sistemas Operativos)
e Obscuridad de la documentación sobre herramientas
e Costo elevado de licencia
* Necesidad de contratar paquetes de soporte técnico
e Incompatibilidad con varias aplicaciones
e Reputación dudosa respecto a medidas de seguridad
e Sistemas operativos monousuarios
e Desarrollo excluyente
e Prácticas monopólicas
y Universidad Central del Ecuador

Bibliografía
e Software libre vs software propietario Ventajas y desventajas
e Culebro Juárez, Montserrat. Gómez Herrera, Wendy Guadalupe. Torres Sánchez, Susana.
Tone Central del Ecuador
ae

Jorge Galeas

al NA]
(© Lay
Http/Https
Hypertext Transfer Protocol (protocolo de transferencia de
hipertexto) o HTTP se trata de un protocolo orientado a
transacciones que sigue un esquema de petición-respuesta entre
un cliente y un servidor.
Al cliente que efectúa una petición (habitualmente, un navegador
web) se le denomina "user agent". La información transmitida se
denomina recurso y se la identifica mediante un localizador
uniforme de recursos (URL, uniform resource locator). Como su
nombre indica, una URL permite localizar un recurso en Internet.
Las URL son siempre únicas, hecho que garantiza el W3C, y cada
URL en Internet identifica univocamente un recurso (página web,
imagen, Applet, flash, etc.).
8 Universidad Central del Ecuador

URL
Las URL indican cómo localizar en Internet un determinado recurso. Su
formato es:
protocolo://maquina:puerto/camino/fichero

El protocolo habitualmente es http (HyperText Transport Protocol) o https


(HyperText Transport Protocol Secure), aunque pueden emplearse otros
protocolos como ftp (File Transfer Protocol).

Por defecto, cada protocolo tiene un puerto asignado; por ejemplo http
tiene asignado el puerto 80 y https tiene asignado el puerto 443.
ENTRADOS.

Universidad Central del Ecuador

Peticiones HI TP

Las peticiones de http siguen el siguiente formato:


Método SP URL SP Versión Http CRLF
(nombre-cabecera: valor-cabecera (, valor-cabecera) *CRLF) *

Cuerpo del mensaje

GET /en/html/dummy?name=MyNameémarried=not+single&male=yes HTTP/1.1

Host: www.explainth.at

User-Agent: Mozilla/5.0 (Windows;en-GB; rv:1.8.0.11) Gecko/20070312

Firefox/1.5.0.11
Accept: text/xml, text/html; q=0.9, text/plain; q=0.8, image/png, */*;q=0.5

Accept-Language: en-gb,en;q=0.5

Accept-Encoding: gzip,deflate

Accept-Charset: ISO-8859-1, utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

Referer: http://www.explainth.at/en/misc/httpreq.shtml

SSS
Universidad Central del Ecuador

~ Peticiones HTTP
POST /en/html/dummy HTTP/1.1
Host: www.explainth.at

User-Agent: Mozilla/5.0 (Windows;en-GB; rv:1.8.0.11) Gecko/20070312

Firefox/1.5.0.11

Accept: text/xml, text/html; q=0.9,text/plain;q=0.8,image/png,


*/*;q=0.5

Accept-Language: en-gb,en;q=0.5

Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

Referer: http://www.explainth.at/en/misc/httpreq.shtml

Content-Type: application/x-www-form-urlencoded

Content-Length: 39

name=MyName&married=not+singleémale=yes
[O
O LEA Peticiones HI TP
Los métodos son:
* HEAD: pide al servidor que le envíe una respuesta idéntica a la que enviaría a una petición GET,
pero sin el cuerpo de la respuesta. Esto es útil para la recuperación de la meta-información
contenida en las cabeceras de la petición.
e GET: pide al servidor que le envíe un recurso.
* POST: envía datos al servidor para que sean procesados por el recurso especificado en la
petición. Los datos se incluyen en el cuerpo de la petición. Este método podría crear un nuevo
recurso en el servidor, o actualizar un recurso ya existente.
+ PUT: envía un recurso determinado (un archivo) al servidor. A diferencia que POST, este método
crea una nueva conexión (socket) y la emplea para enviar el recurso, lo cual resulta más eficiente
que enviarlo dentro del cuerpo del mensaje.
e DELETE: elimina el recurso especificado.
* TRACE: pide al servidor que le envíe un mensaje de respuesta. Se suele emplear para
diagnosticar posibles problemas en la conexión.
° SE RIOMS: pide al servidor que le indique los métodos HTTP que soporta para una determinada

° ci se emplea para transformar una conexión ya existente a una conexión encriptada


ttps).
e PATCH: se emplea para modificar parcialmente un recurso ya existente en el servidor
©. Universidad Central del Ecuador

Respuestas HI IP
La respuesta del servidor en el protocolo http sigue la siguiente estructura:
El código de estado es un código que indica si la petición ha tenido éxito o
habido algún error.
Versión-http SP código-estado SP frase-explicación CRLF
(nombre-cabecera: valor-cabecera ("," valor-cabecera)* CRLF)*

Cuerpo del mensaje

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8

Content-Length: length

<html>

<head> <title> Titulo de nuestra primera pagina </title> </head>

<body>

¡Hola mundo!

</body>
</html>

OA
(OLE
Codigos de estado del protocolo http
e Códigos 1xx : Mensajes
e 100-111 Conexión rechazada
e Códigos 2xx: Operación realizada con éxito
e 200 OK
e 201-203 Información no oficial
e 204 Sin Contenido
e 205 Contenido para recargar
e 206 Contenido parcial
e Códigos 3xx: Redirección
e 301 Mudado permanentemente
e 302 Encontrado
303 Vea otros
304 No modificado
305 Utilice un proxy
307 Redirección temporal
(OLE
Codigos de estado del protocolo http
e Códigos 4xx: Error por parte del cliente
e 400 Solicitud incorrecta
e 402 Pago requerido
e 403 Prohibido
e 404 No encontrado
e 409 Conflicto
e 410 Ya no disponible
e 412 Falló precondición
e Códigos 5xx: Error del servidor
e 500 Error interno
501 No implementado
502 Pasarela incorrecta
503 Servicio no disponible
504 Tiempo de espera de la pasarela agotado
505 Versión de HTTP no soportada
(OLE
HTML
HTML (HyperText Markup Language, Lenguaje de Marcado de Hipertexto)
HTML es un lenguaje basado en marcas o etiquetas. La sintaxis de las
etiquetas es:
<nombre de la etiqueta [atributol = "valorl1", atributo2 = "valor2"

pion
[contenido de la etiqueta]

[</nombre de la etiqueta> ]

Las partes de la etiqueta que van entre "[]" son opcionales. Una etiqueta siempre va
entre “<...>". Opcionalmente, puede tener un conjunto de atributos y valores.
Algunos atributos no tienen un valor asociado; a estos atributos se les suele
denominar compactos. En caso de tener un valor asociado, el valor del atributo debe
ir entre comillas. El contenido de la etiqueta puede ser texto, u otras etiquetas.
Algunas etiquetas no tienen ningún contenido. Habitualmente, todas las etiquetas
deben cerrarse.
E) viveros
Corra de Ecuador
HTML
e Todo el contenido de un documento HTML se encuentra entre las etiquetas <html>
</html>.
¢ Cada página se divide a su vez en cabecera (delimitada entre las etiquetas <head>
</head>) y cuerpo (delimitado entre las etiquetas <body> </body>).
e Toda la información que se incluye en la cabecera no se renderiza al visualizar el
documento. Se considera "meta información”. Es buena práctica incluir dentro de la
cabecera de la página web un título, empleando la etiqueta <title>. Este será el título
que el navegador web muestre en su barra. Este título también es considerado por
los buscadores de Internet, como Google, a la hora de determinar sobre qué trata la
página.
<!-- Ejemplo1.html -->
<html>
<head> <title> Título de nuestra primera página </title>
</head>
<body>
¡Hola mundo!
</body>
</html>
©. Universidad Central del Ecuador

Caracteres especiales
Secuencias de escape más comunes de HTML

&1lt; <

&gt; >

&amp; &

&quot;

&aacute; teacute;

&lacute; &oacute; a, é, i, 0, 0

&uacute;

&ntilde; fi

&iquest; i
IÓ Universidad Central del Ecuador

e Títulos de encabezado

* <h1>Encabezado 1</h1>
* <h2>Encabezado 2</h2>
* <h3>Encabezado 3</h3>
* <h4>Encabezado 4</h4>
e <h5>Encabezado 5</h5>
* <h6>Encabezado 6</h6>
(e) Universidad Central del Ecuador

e Párrafos, líneas y tipos de fuente


La etiqueta <p> sirve para delimitar párrafos, por defecto los párrafos están
justificados a la izquierda.
Modificar la alineación horizontal de un párrafo mediante el atributo ALIGN
LEFT: justificado la izquierda. Es el valor por defecto.
CENTER: el párrafo está centrado
RIGHT: justificado a la derecha

<b>Negrita </b>
<i>Cursiva </i>
<tt> Emplea una fuente de tamaño fijo </tt>
<em>Enfasis </em>
<strong>Mas énfasis </strng>
(e) Universidad Central del Ecuador

e Modificar el tamaño de la fuente utilizando el atributo size de


la etiqueta <font>:
e <font size="tamaño">Texto</font>

e Especificar el color de la fuente, se emplea el atributo "color".


En HTML, los colores se expresan en RGB como tres números
hexadecimales consecutivos. Por ejemplo, blanco será FFFFFF.
e <font color="FFO000">Texto</font>
Universidad Central del Ecuador
<html>
<head>
<Title>Ejemplo2.html</Title>
</head>
<body>
<hl>Este sera el t&iacute;tulo de la p&aacute;gina</hi>
<h2>P&aacute;rrafos</h2>
<p>
Este es el primer p&aacute;rrafo. Aqu&iacute; hay una ruptura de linea<br />de
texto
</p>
<p>Y &eacute;ste es otro p&aacute;rrafo. Observa como hay una
l&iacute;nea en blanco entre ellos al mostrarse en el navegador web.</p>
<p>
<B>Negrita </B><br /> <I>Cursiva </I><br />
<TT> Emplea una fuente de tama&ntilde;o fijo: *.* ocupa lo mismo que *A* </TT>
<br /> <EM>&eacute;nfasis </EM><br /> <STRONG>Gran
&eacute;nfasis </STRONG>
</p>
<pre> al renderizar esto se van a respetar
los espacios en blanco y retornos de carro </pre>
<hr: />
<p>Observa las l&iacute;neas horizontales</p>
<nP ES
<h1>Encabezado 1</h1>
<h2>Encabezado 2</h2>
<h3>Encabezado 3</h3>
<h4>Encabezado 4</h4>
<h5>Encabezado 5</h5>
<h6>Encabezado 6</h6>
</body>
</html>
8 Universidad Central del Ecuador

Listas
Las listas ordenadas, se definen con etiqueta <ol>. En estas listas, cada
uno de los elementos de la lista se numera consecutivamente, de ahi
el nombre de lista ordenada. Cada elemento de la lista ordenada se
define empleando la etiqueta <li>

<ol>
<li> Java </li>
<li> Python </li>
<li>C++</li>
</ol>
(e) Universidad Central del Ecuador

Listas
e Listas desordenadas mediante la etiqueta <ul>. En estas listas, cada
uno de los elementos de la lista se definen con la etiqueta <li>.

e Lista de definición, estas listas suelen emplearse para mostrar


términos seguidos de su definición. En este caso, los elementos de
las listas no emplean ningún tipo de marca ni numeración para
identificar cada elemento, sino que emplean sangrado entre los
párrafos. Las listas de definición se crean con la etiqueta <dl>. Los
términos a definir se etiquetan con <dt>, y sus correspondientes
definiciones con <dd>.
Universidad Central del Ecuador
<nead>
<Title>Ejemplo3.html</Title>
</head>
<body>
<h2>Listas</h2>
<h3>Lista ordenada</h3>
<p>
Los <font size="+1"><i> Lenguajes de programacion </i></font> que mas me gustan son <i> (en orden de preferencia): </i>
</p>
<ol>
<li>Java</li>
<li>Python</1i>
<1i>C++</1i>
</ol>
<h3>Listas desordenadas</h3>
<p>
Sin un orden particular, mis <font color="red"><b> comidas favoritas </b></font> son las siguientes:
</p>
<ul>
<li>La paella</li>
<li>El cocido gallego</1li>
<li>Merluza</1li>
</ul>
<h2>Listas de definicidn</h2>
<dl>
<dt>Java</dt>
<dd>Es el mejor lenguaje de programación del mundo</dd>
<dt> .NET</dt>
<dd>Es el lado oscuro de la fuerza</dd>
</d1l>
</body>
</html>
8 Universidad Central del Ecuador

Enlaces

e Para crear enlaces se utiliza la etiqueta <a> cuya sintaxis es:

e <a href="direccion”>Texto del enlace</a>


¢ <a href=”C:\servidor\web\documentospersonales\CV.html”> Mi
curriculum </a>
¢ <a href=”\documentospersonales\CV.html”> Mi curriculum </a>
* <a href="http://google.com”> Enlace a Google</a>
e <a href=" http://javaHispano.orgHfin"> ir al fin </a> (Permite saltar al
bloque definido +Hfin)
RS

Universidad Central del Ecuador


<html>
<head>
<Title>Ejemplo4.html</Title>
</head>
<body>
<h2>
<a name="indice"</a> Indice
</h2>
<ul>
<li><a href="#uno">Seccton uno</a><br />
<br />
<br />
<br />
<br />
<li><a href="#dos">Seccton dos</a><br />
<br />
<br />
<br />
<br />
<li><a href="http://google.com"> Enlace a Google </a><br />
<li><a href="./"> Enlace al directorio de tu equipo donde has guardado esta pagina </a>
</ul>
<h3>
<a name="uno">Sección uno</a>
</h3>
<p>Esta es la secci&oacute;n 1 de la pagina de enlaces locales</p>
<p>
Click aqui para <a href="#indice">volver al tndice</a>
<h3>
<a name="dos">Seccion dos</a>
</h3>
<p>Esta es la secci&oacute;n 2 de la pagina de enlaces locales</p>
<p>
Click aqui para <a href="*indice">volver al índice</a>
</body>
IÓ Universidad Central del Ecuador

Imágenes

* <img src="imagen.jpg”></img>
El atributo align puede tomar los valores : TOP, TEXTOP, CENTER,
ABSCENTER, MIDDLE, ABSMIDDLE, BOTTOM, LEFT, y RIGTH.

<img width= "500", border="4" , alt= "Logotipo de Google", align=


"center" src= "http://www.google.es/images/logo.png"> </img>

e Usar una imagen como enlace


* <a href="enlace”> <img src="imagen”> </a>
Tablas
e Se definen mediante la etiqueta <table>. Dentro de la etiqueta de tabla,
emplearemos la etiqueta <tr> para crear filas, y dentro de esta etiqueta
emplearemos la etiqueta <td> para delimitar el contenido de cada celda

<table border="1">
<tr><td>Celda A1</td><td>Celda B1</td><td>Celda C1</td></tr>
<tr><td>Celda A2</td><td>Celda B2</td><td>Celda C2</td></tr>
<tr><td>Celda A3</td><td>Celda B3</td><td>Celda C3</td></tr>
</table>
e mediante el atributo width, se puede definir el ancho total de la tabla en
píxeles o porcentaje
e <table width="830%"> ......... </table>
165 Universidad Central del Ecuador

Creación de formularios
Los formularios se emplean para recoger datos del usuario en una página web
y enviarlos al servidor. Estos datos pueden recogerse mediante campos de
texto, checkboxes, listas de selección, etc.
Los formularios se crean con etiqueta <form>. Los atributos de la etiqueta de
formularios son:
* action = "ruta programa”. Especifica
el programa en el servidor que se vaa
encargar de procesar la información enviada por el formulario. Lo más
habitual es enviar los datos a una URL en el servidor usando el método GET
o POST.
* method = " POST / GET" . Indica el método que se va a emplear para enviar
la información del formulario al servidor. POST envía los datos dentro del
cuerpo de la petición. El método GET añade los argumentos del formulario a
la URL especificada en el atributo action, utilizando como separador de las
distintas piezas de informacion el signo de interrogacion" ?".
(e) Universidad Central del Ecuador

Campos de texto
La etiqueta input se debe especifica el type= "text”
name = "nombre": asigna un nombre que identificará el campo de texto.
maxlenght = "n": especifica el número máximo de caracteres que el usuario
podrá incluir en el campo de texto
size = "n": establece el tamaño del campo de texto en la pantalla.
value = "texto": permite especificar el valor por defecto que va a aparecer en la
caja de texto
disabled: desactiva el campo de texto, por lo que el usuario no podrá escribir
nada en él.

<form action=" http://google.com/ejemplo" method="post“ enctype="text/plain"


name="ejemplo">
Introduce tu lenguaje de programación favorito:
<input type="text" maxlength="20" size="20" name="lenguaje">
</form>
(OLE
RadioButton
El atributo type es radio
*name = "nombre": asigna un nombre único a la pieza de
información que representarán los RadioButtons que pertenezcan al
mismo grupo.
e value = "valor" define el valor que tomará la variable indicada en el
atributo anterior y que se enviará al servidor.
e checked: permite indicar cuál es el elemento que está seleccionado
por defecto dentro de un grupo.
e disabled: desactiva el elemento, impidiendo que el usuario lo
seleccione
Checkbox

El atributo type es checkbox


*name = "nombre": asigna un nombre único a la pieza de
información que representa un grupo de casillas.
e checked: permite indicar si una casilla está o no seleccionada
por defecto.
e disabled: desactiva la casilla.
(e) Universidad Central del Ecuador

| Botones

El atributo type es button


* name = "nombre": asigna un nombre al botón, que puede ser
util para definir las acciones que el boton va a efectuar desde
JavaScript.
e value = "valor": permite especificar el texto que se va a mostrar
en el botón.
e disabled: desactiva el botón, de tal modo que el usuario no
pueda hacer clic sobre él.
Campos de password
El atributo type con el valor password, obtenemos un campo de texto en el
cual cuando se teclea no se ve el contenido tecleado, sino que se muestran
solo "*"

Campos Ocultos
El atributo type con el valor hidden, crea un campo del formulario invisible,
que no se mostrará en pantalla de ningún modo
e name="nombre": asigna un nombre al campo oculto.
e value = "valor": valor que toma el campo oculto, y que el usuario no puede
modificar de ningún modo
(©) sivesidad Conia del Eouador
Listas de seleccion
La etiqueta <select> permite definir listas desplegables en las cuales el usuario
podrá elegir uno o varios valores
* name = "nombre": asigna un nombre a la lista; este será el nombre mediante el
cual podremos identificar en el servidor la selección del usuario.
size = "n": permite definir el número de opciones que van a ser visibles en la
lista. Si n=1 en la lista se presentará como una lista desplegable, mientras que si
se indica otro valor la lista se representará como una caja como una scroll vertical
multiple: permite seleccionar varias opciones a la vez.
disabled: desactiva la lista.

Para especificar cada una de las opciones de la lista se utiliza la etiqueta <option>
e value: indica el valor que será asociado al parámetro name de <select> cuando
se envíe el formulario.
e selected: indica que esta opción va a estar seleccionada por defecto.
165 Universidad Central del Ecuador

Areas de texto
La etiqueta <textarea> es un texto que puedan contener multiples
lineas.
*name = "nombre": especifica el nombre con el cual se va a
identificar el campo de texto; este será el nombre asociado en el
servidor al texto introducido por el usuario.
e cols = "c": especifica el número de columnas visibles del área de
texto.
e rows = "r": especifica el número de filas visibles del área de
texto.
e disabled: deshabilita el área de texto.
e readonly: convierte el área de texto en una área de sólo lectura
que no puede ser modificada por el usuario.
Universidad Central del Ecuador
<head>
<Title>EjemploS.html</Title>
</head>
<body>
<h2>Ejemplo de formulario</h2>
<form action=" http://javaHispano.org/ejemplo" method="post" enctype="text/plain” name="ejempLlo">
Introduce tu lenguaje de promoción favorito: <input type="text" maxlength="20" size="2@" name="Lenguaje"> <br /> <br />
¿Cuánto tiempo llevas programando en él?<br /> <input type="Radio” name="tiempo" value="@-2" checked> Menos de dos afios<br /> <input
type="Radio” name="tiempo" value="2-5"> De dos a cinco años<br />
<input type="Radio" name="tiempo" value="5-"> Más de cinco años<br /> <br /> <br /> ¿En qué entornos has usado ese lenguaje?:<br />
<input type="checkbox" name="entornos" value="descriptorio" checked>
Descriptorio<br /> <input type="checkbox" name="entornos" value="web"
checked> Web<br /> <input type="checkbox" name="entornos"
value="movilidad"> Movilidad<br /> <input type="checkbox"
name="entornos" value="empotrado"> Dispositivos empotrados<br />
<br /> <input type="Button" name="boton" value="No hace nada"><br />
<br /> ¿Cuántos lenguajes de programación has usado ademas de tu favorito? <select>
<option value="uno">uno</option>
<option value="dos">dos</option>
<option value="tres">tres</option>
</select> <br />éEn cuantos proyectos de software has participado ?<br /> <select size=3>
<option value="uno">uno o dos</option>
<option value="dos">de tres a cinco</option>
<option value="tres">»de cinco a 10</option>
<option value="cuatro">de 10 a 25</option>
<option value="cinco">de 25 a 5@</option>
<option value="seis">mds de 50
</optio>
</select> <br />
<br />¿Quieres introducir algún comentario adicional?<br />
<textarea name="comentario"” cols="20" rows="10">Comentario</textarea>
<br />
<button>Enviar formulario</button>
</form>
</body>
</html>
(© Lay
Hojas de estilo (CSS)
¢ CSS (Cascading Style Sheets) es un lenguaje que permite modificar la
presentación del contenido de un documento HTML.
e Las hojas de estilo nos permiten especificar cómo se va a presentar el
contenido de las distintas etiquetas HTML en un documento
independiente del propio documento HTML. De este modo, podemos
cambiar la presentación del documento HTML sin necesidad de
modificar este documento.
(e) Universidad Central del Ecuador

Referenciando una hoja de estilo

e Se debe incluir una etiqueta dentro de la cabecera (<head>) del


documento

e <link rel="stylesheet" title="Nombre de la hoja CSS" type="text/css“


href="estilo.css">
) Universidad Central del Ecuador

- Sintaxis de las hojas de estilo

etiqueta {
<estilos CSS>
I
"etiqueta" es la etiqueta HTML que queremos redefinir. Por ejemplo:

P { font-size : 14pt; }

etiquetal1,etiqueta2,etiqueta3 {
<estilos CSS>
I
IÓ Universidad Central del Ecuador

Sintaxis de las hojas de estilo

Es posible especificar que el estilo sólo se va a aplicar a una etiqueta si


está contenida dentro de otra empleando la sintaxis:
contenedor etiqueta (
<estilos CSS>
}

ul li {
font-size : 10pt;
background-color : 666666;
}
© Universidad Central del Ecuador

Identificadores y clases
e Si se requiere que una misma etiqueta aparezca con presentaciones
diferentes en sitios diferentes. Con este fin se pueden emplear los
identificadores y las clases. Ambas clases suelen emplearse en
conjunción con las etiquetas <span> y <div>.
* Estas etiquetas no tienen presentación en el documento HTML por
SÍ rts, sino que suelen emplearse "de apoyo" para las hojas de
estilo.

<p> Mi madre tiene ojos <span class="azul"> azules </span> y pelo


<span class="amarillo'"> rubio </span>.</p>
(e) Universidad Central del Ecuador

Identificadores y Clases
La etiqueta <div> tiene un uso similar, sólo que esta etiqueta
puede contener otras etiquetas del documento HTML. Esta
etiqueta define una división o sección en el documento que
puede emplear un conjunto de estilos diferentes que el resto del
documento.

<div class="especial">
<h3> Esto es una cabecera </h3>
<p> Esto es un párrafo </p>
</div>
[ =a
Identificadores y clases
Para usar estilos diferentes se puede emplear tanto identificadores
como clases. La principal diferencia entre ambos es que los
identificadores tienen que ser únicos en todo el documento HTML,
mientras que las clases pueden repetirse cuantas veces se quiera. Para
indicar que queremos aplicar un determinado estilo a un identificador
se emplea la sintaxis:
#identificador {
<estilos CSS>
}
#identificador etiqueta {
<estilos CSS>
}
aaa
(e) Universidad Central del Ecuador

Identificadores y clases
Hespecial pl
font-size : 16pt;

<div id="especial" >


<p> Este es el primer párrafo </p>
</div>
<p>Y este es el segundo párrafo </p>
[S EE |
dentificadores y clases
Para determinar el estilo de una clase se emplea la sintaxis:

.clase {
<estilos CSS>

}
etiqueta.clase {
<estilos CSS>

}
.especial(
font-size : 16pt;

}
<p class="especial" > Este es el primer párrafo </p>
<p>Y este es el segundo párrafo </p>
Estilos CSS

e La sintaxis para los atributos de los estilos es la siguiente:


atributo: valor;

e Estilos para texto


font-family: <fuente>;
font-family: Times, "Times New Roman", serif;

e Color: Los colores en CSS se pueden indicar en formato


hexadecimal como #RRGGBB
color: <color>;
©) Universidad Central del Ecuador

Estilos CSS
e Tamaño de la fuente
font-size: <tamano>;
font-size: 16pt;

e Decoraciones para el texto


text-decoration: <decoracion>;

underline: subraya el texto.


overline: dibuja una linea encima del texto.
line-through: tacha el texto.
none: modo normal, sin emplear ningun tipo de decoracion.
Estilos CSS
e Estilo de la fuente
font-style: <estilo>;

italic: el texto se mostrara en cursiva.


oblique: el texto será oblicuo (muy parecido a la cursiva).
normal: el texto se mostrará normal.

e Grosor de la fuente
font-weight: <grosor>;

bold: mostrara el texto negrita.


bolder: mostrara el texto en una negrita todavia mas gruesa.
Un numero del 100 al 900: donde el grosor minimo sera el numero 100, y el
maximo el numero 900.
normal: mostrara el texto empleando un grosor normal.
©) Universidad Central del Ecuador

Estilos CSS
e Alinear texto: left, right, center o justify.
text-align: <alineado>;

e Color de fondo
background-color: <color>;
(e) Universidad Central del Ecuador

Márgenes

e margin-top: <cantidad>;
e margin-bottom: <cantidad>;
margin-left: <cantidad>;
e margin-right: <cantidad>;

Donde se expresa en píxeles.


(e) Universidad Central del Ecuador
> Bordes
* border: <tipo> <grosor> <color>;
e solid: un borde sólido.
dashed: un borde con línea discontinua.
dotted: un borde con una línea punteada.
double: un borde construido con dos líneas sólidas.
* none: ningún borde.

border-top: <tipo> <grosor> <color>;


border-bottom: <tipo> <grosor> <color>;
border-left: <tipo> <grosor> <color>;
border-right: <tipo> <grosor> <color>;

-borde {
border-top: solid 2px #A00000;
border-bottom: double 3px #OOFFOO;
border-left: dotted 2px #A00000;
border-right: dashed 2px #OOOOFF;
}
i
Ecuador
Central del dad
]) Universi
~~ Enlaces
En CSS existen unas clases especiales que se llaman pseudoclases que afectan a
comportamientos especiales de ciertos componentes (como los enlaces). Un ejemplo
de estos comportamientos es pasar el ratón por encima, hacer clic, etc.
etiqueta:pseudoclase{
<Formatos CSS>
}

hover: esta pseudoclase se aplica mientras el ratón está encima del objeto.
visited: esta pseudoclase se aplica a los enlaces que ya han sido visitados.
link: se corresponde con enlaces en estado normal, que no han sido visitados ni
tienen el ratón encima.
active: esta pseudoclase se aplica mientras el enlace está activo.

e A:link { text-decoration:none;color:#0000cc; } A:visited { text-


decoration:none;color:#ffcc33; } A:active { text-decoration:none;color:#ff0O000; }
A:hover { text-decoration:underline;color:#999999;font-weight:bold }
(e Universidad Central del Ecuador

Enlaces
A:link{
text-decoration:none;color:#0000cc;
}
A:visited {
text-decoration:none;color:Hffcc33;
)
A:active {
text-decoration:none;color:#ff0000;
I
A:hover{
text-decoration:underline;color:#999999 :font-weight:bold
}
aaa
Universidad Central del Ecuador
P £ /*cambiamos apariencia de los párrafos*/ #enorme { /* mediante identificador*/
font-size : 12pt; font-size : 28pt;
font-family : arial,helvetica; }
font-weight : normal;
} .borde { /*clase para bordes*/
border-top: solid 2px +A00000;
H1 £ /*cambiamos la apariencia de los encabezados de border-bottom: outset 3px +00FF00;
primer nivel*/ border-left: dotted 2px +A00000;
font-size : 36pt; border-right: dashed 2px +0000FF;
font-family : verdana,arial; }
text-decoration : underline;
text-align : center; A:link { /*pseudoclase para los enlaces*/
background-color : Teal; text-decoration:none;
} color:#0@@@cc;
}
ul>li {
/*cambiamos la apariencia de los elementos de las listas A:visited {
desordenadas*/ text-decoration:none;
font-size : 10pt; color: #fcc33;
font-family : verdana,arial; }
background-color : 666666;
} A:active {
text-decoration:none;
BODY /*cambiamos la apariencia de todo el cuerpo*/ { color: #0000;
background-color : #001600; }
font-family : arial;
color : White; A:hover {
} text-decoration:underline;
color:#999999;
p.especial { /*clase que se aplica sólo a los párrafos*/ font-weight:bold
font-size : 16pt; }
}
Universidad Central del Ecuador
Be <html>
<head>
<Title>Ejemplo2.html</Title>
<link rel="stylesheet" title="Nombre de La hoja CSS" type="text/css" href="estilos.css">
</head>
<body>
<h1>Este será el título de la página</h1>
<h2>P&aacute;rrafos</h2>
<div class="especial ">
<p>
Este es el primer párrafo. Aquí hay una ruptura de línea<br />de texto
</p>
</div>
<p class="borde">Este texto tiene borde</p>
<p class="especial">
Este párrafo tiene letra más grande. Y esto será un enlace: <a
href=" http://javaHispano.org"> javaHispano.org</a>
</p>
<p id="enorme">Esto se ver enorme.</p>
Una lista; cómo es desordenada tendrá color de fondo:
<ul>
<li>Primer elemento</1li>
<li>Segundo elemento</1i>
<li>Tercer elemento</1i>
</ul>
Una lista ordenada:
<ol>
<li>Primer elemento</1i>
<li>Segundo elemento</1i>
<li>Tercer elemento</1i>
</ol>
<h1>Encabezado 1</h1>
<h2>Encabezado 2</h2>
<h3>Encabezado 3</h3>
<h4>Encabezado 4</h4>
<h5>Encabezado 5</h5>
<h6>Encabezado 6</h6>
</body>
</html>
Tone Central del Ecuador
ae

Jorge Galeas

al NA]
E Universidad Central del Ecuador
SOAP VERSUS REST
Universidad Central del Ecuac
SOAP REST
(Lae RRR RRR Ree Oe

XML based protocol that Architectural style that


provides standards for defines a set of constraints
exchanging information and properties to develop
between multiple devices web services
or applications
Pee eRe ERR RRR Ree

Stands for Simple Object Stands for Representational


Access Protocol State Transfer
Lee Re RE RRR

An XML based message An architectural style


protocol
(ae eee eee eee Re eee

Allows XML format Allows various data formats


such as plain text, XML,
HTML, JSON, etc.
iO R eee eee eee Pee ee 8 8 (aaa eee eee eee eee ee

Defines standards to be Does not define strict


strictly followed standards like SOAP
ieee eee eee PRR ERE Se Lae eee eee
eee eee

More secure compared to Has its own security called


REST WS security
Lae eee eee eee eee (aaa eee eee eee ee eee

Requires more bandwidth Requires less bandwidth and


and more resources minimum resources
JA eee eee eee ee La ea eRe eRe eRe

Easier and flexible Not as easy or flexible as


SOAP
l Universidad Central del Ecuador
SOAP

ó + <> = ES [Ea
DATA SOAP Standards Data send to server with SOAP standards

REST

0
REST is sending data without strict standards

DATA
ST

©: Universidad Central del Ecuador

“9 SoapUI

POSTMAN
Resource owner

IdentityServer
Aa Testuser
y Authorization 3
identity serve

O Client | BFF
Actions -» vA Postman / dy Ro; Gateway/Proxy
Newman
+ O API Server
nuke
Protected
endpoints
No Universidad Central del Ecuador

API REST
https://www.currencyconverterapi.com/docs

Home Documentation Free Version Pricing Server Status Contact8 Support Login

Documentation
If you're using the Premium servers, use:

https://api.currconv.com

If you're using the Prepaid servers, use:

https: //prepaid.currconv.com
=
Universidad Central del Ecuador

API REST
https://free.currencyconverterapi.com/free-api-key

Home Documentation Free Version Pricing Server Status Contact


& Support Developer Center

Email has been sent to you. Please also check your spam folder and mark it as not spam if found there. Thanks!

Free API Key


Input your email to get your free API key.

Email

No soy un robot e
reCAPTCHA
Privacidad - Términos
) API REST
https://free.currconv.com/api/v7/convert?q=USD_PHP,PHP_USD&compact=ultra&apiKey=e98850e08abcSalfbi5a

free.currconv.com/api/v7/convert?c X +

c G (A, https://free.currconv.com/api/v7/convert?q=USD_PHP,PHP_USD8/compact=ultraSiapiKey=e98850e08abc5a1fb15a

JSON Datos sin procesar Cabeceras

Guardar Copiar Contraertodo Expandirtodo Y Filtrar ¡SON


USD_PHP: 54.948502

PHP_USD: 0.018196
Universidad Central del Ecuador

API REST
GET vw https://free.currconv.com/api/v7/convert?q=USD_PHP,PHP_USD8compact=ultrafapiKey=e98850€0

Params O Authorization Headers (6) Body Pre-request Script Tests Settings

q USD_PHP,PHP_USD

compact ultra

apiKey e98850e08abc5alfb15a

Body Cookies Headers (16) Test Results €& 2000K 474ms 956B

Pretty Raw Preview Visualize JSON v =

1 É
2 "USD_PHP": 54,948502,
3 "PHP_USD": 0.018196
4 }
Universidad Central del Ecuador

Web Service - SOAP


https://www.dataaccess.com/webservicesserver/NumberConversion.wso

€ Cc Ca https://www.dataaccess.com/webservicesserver/NumberConversion.wso

Number Conversion Service

The Number Conversion Web Service, implemented with Visual DataFlex, provides functions that convert numbers into words or dollar amounts.

The following operations are available. For a formal definition, please review the Service Description.

e NumberToWords
Returns the word corresponding to the positive number passed as parameter. Limited to quadrillions.

e NumberToDollars
Returns the non-zero dollar amount of the passed number.
Universidad Central del Ecuador

Web Service - SOAP


https://www.dataaccess.com/webservicesserver/NumberConversion.wso?wsdl

€ C Ca https://www.dataaccess.com/webservicesserver/NumberConversion.wso?wsdl E 12 tr) e «

This XML file does not appear to have any style information associated with it. The document tree is shown below.

v<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"


xmlns:soap12="http: //schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http: //www.dataaccess.com/webservicesserver/" name="NumberConversion"
targetNamespace="http://www.dataaccess.com/webservicesserver/">
v<types>
w<xs:schema elementFormDefault="qualified" targetNamespace="http: //www.dataaccess.com/webservicesserver/">
v<xs:element name="NumberToWords">
v <xs:complexType>
v<xs:sequence>
<xs:element name="ubiNum" type="xs:unsignedLong"/>
</xs:sequence>
</xs:complexType>
</xs:element>
w<xs:element name="NumberToWordsResponse">
v<xs:complexType>
w<xs:sequence>
<xs:element name="NumberToWordsResult" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
w<xs:element name="NumberToDollars”»>
w<xs:complexType>
y<xs:sequence>
<xs:element name="dNum" type="xs:decimal"/>
</xs:sequence>
Universidad Central del Ecuador

Web Service - SOAP


E testAPIUCE / SOAP NumToWord

POST Y https://www.dataaccess.com/webservicesserver/NumberConversion.wso

Params Authorization Headers (9) Body @ Pre-request Script Tests Settings

none form-data x-www-form-urlencoded @®raw binary GraphQL XML xv

1 <?xml version="1.0" encoding="utf-8"?>


2 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
3 <soap:Body>
a} 4 <NumberToWords xmlns="http://www.dataaccess.com/webservicesserver/">
5 <ubiNum>500</ubiNum>
6 </NumberToWords>

Body Cookies Headers (8) Test Results EA 2000K 319ms

Pretty Raw Preview Visualize XML v =

1 <?xml version="1.0" encoding="utf-8"


?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
N

3 <soap: Body>
<m:NumberToWordsResponse xmlns:m="http://www.dataaccess.com/webservicesserver/">
<m:NumberToWordsResult>five hundred </m:NumberToWordsResult>
un

</m:NumberToWordsResponse>
O

</soan:Rodv>
Y

También podría gustarte