You are on page 1of 17

SEP

SNEST

DGEST

INSTITUTO TECNOLGICO del Istmo

ASIGNATURA: DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUIDOS. UNIDAD 3: DISEO DE APLICACIONES DISTRIBUIDAS

CATEDRATICO: ING. ALEXANDRO ARAGON REYES VERA PRESENTA: DENISS ALEXANDRA MARTINEZ CASTILLO VICTOR ALFONSO TRINIDAD CARRASCO ERIC DE JESUS FELIPE MARTINEZ CLAUDIA IBETH FONSECA SILVESTRE ANAHI SANCHEZ GOMEZ EQUIPO:

#1
ESPECIALIDAD: LICENCIATURA EN INFORMATICA

Contenido
Introduccin ................................................................................................................................. 2 ....................................................................................................................................................... 4 3.1 DISEO E IMPLEMENTACIN DE MANEJO DE DATOS. .................................................... 4 DISEO DE DATOS. ............................................................................................................ 4 QU ES UN SISTEMA DE MANEJO DE DATOS?..................................... 4 HERRAMIENTAS. ............................................................................................. 5 DISEO. .................................................................................................................. 5 IMPLEMENTACIN. ................................................................................................ 5

PRINCIPALES TECNOLOGAS UTILIZADAS PARA EL DISEO E IMPLEMENTACIN DEL MANEJO DE DATOS EN UNA APLICACIN DISTRIBUIDA. ....................................... 7 SUS CARACTERSTICAS SON: ............................................................................... 7 3.2 DISEO DE PROCESAMIENTO DE DATOS. ........................................................................ 8 QU ES EL PROCESAMIENTO DE DATOS? ................................................................. 8 CICLO DE PROCESAMIENTO DE LOS DATOS. .............................................................. 8 PROCESO DE DISEO: ........................................................................................... 9 QU ES LA INTERFAZ DE USUARIO? ................................................................. 10 DISEO DEL INTERFAZ. ....................................................................................... 11 EXISTEN TRES REGLAS DE ORO PARA EL DISEO DE LA INTERFAZ: ............... 11 PASOS PARA EL DISEO DE INTERFAZ. ............................................................. 12 TIPO DE INTERFAZ DE USUARIO I. ....................................................................... 13 TIPOS DE INTERFACES DE USUARIO II: ............................................................... 13 Segn la forma de interactuar del usuario. ............................................................ 13 Segn su construccin pueden ser de hardware o de software: .............................. 14 3.3 DISEO DE INTERFAZ DE USUARIO. ................................................................................ 10

FUNCIONES PRINCIPALES. ......................................................................................... 14 RESUMEN ................................................................................................................................... 15 BIBLIOGRAFA ........................................................................................................................... 16 1

Introduccin
En esta unidad se trataran sobre como disear las aplicaciones distribuidas ya que disearlas conlleva a realizar una serie de pasos para obtener Todo un sistema distribuido que debe estructurarse en una Arquitectura Orientada a Servicios (SOA). Se trataran temas como la implementacin de manejo de datos ya que para disear una aplicacin es de suma importancia saber que datos vamos a utilizar, para ello se debe llevar a cabo la recoleccin de datos primarios que deben ser evaluados debidamente para despus ser analizados por un usuario final y as seleccionar la informacin ms til y necesaria. El diseo del interfaz de usuario en este caso tiene una gran importancia porque es la primera impresin que le da el sistema al usuario final, el sistema le presenta al usuario como interactuar con ella, le comunica la informacin y captura la informacin que el usuario desea darle para que esta en un mnimo de proceso le d una respuesta. En nuestros das el gran avance de la informtica y las comunicaciones, con sus mayores exponentes internet e intranet, y la cada vez ms creciente demanda de la empresa de aplicaciones de calidad que den solucin a sus necesidades, ha hecho que las tcnicas tradicionales de diseo e implementacin de aplicaciones comiencen hacer insuficientes, por lo que un nuevo enfoque de el desarrollo se hace necesario. El trabajo tiene como objetivo principal lograr introducir al desarrollador en las nuevas tcnicas de diseo de aplicaciones distribuidas. el objetivo de l tecnologa de componentes software es construir aplicaciones complejas mediante ensambladores de mdulos, componentes que han hecho previamente diseado por otras personas a fin de ser rehusados mltiples aplicaciones. La ingeniera de programacin que sigue estas estrategias de diseo se le conoce por el acrnimo cbse1 y es actualmente una de las ms prometedoras para incrementar la calidad del software, abreviar los tiempos de acceso al mercado y gestionar el continuo incremento de su complejidad. la arquitectura software de una aplicacin basada en componentes consiste en uno o un nmero pequeo de componentes 2

prefabricados que se ensamblan entre s para proporcionar los servicios que se necesitan en la aplicacin.

El diseo de aplicaciones distribuidas no es una tarea sencilla. Es necesario tomar un gran nmero de decisiones a nivel de arquitectura, diseo e implementacin. Estas decisiones tendrn un impacto en las "capacidades" de la aplicacin (seguridad, escalabilidad, disponibilidad y mantenimiento, entre otras), as como en la arquitectura, el diseo y la implementacin de la infraestructura de destino. Todo el sistema distribuido debe estructurarse en una Arquitectura Orientada a Servicios (SOA), que deber ser robusta ante las inevitables incidencias, que habrn de utilizar personas y que se deber administrar desde una visin unificada lo ms eficiente y econmicamente posible. Todo proceso negocio y unidad de informacin debe presentarse como un servicio. Todo el sistema se construir como integracin de servicios. Y todo lo ya existente (legancy) se integrar tambin como servicios. Y los servicios debern ser transparentes, a la plataforma y a su implementacin, reutilizables y permitir su integracin con otros servicios.

3.1 DISEO E IMPLEMENTACIN DE MANEJO DE DATOS.


DISEO DE DATOS. El diseo de datos consiste en descubrir y la definir completamente de los procesos y caractersticas de los datos de la aplicacin. El diseo de datos es un proceso de perfeccionamiento gradual que abarca desde la cuestin ms elemental, "Qu datos requiere la aplicacin?", hasta los procesos y estructuras de datos precisos que proporcionan dichos datos. Si el diseo de datos es bueno, el acceso a los datos de la aplicacin ser rpido y fcil de mantener, y podr aceptar sin problemas las futuras mejoras de los datos. El proceso de diseo de datos incluye la identificacin de los mismos, la definicin de tipos de datos y mecanismos de almacenamiento concretos, y la tarea de garantizar la integridad de los datos mediante el uso de reglas de empresa y otros mecanismos de exigencia en tiempo de ejecucin.
QU ES UN SISTEMA DE MANEJO DE DATOS?

Son todos los

procedimientos utilizados para la entrada, procesamiento y salida de datos junto con la infraestructura de computadoras en las cuales se realiza este manejo de datos.

HERRAMIENTAS.

Hardware y equipo. Software: Para hacer tareas localmente, para compartir los datos y para guardarlos. Seleccin: Depende del propsito de la base de datos (anlisis, bsquedas, grficas, compartir en el Web). Portabilidad: Habilidad de cambiar el formato de los datos. Red Local de Computadoras (LAN): Para la centralizacin local de la base de datos. Internet: Para que la informacin pueda ser accesada remotamente Web server: Disponibles para varias plataformas: Ejemplo. Corel, Solaris (Unix), MicroSoft NT) Estructura necesaria: Un Web server y equipo de telecomunicaciones Personal necesario: Un Web Master que sepa del manejo de bases de datos

Se decide la arquitectura de la aplicacin y se determina qu componentes son objetos locales y cules deberan ser accesibles remotamente. Este paso incluye: Definir las interfaces remotas. Implementar los objetos remotos. Implementar los clientes.
DISEO.

El diseo del sistema de informacin describe el plan general o el modelo que se propone para ese sistema. Contiene todas las especificaciones que le dan forma y estructura al sistema. Durante la etapa de diseo, el desarrollador debe trasformar los requisitos del sistema en una estructura de alto nivel, identificando sus componentes principales y sus relaciones, tal como las ver el usuario, este diseo se denomina diseo global. El diseo global muestra lo que la solucin har, describe sus entradas y salidas, las funciones de procesamiento, los modelos de datos y controles. Luego de esta etapa se aborda el diseo detallado, que produce las especificaciones reales para el hardware, el software y las bases de datos fsicas. El diseo detallado trasforma un diseo abstracto en un sistema de funciones e interacciones entre personas y mquinas.
IMPLEMENTACIN.

Programacin: lo que sigue en el proceso de desarrollo es traducir las especificaciones de la solucin en un sistema informtico operativo, para ello se traducen las especificaciones del sistema en cdigo de programas. 5

Luego de escritos los programas, es necesario llevar a cabo pruebas para certificar que el sistema produce resultados correctos. Se comienza probando cada programa por separado, luego el funcionamiento del sistema como un todo. Para, por ltimo proponer su instalacin y realizar la ltima prueba, en el escenario de operaciones, por los usuarios. Implantacin: Este proceso es el de instalacin definitiva del software en el escenario en el que ser utilizado. Este proceso, involucra un perodo de conversin del sistema viejo a sistema nuevo. Este proceso de conversin, se puede abordar de diferentes maneras: En paralelo, se utilizan ambos sistemas durante un tiempo hasta que todos estn seguros de que el nuevo funciona correctamente. Directo, se reemplaza el sistema viejo por el nuevo en un da determinado, Prueba piloto, se implanta el sistema en un rea y luego se va hacia las dems, por etapas o simultneamente, Por fases, se introduce por funciones. La adopcin de un diseo distribuido de aplicaciones empresariales, aumenta la reusabilidad, reduce la cantidad de recursos, y los costes necesarios de desarrollo y mantenimiento. Este nuevo enfoque de diseo pone en manos de los desarrolladores no solo la funcionalidad que demandan las aplicaciones, sino tambin la seguridad, rapidez y flexibilidad. El correcto diseo de el sistema de informacin nos permitir desarrollar un eficiente sistema de manejo de datos con las especificaciones necesarias. La implementacin es un punto importante en el desarrollo de nuestro sistema de informacin ya que en este punto es donde se programa y se establece las funciones del sistema. La implantacin debe ser de una forma tal que no afecte a la organizacin.

PRINCIPALES TECNOLOGAS UTILIZADAS PARA EL DISEO E IMPLEMENTACIN DEL MANEJO DE DATOS EN UNA APLICACIN DISTRIBUIDA. En esta etapa es importante conocer las distintas tecnologas para el manejo de datos que nos ofrecen las nuevas herramientas de programacin. (.net) En este aspecto abordaremos la tecnologa .net para la construccin de aplicaciones web. Las bases de datos dimensionales se estn utilizando cada vez ms en la misma medida e que se utilizan las arquitecturas del cliente servidor. Los principales problemas que se generan por el uso de la tecnologa de base de datos son en lo referente la duplicidad de datos y a su integridad al momento de realizar actualizaciones a los mismos. El uso de las BD se incrementara de manera considerable en la medida en que la tecnologa de comunicacin de datos brinde ms facilidades para ello. El uso constante de BD facilitar y soportara en gran medida a los sistemas de informacin para la toma de decisiones. La plataforma .NET no es solo un producto. Es un conjunto de productos desde sistemas operativos como Windows XP, servidores de aplicaciones como SQL Server 2005, productos de oficina como office XP o 2007, herramientas de desarrollo como Visual Studio .NET, hasta servicios web provistos por Microsoft como .NET Passport.
SUS CARACTERSTICAS SON: Permiten acceder a la informacin en el formato apropiado, en cualquier momento y lugar. Hacen uso de servicios web. Proveen de una interfaz sencilla y natural para que el usuario acceda a la informacin. Puede utilizar la identidad del usuario, su perfil y datos para adoptar la informacin que es presentada. Pueden adaptarse a las caractersticas de la red donde estn. Por ejemplo la velocidad de transmisin. Tiene capacidad de procesamiento propio y distribuyen el procesamiento en la red haciendo uso de los servicios web.

El desarrollar software utilizando el paradigma orientado a objetos es una necesidad que se deriva de la creciente complejidad de estos, as como de la cada vez ms habitual arquitectura de software flexible, verstil y distribuido, en el que se combinan todo tipo de tecnologas, y donde la web aparece con ms frecuencia como soporte fundamental.

3.2 DISEO DE PROCESAMIENTO DE DATOS.


QU ES EL PROCESAMIENTO DE DATOS? Es la Tcnica que consiste en la recoleccin de los datos primarios de entrada, que son evaluados y ordenados, para obtener informacin til, que luego sern analizados por el usuario final, para que pueda tomar las decisiones o realizar las acciones que estime conveniente. Procesamiento de datos: El objetivo es graficar el Procesamiento de Datos, elaborando un Diagrama que permita identificar las Entradas, Archivos, Programas y Salidas de cada uno de los Procesos. Su antecedente es el Diagrama de Flujo. Los elementos claves son los Programas. Se confecciona el Diagrama de Procesamiento de Datos Este Diagrama no se podr elaborar por completo desde un primer momento ya que depende del Flujo de Informacin. En este primer paso slo se identifican las Salidas y Programas. Los elementos restantes se identifican en forma genrica.

CICLO DE PROCESAMIENTO DE LOS DATOS. Las etapas para el procesamiento de datos son las siguientes: Es convertir los datos en bruto del instrumento de recoleccin de datos en una forma legible por el computador. Luego podemos hacer uso de los procedimientos computarizados de anlisis de datos para extraer la informacin de los datos. Entrada: Los datos deben ser obtenidos y llevados a un bloque central para ser procesados. Los datos en este caso, denominados de entrada, son clasificados para hacer que el proceso sea fcil y rpido. 8

Proceso: Durante el proceso se ejecutarn las operaciones necesarias para convertir los datos en informacin significativa. Cuando la informacin est completa se ejecutar la operacin de salida, en la que se prepara un informe que servir como base para tomar decisiones. Salida: En todo el procesamiento de datos se plantea como actividad adicional, la administracin de los resultados de salida, que se puede definir como los procesos necesarios para que la informacin til llegue al usuario.

PROCESO DE DISEO:

El proceso de diseo consta de los pasos siguientes:

Determinar la finalidad de la base de datos: Esto le ayudar a estar preparado para los dems pasos. Rena todos los tipos de informacin que desee registrar en la base de datos, como los nombres de productos o los nmeros de pedidos.
Buscar y organizar la informacin necesaria:

Divida los elementos de informacin en entidades o temas principales, como Productos o Pedidos. Cada tema pasar a ser una tabla. 9

Dividir la informacin en tablas:

Decida qu informacin desea almacenar en cada tabla. Cada elemento se convertir en un campo y se mostrar como una columna en la tabla. Por ejemplo, una tabla Empleados podra incluir campos como Apellido y Fecha de contratacin.

Convertir los elementos de informacin en columnas:

Elija la clave principal de cada tabla. La clave principal es una columna que se utiliza para identificar inequvocamente cada fila, como Id. de producto o Id. de pedido.

Especificar claves principales:

Examine cada tabla y decida cmo se relacionan los datos de una tabla con las dems tablas. Agregue campos a las tablas o cree nuevas tablas para clarificar las relaciones segn sea necesario.

Definir relaciones entre las tablas:

Analice el diseo para detectar errores. Cree las tablas y agregue algunos registros con datos de ejemplo. Compruebe si puede obtener los resultados previstos de las tablas. Realice los ajustes necesarios en el diseo.

Ajustar el diseo:

Aplique reglas de normalizacin de los datos para comprobar si las tablas estn estructuradas correctamente. Realice los ajustes necesarios en las tablas.

Aplicar las reglas de normalizacin:

3.3 DISEO DE INTERFAZ DE USUARIO.


QU ES LA INTERFAZ DE USUARIO?

Es el medio con que el usuario puede comunicarse con una mquina, un equipo o una computadora, y comprende todos los puntos de contacto entre el usuario y el equipo. Normalmente suelen ser fciles de entender y fciles de accionar. Las interfaces bsicas de usuario son aquellas que incluyen elementos como mens, ventanas, teclado, ratn, los beeps y algunos otros sonidos que la computadora hace, y en general, todos aquellos canales por los cuales se permite la comunicacin entre el ser humano y la computadora. La mejor interaccin humano-mquina a travs de una adecuada interfaz (Interfaz de Usuario), que le brinde tanto comodidad, como eficiencia. El diseo de la interfaz de usuario requiere el estudio de las personas y el conocimiento tecnolgico adecuado. 10

DISEO DEL INTERFAZ.

El diseo del interfaz se parece mucho al diseo de la informacin, pero su dominio es principalmente la visualizacin de la pantalla y la interactividad con ordenadores y con dispositivos electrnicos. El diseo del interfaz abarca cualquier elemento con el que un usuario vea, toque, escuche o interactu. Hay gente que al hablar del diseo de interfaz se refiere nicamente a la parte visual (pantallas, botones, iconos), pero su alcance va mucho ms all incluyendo tambin los componentes auditivos y, especialmente, la navegacin y la interaccin.
EXISTEN TRES REGLAS DE ORO PARA EL DISEO DE LA INTERFAZ: Dar el control al usuario: Es decir un sistema que reaccione a las necesidades del usuario y que le ayude a hacer las cosas. Reducir la carga en la menora del usuario: Una interfaz de usuario bien diseada no depender de la memoria del usuario. Siempre que sea posible, el sistema debe recordar la informacin pertinente y ayudar al usuario con un escenario de interaccin que le facilite el uso de la memoria.

Lograr que la interfaz sea consistente implica:


Toda la informacin visual este organizada de acuerdo con un estndar de diseo que se mantenga en todas la presentaciones de pantalla. Los mecanismos de entrada se restrinjan a un conjunto limitado que se utilic de manera consistente en toda la aplicacin. Los mecanismos para ir de una tarea a otra se hayan definido e implementado de manera consistente.

11

PASOS PARA EL DISEO DE INTERFAZ. En el proceso de diseo de una interfaz de usuario se pueden distinguir cuatro fases o pasos fundamentales: 1. Reunir y analizar la informacin del usuario: Es decir concretar a travs de tcnicas de requerimentacin, qu tipo de usuarios van a utilizar el programa, qu tareas van a realizar los usuarios y cmo las van a realizar, qu exigen los usuarios del programa, en qu entorno se desenvuelven los usuarios (fsico, social, cultural). 2. Disear la interfaz de usuario: Es importante dedicar tiempo y recursos a esta fase, antes de entrar en la codificacin. En esta fase se definen los objetivos de usabilidad del programa, las tareas del usuario, los objetos y acciones de la interfaz, los iconos, vistas y representaciones visuales de los objetos, los mens de los objetos y ventanas. Todos los elementos visuales se pueden hacer primero a mano y luego refinar con las herramientas adecuadas. 3. Construir la interfaz de usuario: Es interesante realizar un prototipo previo, una primera versin del programa que se realice rpidamente y permita visualizar el producto para poderlo probar antes de codificarlo definitivamente. 4. Validar la interfaz de usuario: Se deben realizar pruebas de usabilidad del producto, a ser posible con los propios usuarios finales del mismo. Es importante, en suma, realizar un diseo que parta del usuario, y no del sistema. El anlisis de la interfaz se concentra en el perfil de los usuarios que interactuaran con el sistema.

12

Proceso de diseo de la interfaz de usuario.


TIPO DE INTERFAZ DE USUARIO I.

Dentro de las Interfaces de Usuario se puede distinguir bsicamente tres tipos:


Una interfaz de hardware, a nivel de los dispositivos utilizados para ingresar, procesar y entregar los datos: teclado, ratn y pantalla visualizadora. Una interfaz de software, destinada a entregar informacin acerca de los procesos y herramientas de control, a travs de lo que el usuario observa habitualmente en la pantalla. Una interfaz de Software-Hardware, que establece un puente entre la mquina y las personas, permite a la mquina entender la instruccin y a el hombre entender el cdigo binario traducido a informacin legible.

TIPOS DE INTERFACES DE USUARIO II:

Segn la forma de interactuar del usuario.


Atendiendo a como el usuario puede interactuar con una interfaz, nos encontramos con varios tipos de interfaces de usuario:

Interfaces alfanumricas (intrpretes de comandos) que solo presentan texto. Interfaces grficas de usuario (GUI, graphic user interfaces), las que permiten comunicarse con el ordenador de una forma muy rpida e intuitiva representando grficamente los elementos de control y medida. Interfaces tctiles, que representan grficamente un "panel de control" en una pantalla sensible que permite interactuar con el dedo de forma similar a si se accionara un control fsico.

13

Segn su construccin pueden ser de hardware o de software:

Interfaces de hardware: Se trata de un conjunto de controles o dispositivos que permiten que el usuario intercambie datos con la mquina, ya sea introducindolos (pulsadores, botones, teclas, reguladores, palancas, manivelas, perillas) o leyndolos (pantallas, diales, medidores, marcadores, instrumentos). Interfaces de software: Son programas o parte de ellos, que permiten expresar nuestros deseos al ordenador o visualizar su respuesta.

FUNCIONES PRINCIPALES. Sus principales funciones son las siguientes:


Puesta en marcha y apagado. Control de las funciones manipulables del equipo. Manipulacin de archivos y directorios. Herramientas de desarrollo de aplicaciones. Comunicacin con otros sistemas. Informacin de estado. Configuracin de la propia interfaz y entorno. Intercambio de datos entre aplicaciones. Control de acceso. Sistema de ayuda interactivo.

14

Debido a que la tarea de realizar una aplicacin distribuida es muy compleja existen ciertas caractersticas a tomar en cuenta en su elaboracin , antes de comenzar se debe enfocar el diseo a una arquitectura orientada a servicio o (SOA), adems tiene que ser robusta puesto que se pondr a prueba en diferentes grados ya sea por el usuario u otros agentes. El proceso de diseo de datos incluye la identificacin de los mismos, la definicin de tipos de datos y mecanismos de almacenamiento concretos, y la tarea de garantizar la integridad de los datos mediante el uso de reglas de empresa y otros mecanismos de exigencia en tiempo de ejecucin. Adems de ellos necesitaremos un sistema de manejo de datos que nos permita manipular la informacin obtenida, con esto se pretende describir el plan general o el modelo que se propone para ese sistema , el siguiente paso seria realizar todo el cdigo informtico para ese sistema de los cual al final pasaramos a la fase de implementacin que no es otra cosa ms que verificar el funcionamiento del sistema primeramente cada uno de sus mdulos por separado y de all en adelante pasaramos a la integracin de todos sus mdulos y su posterior verificacin o implementacin. El diseo de procesamiento de datos no es otra cosa de analizar cmo se realizan las operaciones que debe realizar el sistema es decir analizar sus entradas sus salidas el procesos que se lleva de ntro de cada una de ella, para esta importante labor nos valemos de los diagramas de flujo los cuales nos indicaran el flujo de informacin que sigue el sistema por lo que es importante realizar la recoleccin de informacin de la mejor manera que se pueda para no tener problemas a la hora de graficar y mucho menos a la hora de programar. El proceso de diseo consta de los pasos siguientes:
Determinar la finalidad de la base de datos: Buscar y organizar la informacin necesaria: Dividir la informacin en tablas: Convertir los elementos de informacin en columnas: Especificar claves principales: Definir relaciones entre las tablas: Ajustar el diseo: Aplicar las reglas de normalizacin:

RESUMEN

Y por ltimo sin ser de menos importancia est el diseo de la interfaz del usuario que es el medio con el cual interacta el usuario El diseo de la interfaz de usuario requiere el estudio de las personas y el conocimiento tecnolgico adecuado. Un punto importante es que debemos darle el control al usuario es decir que el sistema reaccione a las necesidades del usuario y el usuario a las necesidades del sistema en resumen para poder disear una aplicacin distribuida se necesita obtener informacin sobre el manejo de datos, el flujo de informacin, necesidades del usuario y las caractersticas que debe tener intrnsecas el sistema o la aplicacin. 15

BIBLIOGRAFA

http://www.buenastareas.com/ensayos/Unidad-3DiseodeAplicacionesDistribuidos-Para/4812179.html http://www.buenastareas.com/ensayos/interfazdeusuario/1735618.html ambientestec.files.wordpress.com/2010/09/equipo6.pptx http://www.buenastareas.com/ensayos/Unidad-manejodedatos Para/4812179.html

ambientestec.files.wordpress.com/2010/09/diseoeimplementaciondedatos.pdf http://www.google.com.mx/#hl=es&output=search&sclient=psyab&q=dise%C3%B1o+e+implementacion+de+manejo+de+datos&oq=dise%C3%B1o+e+ implementacion+de+manejo+de+datos&gs_l=hp.3..0j0i30.1876.12190.0.12453.42.23. 0.19.19.2.2130.8350.2-20j0j1j0j1j91.23.0...0.0...1c.1.thNOWT_PMOk&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.&fp=5471f157 39c30b59&biw=1024&bih=629

16

You might also like