Вы находитесь на странице: 1из 21

INSTITUTO TECNOLGICO DE VILLAHERMOSA

INGENIERA EN TECNOLOGAS DE LA INFORMACIN Y LAS


COMUNICACIONES

TALLER DE INGENIERA DE SOFTWARE

ENSAYO: INGENIERA DEL SOFTWARE PARA COMERCIO


ELECTRNICO. LOS SISTEMAS CLIENTE/SERVIDOR (C/S)
DENTRO DEL CONTEXTO DE LOS SISTEMAS DE COMERCIO
ELECTRNICO.

DARVELIO BONFIL ARCHILA

VILLAHERMOSA, TABASCO

FECHA DE ENTREGA: 17 OCTUBRE 2014

INTRODUCCIN

En esta investigacin se trata el tema de la Ingeniera de software aplicada en el mbito de


los sistemas de comercio electrnico, se estudiarn diferentes temas referentes a los
sistemas cliente/servidor, sistemas distribuidos, los sistemas de dos o ms capas,
diferentes tipos de sistemas operativos distribuidos, tambin se ver lo que es el Comercio
electrnico, y los servicios web basados en XML.
Es importante conocer estos temas ya que nos ayudarn en las problemticas de la
ingeniera del software que deben de afrontarse cuando se analizan, disean, prueban y se
da soporte a sistemas de comercio electrnico.
Tambin se vern temas relacionados con la ingeniera de seguridad, como la criptologa
que nos ayudar a proteger nuestra informacin importante.

Ingeniera del software para comercio electrnico. Los sistemas


cliente/servidor (C/S) dentro del contexto de los sistemas de comercio
electrnico.
La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de
informacin, en el que las transacciones se dividen en procesos independientes que
cooperan entre s para intercambiar informacin, servicios o recursos. Se denomina
cliente al proceso que inicia el dilogo o solicita los recursos y servidor, al proceso que
responde a las solicitudes. Es el modelo de interaccin ms comn entre aplicaciones en
una red.
Un servidor es un conjunto de Hardware y Software que responde a los requerimientos de
un cliente. Los Servidores proporcionan un servicio al cliente y devuelven los resultados.
En algunos casos existen procesos auxiliares que se encargan de recibir las solicitudes
del cliente, verificar la proteccin, activar un proceso servidor para satisfacer el pedido,
recibir su respuesta y enviarla al cliente. Adems, deben manejar los interbloqueos, la
recuperacin ante fallas, y otros aspectos afines. Por las razones anteriores, la plataforma
computacional asociada con los servidores es ms poderosa que la de los clientes. Por
esta razn se utilizan PCs poderosas, estaciones de trabajo, minicomputadores o
sistemas grandes. Adems deben manejar servicios como administracin de la red,
mensajes, control y administracin de la entrada al sistema ("login"), auditora y
recuperacin y contabilidad.

Tipos de servidores:
Servidor de Archivos (FTP, Novell). Un servidor de archivos es un tipo de servidor que
almacena y distribuye diferentes tipos de archivos entre los clientes de una red de
ordenadores. Su funcin es permitir a otros nodos el acceso remoto a los archivos que
almacena o sobre los que tiene acceso.
Servidor de Bases de Datos (SQL, CBASE, ORACLE, INFORMIX). Servidores de Bases
de Datos. Tambin conocidos como RDBMS (acrnimo en ingls de Relational DataBase
Management Systems), son programas que permiten organizar datos en una o ms tablas
relacionadas. Los servidores de Bases de Datos se utilizan en todo el mundo en una
amplia variedad de aplicaciones.
Servidor de Comunicaciones.
Servidor de correo: almacena, enva, recibe, enruta y
realiza otras operaciones relacionadas con el correo electrnico para los clientes de la
red.
para aumentar el funcionamiento de ciertas operaciones (p. ej., prefetching y depositar
documentos u otros datos que se soliciten muy frecuentemente), tambin proporciona
servicios de seguridad, o sea, incluye un cortafuegos. Permite administrar el acceso a
internet en una red de computadoras permitiendo o negando el acceso a diferentes sitios
Web.
otros canales de comunicacin de la red para que las peticiones conecten con la red de
una posicin remota, responde llamadas telefnicas entrantes o reconoce la peticin de la
red y realiza la autenticacin necesaria y otros procedimientos necesarios para registrar a
un usuario en la red.
archivos de texto, escrituras, y
dems material Web compuesto por datos (conocidos colectivamente como contenido), y
distribuye este contenido a clientes que la piden en la red.
Servidor de Impresin. Un servidor de impresin puede ser una herramienta
extremadamente til en la oficina, ya que nos permitir utilizar una impresora en forma
remota, evitndonos la ardua tarea de transportar el archivo a imprimir en un pendrive o
similar hacia la computadora que tiene la impresora conectada. Adems, nos ahorra la
necesidad de tener instalada la aplicacin con que desarrollamos el trabajo en dicha PC.
Si conectamos un servidor de impresin a la red, nos aseguraremos de que la impresora
siempre ese encuentre disponible, independientemente de las PCs que se encuentren
encendidas en ese momento.
Servidor de Terminal. Un servidor de terminales es un equipo utilizado para conectar
mltiples dispositivos de entrada-salida, posiblemente telecontrolados, a una unidad
central de proceso. Los servidores de terminales modernos se utilizan de muchas
maneras. Se ponen en ejecucin generalmente con un servidor de terminales que pueda
emular hasta 40 o 50 mquinas simultneamente. El usuario final utiliza un sitio de trabajo
(tpicamente una computadora algo barata) para conectar con el servidor de terminales.
Servidor de Aplicaciones (Windows NT, Novell). Se denomina servidor de aplicaciones a
un servidor en una red de computadores que ejecuta ciertas aplicaciones. Tiene las
siguintes carcteristicas:
Usualmente se trata de un dispositivo de software que proporciona servicios de aplicacin
a las computadoras cliente. Un servidor de aplicaciones generalmente gestiona la mayor

parte (o la totalidad) de las funciones de lgica de negocio y de acceso a los datos de la


aplicacin.
Los principales beneficios de la aplicacin de la tecnologa de servidores de aplicacin
son la centralizacin y la disminucin de la complejidad en el desarrollo de aplicaciones.
Los clientes son Conjunto de Software y Hardware que invoca los servicios de uno o
varios servidores. Los Clientes interactan con el usuario, usualmente en forma grfica.
Frecuentemente se comunican
con procesos auxiliares que se
encargan de establecer conexin
con el servidor, enviar el pedido,
recibir la respuesta, manejar las
fallas y realizar actividades de
sincronizacin y de seguridad.
Tipos de clientes:
Cliente pesado
Se denomina cliente pesado al
programa "cliente" de una
arquitectura cliente-servidor
cuando la mayor carga de
cmputo est desplazada hacia
la computadora que ejecuta dicho
programa. Tambin se conoce como cliente grueso (anteriormente se conoca como
cliente rico pero esta acepcin ya est en desuso).
Cliente hbrido
Un cliente hbrido no tiene almacenados los datos con los que trabaja, pero s es capaz de
procesar datos que le enva el servidor. Muchos programas de colaboracin almacenan
remotamente los datos para que todos los usuarios trabajen con la misma informacin, y
utilizan clientes hbridos para acceder a esa informacin.
Cliente liviano
Un cliente liviano no puede almacenar datos locales, ni tiene la capacidad de procesar
datos.

Una de las principales aportaciones de la arquitectura cliente/servidor a los sistemas de


informacin, es la interfaz grfica de usuario. Gracias a ella se dispone de un manejo ms
fcil e intuitivo de las aplicaciones mediante el uso de un dispositivo tipo ratn. En esta
arquitectura los datos se presentan, editan y validan en la parte de la aplicacin cliente.
En cuanto a los datos, cabe sealar que en la arquitectura cliente / servidor se evitan las
duplicidades (copias y comparaciones de datos), teniendo siempre una imagen nica y
correcta de los mismos, disponible en lnea para su uso inmediato.
Las unidades de almacenamiento masivo en esta arquitectura, se caracterizan por
incorporar elementos de proteccin que evitan la prdida de datos y permiten multitud de
accesos simultneos (alta velocidad, niveles RAID, etc.).
Para la comunicacin de todos estos elementos se emplea un sistema de red que se
encarga de transmitir la informacin entre clientes y servidores. Fsicamente consiste en

un cableado (coaxial, par trenzado, fibra ptica, etc.) o en conexiones mediante seales
de radio o infrarrojas, dependiendo de que la red sea local (LAN o RAL), metropolitana
(MAN) o de rea extensa (WAN).
Para la comunicacin de los procesos con la red se emplea un tipo de equipo lgico
denominado middleware que controla las conversaciones. Su funcin es independizar
ambos procesos (cliente y servidor). La interface que presenta es la estndar de los
servicios de red, hace que los procesos "piensen" en todo momento que se estn
comunicando con una red.
La computacin cliente/servidor es una estrategia de uso de redes que se basa en el
concepto de que algunas funciones se manejan de manera ptima localmente y algunas
funciones se manejan mejor en un sitio central. Por tanto, la computacin cliente/servidor
es una combinacin del enfoque de tiempo compartido, caracterizado por el uso central, y
el enfoque de procesamiento distribuido, que hace hincapi en el uso local. En la
computacin cliente/servidor pueden intervenir redes de rea amplia, pero la
configuracin por lo regular consiste en una o ms LAN interconectadas.

Clientes pesados / Servidores ligeros: La mayor parte de la funcionalidad de la aplicacin


se implementa en el cliente.

Los servidores son mecanismo de acceso a recursos compartidos.


Mayor flexibilidad para aplicaciones que implementan nuevas funcionalidades.
Ejemplos: Servidores de bases de datos o servidores de ficheros.

Clientes ligeros / Servidores pesados: La mayor parte de la funcionalidad se implementa


en los servidores.

Incrementar la reusabilidad del cdigo.


Son ms fciles de desplegar y administrar.
Se basan en servidores ms abstractos que reducen el flujo por la red.
En vez de proporcionar datos, exportan procedimientos.

Middleware es un software de computadora que conecta componentes de software o


aplicaciones para que puedan intercambiar datos entre stas. Es utilizado a menudo para
soportar aplicaciones distribuidas. Esto incluye servidores web, servidores de aplicaciones,
sistemas de gestin de contenido y herramientas similares. Middleware es especialmente
esencial para tecnologas como XML, SOAP, servicios web y arquitecturas orientada a
servicios.
Las normas de Internet describen un marco de trabajo conocido como el conjunto de
protocolos de Internet. Se trata de un modelo de arquitectura que divide los mtodos en un
sistema estratificado de protocolos, originalmente documentado en la RFC 1122 y en la
RFC 1123. Las capas se corresponden con el ambiente o el alcance en el cual funcionan

sus servicios. En la parte superior se encuentra la capa o estrato de aplicaciones, el espacio


para los mtodos de redes especficas de aplicaciones que se utilizan en las aplicaciones
de software. Por ejemplo, un programa de navegador web utiliza el modelo de aplicaciones
cliente-servidor y un protocolo especfico de interaccin entre servidores y clientes, mientras
que muchos de los sistemas de intercambio de archivos utilizan un paradigma punto a punto
(P2P). Por debajo de esta capa superior, la capa de transporte conecta las aplicaciones en
diferentes hosts con un canal lgico a travs de la red que cuenta con mtodos de
intercambio de datos apropiados.
Por debajo de estas capas se encuentran las tecnologas de red que interconectan las redes
en sus fronteras y a los hosts, a travs de las conexiones fsicas. La capa de Internet
habilita a los ordenadores a identificarse y localizarse entre s, a travs de direcciones de
Protocolo de Internet (IP), y enruta su trfico mediante sus redes (de trnsito)
intermediarias. Por ltimo, en la parte inferior de la arquitectura est la capa de enlace, la
cual proporciona conectividad entre los hosts en el mismo enlace de red, tal como una
conexin fsica en forma de una red de rea local (LAN) o una conexin de acceso
telefnico.

Una arquitectura de dos capas de una aplicacin cliente-servidor consiste en una capa de
lgica y presentacin, y otra capa de bases de datos. La primera tiene que ver con presentar
al usuario conjuntos de objetos visuales y llevar a cabo el procesamiento que requieren los
datos producidos por el usuario y los devueltos por el servidor. Por ejemplo, esta capa
contendra el cdigo que monitoriza las acciones de pulsar botones, el envo de datos al
servidor, y cualquier clculo local necesario para la aplicacin. Estos datos se pueden
almacenar en una base de datos convencional, en un archivo simple o pueden ser incluso
los datos que estn en la memoria. Esta capa reside en el servidor.
Normalmente las arquitecturas de dos capas se utilizan cuando se requiere mucho
procesamiento de datos. La arquitectura del servidor Web de navegador es un buen
ejemplo de una arquitectura de dos capas. El navegador del cliente reside en la capa de
lgica y presentacin mientras que los datos del servidor Web-las pginas Web- residen
en las capa de la base de datos.

Ejemplo de arquitectura de dos capas

La Figura 28.3 muestra una arquitectura de tres capas. Se compone de una capa de
presentacin, una capa de procesamiento (o capa de servidor de solicitudes) y una capa
de base de datos. La capa de presentacin es la responsable de la presentacin visual de
la aplicacin, la capa de la base de datos contiene los datos de la aplicacin y la capa de
procesamiento es la responsable del procesamiento que tiene lugar en la aplicacin. Por
ejemplo, en una aplicacin bancaria el cdigo de la capa de presentacin se relacionara
simplemente con la monitorizacin de sucesos y con el envo de datos a la capa de
procesamiento. Esta capa intermedia contendra los objetos que se corresponden con las
entidades de la aplicacin; por ejemplo, en una aplicacin bancaria los objetos tpicos
seran los bancos, el cliente, las cuentas y las transacciones.
La capa final sera la capa de la base de datos. sta estara compuesta de los archivos que
contienen los datos de la aplicacin. La capa intermedia es la que conlleva capacidad de
mantenimiento y de reutilizacin. Contendr objetos definidos por clases reutilizables que
se pueden utilizar una y otra vez en otras aplicaciones. Estos objetos se suelen llamar
objetos de negocios y son los que contienen la gama normal de constructores, mtodos
para establecer y obtener variables, mtodos que llevan a cabo clculos y mtodos,

normalmente privados, en comunicacin con la capa de la base de datos. La capa de


presentacin enviar mensajes a los objetos de esta capa intermedia, la cual o bien
responder entonces directamente o mantendr un dilogo con la capa de la base de datos,
la cual proporcionar los datos que se mandaran como respuesta a la capa de
presentacin.
El modelo n-tier (n-capas) de informtica distribuida ha emergido como la arquitectura
predominante para la construccin de aplicaciones multiplataforma en la mayor parte de las
empresas pertenecientes a Fortune 1000. Este cambio radical en los modelos de
computacin, desde los sistemas monolticos basados en mainframe y los tradicionales
sistemas cliente-servidor, hacia sistemas distribuidos multiplataforma altamente
modulables, representa simplemente la punta del iceberg de lo que est por llegar en el
mundo del desarrollo de aplicaciones, tal y como se pone de manifiesto en las ltimas
tendencias de las grandes empresas de tecnologa, como Sun con su estrategia Sun Tone,
o Microsoft con DotNET (.Net).
Ejemplo de arquitectura de varias capas:

Comparacin entre modelo de 2 capas y modelo de 3 capas:


2 Capas
3 Capas
Rendimiento del sistema: normalmente, la
Aplicaciones cliente ligeras: ya vimos
misma operacin realizada en el cliente o
algunas de sus ventajas en los clientes
en el servidor (atendiendo a clculos con
ligeros, a saber: actualizaciones
datos) se ejecuta mucho ms rpido en el
automticas (siempre que no sean de la
servidor, dado que las propias BDs tienen
interfaz), requerimientos mnimos del
los procedimientos compilados y, adems,
cliente, instalaciones sencillas, red poco
es posible que si una operacin es muy
cargada. El programador en este caso tan
solicitada permanezca en la cach del
slo debe preocuparse del aspecto grfico
sistema, siendo an ms rpida.
de la misma y de llamar/recibir a los
eventos que el usuario puede disparar.
Actualizaciones automticas: cualquier
Modelo de procesos independiente: si algo
cosa cambiada en el servidor (a nivel de
est mal, si queremos aadir
negocio o datos) repercute
funcionalidades, nuevos clculos,
automticamente en el cliente sin tener
cualquier cosa que el programador quiera
que hacer nada. El paraso para los
hacer la puede hacer y actualizar sin
administradores de sistemas.
interferir apenas con los usuarios o con la
BD. Una vez que todo est correcto
bastar subir los cambios a un nico sitio
y, como por arte de magia, todos los
clientes disfrutarn de un nuevo programa.
Requerimientos de ordenador casi
Alta escalabilidad del sistema: esto, que
inexistentes: dado que el cliente no hace
se dice mucho y se entiende poco al
ms que visualizar cosas, apenas hay
principio, significa que podemos
requerimientos hardware.
agregar/quitar al sistema tantos clientes y

Instalaciones/actualizaciones sencillas:
incluso inexistentes, si estamos hablando
de pginas web.

Red de la empresa menos sobrecargada:


todas las operaciones se realizan en el
servidor, al cliente solo se le enva lo que
tiene que ver.

servidores como necesitemos si el


volumen de trabajo crece o decrece.
Fcil mantenimiento: al estar todo
separado, cualquier operacin es ms
sencilla de realizar dada la especificidad
de las funciones en cada capa. Vamos,
que si empieza a fallar, digamos, el
servidor de aplicaciones, se prepara otro
enseguida y se puede cambiar en n-ymenos.
Alta tolerancia a fallos: es fcil construir un
sistema 24/7 de alta disponibilidad, basta
redundar (duplicar) cada capa y meter un
sistema balanceador de cargas que
detecte cundo se cae un servidor para
pasar las peticiones al otro. Cuando un
sistema se monta as, estamos hablando
de un clster con diversos nodos.
Bases de datos como simple almacn: no
ejercen ms labor que la de almacn de
datos, lo que posibilita la migracin en
caso de ser necesario, tanto entre
versiones de la misma BD como entre
diferentes motores de BD.

Sistema de computacin distribuido. Dicho sistema consiste en un nmero de


computadoras que estn conectadas y que llevan a cabo diferentes funciones. Existen
muchas razones por las que tales sistemas se han hecho populares:
Rendimiento. El rendimiento de muchos tipos de sistemas distribuidos se puede
incrementar aadiendo simplemente ms computadoras. Normalmente esta es una opcin
ms sencilla y ms barata que mejorar un procesador en un mainframe. Los sistemas
tpicos en donde se puede lograr este incremento en el rendimiento son aquellos en donde
las computadoras distribuidas llevan a cabo mucho proceso, y en donde la relacin trabajo
de comunicaciones y proceso es bajo.
Comparticin de recursos. Un sistema distribuido permite a sus usuarios acceder a grandes
cantidades de datos que contienen las computadoras que
componen el sistema. En lugar de tener que reproducir los datos
en todas las computadoras se pueden distribuir por un pequeo
nmero de computadoras. Un sistema distribuido tambin
proporciona acceso a servicios especializados que quizs no se
requieran muy frecuentemente, y que se puedan centralizar en
una computadora del sistema.
Tolerancia a fallos. Un sistema distribuido se puede disear de
forma que tolere los fallos tanto del hardware como del software. Por ejemplo, se pueden
utilizar varias computadoras que lleven a cabo la misma tarea en un sistema distribuido. Si

una de las computadoras funcionaba mal, entonces una de sus hermanas puede hacerse
cargo de su trabajo. Una base de datos de una computadora se puede reproducir en otras
computadoras de forma que si la computadora original tiene un mal funcionamiento, los
usuarios que solicitan la base de datos son capaces de acceder a las bases de datos
reproducidas.

Caractersticas:

Concurrencia.- Esta caracterstica de los sistemas distribuidos permite que los


recursos disponibles en la red puedan ser utilizados simultneamente por los
usuarios y/o agentes que interactan en la red.
Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes
entre los diferentes componentes para la realizacin de una tarea, no tienen una
temporizacin general, esta ms bien distribuida a los componentes.
Fallos independientes de los componentes.- Cada componente del sistema puede
fallar independientemente, con lo cual los dems pueden continuar ejecutando sus
acciones. Esto permite el logro de las tareas con mayor efectividad, pues el
sistema en su conjunto continua trabajando.

Las transacciones son un mecanismo estndar para manejar los cambios al estado del un
sistema distribuido. Proveen un modelo para controlar el acceso concurrente a los datos y
para manejar las fallas inherentes al cmputo distribuido. Si se permite que el trabajo que
los objetos realizan, progrese concurrentemente sin considerar transacciones, lo nico
que se obtendr ser un caos total.
Una transaccin es generalmente definida como una unidad de trabajo que se hace a
nombre de una aplicacin o componente. Cada transaccin puede estar compuesta de
mltiples operaciones realizadas en datos que estn dispersos en uno o varios procesos o
en una o varias mquinas. Cada transaccin asegura el trabajo de proteger la integridad
del estado de un sistema al proveer cuatro garantas bsicas conocidas como las
propiedades ACID: atomicidad (atomicity), consistencia (consistency), aislamiento
(isolation) y durabilidad (durability)
Un servicio web XML es una entidad programable que proporciona un elemento
determinado de funcionalidad, como lgica de la aplicacin y es accesible por diversos
sistemas potencialmente dispares usando los estndares de Internet ubicuos, como XML
y HTTP. Los servicios web XML dependen en gran medida de la amplia aceptacin de
XML y otros estndares de Internet para crear una infraestructura que admita la
interoperabilidad de aplicaciones en un nivel que resuelva muchos de los problemas que
anteriormente impidieron tales intentos.
Un servicio web XML puede usarse internamente por una sola aplicacin o exponerse
externamente a travs de Internet para su uso por diversas aplicaciones. Puesto que es
accesible a travs de una interfaz estndar, un servicio web XML permite a sistemas
heterogneos funcionar juntos como una sencilla web de clculo.

Los sistemas operativos distribuidos desempean las mismas funciones que un sistema
operativo normal, pero con la diferencia de trabajar en un entorno distribuido. Su Misin
principal consiste en facilitar el acceso y la gestin de los recursos distribuidos en la red.
En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la
misma manera en que lo hacen para los recursos locales. Permiten distribuir trabajos,
tareas o procesos, entre un conjunto de procesadores.
Puede ser que este conjunto de procesadores est en un
equipo o en diferentes, lo cual es transparente para el
usuario.
Los sistemas distribuidos deben de ser muy confiables y
estables ya que si un componente del sistema se
descompone otro componente debe de ser capaz de
reemplazarlo inmediatamente y no afectar los procesos del
sistema.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes:
Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc.
E-commerce o Comercio Electrnico consiste en la distribucin, venta, compra, marketing
y suministro de informacin de productos o servicios a travs de Internet. Conscientes de
estar a la vanguardia, las Pymes no se han quedado atrs en este nuevo mercado, por lo
que han hecho de los servicios de la red un lugar que permite acceder a sus productos y
servicios durante las 24 horas del da.
Los sistemas de negocios electrnicos son un
conjunto de tecnologas, equipos y
herramientas en lnea una empresa utiliza para
hacer negocios a travs de Internet. Estos
sistemas ayudan a la empresa conectarse con
clientes, rdenes de proceso y gestin de
informacin. Por ejemplo, un sistema de
negocio electrnico de alta rentabilidad es una
tienda en Internet donde los clientes pueden
comprar productos en lnea.
Los tipos de sistemas E-commerce son:

B2B (negocio a negocio): Este tipo de comercio electrnico realizado de negocio


a negocio, por medio de este modelo la empresa est en contacto con sus
proveedores. Este tipo de E-commercio requiere el uso de EDI para el
intercambio electrnico de datos entre los sistemas de informacin.
B2C (negocio a consumidor): establecimiento de la tienda virtual de la empresa,
en donde el cliente recorre los anaqueles, selecciona lo que necesita, realiza el
envi de pedidos y efecta los pagos correspondientes, todo esto desde la
comodidad de su silla frente a la computadora.
B2G (negocio a gobierno): Consiste en optimizar los recursos de negociacin
entre empresas y el gobierno a travs del uso de internet. Permite la
transparencia en el desarrollo de convocatorias y licitaciones.

C2C (Consumidor a consumidor): Es aquella que define un negocio cuyo objetivo


es facilitar la comercializacin de productos y/o servicios entre particulares. Se
refiere a las transacciones privadas entre consumidores que pueden tener lugar
mediante el intercambio de correos electrnicos.

Las caractersticas de un sistema E-Commerce son:

Ubicuidad: la tecnologa del internet est disponible en todos lados, el trabajo, la


casa y en cualquier otro lado a travs de los dispositivos mviles, en cualquier
momento.
Alcance Global: la tecnologa existe ms all de los lmites nacionales, alrededor
de la tierra.
Estndares universales: hay un conjunto de estndares de medios tcnicos en
todo el mundo.
Riqueza: Los mensajes de comercializacin de video, audio y texto se integran
en una sola experiencia de consumo y
mensaje de comercializacin.
Interactividad:
Los
consumidores
entablan un dilogo que ajusta en forma
dinmica la experiencia para el individuo,
y hace del consumidor un participante en
el proceso de entrega de bienes en el
mercado.
Densidad de la informacin: Los costos
de comunicacin, procesamiento y
almacenamiento de la informacin se reducen en forma dramtica, mientras que
la prevalencia, precisin y actualidad se incrementan de manera considerable.
Personalizacin/adecuacin: La personalizacin de los mensajes de
comercializacin y la adecuacin de productos y servicios se basan en las
caractersticas individuales.
Tecnologa Social: Los nuevos modelos social y de negocios de internet
permiten que el usuario cree y distribuya su propio contenido, y soportan las
redes sociales.

Un Socket en comercio electrnico es un punto o mecanismo de comunicacin entre


procesos que permiten que un proceso hable con otro proceso incluso estando estos
procesos en mquinas distintas. Los socket son usados como el nombre de una interfaz de
programacin de aplicaciones (API) para la familia de protocolos de internet TCP/IP, pro
visualmente por el sistema operativo. Los socket de internet constituyen el mecanismo para
la entrega de paquetes de datos provenientes de la tarjeta de red a los procesos o hilos
apropiados.

Tipos y usos:

Tipo SOCK_DGRAM: Sockets para comunicaciones en modo no conectado, con


envo de datagramas de tamao limitado (tipo telegrama ). En dominios Internet
como la que nos ocupa el protocolo del nivel de transporte sobre el que se basa
es el UDP.
Tipo SOCK_STREAM: Para comunicaciones fiables en modo conectado, de dos
vas y con tamao variable de los mensajes de datos. Por debajo, en dominios
Internet, subyace el protocolo TCP.
Tipo SOCK_RAW: Permite el acceso a protocolos de ms bajo nivel como el IP
(nivel de red).
Tipo SOCK_SEQPACKET: Tiene las caractersticas del SOCK_STREAM pero
adems el tamao de los mensajes es fijo.

Los Objetos Distribuidos (OD) surgen de la unin de las AD y la POO. Esto viene a
romper con el tradicional concepto cliente/servidor, ya que la frontera entre los mismos
queda ahora mucho ms confusa. Los objetos distribuidos se usan para permitir la
invocacin de mtodos de un objeto por objetos que residen en diferentes maquinas en
entorno heterogneo:

Los entornos pueden estar desarrollados en diferentes lenguajes.


Los equipos pueden tener diferente: hardware y sistema operativo.
Los equipos pueden estar conectados entre s usando distintos protocolos de
comunicacin.
Facilitar el desarrollo de aplicaciones distribuidas.

Las tecnologas de los objetos distribuidos que ms se usan son:

RMI (Remote Invocation Method): fue el primer framework para crear sistemas
distribuidos de java. El sistema de Invocacin Remota de Mtodos (RMI) de Java
permite, a un objeto que se est ejecutando en una Mquina Virtual Java (VM),
llamar a mtodos de otro objeto que est en otra VM diferente. Esta tecnologa
est asociada al lenguaje de programacin Java, es decir, que permite la
comunicacin entre objetos creados en este lenguaje.
DCOM (Distributed Component Object Model): El Modelo de Objeto
Componente Distribuido, est incluido en los sistemas operativos de Microsoft.
Es un juego de conceptos e interfaces de programa, en el cual los objetos de
programa del cliente, pueden solicitar servicios de objetos de programa
servidores en otros ordenadores dentro de una red. Esta tecnologa est
asociada a la plataforma de productos Microsoft.
CORBA (Common Object Request Broker Architecture): Tecnologa introducida
por el Grupo de Administracin de Objetos OMG, creada para establecer una
plataforma para la gestin de objetos remotos independiente del lenguaje de
programacin.

Las ventajas al implementar los sockets en los objetos distribuidos son la orientacin
a objetos misma, movilidad de aplicaciones java, los patrones de diseo y la seguridad la
recoleccin de basura distribuida.

La Interfaz de Entrada Comn (Common Gateway Interface [CGI]) en una tecnologa


de del World Wide Web (www) que permite a un cliente solicitar datos para que un programa
ejecutado por el servidor web. Tambin especifica un estndar para transferir datos entre
los clientes y el programa. Es un mecanismo de comunicacin entre el servidor web y una
aplicacin externa cuyo resultado final de la ejecucin MIME. Las aplicaciones CGI fueron
una de las primeras prcticas de crear contenido dinmico para las pginas web. Este
programa puede estar escrito en cualquier lenguaje que soporte el servidor, aunque por
razones de portabilidad se suelen usar lenguajes script. Esta interfaz ha hecho posible la
implementacin de funciones nuevas y variadas en las pginas web, de tal manera que esta
interfaz rpidamente se volvi un estndar, siendo implementada en todo tipo de servidores.
El CGI es utilizado para contadores, base de datos, motores de bsqueda,
formularios y generadores de email automtico. Esta tecnologa tiene la ventaja de correr
en el servidor cuando el usuario lo solicita por lo que es dependiente del servidor y no de la
computadora. Lo que significa que existen en un estado constante; es un archivo de texto
que no cambia. Los programas CGI pueden estar compilados en diferentes lenguajes de
programacin. Estos son 3 ejemplos de lenguajes soportados por el CGI son:
1- PHP: se est imponiendo como lenguaje principal de scripting para la realizacin
dinmica. En primer lugar porque es multiplataforma, es decir, es posible
encontrar el motor PHP para las plataformas mas utilizada.
2- PERL: se da lo mismo que en HTML, el texto no tiene formato alguno, si se abre
en Wordpad o en bloc de notas de Windows vemos perfectamente los cdigos
fuente.
3- ASP: CGI ha sido la manera estndar de despliegue de aplicaciones web mucho
antes de ASP lleg. ASP puede ejecutarse en modo CGI independientemente
para el servidor web apache y sin mod perl estar disponible.

Aqu est un ejemplo del lenguaje CGI (Enviando un mensaje):


#include <stdio.h>
main(int argc, char ** argv)
{
/* send the mime-type header */
printf("Content-type: text/html\n\n");
/* Be nice and title it */
printf(" <HTML> <HEAD> <TITLE>Hello! </TITLE> </HEAD>\n");
/* Here's the HTML body */
printf("<BODY> <H1>Hello, World!<h1> </BODY> </HTML>\n");
}

La tecnologa que implemento java se llama Servlet HTTP es un remplazo directo


para los scripts CGI. Los servlets HTTP son accesados por el usuario al escribir una URL
en el navegador o como producto de una accin de formula HTML. Si un usuario incorpora
el siguiente URL en un campo de direcciones del navegador, el navegador solicita un servlet
para enviar una pgina HTML con el tiempo que actan. El DateTimeServlet responde a
esta peticin enviado a una pgina HTML al navegador. Note que los servlet no estn
restringidos a generar pginas web: pueden realizar cualquier otra funcin, tal como
almacenar y traer la informacin de las bases de datos o abrir un socket a otra mquina.
Javelin es una alta productividad an herramienta de desarrollo de peso ligero que
permite a los desarrolladores de software, analistas, consultores, mentores, educadores
para conducir cualquier desarrollo de Java a travs de un conjunto de diagramas de clases
"en vivo". Proporciona "tiempo cero" generacin sincronizada y gestin de cdigo y los
metadatos requeridos por persistir el modelo de objetos para Hibernate o JDO persistencia
tecnologas. Ver nuevos muestra de proyectos de persistencia para un comienzo rpido en
el apasionante nuevo mundo de persistencia transparente. Ejemplo de javelin:
Programa en Javelin
public class Ejemplo {
public static void main()
{
System.out.println ("Hola Mundo");
}
}
Un contenido ejecutable son un grupo de instrucciones en cdigo mquina de un
procesador en concreto, pero tambin puede contener bytecode que requiere un intrprete
para ejecutarlo. Dependiendo del tipo de que se traten las instrucciones, hablaremos de
ejecutables portables y no portables. Si un archivo ejecutable es sobre todo una cuestin
de convencin. Unos sistemas operativos se basan en la extensin de archivos y otros lo
hacen leyendo los metadatos. 3 ejemplos de contenidos ejecutables son:
1- .EXE: es una extensin que se refiere a un archivo ejecutable de cdigo reubicable,
sus direcciones de memorias son relativas. Los sistemas operativos que utilizan de
forma nativa de este formato son DOS, Microsoft Windows, OS/2 y ReactOS.
2- .BAT: contiene un conjunto de instrucciones MS-DOS. Cuando se ejecuta el archivo
mediante CMD las ordenes contenidas son ejecutadas en grupo, de forma
secuencial, permitiendo automatizar diversas tareas. Los sistemas que permiten
este archivo son OS/2 y Microsoft Windows.
3- RFT: es un formato de archivo informtico desarrollado por Microsoft en 1987 para
el intercambio de documentos multiplataforma. La mayora de los sistemas
operativos son compatibles.
La criptografa es la tcnica que protege documentos y datos. Funciona a travs de la
utilizacin de cifras o cdigos para escribir algo secreto como un documento y/o datos
confidenciales que circulan a travs de las redes locales o en internet. Su utilizacin es tan
antigua como la escritura. A partir de la evolucin de las computadoras, la criptografa fue
ampliamente divulgada, empleada y modificada. La criptografa es til como elemento de

seguridad informtico responde a la necesidad de codificar mensajes que solo puedan


descifrar el destinatario y se ha aplicado tanto a defensa, como secretos industriales y en
los ltimos aos, sobre todo, en el comercio electrnico. Esto es as porque actualmente la
seguridad de los sistemas informticos se ve debilitada por el fuerte crecimiento de las
redes y cuando se trata de este tema hay que tener en cuenta un aspecto tan importante
como la privacidad e integridad de los datos. Ejemplo grfico:
El criptosistema es una tcnica criptogrfica asimtrica cuya seguridad, se basa en la
complejidad de la factorizacin. La ventaja del criptosistema es su complejidad que ha sido
demostrada porque el problema en el que se basa es tan duro como la factorizacin de
enteros. Los elementos de un criptosistema se definen en una quntupla (m, C, K, E, D):

m representa el conjunto de todos los mensajes sin cifrar (texto plano) que pueden
ser enviados.
C Representa el conjunto de todos los posibles mensajes cifrados, o criptogramas.
K representa el conjunto de claves que se pueden emplear en el Criptosistema.
E es el conjunto de transformaciones de cifrado o familia de funciones que se
aplica a cada elemento de m para obtener un elemento de C. Existe una
transformacin diferente Ek para cada valor posible de la clave K.
D es el conjunto de transformaciones de descifrado, anlogo a E.

El Criptoanlisis es la parte de la criptologa que se dedica al estudio de sistemas


criptogrficos con el fin de encontrar debilidades de los sistemas y romper su seguridad sin
el conocimiento de la informacin secreta. Las tcnicas de criptoanlisis han cambiado
drsticamente a travs de la historia, adaptndose a la creciente complejidad criptogrfica.
Usualmente implican resolver un problema cuidadosamente construido en el dominio de la
matemtica pura.
La cristologa es la disciplina cientfica que se dedica al estudio de la escritura secreta
y/o estudia los mensajes que procesados de cierta manera, se convierten en difciles o
imposibles de leer por entidades no autorizadas. Los sistemas de criptografa ms usados
son:

1- GNU Privacy Guard (GnuPG o GPG): es una herramienta de cifrado y firmas


digitales, que viene a ser un reemplazo del PGP pero con la principal diferencia que
es software libre licenciado bajo la GPL. GPG utiliza el estndar del IETF
denominado OpenPGP.
2- AxCrypt: es un programa informtico con licencia GNU que nos permite codificar
archivos en el sistema operativo Windows, pudiendo protegerlos y ocultarlos
mediante una clave.
3- John the Ripper: es un programa de criptografa que aplica fuerza bruta para
descifrar contraseas. Es capaz de romper varios algoritmos de cifrado o hash,
como DES, SHA-1.
4- FreeOTFE: es un programa gratuito, de cdigo abierto, para el cifrado de discos 'al
vuelo' y de forma transparente.
5- BitLocker: es el programa de cifrado de disco provee el cifrado de disco a las
versiones Ultimate y Enterprise de Windows Vista y Windows 7 as como a las
versiones para empresas de Windows Server 2008. Est diseado para proteger los
datos al proporcionar cifrado para volmenes enteros. Por defecto se utiliza el
algoritmo de cifrado estndar AES en modo CBC con una clave de 128 bits.
Algoritmo de AES (Bit locker):

Expansin de la clave usando el esquema de claves de Rijndael.


Etapa inicial:
1. AddRoundKey
Rondas:
1. SubBytes en este paso se realiza una sustitucin no lineal donde cada
byte es reemplazado con otro de acuerdo a una tabla de bsqueda.
2. ShiftRows en este paso se realiza una transposicin donde cada fila del
state es rotada de manera cclica un nmero determinado de veces.
3. MixColumns operacin de mezclado que opera en las columnas del
state, combinando los cuatro bytes en cada columna usando una
transformacin lineal.
4. AddRoundKey cada byte del state es combinado con la clave round;
cada clave round se deriva de la clave de cifrado usando una iteracin de
la clave.
Etapa final:
1. SubBytes
2. ShiftRows
3. AddRoundKey

Las firmas digitales es un mecanismo criptogrfico que permite al receptor de un mensaje


formado digitalmente determinar la entidad originadora de dicho mensaje y confirmar que
el mensaje no ha sido alterado desde que fue firmado por el originador. La firma digital es
usada en aquellas reas donde es importante poder verificar la autenticidad y la integridad
de ciertos datos. Los documentos electrnicos o software son un ejemplo de firmas digitales
ya que proporciona una herramienta para detectar la falsificacin y la manipulacin del
contenido. Ejemplo de firmas digitales:

Los certificados digitales es un fichero informtico generado por una entidad de


servicios de certificacin que asocia unos datos de identidad a una persona fsica,
organizacin o empresa confirmando de esa manera su identidad digital en internet. La
aplicacin de los certificados digitales son principalmente para autenticar a un usuario o
sitio web en internet por lo que es necesaria la colaboracin de un tercero que sea de
confianza para cualquiera de las dos partes que participe en la comunicacin. El nombre
del asociado a esta entidad de confianza es autoridad certificadora pudiendo ser un
organismo pblico o empresa reconocida en internet. Existen 4 tipos de certificados
digitales y estos son:
1.- Certificado de pertenencia a empresa: Este certificado determina la vinculacin de una
persona fsica a una entidad determinada, informando del departamento al cual pertenece
y el cargo que ocupa en el mismo.
2.- Certificado de representante: Este certificado permite identificar a una persona fsica
como representante de una empresa. Con este certificado, su titular podr representar
telemticamente a su empresa en aquellos trmites para los cuales estn habilitados.
3.- Certificado de persona jurdica: Este certificado se ha incorporado al portfolio de
productos de Camerfirma recientemente bajo el hospicio de la reciente Ley 59/2003 de firma
electrnica. Mediante este certificado, la propia empresa se convierte en titular del
certificado digital, si bien se delega la custodia del mismo en una persona fsica responsable
del mismo. Actualmente, el certificado de persona jurdica est teniendo una gran acogida
en procesos automatizados como el de facturacin electrnica.
4.- Certifiados digitales de las CERES: Cuando se solicita el certificado digital en la web
de Ceres, automticamente se generan dos claves: una privada, que slo el ciudadano
conoce porque es quien la elige, que servir para firmar de forma electrnica, y otra
pblica, a la que accede cualquiera. El sistema se basa en la criptografa asimtrica. Es
decir, si con la clave privada se firma electrnicamente, con la otra se verifica la firma y
viceversa. As se garantiza la identidad del firmante y que el contenido del documento no
se ha modificado.

CONCLUSIN

A lo largo de este trabajo de investigacin conocimos la arquitectura de


Cliente/servidor, as como la definicin de Servidor y su clasificacin. Tambin
vimos lo que es un cliente a nivel de software y dimos algunos ejemplos.
Adems describimos las caractersticas de la arquitectura Cliente servidor y
estudiamos a que se le llama computacin cliente servidor.
Tambin describimos la estrategia clientes pesados/servidores ligeros y la
estrategia clientes ligeros/servidores pesados en la arquitectura Cliente/Servidor.
Observamos los diferentes tipos de arquitectura para una aplicacin de
cliente/servidor:

De dos capas
Tres capas
De n-capas

Entre otros temas que se vieron fueron los Sistemas de Computacin Distribuidos y
las transacciones que se realizan en ellos.
Por ltimo vimos los servicios web basados en XML y el comercio en lnea
(Ecommerce), as como las tecnologas utilizadas en el comercio web y sus
funciones. Y para finalizar vimos lo que es la criptografa y sus temas derivados.

REFERENCIAS BIBLIOGRAFICAS

Corts Morales, Roberto. (1998) Introduccin Al Anlisis de Sistemas Y la


Ingeniera de Software. Costa Rica: Editorial Universidad Estatal a Distancia.
Sommerville, Ian(2005)Ingeniera del Software Madrid: Pearson Educacin.
Pginas web consultadas el 13 de Septiembre de 2014
http://www.redempresariosvisa.com/Ecommerce/Article/que-es-e-commerce-ocomercio-electronico
http://learn.icann.org/mod/page/view.php?id=1050
http://eltamiz.com/elcedazo/2010/06/24/sistemas-cliente-servidor-vs-sistemasmulti-capa/

Вам также может понравиться