TIC'S-Tecnologías de la Información y las Comunicaciones
Ing. Yassir Barceló[email protected]
Especialización en Gerencia de Sistemas Informáticos – Sesión 3.
Agenda
1. Aplicaciones y Sistemas Distribuidos
2. Plataformas WEB 3. Web Services 4. Tendencias en Desarrollo 5. Modelos de Negocio 6. Plataformas de Desarrollo
1. Aplicaciones y Sistemas Distribuidos
Conjunto de entidades de comunicación e informáticas (host, canales, protocolos, hardware, etc.) ubicados físicamente en diferentes locaciones, que se interrelacionan para ofrecer un servicio integrado definido.
1.1 Ventajas
Velocidad Confiabilidad Usos compartidos: Datos,
dispositivos Comunicación Flexibilidad Concurrencia Escalabilidad
1.2 Arquitecturas
Cliente Servidor
1.2 Arquitecturas
Peer to Peer P2P
Una red que no tiene clientes ni servidores fijos, sino una serie de nodos que se comportan simultáneamente como clientes y como servidores de los demás nodos de la red
Middleware
El acceso transparente a servicios y recursos no locales distribuidos a través de una red se provee a través del middleware, que sirve como marco para la comunicaciones entre las porciones cliente y servidor de un sistema.
1.2 Arquitecturas
Software distribuido requerido para facilitar las interacciones cliente-servidor
Middleware
servicios situados por encima del nivel de transporte (TCP/IP) y por debajo del nivel de aplicación (API).
1.2 Arquitecturas
1.3 Otras arquitecturas
Agentes móviles
Dispositivos móviles
Un Agente Móvil es un programa que puede detener su ejecución, trasladarse a otro ordenador en una red (Internet), y entonces reanudar su ejecución en el nuevo ordenador. Un agente actúa autónomamente en nombre de alguien y es tan inteligente como sea programado.
Procesamiento con dispositivos con capacidad de procesamiento y tamaño pequeños.
2. Plataformas Web LAMP
WAMP
2. Plataformas Web
Servidor Web Apache
1995Modular OpenSourceMulti-plataforma Extensible Popular (fácil conseguir ayuda/soporte) Gratuito
2. Plataformas Web
Septiembre 2007 Apache: 50.48% IIS: 34.94%
2. Plataformas Web
MySql
Multiusuario, Multihilo
Multiplataforma
Código abierto
Licenciamiento Dual
Escrito en C y en C++
BD con50 millones de registros.
BD con 60.000 tablas y cerca de 5.000.000.000.000 de registros.
2. Plataformas Web
Linux
Variante de Unix
Multi....
Libre distribución
Potencia y Seguridad.
Viene con código fuente
2. Plataformas Web
2.1 Sistemas open source Licenciamientos
• licencia propietaria. Uso en una computadora por el pago de un precio. • shareware. Uso limitado en tiempo o capacidades, después pagar un precio. • freeware. Usar y copiar ilimitado, precio es cero. • software libre. Usar, copiar, estudiar, modificar, redistribuir. Código fuente incluído.
•Licencia Pública General GNU (GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos más restrictivos de la propia GNU GPL
• Estilo BSD: Llamadas así porque se utilizan en gran cantidad de software distribuido junto a los sistemas operativos BSD.
• MPL: Netscape Communications - Mozilla
2.1 Sistemas open source
Software Libre`Software Libre'' se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:
•La libertad de usar el programa, con cualquier propósito (libertad 0). •La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto. •La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2). •La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.
2.1 Sistemas open source
Estado de la aplicación de herramientas de desarrollo, lenguajes y bases de datos de código abierto en las empresas:
26% Implementado y en producción12% En pruebas y pilotos de implementación28% Evaluación, seguimiento33% No hay interés
El 81% de las empresas ha instalado o considerado instalar software de código abierto.
CIO Insight Abril 2007
Uso de Software Open Source en las empresas
2.1 Sistemas open source
CMS LMS Mailing lists Forums. Chats Tickets CRM’s
2.1 Sistemas open source
3. WEB SERVICES
La Web es entendida por humanos a través de un browser
3. WEB SERVICES
• Está orientado al desarrollo de aplicaciones distribuidas, en una arquitectura multinivel• Permite la integración de aplicaciones fácilmente.• Desarrollado sobre la estructura actual de Internet HTTP – XML
Pasa por todos los firewalls
Seguridad: HTTPS o XML Sig• Es soportada por todos los proveedores, plataformas y lenguajes• Total independencia del lenguaje
• Es un software (o un pedazo) identificado por un URI, para el cual su interfaz puede ser identificada, descrita y descubierta usando XML, que permite interacción con otros software mediante el intercambio de mensajes XML y utilizando protocolos Internet como: HTTP, SMTP o POP3.
•Es una aplicación que expone una o varias funciones a Internet usando XML
3. WEB SERVICES
Modular: util por si mismo y en diferentes aplicacionesDisponible: en todo momento para quien quiera y pueda usarloAutodescriptivo: contar con su WSDL, que pueda ser entendido por personas y maquinasIndependiente de su implmentaciónPublicable en un repositorio UDDI
EscenariosIntegración de Aplicaciones
Intra EmpresaCRM, ERP, EAI, etc
Inter EmpresaB2B, Supply Chain, etc
Con los clientesCRM, B2C, etc
Flexibilidad en los modelos de negocios. Adaptación
Reducción de costos de desarrollo. Reutilización
3. WEB SERVICES
Elementos
SOAP (Simple Object Access Protocol)
Protocolo XML que permite usar un objeto remoto como si estuviera localmente.
WSDL (Web Services Description Language)
Formato XML que describe un Web Service.
UDDI (Universal Description Discovery and Integration)
Es una forma de publicar y encontrar Web Services
3. WEB SERVICES
SOAP
Sender Sender
MensajeSOAP
MensajeSOAP
La estructura del mensaje XMLLas convenciones para representar el llamado remotoEl enlace con HTTP para el transporte del mensajeLos mensajes de error
comunicación efectiva entre ambientes heterogeneos y con diferentes protocolos de transporte
Que define?
3. WEB SERVICES
Estructura del mensaje SOAP
Header Entry
Header Entry
Header
Body
Envelope
Mensaje HTTP
Attachment
Attachment
Identifica como mensaje SOAP (requerido)
Instrucciones de ProcesoInformación de Contexto(opcional)
Contenido del mensajeInvocación del Servicio y sus parametros(requerido)
Información Adicional (opcional)
3. WEB SERVICES
SOAP Request
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <LocalTimeByZipCode xmlns="http://www.alethea.net/webservices/"> <ZipCode>string</ZipCode> </LocalTimeByZipCode> </soap:Body></soap:Envelope>
Web Service
BodyEnvelope
Parámetro
3. WEB SERVICES
SOAP Response
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <LocalTimeByZipCodeResponse xmlns="http://www.alethea.net/webservices/"> <LocalTimeByZipCodeResult>string</LocalTimeByZipCodeResult> </LocalTimeByZipCodeResponse> </soap:Body></soap:Envelope>
3. WEB SERVICES
ServiceRequestor
ServiceProvider
HTTP ó SMTPó POP3
WSDL - Web Services Description Language
3. WEB SERVICES
XML.
Cual es la interfaz del servicio: métodos, parámetros y valores retornadosQue protocolo utilizaDonde esta localizado el servicio
WSDL Format
MessagesTypes
Abstract Description
Concrete Description
OperationOperationPortTypes
Operation
Ports
Bindings
ServicesDonde esta localizado el servicio
Como será usado el servicio sobreel protocolo de transporteDetalles específicos de SOAP
Cuales serán las funciones soportadaspor este Servicio
Cuales son los mensajes Cuales son los tipos de datos usados
3. WEB SERVICES
UDDI
3. WEB SERVICES
Framework independiente de la plataforma para que las empresas puedan:
Describir y publicar sus servicios
Descubrir otros servicios
Compartir información con otras empresas
Permitir la creación de un registro global y facilitar la interacción B2B utilizando estándares abiertos
UDDI Model
Tmodel
Binding Template
Bussiness Service
BussinessEntity
Nombre de la compañía
Información de contacto
Descripción del negocio
Lista de Web Services ofrecidos
Dirección para la invocación del servicio
Cómo invocarlo. (SOAP)
Puntero a una especificación externa del web Service( WSDL)
3. WEB SERVICES
UDDI API Inquiry API Publishing API
• delete_business• delete_service• delete_binding• delete_tmodel
• find_business• find_service• Find_binding• find_tmodel
• get_businessDetail• get_serviceDetail• get_bindingDetail• get_tmodelDetail
• save_business• save_service• save_binding• save_tmodel
• get_authtoken• discard_authtoken
3. WEB SERVICES
UDDI
Las empresas registran los servicios que ofrecen
UDDI Business Registry
Services Type
Registrations
Business
Registrations
UDDI asigna un identificador único universal (UUID) a cada registro
Comercio consulta el registro buscando servicios y empresas.
Las empresas de software, programadores y registran las descripciones de las diferentes especificaciones de servicios
La empresas usasn estos datos para integrarse con los procesos de otras empresas a través de la web
3. WEB SERVICES
Architecture
3. WEB SERVICES
3. WEB SERVICES
www.xmethods.com http://www.w3.org/TR/ws-arch/
3. WEB SERVICES
4. Tendencias en desarrollo EAI – Enterprise Application
Integration
EAI es la integración de nuevas aplicaciones con las ya existentes, incluyendo las aplicaciones heredadas o los paquetes de software, de forma que todas juntas proporcionen las funcionalidades necesarias para soportar los procesos de negocio de la empresa. Esta integración permite a la organización mantener el ritmo de los cambios del mercado y reaccionar a tiempo frente a ellos.
4. Tendencias en desarrollo
EAI•Incremento de la calidad de las decisiones y reducción del tiempo de reacción. •Incremento de la capacidad y velocidad para adaptarse a los cambios. •Incremento de la capacidad de respuesta ante el mercado con nuevos productos y servicios. •Servicio al cliente y autoservicio mejorados.
•Aumento de la capacidad de desarrollar nuevos productos y servicios. •Incremento del uso de activos críticos. •Incremento de la agilidad y la flexibilidad. •Decremento de los costes de operación.
4. Tendencias en desarrollo
EII Enterprise Information Integration
•Combinación de información de diferentes orígenes de datos.
•Establece una capa intermedia de servicios de datos que hace posible acceder a los datos de una manera estandarizada, en vez de interactuar separadamente con cada una de ellas.
4. Tendencias en desarrollo
EII
4. Tendencias en desarrollo
EII – EAI - ETL
EII ETL EAIInformación actual e integrada
Aplicaciones para soportar toma de decisiones
Hacer que las aplicaciones se comuniquen entre si
No hay migración de datos
Migración de datos a gran escala
Paso de mensajes entre applicaciones
Datos distribuidos a través de toda la empresa
Central de datos
Integración de aplicaciónes punto a punto
4. Tendencias en desarrollo
SOA
4. Tendencias en desarrollo
No son Web Services
No son Servicios Distribuidos
Es un cambio fundamental en la manera de hacer negocios
SOA•SOA es una arquitectura conceptual.•Organiza funciones de negocio como servicios
interoperables. •Permite reutilización de servicios para dar cumplimiento a las necesidades del negocio.•SOA es basado en estándares.•Independencia de fabricantes.
•Es una estrategia de IT, a nivel empresarial.
4. Tendencias en desarrollo
SOAB
usi
ne
ss
log
ic
Applicationa
Applicationc
Applicationb
Ap
plic
atio
nlo
gic
4. Tendencias en desarrollo
Ap
plic
atio
n la
yer
Se
rvic
es
inte
rfa
ce la
yer
Bu
sin
ess
p
roce
ss la
yer
Application-oriented services
Business-oriented services
.NET J2EE Legacy
4. Tendencias en desarrollo
SOA
4. Tendencias en desarrollo
5. Modelos de negocio
Las e-****
e-Business
Mejoramiento del desempeño del negocio a través de el desarrollo de nuevas tecnologías en la cadena de valor para lograr transparencia y visibilidad conectando cadenas de valor entre negocios; y entre negocios y clientes, con el fin de:
• Mejorar el servicio • Reducir costos• Abrir nuevos canales
En consecuencia transformando el ambiente competitivoEs un nuevo modelo de negocios
5. Modelos de negocio
http://espanol.b2bportales.com/index.html
E-Commerce• Mercadeo• Ventas• Compra de
productos y servicios en Internet
5. Modelos de negocio
Topologías de e-Business
5. Modelos de negocio
Proveedores
ClientesEmpresa
B2B B2C
Gobierno
B2G B2E C2C
B2B
Objetivos:Contactos efectivos entre productores y distribuidores Reducción de costos y eficiencia en las transaccionesFortalecimiento de la cadena de valorCompra CorporativaPlaneación de la producciónCreación de valor en cada uno de los procesosAdministración del flujo de trabajo dentro de la compañía
Soluciones a clientes y proveedoresManejo de Sistemas de WarehouseManejo de Sistemas de TransportesPlaneación de compras y pedidosWork flows amigablesManejo eficiente de inventarios con proveedoresIniciativa de Cadena de Valor (VCI)
Ejemplo de CompañíasNautica, Microsoft, Bradesco, Saturn, Cisco, ...
5. Modelos de negocio – B2B
B2B
5. Modelos de negocio
Objetivos:Penetración del MercadoFortalecimiento de la Imagen y marcaConstrucción de las relaciones con los clientes (Marketing one to one)Desarrollo de canales efectivos y de bajo costoServicio al cliente en líneaApoyo comercial
Soluciones a proveedores y clientesPagosEnvío de ProductosSimulaciones del uso de productosTransacciones amigables
Ejemplos de CompañíasGAP, Dell, Exito, Wal Mart, Amazon, Conavi, 1-800 Flowers, Coca Cola, Compaq, IBM, ...
5. Modelos de negocio – B2C
B2C
5. Modelos de negocio – B2C
B2E
6. Modelos de negocio
Aplicar las Tecnologías de la información al interior de las organizaciones y proporcionar todo tipo de servicios a los empleados mediante el uso de la Intranet.
e-learning; descripción, análisis y valoración de puestos de trabajo; comunicación interna, tienda virtual interna, planificación de carreras, evaluación del desempeño, automatización de los procesos de selección,
6. Plataformas de Desarrollo
La plataforma consta de las siguientes partes:
•Un conjunto de lenguajes de programación (C#, J#, JScript, C++ gestionado, Visual Básic.NET, y otros proyectos independientes).
•Un conjunto de herramientas de desarrollo (entre ellos Visual Studio.NET de Microsoft o Monodevelop)
•Una libreria de clases amplia y común para todos los lenguajes.
•Un sistema de ejecucion de Lenguaje Común. (CLR).
•Un conjunto de servidores .NET
•Un conjunto de servicios .NET
•Dispositivos electrónicos con soporte .NET (?)
6. Plataformas de Desarrollo
6. Plataformas de Desarrollo
6. Plataformas de Desarrollo
6. Plataformas de Desarrollo
6. Plataformas de Desarrollo
Java y WS
JWSDP 1.4
Java XML APIsJava API for XML Processing
JAXP 1.2
Java API for XML RPCJAX-RPC 1.1
Java API for XML Messaging
JAXM 1.1
SOAP with AttachmentsAPI for Java SAAJ 1.2
Java API for XML Registries
JAXR 1.0.4Java API for XML Binding
JAXB 1.0
Runtime SupportTomcat web container
JWSDP Registry Server(Xindice XML db)
Apache XercesJWSDP Registry browser
Development Deploy
AntWsdeploy
Wscompilexrpcc
Tutorial
Related APIs
JSPServlets
JSTL
6. Plataformas de Desarrollo
Java y WS
6. Plataformas de Desarrollo
http://ws.apache.org/axis/
Servidor y cliente SOAP
Funciona sobre Tomcat