Anda di halaman 1dari 44

Programación

Orientada a Objetos –
OOP

Desarrollo de
Aplicaciones en Capas
Objetivo

Mostrar los conceptos de


programación orientada a objetos
(OOP) y el desarrollo de
aplicaciones en capas (n-tier), sus
ventajas, estructuras y
comunicación
Definición - OOP
Técnica de programación de forma
estructurada con la finalidad de
reaprovechar el código existente e
implementar nuevas clases cuando
es necesario
Pilares de OOP

Abstracción Polimorfismo

Herencia Encapsulamiento
Abstracción

Es la capacidad de generalizar un
objeto como un tipo de dato que posea
un conjunto específico de
características (propiedades) y pueda
ejecutar un grupo de acciones
(métodos)
Abstracción de un
automóvil
Ejemplo en VB.NET
Public Class Carro
Public VelocidaMaxima As Integer
Public NombreDelModelo As String
Public Sub Acelerar()
‘codigo para acelerar
End Sub
Public Sub Parar()
‘codigo para parar
End Sub
End Class
Encapsulamiento
Es la exposición de las propiedades y
métodos de un objeto mientras la
implementación real permanece oculta
del mundo exterior. El objeto es
tratado como una caja negra.
Esto permite que los desarrolladores
creen objetos que puedan ser
alterados sin afectar el código fuente
que los utiliza
Polimorfismo
Es el concepto según el cual objetos
diferentes poseen implementaciones
diferentes de una misma propiedad o
método. Por ejemplo, un helicóptero y
un avión a chorro poseen el método
LevantaVuelo y la propiedad AltitudMax,
sin embargo sus implementaciones son
diferentes
Polimorfismo – VB.NET
Polimorfismo /
Encapsulamiento
No confunda los dos, ya que se uno se
refiere al hecho de que existen
funciones que pueden ser atribuidas a
una clase sin que su implementación
sea conocida, y el otro define que dos
o más clases posean la misma interfaz
Polimorfismo /
Encapsulamiento
Herencia
Es el concepto por el que una clase
puede estar basada en otra
denominada clase base. La herencia
suministra un mecanismo para crear
jerarquías de objetos
Herenci
a
Herencia
Herencia
Alcance de la Clase
Inherits Indica la clase que se heredará
NoInheritable Indica que la clase que utiliza este elemento no puede ser
heredada en ninguna otra clase
MustInherit Indica que la clase que utiliza este elemento solamente puede
ser utilizada por medio de su herencia en otra clase

Alcance de Métodos
Overridable Indica que el método que utiliza este elemento puede ser
NotOverridab sobreescrito
Indica que el método que utiliza este elemento no puede ser
le
MustOverride sobreescrito
Indica que el método que utiliza este elemento solamente puede
ser implementado por medio de la sobreescritura del mismo
Overrides Indica que el método está sobreescribiendo el método de la
clase base
Overload (Sobrecarga)
Es posible emplear un único método
(Function o Sub) para diversas
formas de implementación. Se puede
definir un método con el mismo
nombre para varios tipos de
parámetros de entrada y salida, y le
corresponde al Framework
interpretarlos uno por uno y elegir el
correcto
Overload (Sobrecarga)
Overload (Sobrecarga)
Delegate
Es una funcionalidad poderosa en OOP.
Considerando que los objetos pueden
poseer eventos, el lenguaje debe
proveer una forma elegante para que
un objeto haga uso de métodos de
otros objetos
Delegate
Delegate
N-tier
N-tier
¿En qué consiste esta arquitectura?
¿Cuáles son las ventajas?
¿En qué situaciones se aplica?
N-tier
Las aplicaciones se
vuelven Servicios
Web programables Servicios
M L Web
X Públicos
Smart
XML Logica de
Clients
Negocios XML Servicios de
Base
Standard &
L Servicios XML
Browsers HTM Servicios
Web Internos
Smart Servicios
ML del XM
Devices X L Servidores,
Sistema Datos, Hosts
Operativo
Experiencia del Internet abierta Aplicaciones
usuario protocolos de comunicación disponibles
más rica y (HTTP, SMTP, XML, SOAP) globalmente a
N-tier
Interfaz de Bases de
Negocios Fuente de Datos datos,
Aplicacion Servicios
Web, XML
1- 2- 3-
capa capa capa
s s
Interfaz de Interfaz de Interfaz de
Aplicacion Aplicacion Aplicacion

interoperabilidad
Fuente de Datos Negocios

Fuente de Datos
N-tier (1 / 2)

Cliente

Base
de
Datos

1 capa
N-tier
Class Library - DLL

Presentation
Class Library - DLL
VB.NET +
C#

Presentacion
N-tier

Cliente
Negocios

Base
de
Datos

1 capa 2 capas 3 capas


N-tier

Database
Stored Procedures
¿Qué son?
¿Cuáles son sus ventajas?
Stored Procedures
Stored Procedures
Stored Procedures
Server Application
Servicio único que pone a disposición
una forma estandarizada de acceso a
las funcionalidades del sistema

Ambiente administrado y escalable


para garantizar la atención a los
usuarios

Rutinas complejas de negocio con una


única versión siendo ejecutada,
independiente de los sistemas que la
estuvieran utilizando
Server Application
Ambiente centralizado para la
aplicación de cambios en la lógica de
negocios, que permite un control más
efectivo en relación con la versión y la
seguridad de la información

Facilidad en brindar información a los


servidores web, sacandoles a ellos el
trabajo pesado, y siendo responsable
por la implementación de la lógica de
negocios
Server Application

Cliente
Server App.

Base
de
Datos

1 capa 2 capas 3 capas


¿Qué es un Web
Es una claseService?
desarrollada en .NET para
atender la demanda de aplicaciones /
sitios internos o externos

<WebMethod()> Public Function …


… instrucciones …
End Function
¿Dónde y por qué
emplear Web Services?
Cualquier aplicación puede consumir
un WS disponible en la WEB (agendas,
catálogos, datos bancarios, médicos,
validación de tarjetas, noticias, etc.)

El objetivo es integrar aplicaciones


escribiendo cada vez menos código
(reutilización)
Ventajas de los Web
Services
Negocios Conectados
Agilidad en la conexión a clientes,
socios y funcionarios, a través de
soluciones construidas rápidamente
y a bajos costos Experiencias
Conectadas
Desarrollo Información en
cualquier momento, en
Conectado cualquier lugar, en
Interoperabilidad con cualquier dispositivo
sistemas construidos
en cualquier
plataforma o
lenguaje
Sistemas Conectados
Integración con sistemas legados,
dentro y fuera de la empresa
Recursos de los Web
Services
Seguridad
Garantia de Entrega
Orquestración
Eventos
Transacciones

Sistemas Sistemas Datos Verticales e


Legados Externos Corporativos Infraestructura
Modelo de Web Services
Web Site: HTML Cliente:
El navegador
Exhibe la
información a un
usuario que
reacciona o no
frente a la misma

b Service: XML Cliente:


Sistemas
El sistema que recibe
la información (Excel,
ERP) procesa la
Web información apenas la
Service recibe

Legacy
Uso de los Web
Services
Web Services

Client WIN, WEB, MOBILE

Web Server

L
XM
Server App

L
X M

WEB, MOBILE

WIN

Database
App Internas