lunes, 12 de septiembre de 2022

Auditorías a los productos desarrollados en Java

Las auditorías de Oracle a los productos desarrollados en Java son una realidad, como hemos visto en notas anteriores. Ahora seguiremos viendo las implicaciones en esta última nota de esta serie. Si estás tomando un curso de Java online, seguramente te será muy útil la información para tus desarrollos futuros.

Uso de herramientas de verificación de Java.

Palisades son herramientas con licencia de Java que Oracle no puede controlar porque "no es lo mejor para el cliente", dijo Gaden. Sin embargo, Leaf Software informa que Oracle ha recibido datos recopilados de varias herramientas desde 2010. "La herramienta [probada] debería devolver datos similares a Oracle", dijo el supervisor Alex Andrews a una revista especializada en el tema. "Cuando construyes un producto, tienes que licenciar cada componente, crear escenarios de prueba para cada uso del producto y demostrar que estas recopilando los datos correctos en todas las plataformas y versiones". Dijo que la herramienta es más segura que el escenario de Oracle porque no admite entornos de producción. “No digo que nunca haya visto un guión que resista la seguridad o tenga no problemas de producción. Este es solo uno de los factores que determinan una gestión estricta. "El uso de una herramienta comprobada y autorizada es "una excelente manera de asegurar las auditorías de Oracle", dijo Andrews. 

Las notificaciones sobre actualizaciones son móviles, especialmente para Oracle Java. Debido a que las licencias de Java son un problema muy nuevo y común que afecta las actividades de los niveles y las compras de software, hay muchas sugerencias engañosas. Sin embargo, Andrew dijo que hay excepciones en las que no se requieren versiones ni licencias de medios. Según él, el software de auditorías está diseñado para transmitir esta información, pero debe usarse por separado. Un enfoque más holístico de la reconciliación incluye herramientas, personas y procesos para maximizar los intercambios que están desatendidos. "Las herramientas deben identificar los riesgos, los asesores deben gestionar esos riesgos y los procesos deben garantizar que no se dupliquen", dijo.

domingo, 11 de septiembre de 2022

Auditorías de Java, ¿qué incluyen?

Esta nota es una continuación de una anterior sobre las auditorías de Oracle, que puedes leer en este sitio. El propósito es ayudar a quienes estén tomando un curso de Java en línea a lograr mantenerse el día con este lenguaje de programación. Seguiremos hablando de la licencia que estará revisando Oracle de los programas hechos en Java.

En marzo, Garrick Bivarvaln, jefe del programa de servicios de consultoría y licencias globales de Oracle, dijo en un seminario web que Oracle solo analiza los datos de estas herramientas. "No veo qué otros aspectos de la herramienta podrían ser usados, como el monitoreo de permisos, los permisos de cumplimiento, la personalidad y la orientación", dijo. Por otro lado, Craig Group, fundador y gerente general de cumplimiento de Oracle Palisade Consulting, dijo esta semana que la nueva herramienta de auditoría de Java debería mostrar una declaración de estado similar. "Ninguno de estos instrumentos se pueden encontrar", dijo. "Ante la auditoría de Java u otras herramientas de productos, Oracle se asegura de que estas herramientas contengan toda la información que Oracle necesita para auditar. Por ejemplo, solo porque una herramienta dice que estoy usando 100 licencias, eso no significa que Oracle necesita 100. Oracle puede aceptar datos sin tener que procesarlos, analizarlos y cuantificarlos. Oracle se está preparando para Java 19". Por supuesto, esto es más evidente ahora que ya se ha presentado esta versión.

Bibliotecas de Java y advertencia de vulnerabilidad de seguridad costosa.

Los desarrolladores de Java 6 y 7 están probando opciones de fin de soporte. Jenkins DevOps ahora requiere Java 11. Esto podría ser un pequeño escollo. Esta herramienta es útil únicamente para los usuarios de Oracle Clacking, pero al menos ayuda a proporcionar puntos de datos. "Es mejor que cualquier otra cosa", dijo Kunshan. 

Posteriormente, en otra nota, hablaremos más del tema, sobre las licencias y la auditorías de Java.

sábado, 10 de septiembre de 2022

Oracle verificará las licencias de Java

Oracle verificará las licencias de Java por su software Flex y Lime. Mientras que el proveedor afirma ayudar a prepararse para la revisión, la audiencia no está segura de si protege o no el cumplimiento. 
Vertientes de las licencias de Java.
Según los expertos, Oracle comenzó a considerar el uso de software de terceros para monitorear los productos Java en los medios corporativos. 

Pormenores de la licencia de Java


En marzo, el omnipresente gigante del software comenzó a incluir herramientas de Java en sus auditorías de licencias de software, a menudo debido a la preocupación de que la falta de espíritu del contrato revelara pequeñas impresiones de los usuarios. Por primera vez, Big Red ha presentado dos nuevas licencias para su plataforma de venta de Java para la edición estándar (Java SE): Java Loan, que es gratuita hasta abril de 2019. Para utilizarlo, el usuario debe adquirir una suscripción anual al producto Java comercial, que incluye correcciones y actualizaciones, las cuales son bienvenidas. 

Cuando Oracle lanzó Java 17 en septiembre de 2021, comenzó a ofrecer una licencia gratuita con tres años de actualizaciones trimestrales, pero no es válida para versiones anteriores como Java 7, 8 y 11. Actualmente, Oracle ha aprobado al proveedor para suministrar los productos de la base de datos Oracle, y el software intermedio es disolver y controlar los datos de Java y la cancelación de los datos. Dos proveedores aprobados tienen flexibilidad y software conocido. 

Oracle proporciona varias herramientas de licenciamiento para varias aplicaciones de software e infraestructura que pueden ser útiles, pero no otorga a su organización una licencia específica para proteger la experiencia de auditoría y eventos. De hecho, Oracle puede confirmar este caso en una auditoría utilizando datos de la herramienta. Todos estos datos son de importancia para los desarrolladores, pues les permite tener en mente cómo construir sus nuevos proyectos. Además, a quienes estén tomando un curso de Java online les permite prepararse para construir aplicaciones acordes a los nuevos retos de seguridad informática.

En la siguiente nota, ampliaremos el tema. Aquí está el enlace.

viernes, 26 de agosto de 2022

Qué significa que Java esté orientada a objetos

 Esta característica se relaciona con los métodos de programación orientados a objetos ("OO"). Las interpretaciones de OO varían, pero la primera idea es diseñar el software para que los diferentes tipos de datos estén asociados con el trabajo. Por ejemplo, los datos y el código (funciones o métodos) combinan objetos. Los objetos se pueden considerar como paquetes que tienen "comportamiento" (código) y "estado" (datos). Este principio distingue entre lo que cambia y lo que no. A menudo, cuando se cambia una estructura de datos, cambia el código que se ejecuta en esa estructura y viceversa. Esta división en objetos coherentes e independientes proporciona una base más estable para diseñar sistemas de software. El objetivo es administrar fácilmente grandes proyectos, mejorar la calidad y reducir la cantidad de proyectos fallidos. 

Usabilidad de los objetos. 

Otra gran promesa de la programación de este tipo es la creación de objetos más generales que permiten reutilizar el software en todos los proyectos. Por ejemplo, una entidad de "cliente" típica debería, en teoría, exhibir el mismo comportamiento en varios proyectos. Esto es especialmente cierto con el grado de superposición que es común en las grandes organizaciones. En este sentido, los objetos pueden verse como partes reutilizables que pueden usarse en muchos proyectos diferentes. Esto permite que la industria del software construya proyectos a gran escala utilizando componentes de calidad comprobada, lo que finalmente reduce significativamente el tiempo de desarrollo. 

La reutilización de software ha producido resultados mixtos, abordando dos problemas principales. En otras palabras, el diseño de objetos verdaderamente genéricos no se comprende bien y no existe una metodología extensa para comunicar oportunidades de reutilización. Algunas comunidades de código abierto quieren ayudar a resolver este problema proporcionando a los desarrolladores un medio para difundir información sobre la utilidad y diversidad de objetos reutilizables y bibliotecas de objetos.

Finalmente, programar en Java es una excelente idea porque permite que otros programadores puedan usar un mismo código aunque sea otro lenguaje de programación. 

jueves, 25 de agosto de 2022

Cambios en los estándares de seguridad de IBM sobre aplicaciones Java

Dado que el acceso implícito solo es útil cuando se realizan operaciones en objetos y registros de bases de datos de IBM cuando se accede a métodos nativos, los ejemplos de esta nota se centran en estas áreas. Para obtener una descripción básica de los permisos fijos, consulta la documentación pertinente.

De forma predeterminada se permiten que obtenga los permisos del propietario del archivo ejecutable, en lugar de los permisos de la persona que ejecuta el programa para realizar una acción. 

Uso de contraseñas en Java para IBM.

Conceptualmente, esto es muy similar a UNIX, cuando en caso de uso canónico es cambiar una contraseña generada. No es apropiado que todos los usuarios tengan permiso para cambiar el archivo de contraseñas, pero se recomienda que se confíe en el programa y se permita que los usuarios cambien sus contraseñas.

Debido a que la JVM formaba parte del Código interno con licencia (SLIC) de Trusted Computing Base del sistema, el sistema podía proporcionar una autenticación segura para los programas de Java. Debido a que la JVM ha pasado a utilizar una implementación de Java que es un programa a nivel de usuario, Java ya no puede proporcionar esta capacidad.

El enfoque más común para lograr la misma funcionalidad es agregar métodos ILE nativos al programa Jque usen privilegios de perfil de usuario equivalentes y realicen la acción deseada. También se puede lograr el mismo resultado que una concesión implícita sin agregar un método ejecutando la función en un proceso separado con una concesión separada y enviando una solicitud a ese programa cuando sea necesario.

En futuras notas se proporcionarán ejemplos de cómo se usa la autorización aprobada de Java y algunas alternativas sugeridas. Si estas en un curso de Java online seguramente estos datos te serán muy útiles, especialmente si el entorno que usarás en tus desarrollos es IBM. 

miércoles, 24 de agosto de 2022

Cambios de autorización de Java introducidos en IBM i 7.5

La autorización del perfil de usuario soportado por los programas Java está en desuso en IBM i 7.5. En esta nota se explica cómo verificar si una aplicación está usando un permiso aprobado y cómo cambiarlo en caso de ser necesario. Si no sabes exactamente de que estamos hablando, visita el siguiente curso de Java para obtener los conceptos necesarios.

En IBM i 7.5, las aplicaciones ya no pueden heredar permisos de perfil de usuario a través de programas Java. Veremos algunas descripciones y situaciones comunes en las que se utilizan permisos aprobados por Java y cómo modificar aplicaciones para eliminar la dependencia de los permisos aprobados.

¿Cómo saber si se está usando un permiso aprobado?

Lo más viable es usar las utilidades de IBM i 6.1 y 7.1 para determinar si alguna aplicación Java se ve afectada por el cambio de permiso modificado. Esta herramienta funciona con la JVM para informar sobre los programas que están registrados y usan los permisos establecidos por la máquina virtual de Java. 

La herramienta también escanea su sistema en busca de programas Java creados con soporte de autenticación persistente para ayudar a identificar las que puedan depender de la autenticación persistente. De forma predeterminada, la herramienta muestra el uso de privilegios fijos establecidos por la JVM y escanea todo el sistema. Los resultados te ayudarán a determinar qué aplicaciones utilizan permisos fijos en el sistema. Es posible que necesitemos usar esta información en estos casos:

Si el código comprado tiene un propósito, lo recomendable es que te comuniques con el proveedor para determinar cuál es el plan de acceso aprobado. Si estás usando tu propio código, puedes leer las soluciones en un artículo que posteriormente publicaremos en este sitio. 

martes, 23 de agosto de 2022

Hebras, o subprocesos de Java

 En Java una hebra es un único hilo independiente que se ejecuta dentro de un programa. Debido a que es un lenguaje de programación de subprocesos múltiples, puede ejecutar varios hilos simultáneamente en la máquina virtual. Esto a su vez, permiten que los programas realicen múltiples tareas simultáneamente. 

Los subprocesos son un marco de programación moderno que se utiliza para admitir aplicaciones concurrentes y mejorar su rendimiento y la escalabilidad. Los temas son compatibles con muchos lenguajes de programación a través de bibliotecas de programación de complementos. 

Java admite subprocesos como interfaces de programación de aplicaciones (API) integradas. Los subprocesos brindan soporte para mejorar la interacción al tiempo que reducen la latencia del teclado al realizar tareas adicionales. Sin embargo, dado que el programa utiliza subprocesos, no es necesario que sea interactivo. 

Los hilos o subprocesos de Java.

Un hilo es un mecanismo que espera una interacción larga mientras un programa puede hacer otro trabajo. Un subproceso puede admitir varios hilos o hebras con el mismo flujo de código. De hecho, a veces se les llama procesos ligeros. Cuando está bien diseñado, proporciona un modelo para administrar múltiples transacciones y usuarios. 

Puedes usar subprocesos en Java en muchas situaciones. Algunos programas deben participar en diferentes acciones en respuesta a la entrada adicional del usuario. Por ejemplo, un navegador web debe responder a la entrada del usuario mientras reproduce audio. Además, los subprocesos también pueden utilizar métodos asincrónicos. Cuando el usuario llama al segundo método, no es necesario esperar a que se complete el primer método antes de que el segundo método continúe con su trabajo.

Sin embargo, si el programa usa lógica secuencial, un solo hilo puede ejecutar la secuencia completa. En este caso, el uso de varios subprocesos daría como resultado un programa complejo sin ningún beneficio. Crear e iniciar un hilo requiere mucho trabajo. Si la tarea contiene solo unas pocas instrucciones, procesarla en un solo subproceso es más rápido. Esta operación funciona incluso si es conceptualmente asíncrona. Cuando varios subprocesos comparten un objeto, este debe sincronizarse para coordinar el acceso a los subprocesos y mantener la coherencia. La sincronización agrega complejidad a los programas, es difícil de ajustar para un rendimiento óptimo y puede ser una fuente de errores al programar en Java