Sie sind auf Seite 1von 49

Taller de Aplicaciones

Para Internet
JONATAN JAVIER BUENO VIDAL
INGENIERO EN EJECUCION E INFORMATICA
Modelo-Vista-Controlador o MVC

El MVC o Modelo-Vista-Controlador es un patrn de


arquitectura de software que, utilizando 3 componentes
(Vistas, Models y Controladores) separa la lgica de la
aplicacin de la lgica de la vista en una aplicacin. Es
una arquitectura importante puesto que se utiliza tanto
en componentes grficos bsicos hasta sistemas
empresariales; la mayora de los frameworks modernos
utilizan MVC (o alguna adaptacin del MVC) para la
arquitectura, entre ellos podemos mencionar a Ruby on
Rails, Django, AngularJS y muchos otros ms. En este
pequeo artculo intentamos introducirte a los conceptos
del MVC.
Ejemplo

En tu televisin puedes ver distintos canales distribuidos


por tu tu proveedor de cable o televisin (que representa
al modelo), todos los canales que puedes ver son la vista,
y t cambiando de canal, controlando qu
ves representas al controlador.
Modelo
Se encarga de los datos, generalmente (pero no
obligatoriamente) consultando la base de datos.
Actualizaciones, consultas, bsquedas, etc. todo eso va aqu,
en el modelo.
Controlador
Se encarga de... controlar, recibe las rdenes del usuario y se
encarga de solicitar los datos al modelo y de comunicrselos a
la vista.
Vistas
Son la representacin visual de los datos, todo lo que tenga
que ver con la interfaz grfica va aqu. Ni el modelo ni el
controlador se preocupan de cmo se vern los datos, esa
responsabilidad es nicamente de la vista.
ANGULARJS
QUE ES ANGULAR?
AngularJS es un framework MVC de cdigo abierto
desarrollado por Google y escrito en Javascript, que
trabaja del lado del cliente (client-side) y nos permite
hacer ms dinmica nuestra aplicacin web, trabajando
de la mano con otras tecnologas como HTML y CSS, as
como libreras de terceros.

El equipo de AngularJS lo define como:

un framework estructural para pginas web dinmicas.


POR QUE FRAMEWORK?
Un framework nos permite estructurar, organizar y escribir cdigo de una
manera ms eficiente y en menos tiempo, hacindolo ms rpido de
acuerdo a la manera en la que evolucionan los motores de render de los
navegadores.

Esto significa, entre ms poderoso y eficiente un navegador web,


aplicaciones web ms rpidas e intuitivas se necesitan.

Un framework trabaja con el patrn MVC (Modelo, Vista, Controlador), lo


que permite separar correctamente la lgica, el modelo de datos y la
vista en una aplicacin web y se enfoca en extender el vocabulario
HTML.
AngularJS permite realizar aplicaciones de tipo SPA (Single Page
Applications), lo que significa que podemos construir una
aplicacin web en donde una parte de la misma cargue
dinmicamente, sin que se tenga que recargar todo la pgina.
Esto permite hacer una aplicacin web ms rpido y fcil.
Tambin se puede realizar aplicaciones ms complejas, pero eso
lo explicaremos ms adelante.
AngularJS permite hacer web apps increblemente dinmicas, y
puedo comentarles que con este framework es ms que
suficiente, refiriendome a que podemos prescindir de otras
libreras como jQuery.
NODE.JS
Qu es node.js?

Node.js es un entorno de programacin basado en


el lenguaje de programacin Javascript, actua en
la capa del servidor. Fue creado para crear
programas en red que fueran escalables
fcilmente como por ejemplos Servidores Web.
Node.js al contrario que la mayora del cdigo
Javascript no se ejecuta en el navegador sino que
como hemos dicho arriba se ejecuta en la capa
del servidor.
Por qu JavaScript?

JavaScript es un gran lenguaje para


la programacin asncrona, ya que fue
diseado para ser usado en programacin
orientada a eventos en lugar de otro
lenguajes orientados a objetos, como por
ejemplo, Java. Es especialmente atractivo
para realizar aplicaciones no
bloqueantes y de alta concurrencia y
disponibilidad.
Qu Problema Resuelve NODE.JS?

La meta nmero uno declarada de Node es proporcionar


una manera fcil para construir programas de red
escalables. Node resuelve este problema cambiando la
forma en que se realiza una conexin con el servidor. En
lugar de generar un nuevo hilo de OS para cada conexin
(y de asignarle la memoria acompaante), cada conexin
dispara una ejecucin de evento dentro del proceso del
motor de Node. Node afirma que un servidor que lo
ejecute puede soportar decenas de miles de conexiones
concurrentes.
NODE.JS Para Que Sirve?

Como ha visto hasta ahora, Node est


extremadamente bien diseado para situaciones
en que usted est esperando una gran cantidad de
trfico y donde la lgica del lado del servidor y el
procesamiento requeridos, no sean
necesariamente grandes antes de responder al
cliente.
Conclusion
Node.js es una plataforma basada en el motor
de JavaScript V8 de Google que es utilizado en el
navegador Chrome. Est pensada para facilitar
el desarrollo de aplicaciones basadas en red, rpidas y
fiables. Node.js utiliza un modelo I/O (entrada/salida)
orientado a eventos y basado en el no-bloqueo, que lo
hace ligero y eficiente, ideal para aplicaciones en tiempo
real que hagan uso de datos intensivos y que se ejecuten a
travs de dispositivos distribuidos.
Node.js est liberado bajo la licencia MIT, y otros
paquetes de licencias flexibles para componentes de
software libre. Se puede descargar en forma de cdigo
fuente o instalador para Windows o Mac.
PHPMyAdmin es un software de cdigo abierto, diseado para manejar la
administracin y gestin de bases de datos MySQL a travs de una interfaz
grfica de usuario. Escrito en PHP, phpMyAdmin se ha convertido en una de
las ms populares herramientas basadas en web de gestin
de MySQL. PhpMyAdmin viene con una documentacin detallada y est
siendo apoyado por un gran multi-idioma de la
comunidad. PhpMyAdmin es cada vez mayor lista de caractersticas soporta
todas las operaciones de uso comn tales como la navegacin,
pasando, crear, modificar las bases de datos MySQL, las tablas, campos e
ndices. Adems, phpMyAdmin le permite
administrar usuarios MySQLy privilegios de usuario. Otra
caracterstica comn es phpMyAdmin su funcin de
importacin. Con phpMyAdmin, importar base de datos MySQL de copia de
seguridad es fcil y se puede importar un volcado SQL o CSV con unos clics
del ratn. Tambin, usted puede exportar su base de datos en formato
CSV, SQL,XML, Excel y otros
QU ES RUBY ON RAILS?

Ruby on Rails es una plataforma de trabajo para


realizar desarrollos web. Podemos definirlo como
un framework de software libre. Ruby hace
referencia al lenguaje de programacin que se
utiliza: todo se escribe en Ruby. Por otro lado, on
Rails (sobre rales) indica que el framework nos
va guiando para hacer fciles nuestros
desarrollos.
Por framework entendemos un entorno o conjunto de
programas o herramientas agrupadas. Por software libre
entendemos software que cualquier usuario puede
ejecutar, copiar, modificar, distribuir, cambiar o mejorar.
Ruby es un lenguaje de alto nivel, es decir, de sintaxis ms
aproximada a la forma de expresarnos de los humanos que
otros lenguajes. Por ejemplo el mtodo pluralize nos
permite obtener el plural de una palabra y el mtodo
singularize obtener el singular.
Hemos dicho que todo lo que se escribe en Ruby on Rails se escribe en
Ruby, luego el framework se encarga de transformarlo en otros
lenguajes en funcin de las necesidades: por ejemplo, en javascript
para mostrar un formulario en una pgina web o en SQL para realizar
comunicaciones con una base de datos. El hecho de manejar un solo
lenguaje hace que Ruby on Rails resulte sencillo de utilizar. Como
contrapartida, la transformacin desde Ruby on Rails a otros lenguajes
da lugar a que el cdigo que subyace (digamos el cdigo que existe
detrs de nuestro desarrollo web) no va a ser tan limpio y depurado
como si hubiramos utilizado directamente los lenguajes
correspondientes.
Aunque Ruby es multiplataforma, es decir, se
puede ejecutar bajo distintos sistemas operativos,
es bajo Unix como se consigue un mejor
rendimiento. Ruby on Rails debemos correrlo en
Unix, en otras plataformas, por ejemplo Windows,
su uso resulta problemtico.
DNS
conceptos

ISP significa literalmente Internet service provider (proveedor de


servicios de Internet) o provider (proveedor). ste es un servicio (en
la mayora de los casos pago) que permite conectarse a Internet.

El DNS ( Domain Name Service) es un sistema de nombres que permite


traducir de nombre de dominio a direccin IP y vice-versa.
Los servidores DNS forman parte de la cadena que nos permite cargar en
nuestro navegador las pginas de internet, como esta que ests leyendo.
Son centros de datos situados en distintas ubicaciones geogrficas que poseen
computadoras con bases de datos, en las que estn registradas las direcciones
que corresponden a los millones de sitios web de internet existentes.
Tienen registrada la relacin que existe entre cada nombre de dominio y su
direccin IP correspondiente.
Los seres humanos identificamos los sitios de internet mediante nombres,
como son Google.com, Yahoo.es, Apple.com, etc. lo que los hace ms fcil de
recordar y de escribir, estos nombres es lo que conocemos como nombres de
dominio.
Las computadoras identifican los sitios web y se conectan a ellos utilizando el
formato numrico, algo parecido a la numeracin telefnica, pero ms
complejo y con ms recursos, es lo que conocemos como las direcciones IP.
Al escribir una direccin en la barra de direcciones del navegador o dar clic
en un enlace de una pgina, el navegador se conecta con el servidor DNS que
le corresponde a nuestra conexin de internet y "le pregunta" cul es la
direccin IP de la pgina solicitada.
Si est en su base de datos el servidor DNS le devuelve el dato y entonces es
que el navegador puede acceder a dicho sitio web.
Empleo de los servidores DNS en
internet
1- Resolucin de nombres: Convertir un nombre de host en la direccin IP que
le corresponde.
Por ejemplo, al nombre de dominio norfipc.com, le corresponde la direccin
IP 209.190.61.44
2- Resolucin inversa de direcciones: Es el mecanismo inverso al anterior, de
una direccin IP obtener el nombre de host correspondiente.
3- Resolucin de servidores de correo: Dado un nombre de dominio (por
ejemplo gmail.com), obtener el servidor a travs del cual debe realizarse la
entrega del correo electrnico.
Los servidores DNS tambin guardan una serie de datos de cada dominio,
conocidos como DNS Record, incluyen informacin del propietario, fecha de
creacin, vencimiento, etc.
Cmo se establece una conexin a un
sitio de internet?
Primer ejemplo, conexin directa:
Escribimos en nuestro navegador la direccin de una pgina web, por
ejemplo: http://www.sitio.com,
si en otras ocasiones hemos entrado a esta pgina, en nuestra cache o la del
servidor del que depende nuestra conexin, tenemos registrada la direccin
IP que le corresponde, por lo que la conexin ser directa sin intermediarios.
Segundo ejemplo, solicitud a un servidor DNS:
Escribimos la direccin http://www.pagina.com/poco-
comun/, que es una pgina poco conocida, con escaso
trfico y que queda en un pas remoto, automticamente
nuestro servidor hace la peticin al servidor DNS que tiene
configurada nuestra conexin.
Si ese servidor DNS no posee en su base de datos el
nombre de dominio de esa pagina (nombre de dominio es
el dato que est antes de la primera barra, seria en este
caso www.pagina.com), har la peticin a otro servidor
DNS y as sucesivamente y nos devolver al final la
direccin IP solicitada con la demora lgica que eso
significa.
Principales servidores DNS de internet

Existen 13 servidores DNS en internet que son conocidos como los


servidores raz, guardan la informacin de los servidores para cada
una de las zonas de ms alto nivel y constituyen el centro de la red.
Se identifican con las siete primeras letras del alfabeto, varios de
ellos se encuentra divididos fsicamente y dispersos geogrficamente,
tcnica conocida como "anycast", con el propsito de incrementar el
rendimiento y la seguridad.
Accede a la pgina de informacin y chequeo de los 13 servidores raz
de internet: http://public-root.com/
Los servidores DNS asignados a tu conexin actualmente, fueron asignados al
crear dicha conexin por tu proveedor de acceso a internet, su uso es
opcional, los puedes cambiar en cualquier momento por otros que consideres
ms eficientes como veremos ms adelante.
Hay varias formas de conocer cules son los establecidos en este momento.

1- Conocer los servidores DNS usando la consola de CMD



Da un clic en el siguiente cuadro de texto y copia el cdigo (CONTROL+C),
pgalo en el cuadro de Inicio o en el comando Ejecutar (WINDOWS+R) y
presiona la tecla Enter, te mostrar el servidor DNS primario de tu conexin.
CMD /k ipconfig /all|FINDSTR /C:"Servidores DNS"

Tambin puedes usar el comando NSLOOKUP, para eso abre la consola de


CMD, escribe en Inicio CMD y presiona la tecla Enter.
En la ventana negra de MSDOS que se abre escribe: NSLOOKUP, vers algo as:

La primera lnea de la respuesta es el


nombre del servidor asignado y la segunda
su direccin IP.
Rendimiento y eficiencia de los servidores
DNS

Algunas veces las conexiones entre los servidores estn cadas o


saturadas por el trafico, por lo que no es nada extrao que nuestro
navegador se quede "mareado" esperando la conexin, y que tras
determinado tiempo de espera, veamos el mensaje de que la pagina
web solicitada no est disponible.
Esto se debe a que el DNS al estar basado en UDP (protocolo de
transporte que no garantiza la recepcin de la informacin enviada),
tanto las consultas como las respuestas pueden "perderse" (por
ejemplo, a causa de congestionamiento en algn enlace de la red).
Como podrs deducir no todos los mensajes que te ofrece tu
navegador son ciertos, simplemente se deben a errores en las
conexiones y a servidores DNS ineficientes.
El servicio de servidores pblicos DNS de
Google

Desde Diciembre del 2009 en que comenz a funcionar el servicio de


los servidores pblicos DNS de Google, han contribuido a que la
internet sea ms rpida.
Google presta dicho servicio de forma gratuita, quien mejor si no
Google con la enorme red de servidores que tiene disponible en todo
el planeta, por lo que gozan de gran popularidad y efectivamente su
uso permite incrementar el rendimiento de nuestra conexin, su gran
eficiencia es a causa de la efectiva dispersin geogrfica de la
ubicacin fsica de los servidores.
Es el mayor servicio de este tipo en el mundo, actualmente sirven ms
de 70 peticiones diarias, de ese mismo servicio se valen productos de
Google como el navegador Google Chrome, lo que permite que sea el
ms rpido disponible en la red.
Direccin IP de los servidores DNS de Google
Para el protocolo IPv4 (actual)
Servidor primario: 8.8.8.8
Servidor secundario: 8.8.4.4
Para el protocolo IPv6 (nuevo protocolo de internet)
Servidor primario: 2001:4860:4860::8888
Servidor secundario: 2001:4860:4860::8844
No obstante su popularidad puedes configurar tu equipo para utilizarlos
temporalmente y probarlos.
En otra pgina con informacin tcnica ms avanzada cuyo vnculo
encontraras ms abajo, se explica cmo hacer ping a ellos para comprobar el
tiempo de acceso.
Configuracin manual de los servidores DNS

Para cambiar de forma manual tus servidores DNS sigue los siguientes pasos:
Antes de nada toma la precaucin de anotar las direcciones de servidor actual
y la configuracin.
En el Panel de control abre el "Centro de redes", en el panel de la izquierda
escoge: "Cambiar configuracin del adaptador".
Da un clic encima de la conexin que usas para conectarte a internet y
escoge "Propiedades".
Selecciona "Protocolo Internet versin 4 (TCP/IPv4)", da un clic en el botn
"Propiedades".
All marca la casilla "Usar las siguientes direcciones de servidor DNS".
Escribe: 8.8.8.8 en el primer campo y 8.8.4.4 en el segundo.
Presiona Aceptar en todos las ventanas para guardar los cambios.
Ahora tus peticiones se harn a los servidores DNS de Google, por lo
que el rendimiento de la conexin mejorar considerablemente.
De una forma similar puedes configurar y usar cualquier otro servidor
DNS.
El servicio OpenDNS

Otros servidores DNS muy eficientes y renombrados que puedes


utilizar son los de OpenDNS.

Direccin IP de los servidores de OpenDNS


Servidor primario: 208.67.222.222
Servidor secundario: 208.67.220.220
https://norfipc.com/internet/servidores-dns.html
Qu es un Servidor Web?

Un servidor web o servidor HTTP es un programa


informtico que procesa una aplicacin del lado
delservidor, realizando conexiones bidireccionales y/o
unidireccionales y sncronas o asncronas con el cliente y
generando o cediendo una respuesta en cualquier
lenguaje o Aplicacin del lado del cliente.
https://prezi.com/m4ilp22mqe0r/tipos-de-servidores-web/
Principales diferencias entre HTTP y
HTTPS

El Hypertext Transfer Protocol (HTTP), ms conocido en


espaol como Protocolo de Transferencia de Hipertexto,
es un sistema utilizado en sistemas de redes, diseado con
el propsito de definir y estandarizar la sintaxis y la
semntica de las transacciones que se llevan a cabo entre
los distintos equipos que conforman una red.
La principal caracterstica de este protocolo es que es un
sistema orientado al funcionamiento del tipo peticin-
respuesta, lo que significa que en la estructura debe
existir un cliente y un servidor, siendo el cliente el que
efecte las peticiones y el servidor el que las responde.
Las respuestas del servidor pueden ser la descarga de un
archivo o la apertura de una pgina web, dependiendo del
tipo de peticin solicitada.

Bsicamente, una vez que en el navegador escribimos una


direccin web y presionamos la tecla Enter, el servidor
nos responder devolvindonos lo deseado.
En el caso del Hypertext Transfer Protocol Secure (HTTPS)
o Protocolo de Transferencia de Hipertexto Seguro, el
sistema se basa en una combinacin de dos protocolos
diferentes, HTTPS y SSL/TLS.

Esta es la manera ms segura y confiable de poder


acceder a los contenidos que nos ofrece la web, ya que
cualquier dato o informacin que introduzcamos ser
cifrada, lo que garantiza que no podr ser vista por nadie
ms que el cliente y el servidor, anulando de esta forma la
posibilidad de que pueda ser utilizada, ya que el
ciberdelincuente slo tendr en sus manos datos cifrados
que no podr descifrar.
Cmo podemos ver, la utilizacin del protocolo HTTPS es
de vital importancia para cualquier actividad que
involucre el uso de datos personales como los utilizados
en entidades bancarias, tiendas en lnea, correos
electrnicos y en cualquier otro sitio en el cual debamos
introducir passwords, nmeros de tarjeta de crdito u
otra informacin personal.
Certificados

Para que el sistema pueda funcionar, se debe implementar


el esquema deCertificado, teniendo que estar este
debidamente firmado por una autoridad. En el caso de los
navegadores web, este mtodo es transparente para el
usuario, ya que los certificados necesarios como para
poder explorar Internet sin problemas son obtenidos
con el navegador.
En el siguiente cuadro, podremos ver las
principales diferencias entre los protocolos
HTTP y HTTPS:
HTTP HTTPS
URL comienza con "http://" URL comienza con "https://"

Se utiliza el puerto 80 para la Se utiliza el puerto 443 para la


comunicacin comunicacin

Sin garanta Asegurado


Funciona a nivel de aplicacin Funciona a nivel de transporte

Sin cifrado Con certificado


No hay certificados requeridos Certificado prescrito

Das könnte Ihnen auch gefallen