El problema del año 2000

 

México

 

Introducción

 

------------------------------------------------------------------------

 

 A partir de la publicación, en septiembre de 1993 por Computerworld titulada "Doomsday 2000", se ha difundido el conocimiento de la llamada "Crisis del 2000". Esta se refiere a que algunas computadoras, en modelos de años pasados, almacenan las fechas en campos de dos dígitos, lo que hace imposible distinguir entre fechas del siglo XX y XXI. Adicionalmente, algunos programadores usaron el 99 como un valor especial suponiendo que para 1999 ya existirían nuevas aplicaciones.

 

Este problema puede parecer muy sutil, pero está completamente subestimado y es considerado hoy, por los analistas de Tecnología de Información, el problema más grande al que se ha enfrentado esta Industria en sus 50 años de existencia. Este documento describe algunos de los elementos que amplían la información sobre el verdadero impacto del fin de siecle, que afectará de manera dramática a todas las organizaciones y muy pocas estarán preparadas para resolver oportunamente.

 

El problema y su auténtica dimensión

 

 Cada 400 años existe un pequeño ajuste en el Calendario hoy en día utilizado; este ajuste está relacionado a la existencia de un día adicional en Febrero - el año bisiesto -. Muchos programadores omitieron de la fórmula completa de cálculo de fechas esta consideración. No obstante, el ajuste de un día no es el mayor reto en sistemas complejos; la problemática del 2000 va mucho mas allá de ello:

 

•Rediseño de Formas y Reportes en donde el campo de fecha no sea desplegado de manera adecuada.

•Reindexación de bases de datos que tengan como índice a la fecha.

•Existencia de sistemas de los que no existe el código fuente.

•Codificación especial de listas (imagine por ejemplo un sistema gubernamental de pago que permita efectuar pagos de 5 años hacia atrás - si el operador tiene en su pantalla una lista de años esperaría ver, de arriba a abajo, 01, 00, 99, 98, 97; evidentemente una lista clasificada ascendentemente mostrará 99, 98, 97, 01,00 - un orden poco natural para su significado).

•Las cintas de respaldo emplean al 99 como indicador de terminación

•Ningún dispositivo de código de barras producido al día de hoy emplea 4 dígitos para las fechas.

•La mayoría de las computadoras portátiles no están preparadas para el cambio de fecha en Diciembre 31 de 1999 porque el BIOS no soporta el año 2000.

 

 El problema tampoco se detiene en aspectos técnicos, considere lo siguiente:

 

•El 100% de los sistemas se debe verificar para contar con el "certificado del año 2000". ¿Está su empresa preparada para revisar el 100% de sus sistemas, del día de hoy al 1o. de Enero de 1999, cuando los problemas dan inicio? o antes: ¿sus programas hacen cálculos por adelantado?

•No existe experiencia en pruebas de software, se presta muy poca atención a ello. •¿Qué sucederá en ambientes heterogéneos en donde los servidores tengan fechas distintas? ¿En distintas Zonas de tiempo?

•¿Está su departamento de mercadotecnia listo para responder preguntas de los clientes acerca de la capacidad de soportar el año 2000? La lógica de restas para calcular años transcurridos fallará, v.g. si alguien nació en 1960 la fórmula 97-60=37 pero en el 2000 la fórmula 00-60=? Arrojará o un número negativo o un entero muy grande, ocasionando cancelaciones de tarjetas de crédito, errores en cálculo de pensiones, pago de intereses, saldo telefónico, etc..

•Si su empresa no contesta las cartas de los clientes en referencia a este tema, la voz se podría correr entre los inversionistas de su empresa. El valor de la acción podría descender dramáticamente para quienes no estén preparados a operar en el 2000.

•¿Está usted preparado a entrenar a todos los usuarios de su empresa sobre este problema? Si usted trabaja en un corporativo, el entrenamiento de, por ejemplo, 40,000 usuarios requiere mucha planeación.

•Las pruebas de cómputo sobre mainframes y bases de datos muy grandes requerirán "simular el año 2000" - pero no existe capacidad de cómputo para duplicar todo -.

•El probar todos los sistemas muy probablemente requerirá trabajar los fines de semana. ¿Cuántos fines de semana desearán sacrificar los empleados que conocen los sistemas? ¿Cómo retener a la mejor gente que pueda resolver la problemática?

•Como se comentará mas adelante, la mejor manera de evitar esta crisis es cambiar el 100% del software por versiones listas para el año 2000. Aún así, ¿Está en capacidad de actualizar el 100% de su software en menos de 18 meses? ¿Conoce el costo de ello? ¿Conoce el efecto fiscal de invertir en esta actualización?

 

Estas son algunas de las preguntas principales que permiten dimensionar más ampliamente el impacto del problema. Como problema adicional, las compañías especializadas en apoyo de esta problemática estarán saturados para finales de 1997. El costo por reparar una línea de código COBOL fue estimada por Gartner Group de entre $1.10 a $1.50 dólares. El costo total de la problemática, tan solo en Estados Unidos, es superior a $1.5 billones de dólares.

 

Microsoft ante la Crisis del 2000

 

En términos generales, los productos de Microsoft están preparados para el año 2000. Incluso DOS está preparado para almacenar fechas del próximo siglo. Esto se debe a que todas las fechas se almacenan en campos de 4 dígitos. http://www.microsoft.com/cio/articles/year2000.htm

 

No obstante, es importante conocer los siguientes detalles:

 

•Microsoft Visual FoxPro, Access y Excel por ejemplo, pueden recibir fechas de usuario en términos de dos dígitos pero se almacenan internamente en campos de 4 dígitos. 96 se interpreta 1996. Excel 4 y 5 interpreta 00 como 2000, 01 como 2001 hasta 19 como 2019 y 30 como 1930. Las versiones 97 de los producto interpretan el "00" hasta "29" como años cortos "2000" a "2029".

 

•Los límites de almacenamiento de fechas son:

 

Access 95 - 9999

 

Access 95 captura de 2 digitos - 1999

 

Access 97 - 2029

 

Excel 95 - 2078

 

Excel 95 2d - 2019

 

Excel 97 - 2029

 

Excel 97 4d - 9999

 

Project - 2048

 

SQL Server - 9999

 

FAT - 2108

 

NTFS (Sistema de Archivos de Windows NT) - +29000

 

VC++ RunTime - 2036

 

FoxPro - 9999

 

Windows 95 - 2099

 

Como puede apreciarse Windows NT Server está preparado para mantener una fecha correcta por los siguientes 25 siglos.

 

•En términos de desarrollo de aplicaciones, existirán problemas cuando los campos tipo fecha no hayan sido utilizados. Estos problemas son ajenos a la herramienta de desarrollo pero dependen del programador. Esto es, Visual Basic está preparado para calcular correctamente fechas del próximo siglo, pero cuando no se utilicen las funciones internas de calculo, v.gr. conversión de fechas a números seriales, o se utilicen campos enteros como fechas; la aplicación desarrollada puede ser incompatible.

 

Existen otros problemas de menor importancia, como el hecho de que DOS no acepte la fecha 00, requiera la captura completa de "2000". O problemas de desplegado en el administrador de programas de Windows 3.1, que despliega en pantalla incorrectamente archivos de año 2000 con caracteres no numéricos (basura), en ciertos modos de despliegue. No obstante, con algunas recomendaciones estos detalles no afectan de manera importante la operación de los sistemas de información.

 

Recomendaciones

 

 Existen diversas precauciones relacionadas a la crisis del 2000, muchas de ellas, tal vez la mayoría, se darán en el lado del mainframe, pero los usuarios las percibirán como errores de su escritorio. Microsoft recomienda:

 

•Simule en una PC de escritorio estar unos minutos antes del primero de enero del 2000. Apague la computadora y vuélvala a encender. Jamás efectúe esta prueba en un sistema en producción. Esto determinará si el BIOS es capaz de soportar el siglo XXI. En su defecto obtenga una utilería de corrección disponible en http://rampages.onramp.net/~gtbecker También se debe verificar el tiempo y zona de tiempo. http://www.bldrdoc.gov/timefreq/

 

•Microsoft recomienda dejar encendidos todos los sistemas personales y servidores el 31 de diciembre de 1999 al 4 de enero de 2000. Y ajustar manualmente la fecha ese día, si es necesario

 

•Los usuarios deben de conocer el problema y ser educados para efectuar todas las capturas de fechas con 4 dígitos en lugar de 2.

 

•Todas las aplicaciones deben ser probadas simulando capturas de fechas posteriores a Diciembre 31 de 1998.

 

•Contrate lo antes posible asesoría profesional en referencia a este problema. Si usted no ha empezado hoy a reparar los sistemas para el cambio de siglo, será muy difícil que pueda completar aun el 50% de sistemas durante el tiempo restante.

 

•Adquiera productos especializados en la detección de problemas de lógica. Esto es, muchas compañías que tradicionalmente ofrecían productos de análisis de código, ofrecen ahora herramientas automatizadas de búsqueda que detectan campos sospechosos de almacenar fechas. Investigue esto en http://www.year2000.com/cgi-bin/y2k/year2000.cgi

 

Microsoft ofrece, a través de sus servicios de consultoría, una guía de certificación de año 2000. Este servicio está disponible únicamente a grandes corporativos - para mayor información contacte a su oficina local de Microsoft -.

 

Para muchas empresas, la problemática del año 2000 ofrece la oportunidad de renovar sistemas - cambiando de mainframes, minicomputadoras o costosos sistemas propietarios a ambientes cliente-servidor con menor costo de operación. Por ejemplo, SAP R/3 , sistemas verticales preparados para el 2000 desde su origen, en 1985.

 

Conclusiones

 

Se recomienda actualizar todo el software a versiones certificadas año 2000; por ejemplo, en el caso de Microsoft, a versiones 1997 o posteriores. Cada fabricante puede dar más detalles sobre cuándo la totalidad de su software estará preparado para el nuevo siglo. Este problema debe ser analizado ampliamente y con ayuda de empresas especializadas en la resolución del problema "Año 2000".