Subscribe Us

miércoles, 2 de noviembre de 2022

Gestión de servicios ITIL

La gestión de niveles de servicio es la encargada de definir, negociar y supervisar la calidad de los servicios TI ofrecidos. La gestión de niveles de servicios es la responsable de buscar un compromiso realista entre las necesidades y expectativas del cliente y los costes de los servicios asociados, de forma que estos sean asumibles tanto para el cliente como para la organización TI.


Importancia de la Gestión de Serviciios TI

Las empresas requieren de un modelo de gestión tecnológica flexible, ágil y confiable, que les permitan a los sistemas informáticos de su empresa y los activos de software, estar siempre disponibles, accesibles y, sobre todo, seguros.

  • Servicios de mesa de ayuda: En caso de que el cliente no lo tenga, se podría incluir herramientas avanzadas para la gestión de solicitudes, que cuente con indicadores que permitan tener claridad sobre la cantidad de necesidades que se atienden, los tiempos de atención y la satisfacción del cliente, procesos ITIL y Pool de Recursos dedicados exclusivamente a la atención inmediata de interacciones con el área de TI. 
  • Servicios gestionados TI (MSP): Está enfocado en la gestión presencial o remota de la infraestructura de data center y comunicaciones de una empresa, siendo la forma más usual de contratación un modelo de pago fijo mensual, basado en el alcance de los activos a gestionar y las actividades necesarias para que las infraestructuras TI que soportan la mayor parte de los procesos de negocio de la empresa estén siempre operativas. 
  • Soporte fijo o bajo demanda: Es personal especializado para ejecutar configuraciones, afinamientos, mantenimientos o soportes, bajo un alcance definido previamente. Este tipo de servicio usualmente se contrata bajo una bolsa de horas. 





Enfoques metodológicos para la gestión de servicios

Cuando miles de empresas y organizaciones en cientos de países se encuentran con los mismos problemas en la gestión de sus los Proyectos Informáticos y en general con la gestión de las Tecnologías de la Información, uno se pregunta si no existirán soluciones ya probada y suficientemente extendida como para que no tengamos que “inventarnos” nosotros una solución desde cero.

Existen buenas prácticas y estándares para la Gestión de Proyectos, Gestión de los Servicios y en general para la Gestión de los Departamentos de TI. La mala noticia es que no hay un solo estándar, hay prácticamente cientos.




Conceptos clave de la gestión de servicios 

La Biblioteca de Infraestructura de Tecnologías de Información cuenta con un ciclo de vida, el cual está dividido en cinco etapas:

1. Estrategia del servicio. Las estrategias de TI deben estar alineadas con las expectativas del negocio.

2. Diseño del servicio. Los costos, funcionalidades y desempeños de los servicios de TI deben estar diseñados para cumplir los objetivos de la compañía.

3. Transición del servicio. Asegurar que los servicios de TI, nuevos y modificados, cumplan con las necesidades de la organización. Además, estos deben estar gestionados y controlados eficientemente, logrando el cambio de forma rápida y sin generar costos extras.

4. Operación del servicio. Asegurar que los servicios de TI sean operados de forma segura y confiable.

5. Mejora continua del servicio. Está centrada en mejorar la calidad, eficiencia y efectividad de los servicios de TI.


Para lograr las mejores prácticas en la gestión de servicios de TI, es necesario aplicar algunos principios claves. Entre los más destacados están los siguientes:


1. Identificar y enfatizar el esfuerzo en las actividades que proporcionan un mayor valor al cliente.

2. Definir y medir las métricas relevantes que ayudarán a las organizaciones a tomar las mejores decisiones.

3. Mejorar la eficiencia mediante la automatización de las tareas habituales.

4. Determinar oportunidades de alineamiento con el negocio mediante la identificación y el entendimiento de la cadena de valor.

5. Influir en la cultura de la empresa para apoyar las actividades de mejora continua.

6. Mejorar la comunicación mediante la utilización de un lenguaje común.

7. Reducir costes a través de la centralización de actividades, equipos y la utilización de procesos con una definición clara de su propósito y uso.

8. Una visión clara de las responsabilidades de los procesos y los resultados esperados.

9. Generar confianza dentro de la compañía mediante la comprensión y alineamiento con las metas, objetivos e incentivos de los interesados.

10. Demostrar la orientación al negocio mediante la adopción clara de un enfoque centrado en el cliente en los servicios prestados.

11. Unir los equipos y procesos mediante el entendimiento de las interdependencias y su impacto.


Modelo ITIL

Es un conjunto de conceptos y mejores prácticas referentes a la gestión de servicios de tecnologías de la información, y describe detalladamente un extenso conjunto de funciones y procesos ideados para ayudar a las organizaciones a lograr calidad y eficiencia en las operaciones de TI.

ITIL4 va a permitir a los profesionales de TI apoyar a su organización en su camino hacia la transformación digital. No es algo nuevo, ya lo venía haciendo, pero se supone que ahora lo hará aún más, y aún mejor.

Aprovechemos para recordar algunas de las principales novedades de ITIL 4: 

  • Sistema de Valor del Servicio (SVS)
  • Referencias específicas a la Agilidad
  • Principios guía
  • Prácticas de Gestión





miércoles, 10 de julio de 2019

Reiniciar campo Identity en SQL Server



Por lo general en un momento determinado necesitamos reiniciar el valor de identidad, ya que al eliminar los datos de la tabla, este no se reinicia, sigue manteniendo el ultimo valor.

Usaremos la siguiente linea para resetear el campo identidad de una tabla , y actualizar el valor SEMILLA a 0.

DBCC CHECKIDENT (nombre_tabla, RESEED,0)



Para ver las opciones completas:

https://docs.microsoft.com/es-es/sql/t-sql/database-console-commands/dbcc-checkident-transact-sql?view=sql-server-2017&viewFallbackFrom=sql-server-previousversions

miércoles, 31 de mayo de 2017

Novedades Windows 10

Sabíamos muchas cosas sobre Windows 10, pero hoy es el día en el que Microsoft se juega el todo por el todo y anuncia las novedades más importantes de su nuevo sistema operativo. ¿Se ha sacado Microsoft la espina de Windows 8?

NOTAS ESPECIALES



Aplicaciones Universales

Windows 10 es la versión más ambiciosa del sistema operativo hasta la fecha. Para empezar aspira a la universalidad total entre dispositivos. Las aplicaciones serán comunes incluso hasta para la Xbox One. Para continuar, Microsoft ha asegurado que la actualización a Windows 10 será gratuita durante el primer año para todos los usuarios de Windows 7, Windows 8, y Windows Phone 8.1. No ha explicado, eso sí, qué pasará a partir de ese primer año.




Menú de inicio

Lamentablemente, no todo va a ser de color de rosa. Microsoft ha dado más detalles sobre el nuevo menú de inicio, y lo cierto es que no se trata de la revolución que los que deseaban una vuelta al menú de inicio de Windows 7 estaban esperando.




En realidad, el menú de inicio de Windows 10 mantiene todo más o menos igual que lo que se vio en las primeras betas de desarrollo. El área del menú es una versión miniaturizada de la interfaz a pantalla completa de Windows 8 y poco más. De hecho, al aumentarse se convierte en la pantalla principal de Windows 8 que ya conocemos. Una pequeña lista de aplicaciones y alguna función extra son las únicas concesiones al pasado del nuevo menú.

viernes, 21 de septiembre de 2012

UPDATE con INNER JOIN (SELECT)

Bueno antiguamente recurría, a usar un cursor para actualizar campos de una tabla, bueno por lógica 

Paso1: cargaba los datos de una tabla en un cursor
paso2: empezaba a recorrer el cursor
paso3: cada recorrido de un registro actualizaba datos de otra tabla, (obviamente en los datos que tenian en igualdad)

ERRRORRRR, indudablemente funciona, o si FUNCIONAAA, pero, viene el pero, sucede que si lo mando a realizar este proceso sobre una tabla de 20,000 demorar unos cuantos segundos, si lo mando a 500,000 ya se demora unos minutos y si sobre pasa de millon, imagínense que demora, por lo tanto los cursores no los vuelvo a tocar.

Solución no favorable (usando cursor)
DECLARE @XCODIGO CHAR(10), @XSERIE CHAR(4)
declare MIPAPELETA CURSOR FOR SELECT cCodigo,cserie FROM TU_PAPELETA
OPEN MIPAPELETA
FETCH NEXT FROM MIPAPELETA INTO @XCODIGO,@XSERIE
WHILE @@FETCH_STATUS=0
BEGIN
UPDATE TU_CTA_CORRIENTE SET ccodigo=@XCODIGO   WHERE SERIE=@XSERIE
FETCH NEXT FROM MIPAPELETA INTO @XCODIGO,@XSERIE
END
CLOSE MIPAPELETA
DEALLOCATE MIPAPELETA
GO



SQL SERVER 2008
Solución optima (sin cursor)

UPDATE TU_INSPECTORES 
SET TU_INSPECTORES.cCodigoPersona = TG_PERSONA.cCodigoPersona
FROM TU_INSPECTORES INNER JOIN TG_PERSONA 
ON TU_INSPECTORES.cdniinspector = TG_PERSONA.cNumeroTD
WHERE tg_persona.cCodigoTD='02'


Muy aparte que uff no ahorramos lineas de codigo.

UPDATE
    Table
SET
    Table.col1 = other_table.col1,
    Table.col2 = other_table.col2FROM
    Table
INNER JOIN
    other_tableON
    Table.id = other_table.id




Pueden observar en el siguiente link también su funcionalidad

Hasta la próxima, nos vemos

miércoles, 12 de septiembre de 2012

Insertando un Registro y Actualizando SI EXISTE EXISTS SQL SERVER

Bueno hoy algo sencillo pero que tambien podría ser útil para algún lector, como hacemos para verificar si el registro existe en la tabla, para actualizar o bien insertar como nuevo registro

Solución 1:
Si al hacer la consulta devuelve algún registro el EXIST devolvera TRUE

IF NOT EXISTS(SELECT ID FROM EMPLEADO WHERE ID = @ID)
   INSERT INTO EMPLEADO (Nombre,Apellido, ID) VALUES (@_nombre,@_apellido ,@ID)
ELSE   UPDATE EMPLEADO SET Nombre=@_nombre, Apellido=@_apellido WHERE ID = @ID

Nota: Talvez en procedimiento esta solución, es la mas común, pero esta haciendo un select, por lo tnato acarrea recursos o un par de milisegundos.

Solución 2:
Ahora utilizaremos una función del sistema para poder realizar lo mismo. @@ROWCOUNT

UPDATE TABLA SET Campo1 = @Valor WHERE ID = @ID
IF @@ROWCOUNT = 0
   INSERT INTO TABLA (Campo1,ID) VALUES (@Valor,@ID)

Nota: Por defecto, mandamos la linea de actualización de registro, y con nuestra función verificamos si alguna fila o registro a sido afectado, caso que no haya afectado, insertamos el nuevo registro.

Aca un ejemplo usando @@ROWCOUNT y raiserror


UPDATE TOP(1) TU_CTA_CORRIENTE SET cIdAnt=cId, cId='D', dtfechaanulacion=GETDATE(), cUsuarioSis=@_usuario, cEquipoSis=@_equipo, cIPSis=@_ip, cMacNICSis=@_mac
WHERE ccodigoautogeneradopapeleta=@_papeleta
IF @@ROWCOUNT=0
    begin
      raiserror('No se ha actualizado ningun registro',16,1)
      return
    end


Otras soluciones podemos utilizar un BEGIN TRY , BEGIN CATCH, para la solucion 2 y tendriams otra lógica.

Hasta la próxima ...

viernes, 31 de agosto de 2012

USANDO CASE - WHEN EN CLAUSULA WHERE


Esto no se si alguien lo hizo antes, pero recientemente se me dio la necesidad de hacer un procedimiento almacenado en SQL Server con la opción de poder seleccionar los datos de uno o todos los clientes en una misma consulta. Encontré una forma fácil de realizarlo. Espero les sirva. 

Ejemplo: Tenemos una tabla de datos de clientes, y necesitamos desplegar la información de uno o todos los clientes. Este es el código de ejemplo:

Declare @id_cliente char(13) -- Declaracion de la variable que nos servira de parametro

Set @id_cliente='Todos' -- Establecer el Valor

Select a.id_cliente,a.nombre
  From tbl_clientes a
  where a.id_cliente= case when @id_cliente='Todos' then
  a.id_cliente else @id_cliente end
  -- En esta parte es donde usamos el case dentro 
  del where para hacer la comparacion de datos,
  si deseamos todos los clientes, unicamente
  debemos compararlo con el codigo dentro de la
  misma tabla, de lo contrario lo comparamos con
  el valor de la variable o parametro que utilizemos.



DECLARE @VAR1 nvarchar(50)
DECLARE @VAR2 nvarchar(50)
SELECT * FROM ORDERS
WHERE @VAR2 = ( CASE @VAR1
                WHEN 'Customers' THEN CustomerID 
                WHEN 'Employee'  THEN EmployeeID 
                ELSE -1
                END )




Data Modeling Introduction

Pueden revisar otros ejemplos en esta pagina.
http://www.craigsmullins.com/ssu_0899.htm


Hasta la próxima amigos

miércoles, 29 de agosto de 2012

CODIGOS ASCII Standar

ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estándar Estadounidense para el Intercambio de Información), pronunciado generalmente [áski] o [ásci] , es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno y en otras lenguas occidentales. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una refundición