Académique Documents
Professionnel Documents
Culture Documents
Unidad: 1
Semana: 1
TECNOLOGIA e-BUSINESS
WEB SERVICES
Qu es un servicio web
Un servicio web consiste en una funcin
disponible en un servidor conectado al web. Esta
funcin puede consistir en cualquier cosa:
Realizar un simple clculo con unos datos que se le
envan como parmetro,
Acceder a una base de datos para recuperar un conjunto
de registros,
Validar la correccin de una informacin o contrastarla
frente a otros datos, etc.
El servicio web podr ser solicitado desde otro programa
informtico que se ejecute en un ordenador conectado al
web. Junto a la solicitud de la ejecucin, se pueden enviar al
ordenador que ofrece el servicio unos parmetros que el
servicio web remoto tomar como base para el clculo o la
funcin.
Qu es un servicio web
La aplicacin que acta como cliente debe
conocer:
La URL del servidor remoto que ofrece el servicio,
El nombre del servicio que se solicita, y
Los parmetros que se deben enviar junto con la llamada
al servicio.
objRef
objRef.f(arg)
Cliente
Interfaz comn
obj
obj.f(arg)
Servidor
Implementar SOAP
Para facilitar la creacin y el formateo de
los mensajes SOAP que deben
intercambiar las aplicaciones web, los
programadores disponen de distintas
utilidades y aplicaciones
Estas implementaciones incluyen
utilidades para generar los mensajes a
partir de componentes
Actualmente existen ciertas diferencias
en las implementaciones de los distintos
fabricantes
EVOLUCIN DE
ARQUITECTURAS
Evolucin de Arquitecturas
Arquitectura Cliente-Servidor
Aplicaciones Monolticas
Presentacin
Lgica negocio
Persistencia
Alta administracin
Bajo rendimiento
Alto trfico de red
Baja accesibilidad
Presentacin
Lgica de negocio
21
Persistencia
Evolucin de Arquitecturas
Arquitectura Cliente-Servidor Mejorada
Aplicaciones 3 niveles
Clientes GUI
semi-livianos
Servidor de
Aplicaciones
Base de Datos
Presentacin
Clientes GUI
Semilivianos
Procedimientos
Almacenados
Negocio
(EJB, CORBA, COM+)
22
Evolucin de Arquitecturas
Aplicaciones N-niveles (clientes livianos)
Clientes
livianos
Web
Server
Servidor de
Aplicaciones
Database
Servers
100.000+
Despliegue de
contenido
Presentacin
Lgica de
negocios
Evolucin de Arquitecturas
Web Services
Web
Server
Clientes
livianos
Servidor de
Aplicaciones
Database
Servers
100.000+
Presentacin
Despliegue de
contenido
Clientes
livianos
Web
Server
Lgica de
negocios
Servidor de
Aplicaciones
100.000+
Despliegue de
contenido
Presentacin
Lgica de
negocios
24
Database
Servers
Componentes de SOA
Servicios: Entidades lgicas - Contratos definidos por una o
ms interfaces pblicas.
Service provider: Entidad de software que implementa una
especificacin de servicio.
Service consumer (o requestor): Entidad de software que
llama a un service provider. Tradicionalmente se lo llama
cliente. Puede ser una aplicacin final u otro servicio.
Service locator: Tipo especfico de service provider que acta
como registry y permite buscar interfaces de service
providers y sus ubicaciones.
Service broker: Tipo especfico de service
provider que puede pasar requerimientos
de servicios a otros service providers.
Principales conceptos
CBDI - Perspectivas arquitectnicas
Aplicacin - Servicio - Componente
Evolucin de Arquitecturas
27
Evolucin de Arquitecturas
Procesos fragmentados
Aplicaciones publicadas en diferentes
departamentos y unidades de
negocios
Evolucin de Arquitecturas
Requerimientos
Arquitectnicos
Portal de
Servicios Integrados
Cluster de
Servidores de
Aplicaciones
Base de
Datos
Heterogeneidad
Servidor de
Procesos
Escalabilidad
(BPM)
Aplicaciones
Disponibilidad
Legadas
Distribucin
Manejabilidad de Procesos
Administracin y monitoreo de
procesos, servicios e infraestructura
29
Evolucin de Arquitecturas
Wearable
Web Server
Web Services
Servidor de
Aplicaciones
Entity data
server
Database
Servers
100.000+
Wi FI 3G 4G
Presentacin
TV
Clientes
livianos
Lgica de
negocios
Web
Server
Modelo de
entidades
Servidor de
Aplicaciones
100.000+
Despliegue de
contenido
Presentacin
Lgica de
negocios
30
Database
Servers
Evolucin de Arquitecturas
Segmentacin
Desktop
Tablet
Phone
TV
Auto
Reloj
Lentes
Drones
Robots
Evolucin de Arquitecturas
Hardware
Pantalla
Procesadores
Batera
Comunicacin
Mecnica electrnica
Evolucin de Arquitecturas
Plataformas
Phone
IOS
Android
Tizen OS
webOS
Windows
Mac OS
Linux (CentOS, Ubuntu, )
Evolucin de Arquitecturas
Tendencia tecnologa
Hardware + software
Inteligencia Artificial
Evolucin de Arquitecturas
Innovar
Crowd:
Crowdfunding
Crowdworking
Crowdsourcing
Crowdvoting
Estrategia
Automatizar procesos de la vida diaria
Desarrollarse dentro de un ecosistemas
Automatizar conocimiento (?)
LINQ: Grabar
public void grabarTipoTorneo(TB_TIPO_TORNEO ttt)
{
TB_TIPO_TORNEO tipoTorneo = new TB_TIPO_TORNEO();
tipoTorneo.TIPO_TORNEO_iD = ttt.TIPO_TORNEO_iD;
tipoTorneo.NOMBRE_TIPO_TORNEO = ttt.NOMBRE_TIPO_TORNEO;
bdlv.TB_TIPO_TORNEO.Add(tipoTorneo);
bdlv.SaveChanges();
}
LINQ: Select
public List<TB_TIPO_TORNEO> obtenerTipoTorneo()
{
List<TB_TIPO_TORNEO> listTipoTorneo = new List<TB_TIPO_TORNEO>();
var listaDatos = (from l in bdlv.TB_TIPO_TORNEO
select l);
foreach (TB_TIPO_TORNEO ttt in listaDatos)
{
listTipoTorneo.Add(ttt);
}
return listTipoTorneo;
}
LINQ: Borrar
public void borrarTipoTorneo(TB_TIPO_TORNEO ttt)
{
var listaDatos = (from l in bdlv.TB_TIPO_TORNEO
where l.TIPO_TORNEO_iD == ttt.TIPO_TORNEO_iD
select l).Single();
bdlv.TB_TIPO_TORNEO.Remove(listaDatos);
bdlv.SaveChanges();
}
LINQ: Modificar
public void modificarTipoTorneo(TB_TIPO_TORNEO ttt)
{
var listaDatos = (from l in bdlv.TB_TIPO_TORNEO
where l.TIPO_TORNEO_iD == ttt.TIPO_TORNEO_iD
select l).Single();
listaDatos.NOMBRE_TIPO_TORNEO = ttt.NOMBRE_TIPO_TORNEO;
bdlv.SaveChanges();
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using LGTEDM;
using System.ServiceModel.Web;
Interface WCF
namespace LGTWCF
{
[ServiceContract]
public interface ICrearTorneo
{
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "obtenerTipoTorneoWCFJson")]
TipoTorneoWCF obtenerTipoTorneoWCF();
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "obtenerListaTipoTorneoWCFJson")]
List<TipoTorneoWCF> obtenerListaTipoTorneoWCF();
[OperationContract]
void grabarTorneoWCF(TB_TORNEO torneo);
[OperationContract]
void grabarTorneo();
}
}
Web.config
GRACIAS