manual estandares de programacion cne

12
Subdirección de Sistemas y Tecnología SDST San Salvador, 20 de Agosto de 2012 CONSEJO NACIONAL DE ENERGÍA MANUAL DE ESTÁNDARES DE PROGRAMACIÓN

Upload: others

Post on 20-Nov-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manual Estandares de Programacion CNE

Subdirección de Sistemas y Tecnología SDST

SanSalvador,20deAgostode2012

CONSEJONACIONALDEENERGÍA

MANUALDEESTÁNDARESDEPROGRAMACIÓN

Page 2: Manual Estandares de Programacion CNE
Page 3: Manual Estandares de Programacion CNE

3

CONTENIDO

OBJETIVO __________________________________________________________________ 4 

ALCANCE __________________________________________________________________ 4 

RESPONSABLE ______________________________________________________________ 4 

PROPÓSITO ________________________________________________________________ 4 

ESTÁNDARES DE PROGRAMACIÓN  _____________________________________________ 5 

PLATAFORMAS __________________________________________________________________  5 

RESPALDO DE ARCHIVOS __________________________________________________________  5 

RESPALDO DE DATOS Y APLICACIÓN  ________________________________________________  5 

RECEPCIÓN O DESCARGA DE DATOS EN FORMA REMOTA _______________________________  5 

ACCESO A BASE DE DATOS  ________________________________________________________  5 

MONITOREO DE LA BASE DE DATOS _________________________________________________  5 

NOMBRES DE OBJETOS ___________________________________________________________  6 

NOMBRE DE FUNCIONES Y PROCEDIMIENTOS _________________________________________  6 

ESTRUCTURA DE CÓDIGO FUENTE  __________________________________________________  6 

ESTRUCTURA DE DIAGRAMA ESTRELLA Y CUBO  _______________________________________  7 

ESTÁNDAR DE TRABAJO ANÁLISIS MULTIDIMENSIONAL  ________________________________  8 

ESTÁNDAR DE TRABAJO DISEÑADOR DE DASHBOARDS _________________________________  9 

ESTÁNDAR DE TRABAJO DISEÑADOR DE CUBOS ______________________________________  10 

CREACIÓN DE ROLES Y USUARIOS __________________________________________________  11 

MANEJO DE EXCEPCIONES ________________________________________________________  12 

Page 4: Manual Estandares de Programacion CNE

4

ESTÁNDARES DE PROGRAMACIÓN SUBDIRECCIÓN DE SISTEMAS Y TECNOLOGÍA

1. Objetivo

Relaciona los estándares de los sistemas de información de apoyo a la gestión técnica yoperativadelConsejoNacionaldeEnergía.

2. Alcance

Estosestándaresestándirigidosacualquierárea técnicade laSubdireccióndeSistemasyTecnología,relacionadaconlossistemasdeinformación.

3. Responsable

SubdireccióndeSistemasyTecnología

4. Propósito

Elpropósitode laSubdireccióndeSistemasyTecnologíaalpresentarestosestándaresesestablecerun conjuntodeplataformas y esquemasque el CNE soportará como elementosbaseparaeldesarrolloyoperacióndelossistemasdeinformación.

5. EstándaresdeProgramación

a) Plataformas Plataforma:webcentralizada SistemaOperativo:LinuxdistribuciónUbuntuoDebian Motores de base de datos: MySql, Oracle express edition versión 10g, cliente

oraClient11g Arquitecturaparasistemasweb:J2EE Herramientasdedesarrollo:PentahoOpenSourcever.4,CommunityDashboard

Editor(CDE),SaikuAnalytics ServidordeAplicaciones:Apache‐Tomcat‐6.0Java(TM)2ver.1.6.0_24 Herramientadeadministracióndebasededatos:OracleSqlDeveloperver.1.5.5,

OracleSQLPlus Lenguajedeprogramación:PL/SQLparaOracle

b) Backup

Sedebengenerarbackupslógicosfullexportperiódicosdecadaunadelasbasesdedatos de producción en su respectivo filesystem bajo el directorio/opt/respaldos/ddmmyy_FullExport.DMP

Page 5: Manual Estandares de Programacion CNE

5

c) Respaldo Los backups lógicos de las bases de datos quedan en el disco duro del

servidordestinadoparalabasededatodeproducción. Losbackupsde la aplicaciónPentahoquedanen el discodurodel servidor

destinadoparalosaplicativosdeproducción.

d) Recepciónodescargadebasededatos(víaremota)

Todos los días se descarga información vía remota por lo tanto se deben revisardiariamenteloslogsdedescargasparacomprobarqueladescargafuesatisfactoria.

e) AccesoaBasedeDatos Solamente los usuarios administradores (SYS y SYSTEM) y propietarios de

objetos de las bases de datos de producción deben poseer contraseña deaccesoalabasededatosrespectiva.

SedebellevarcontroldelaconexiónalabasededatosporlosusuariosSYSySYSTEM.

f) MonitoreodelasBD

Sedebeefectuarmonitoreoenlasbasesdedatos,mínimoenlossiguientesaspectos:

Disponibilidad Crecimiento(Espaciolibredisponible) Monitoreo de tráfico en la red y balanceo de “querys” para no causar

saturaciónenlabasededatosorigen.

g) Nombresdeobjetosdebasededatos

Elestándarparalacreacióndeobjetosenlabasededatoseselsiguiente:

Nombredelesquemadebasededatos:nombre_esquema_direccion_CNE Nombredetablasdehechosométricas:DWH_nombre_de_tabla Nombredetablasdedimensión:DWD_nombre_de_tabla Nombredecolumnafecha:idperiodotipodedatonumber Nombredecolumnahora:horatipodedatovarchar2(2byte)

6. NombredeFuncionesyProcedimientos

A continuación sedescriben losprocesosde extracción, transformacióny cargautilizadosparaeldesarrollodesistemas,asícomotambiénprocesosprogramados.

Page 6: Manual Estandares de Programacion CNE

6

El estándar de los procesos de transformación es el siguiente:

TR_nombre_proceso.ktr El estándar de los procesos programados o Jobs es el siguiente:

JOB_nombre_proceso_programado.kjb Creación de DataSource de base de datos: nombre_origen_base_datos,

nombre_destino_base_datos

7. EstructuradeCódigoFuente

a) Selectconperiododeselecciónytipodetransacciónconcastingaformatodate

select campo1,campo2,campo3,… from nombre_tabla where tipo_transaccion='X' and fecha BETWEEN to_date('20120101','yyyymmdd') AND to_date('20120102','yyyymmdd')

b) Selectconsumade2omascolumnas,castinganumber/charenfecha/horayordenadoporfechadescendente

SELECT to_number(to_char(fecha,'yyyymmdd')) as idperiodo ,SUBSTR(TO_CHAR(HORA,'00'),2,2) AS HORA, ,Campo1 ,Campo2 ,Campo3 ,(NVL(campo1,0.0)+NVL(campo2,0.0)+NVL(campo3,0.0)) AS TOTAL FROM nombre_tabla order by fecha desc

c) Selectconsuma,resta,multiplicaciónydivisión

select (campo1+campo2) as suma,(campo3-campo4) as resta,(campo5*campo6) as multiplica,(campo7/campo8) as divide from nombre_tabla

d) SelectredondeoaXcifrasycase/elseparaclasificacióndecamposorangos

select round(campo1,X) as campo1, case WHEN campo1 between 0 and 10 then 1 WHEN campo1 between 10 and 20 then 2

WHEN campo1 between 30 and 40 then 3

else 0 end "RANGO"

from nombre_tabla

e) Selectuniónde2omastablasysumaenunamismacolumnaconseleccióndecadena

Page 7: Manual Estandares de Programacion CNE

7

select a.campo1, a.campo2,a.campo3,a.campo_total, SUM(CASE WHEN d.PM = 'd01' or d.PM = 'd02' or d.PM = 'd03' or d.PM = 'd04' or d.PM = 'd05' or d.PM = 'd06' or d.PM = 'd07' or d.PM = 'd08' THEN d.campoX ELSE 0 END) TOTAL, …campoN,…campoN+1 from nombre_tabla1 a, nombre_tabla2 d, …nombre_tablaN n,… nombre_tablaN+1 n+1 where a.campo1= d.campo1

and a.campo2= d.campo2 …

and n.campoN= n+1.campoN+1

8. Estructuradeundiagramaestrellaycubo

DiagramaEstrella: Uno de los tipos de consultasmás usadas en las OLAP es la llamadaEstrella.Sunombreloadquieredebidoaquesuimplementaciónenunambienterelacional(MOLAP Multidimentional Online Analitical Processing) está dado por varias tablas quealmacenanlasjerarquíasdimensionalesyunatablaquecontieneelhechoconunarelación1:mconestastablasdedimensiones.Ejemplo:

ComopodemosverenlafiguralastablasdedimensionesestánligadasalatablaHecho,porrelaciones.LaintegridadreferencialesllevadaacaboporlacreacióndellavesforáneasenlatablaHecho,queasuvesformanpartedelallaveprincipaldelaestatabla.Esimportantedestacarquelasjerarquíascompletassonguardadasenunasolatabladimensión.Esteeselformatononormalizado,existeotroformatoqueintentanormalizarestastablasdimensión.

Page 8: Manual Estandares de Programacion CNE

8

Cubosdedatos:SonunconjuntoformadoportodaslastablasDimensiónylatablaHechoquealfinaldanunavistaenformadeCubocuyasceldasestáncompuestasporlasmedidasdelatablaHecho.EstaeslabasedelasaplicacionesOLAP.Elcubodedatosesloquehaceque los reportes sean obtenidos con unbajo tiempode respuesta y que el análisis de losdatospuedasertandiverso,puescadacaradelcuboserefiereaunanálisisdistintodelasmedidasalmacenadas.Ejemplo:

9. EstándardetrabajoconSaikuAnalytics

Elestándardelosarchivosacrearseráelsiguienteparalosanálisis:

Nombre_analisis.saiku

Sedescriben lospasosa seguir conSaikuanalyticsparaelmanejoy creaciónde reportesADHOC:

a) SeleccionarelcubodeanálisispublicadoconelcomboBox

b) Seleccionar el periodo de tiempo del panel Dimensiones, el cual puede ser: anual,

mensual,trimestral,semanal,diarioyhorario,luegoarrastrarelcamposeleccionado

yaseaaláreadecolumnas,filasofiltrosegúnconvenga.

c) Seleccionar el campo base del panel Dimensiones, el cual puede ser: subestación,

producto,participantedemercado,etc.;luegoarrastrarelcamposeleccionadoyasea

aláreadecolumnas,filasofiltrosegúnconvenga.

d) Seleccionar el campo de la medición del panel Medidas, el cual puede ser: MWh,

GWh,MWhEXP,GWhEXP,etc.;luegoarrastrarelcamposeleccionadoyaseaalárea

decolumnas,filasofiltrosegúnconvenga.

Page 9: Manual Estandares de Programacion CNE

9

e) Finalmente aparecerá la información desplegada en el área de trabajo, a

continuaciónmostramoslafiguradelodescritoanteriormente:

EstándardetrabajoconCommunityDashboardEditor(CDE)

El estándar de los archivos a crear será el siguiente una letra del alfabeto para un ordencorrelativodelostableros:

A_nombre_tablero.wcdf, A_nombre_tablero.cda y A_nombre_tablero_tmp.cda; los 2ultimosarchivossecreanautomáticamentealcrearelprimero.

Se describen los pasos a seguir con CommunityDashboardEditor(CDE) para elmanejo ycreacióndeDashboardoTablerosdeControl.

a) Seleccionamosel“Layout” autilizarparaeldiseñodelDashboardconelbotónde

ApplyTemplate.

b) Crear el “DataSource” del Dashboard seleccionando el tipo de Querie y

configuramos las siguientes propiedades: Nombre, Esquema Mondrian al que

apunta,JNDIyquerryoconsultaagraficar(MDX,SQL,scripting,MQL,etc)

a

b

c)

d

e

Page 10: Manual Estandares de Programacion CNE

10

c) Creamosel“Component”esdecireltipodegraficoquequeremosmostrarparaello

utilizamos el panel de Chart y seleccionamos CCC Pie Chart, CCC Line Chart, etc.;

luegoconfiguramos laspropiedadessiguientes:Nombre,Ancho,Largo,Datasource,

Titulo yHtmlObject es decir el panel donde queremosmostrar el grafico según el

layoutelegidoenelliterala)

d) Probamos que la configuración del tablero de control o Dashboard funcione

correctamente presionando el botón de “Preview”, a continuación mostramos la

figuradelodescritoanteriormente:

10. EstándardetrabajoconPentahoSchemaWorkBench

LaherramientaPentahoSchemaWorkBenchnospermitediseñar, construir ypublicaruncubodedatosatravésdeunaconexiónpermanentealabasedatoscreandounesquemaenformatoXML,elestándarparaelarchivoeselsiguiente:

Nombre_esquema_workbench.xml

SedescribenlospasosaseguirconPentahoSchemaWorkBenchparaeldiseño,construcciónypublicacióndeuncubo.

a) EnelmenúFile/New/Schemacreamosunnuevoesquemayledamosunnombre.b) EnelmenúOptions/Connectionconfiguramoslaconexióndelabasededatos.

a c) b d

Page 11: Manual Estandares de Programacion CNE

11

c) LuegodecreadoelEsquemaagregamoselcuboconclickderechosobre“Schema”ylaopción“AddCube”yledamosunnombrealcubo.

d) Luegodecreadoelcuboagregamosdimensionesymetricasconclickderechosobreelcuboylasopciones“Adddimension”y“Addmeasure”respectivamente.

e) Luego de creada la dimensión agregamos jerarquía con click derecho sobre ladimensiónylaopción“Addhierarchy”

f) Luegodecreadalajerarquíaagregamoselnivelconclickderechosobrelajerarquíaylaopción“Addlevel”

g) DespuésdediseñarelcuboahoraprocedemosapublicarloconelmenúFile/Publish.

11. CreacióndeRolesyUsuarios

TodoslosrolesyusuariosparaelaccesoalossistemasdeinformaciónseránatendidospormediodelaPolíticadeServicios“SST_ser007”descritaenestemismodocumento.Lanomenclaturaparacrearusuarioypasswordserálasiguiente:

a

g

f)

b

e

c)

d

Page 12: Manual Estandares de Programacion CNE

12

a) Usuario:primerletradelprimernombre+primerapellido(ej.cramos)

b) Passwordocontraseña:primerletradelprimernombre+primerapellido+cne(ej.

cramoscne)

12. Excepciones

LasexcepcionesestarándeterminadasporlaSubdireccióndeSistemasyTecnología.

Responsable de su implantación SST

Periodo sugerido de revisión Diariamente

Responsables de su cumplimiento Usuarios/SST

Evidencia de control Cuadre de datos a la fecha y hora con bases de datos

externas.