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
Herencia
Polimorfismo
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 Smart Clients
XML
Standard Browsers
L HTM
Smart Devices
L M X
Logica de Negocios & Servicios Web Servicios del Sistema Operativo
L M X
Servicios Web Públicos
XML
Servicios de Base
XML XM L
Internet abierta Experiencia del usuario protocolos de comunicación más rica y (HTTP, SMTP, XML, SOAP)
Servicios Internos Servidores, Datos, Hosts Aplicaciones disponibles globalmente a
N-tier Interfaz de Aplicacion 1capa
Interfaz de Aplicacion
Negocios 2capa s
Interfaz de Aplicacion
3capa s
Interfaz de Aplicacion
Negocios
Fuente de Datos
interoperabilidad
Fuente de Datos
Bases de datos, Servicios Web, XML
Fuente de Datos
N-tier (1 / 2) Cliente
Base de Datos
1 capa
N-tier Class Library - DLL
Presentation
VB.NET + C#
Presentacion
Class Library - DLL
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
Desarrollo Conectado Interoperabilidad con sistemas construidos en cualquier plataforma o lenguaje
Experiencias Conectadas Información en cualquier momento, en cualquier lugar, en cualquier dispositivo
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 Legados
Sistemas Datos Verticales e 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
Web Service Legacy
Cliente:
Sistemas
El sistema que recibe la información (Excel, ERP) procesa la información apenas la recibe
Uso de los Web Services
Web Services
Client Web Server
L XM
WIN, WEB, MOBILE
Server App L M X WEB, MOBILE
WIN
Database
App Internas