![](/sites/default/files/inline/images/1_2.png) ¡Hola a tod@s! Este artículo es una pequeña descripción general de una herramienta que permitirá entender las clases y su estructura, dentro de los productos de InterSystems: desde IRIS hasta Caché, Ensemble y HealthShare. En resumen, con esta herramienta se visualiza una clase o un paquete completo, se muestran las relaciones que existen entre las clases y proporciona toda la información que se encuentra disponible para los desarrolladores y líderes de equipos sin necesidad examinar el código, utilizando el Studio. Si estás aprendiendo a utilizar los productos de InterSystems, o simplemente estás interesado en aprender algo nuevo sobre las soluciones que ofrece la tecnología de InterSystems, ¡eres más que bienvenido a leer la descripción general de ObjectScript Class Explorer!
Caché Class Explorer (version 1.14.3) te permitirá hacer lo siguiente:
Visualizar la jerarquía de los paquetes, un diagrama de clases o el paquete completo,
Editar la apariencia de un diagrama después de visualizarlo,
Guardar la imagen actual de un diagrama de clases,
Guardar la apariencia actual de un diagrama y recuperarla en el futuro,
Realizar búsquedas por cualquier palabra clave que se muestre en un diagrama o árbol de clases,
Utilizar la información sobre las herramientas para obtener todos los detalles de las clases, sus propiedades, métodos, parámetros, consultas y bloques xData,
Visualizar el código de los métodos, consultas o bloques xData,
Activar o desactivar la visualización de cualquiera de los elementos del diagrama, incluidos los iconos gráficos
Nombre de la clase: si posiciona el cursor sobre el nombre de la clase, se podrá saber cuándo fue creada, sus modificaciones, ver los comentarios y todas las palabras clave que se asignaron a la clase. Al hacer doble clic sobre el encabezado de la clase se abrirá su documentación,
Parámetros de la clase: todos los parámetros están asignados por tipo, palabras clave y comentarios. Los parámetros en cursivas, al igual que cualquier otra propiedad, contienen información sobre las herramientas y pueden desplazarse,
Las propiedades de las clases son similares a las de los parámetros,
Métodos: puede hacer clic sobre cualquiera de los métodos para ver su código fuente. La sintaxis de COS se resaltará,
Consultas: son similares a los métodos, al hacer clic sobre ellos, se podrá ver su código fuente,
Bloques xData: estos bloques contienen principalmente datos de tipo XML. Al hacer clic sobre ellos se mostrará el código fuente con formato en el bloque
De manera predeterminada, cada clase se visualiza mediante una serie de iconos gráficos. El significado de cada icono puede determinarse al hacer clic en el botón Help que se encuentra en la esquina superior derecha de la pantalla. Si necesita una notación UML más o menos estricta que se muestra de forma predeterminada, así como la visualización de cualquiera de las secciones de la clase, se puede desactivar desde la sección Configuraciones.
Si un diagrama es muy grande y no resulta familiar, se puede utilizar la función para buscar diagramas rápidamente. Se resaltarán las clases que contengan cualquier parte de la palabra clave introducida. Para avanzar a la siguiente coincidencia, se presiona Enter o se hace clic nuevamente en el botón de búsqueda:
![](/sites/default/files/inline/images/2016-04-01_214521.png) Finalmente, después de hacer todas las ediciones en el diagrama, se eliminarán todas las relaciones innecesarias y los elementos se colocarán en las posiciones correctas para lograr la apariencia deseada, se puede guardar al hacer clic en el botón "Download" que se encuentra en la esquina inferior izquierda: ![](/sites/default/files/inline/images/2016-04-01_214940.png) Cuando actives el botón del pin ![](/sites/default/files/inline/images/2017-01-03_174628.png), se guardará la posición de los elementos que se encuentren en el diagrama del conjunto (o de un paquete) de clases actual. Por ejemplo, si selecciona las clases A y B, y después guarda la visualización con el botón del pin, verá exactamente la misma visualización cuando seleccione las clases A y B nuevamente, incluso después de reiniciar el navegador o el equipo. Pero si solamente selecciona la clase A, el diseño será el predeterminado.Descargar el archivo con la última versión de Caché Class Explorer,
Descomprimir el archivo XML llamado Cache/CacheClassExplorer-vX.X.X.xml,
Importar el paquete en cualquier namespace mediante alguna de las siguientes formas:
Simplemente arrastrando el archivo XML hacia el Studio,
Utilizando el Portal de administración del sistema: Explorador del sistema -> Clases -> Importar, y especifique la ruta hacia el archivo local,
Utilizando el comando del terminal: do ##class(%Installer.Installer).InstallFromCommandLine(“Path/Installer.cls.xml”),
Consultar el registro de importación, si todo se realizó correctamente, se podrá abrir la aplicación web en http://hostname/ClassExplorer/. Si algo salió mal, revisar lo siguiente:
Si se tienen los permisos correctos para importar clases hacia este namespace,
Si el usuario de la aplicación web tiene suficientes privilegios para acceder a diferentes namespaces,
Si aparece el error 404, comprobar si agregó una "/" barra al final de la URL.
[Captura de pantalla 1] Paquete DSVRDemo, desplazamiento del cursor sobre el nombre de la clase.
![](/sites/default/files/inline/images/4.png)[Captura de pantalla 2] Paquete DataMining, búsqueda de la palabra clave "TreeInput" en el diagrama.
![](/sites/default/files/inline/images/5.png)[Captura de pantalla 3] Visualización del código del método en la clase JavaDemo.JavaListSample.
![](/sites/default/files/inline/images/6.png)[Captura de pantalla 4] Visualización del contenido del bloque XData en la clase ClassExplorer.Router.
Probad cómo funciona Class Explorer en el namespace estándar SAMPLES: demostración. Y aquí se muestra una evaluación en video del proyecto.
Cualquier observación, sugerencia o comentario es bienvenido; podéis dejarlo aquí o en la sección [Repositorio de GitHub](https://github.com/intersystems-ru/UMLExplorer). ¡Espero que os resulte útil!