{"id":62,"date":"2011-12-23T15:55:08","date_gmt":"2011-12-23T14:55:08","guid":{"rendered":"http:\/\/dev.qualilogy.com\/es\/?p=62"},"modified":"2013-01-04T15:55:45","modified_gmt":"2013-01-04T14:55:45","slug":"sonar-primer-analisis","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/sonar-primer-analisis\/","title":{"rendered":"Sonar &#8211; Primer an\u00e1lisis"},"content":{"rendered":"<p>Hemos visto anteriormente c\u00f3mo <a title=\"Sonar - Installation\" href=\"http:\/\/qualilogy.com\/es\/sonar-instalacion\" target=\"_blank\">instalar Sonar y el Java Runner<\/a>. Esto nos permite realizar an\u00e1lisis sin necesidad de utilizar herramientas como Ant o Maven.<\/p>\n<p>En este post vamos a ver c\u00f3mo hacer un primer an\u00e1lisis de c\u00f3digo Cobol Mainframe.<\/p>\n<p><!--more--><\/p>\n<p>Recordemos que:<\/p>\n<ul>\n<li>El archivo <strong>sonar-runner.properties<\/strong> se dedica a la conexi\u00f3n a Sonar y a nuestra base de datos.<\/li>\n<li>El archivo <strong>sonar-runner.ba<\/strong>t nos permite lanzar un an\u00e1lisis.<\/li>\n<\/ul>\n<h3><span style=\"text-decoration: underline;\">Entorno de an\u00e1lisis<\/span><\/h3>\n<p>Cuando se instala un servidor de an\u00e1lisis de c\u00f3digo, es importante diferenciar bien entre los diferentes espacios seg\u00fan su finalidad:<\/p>\n<ul>\n<li>El espacio dedicado a los diferentes softwares y sus diferentes versiones: Oracle, Java, Tomcat, Sonar, etc.<\/li>\n<li>El espacio dedicado a la entrega y la instalaci\u00f3n del c\u00f3digo fuente que analizar.<\/li>\n<li>El espacio dedicado a la implementaci\u00f3n de los an\u00e1lisis: configuraci\u00f3n, backups, personalizaci\u00f3n, creaci\u00f3n de informes, extracci\u00f3n de datos, documentaci\u00f3n de los an\u00e1lisis (\u00fatil cuando se multiplican o cuando se debe volver a un an\u00e1lisis antiguo o cuando nuestro servidor de an\u00e1lisis es utilizado por diferentes operadores), etc.<\/li>\n<\/ul>\n<p>Sonar nos permite especificar este espacio en el <strong>sonar-runner.bat<\/strong>, con la variable <strong>PROJECT_HOME<\/strong>. Vamos pues a buscar en este fichero la l\u00ednea siguiente:<\/p>\n<p style=\"padding-left: 30px;\"><strong>SET PROJECT_HOME =% CD%<\/strong><\/p>\n<p>y modificarla para especificar un subdirectorio <strong>\\Projects<\/strong> en el cual vamos a colocar los archivos de configuraci\u00f3n de nuestro an\u00e1lisis. En realidad, no localizar\u00eda este espacio bajo el Java Runner, es s\u00f3lo para fines de demostraci\u00f3n.<\/p>\n<p>Modifiqu\u00e9 el archivo sonar-runner.bat para insertar las 3 l\u00edneas siguientes:<\/p>\n<ul>\n<li>Ense\u00f1ar el directorio del Java Runner <strong>SONAR_RUNNER_HOME:<\/strong><\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\"><strong>echo \u00abSONAR_RUNNER_HOME = %SONAR_RUNNER_HOME%\u00bb<\/strong><\/p>\n<ul>\n<li>Especificar el directorio de an\u00e1lisis <strong>PROJECT_HOME<\/strong> en la carpeta <strong>\\Projets<\/strong> y ense\u00f1ar esta variable:<\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\"><strong>set PROJECT_HOME=%SONAR_RUNNER_HOME%\\Projects<\/strong><br \/>\n<strong>echo \u00abPROJECT_HOME = %PROJECT_HOME%\u00bb<\/strong><\/p>\n<h3><span style=\"text-decoration: underline;\">Configuraci\u00f3n de nuestro primer an\u00e1lisis<\/span><\/h3>\n<p>Con el fin de efectuar un an\u00e1lisis, el Java Runner se basa en el fichero <strong>sonar-project.properties<\/strong> que se encuentra en nuestro entorno de an\u00e1lisis. El objetivo es analizar algunos programas Cobol localizados en un repertorio C:\\SRC\\Mainframe.<\/p>\n<p>Sin entrar en el detalle de los par\u00e1metros para un an\u00e1lisis de c\u00f3digo mainframe, vamos a crear nuestro fichero <strong>sonar-project.properties<\/strong> con los atributos siguientes:<\/p>\n<ul>\n<li>En primer lugar, los datos obligatorios: un nombre \/ una llave para esta aplicaci\u00f3n, objeto de nuestro primer an\u00e1lisis, as\u00ed como un n\u00famero de versi\u00f3n:<\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\"># required metadata<br \/>\n<strong>sonar.projectKey=CBL_1<\/strong><br \/>\n<strong>sonar.projectName=Cobol 1st Analysis<\/strong><br \/>\n<strong>sonar.projectVersion=1.0<\/strong><\/p>\n<ul>\n<li>Y, por supuesto, la ubicaci\u00f3n de los archivos que analizar:<\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\"><strong>sources=C:\/SRC\/Mainframe<\/strong><\/p>\n<ul>\n<li>\u00daltimo par\u00e1metro: el lenguaje de programaci\u00f3n para esta aplicaci\u00f3n:<\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\">#The value of the property must be the key of the language.<br \/>\n<strong>sonar.language=cobol<\/strong><\/p>\n<h3><span style=\"text-decoration: underline;\">Ejecuci\u00f3n de nuestro primer an\u00e1lisis<\/span><\/h3>\n<p>En una ventana de comandos DOS, estamos lanzando el archivo <strong>sonar-runner.bat<\/strong>:<\/p>\n<ul>\n<li>Vemos las 2 variables que designan el directorio del Java Runner y del espacio de an\u00e1lisis: <a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/JavaRunnerDos1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-490\" title=\"JavaRunnerDos1\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/JavaRunnerDos1.jpg\" alt=\"\" width=\"649\" height=\"152\" \/><\/a>Con el directorio del c\u00f3digo fuente:<a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/JavaRunnerDos21.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-493\" title=\"JavaRunnerDos2\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/JavaRunnerDos21.jpg\" alt=\"\" width=\"650\" height=\"51\" \/><\/a><\/li>\n<\/ul>\n<ul>\n<li>Y cualquier error que se puede encontrar, como aqui una cadena incorrecta de car\u00e1cteres:<a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/JavaRunnerDos3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-495\" title=\"JavaRunnerDos3\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/JavaRunnerDos3.jpg\" alt=\"\" width=\"650\" height=\"80\" \/><\/a><\/li>\n<li>Afortunadamente, un error de sintaxis en el c\u00f3digo Cobol no va a detener Sonar, y nuestro an\u00e1lisis se acaba pronto con el mensaje &#8216;Analysis Successful&#8217;: <a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/JavaRunnerDos4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-497\" title=\"JavaRunnerDos4\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/JavaRunnerDos4.jpg\" alt=\"\" width=\"649\" height=\"52\" \/><\/a><\/li>\n<\/ul>\n<p>Podemos ahora consultar el portal Sonar y ver los resultados de nuestro primer an\u00e1lisis:<a href=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/Sonar1stAnalysisResult1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-498\" title=\"Sonar1stAnalysisResult1\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/12\/Sonar1stAnalysisResult1.jpg\" alt=\"\" width=\"889\" height=\"200\" \/><\/a><\/p>\n<p>Pudimos llevar a cabo este primer an\u00e1lisis de modo muy simple, configurando algunos par\u00e1metros requeridos en el fichero <strong>sonar-project.properties<\/strong>, sin necesidad de administrar ficheros xml de Maven a la sintaxis a veces larga y compleja.<\/p>\n<p>Sin embargo, el m\u00e9todo descrito aqu\u00ed presenta dos inconvenientes:<\/p>\n<ul>\n<li>El Java Runner trabaja \u00fanicamente con un fichero <strong>sonar-project.properties<\/strong>. Renombre \u00e9ste en el espacio de an\u00e1lisis y Java Runner no podr\u00e1 funcionar correctamente. Hay que modificar este fichero cada vez que se efectuar\u00e1 un nuevo an\u00e1lisis diferente.<\/li>\n<li>Consultar los errores en la ventana DOS no es de lo m\u00e1s f\u00e1cil de usar, sobre todo para an\u00e1lisis bastante largos y\\o que encuentran muchos errores.<\/li>\n<\/ul>\n<p>Vamos a ver en nuestro <a title=\"Jenkins - Instalation\" href=\"http:\/\/qualilogy.com\/es\/jenkins-instalacion\">pr\u00f3ximo post<\/a> c\u00f3mo solucionar esto, gracias a nuestro amigo Jenkins.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hemos visto anteriormente c\u00f3mo instalar Sonar y el Java Runner. Esto nos permite realizar an\u00e1lisis sin necesidad de utilizar herramientas como Ant o Maven. En este post vamos a ver c\u00f3mo hacer un primer an\u00e1lisis de c\u00f3digo Cobol Mainframe.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-62","post","type-post","status-publish","format-standard","hentry","category-sonar-instalacion"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/62"}],"collection":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/comments?post=62"}],"version-history":[{"count":1,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/62\/revisions"}],"predecessor-version":[{"id":63,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/62\/revisions\/63"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=62"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=62"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=62"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}