martes, 13 de agosto de 2019

LENGUAJES DE PROGRAMACION II

LENGUAJE C
También conocido como "lenguaje de programación de sistemas", fue creado en el año 1972 por Dennis Ritchie para UNIX un sistema operativo multiplataforma donde el lenguaje C es un lenguaje estructurado como son Pascal,Fortran,Basic.
Sus instrucciones son muy parecidas a otros lenguajes incluyendo sentencias como IF,ELSE,FOR,DO y WHILE, aunque C es un lenguaje de alto nivel (puesto que es estructurado y posee sentencias y funciones que simplifican su funcionamiento) tenemos la posibilidad de programar a bajo nivel (como en el ASSEMBLER tocando los registros,memoria,etc).

Para simplificar el funcionamiento de el lenguaje C tiene incluidas librerías de funciones que pueden ser incluidas haciendo referencia la librería que las incluye, es decir que si queremos usar una función para borrar la pantalla tendremos que incluir en nuestro programa la librería que tiene la función para borrar la pantalla.

VENTAJA DEL LENGUAJE:
-La programación en C tiene una gran facilidad para escribir código compacto y sencillo a su misma vez.
-En el lenguaje C no tenemos procedimientos como en otros lenguajes solamente tenemos funciones y los procedimientos los simula.
- Esta terminantemente prohibido escribir funciones, procedimientos y los comando en mayúscula todo se escribe en minúscula (a no ser las constantes J).
- Los archivos en la C se escriben en texto puro de ASCII del dos si se escribe en WORD: por ejemplo, el mismo se incluye muchos códigos no entendidos por el compilador y generara errores, una vez escrito se debe pasar a compilar el archivo que tiene 2 extensiones (NOTA : El compilador genera archivos con extensión EXE).
- Cada instrucción que pasemos a poner en C va seguida de un punto y coma para decirle al compilador que hasta ahi llega la instrucción simula un enter del teclado.Ejemplo: clrscr(); /*borra la pantalla */

ESTRUCTURA DE PROGRAMACIÓN:
Encabezados <ficheros.h> en el se almacenan las funciones que trae el lenguaje propio o las funciones nuestras se les llaman " Librerías".
Las funciones de C dan mucha potencia al programador en podemos realizar los programas con mucha potencia y facilidad de código.

Constantes simbólicas en el se definen las constantes de nuestro programa es lo único que se escribe en mayúsculas. ej.: #define ENERO 31.

NOTA: (las constantes son variables que conservan el mismo valor todo el programa una vez que incluimos una constante en nuestro programa el compilador va a sustituir el texto contenido en la constante por el texto del mismo).
Son llamadas cabecera de funciones a las que se encuentran en el mismo programa y al final de la función principal MAIN () en el que se desarrolla todo el codigo  del programa que son llamadas funciones de procedimientos (es una función que se autoejecuta cuando se compila el programa).

TIPO DE VARIABLES EN C:

FUNCIONES: 
Una función es una parte del código independiente del programa que se llama dentro de él, como dijimos anteriormente C no tiene procedimientos solamente funciones los procedimientos los simula con funciones que no devuelven nada (Void) la estructura de la funciones en C y es los elementos mas fuertes del lenguaje. El desarrollo de una función es:



Las variables de nuestras funciones son locales es decir que solamente viven cuando se esta ejecutando la llamada a la función; el código ejecutable son las sentencias que el programa utiliza para funcionar y el valor de retorno es el resultado que va a devolver la misma función ( si se dice que una función retorna un entero en el return se debe poner un entero como valor de devolución.
SENTENCIAS DE COMPARACIÓN Y REPETICIONES:
Instrucción IF La sentencia if permite comparar 2 valores entre si. Por medio de la condición cuando se cumple (TRUE) entra a realizar la acción 1 si no pasa a cumplir la acción 2

SENTENCIA SWITCH: 
Puede comparar una variable con mas de un posible resultado si ustedes tuvieron el gusto de programar en clipper la sentencia es muy parecida a Case.

REPETIDORES:
-While primero evalúa la condición y no se cumple entra en el ciclo While hasta que la condición se cumpla.


SENTENCIA FOR:
La sentencia for o para permite ejecutar un conjunto de sentencias evaluando la condición central del for.
PUNTEROS:
C permite el manejo de punteros a memoria de una forma fácil y ágil por medio de punteros podremos desarrollar funciones que no devuelvan un solo valor sino que devuelvan mas valores a su misma vez. solamente tenemos que tener en cuenta un par de cosas y podemos acceder a posiciones de memoria de las variables apuntado hacia ella, & dirección hacia donde apunta el objeto o variable.
MANEJO DE ARCHIVOS EN C:
Para el manejo de archivos en C tenemos que tomar en cuenta varias partes primero la parte de apertura , el modo de trabajo y luego cerrar el archivo (necesario para no perder datos o que el archivo quede en memoria corrupto).
Al abrir una archivo tenemos que tener en cuenta el modo de apertura del mismo si es de lectura, escritura, creación, binario etc.
Primero tenemos que definir la variable que va a contener en el la información de el comportamiento del archivo ( si existe, si se produjo un error al grabar al recuperar etc.) Las variables de tipo archivo se definen como punteros ej.
Archivo = fopen ( "Nombre_fisico", "modo");
En el modo de apertura del archivo podemos tener en cuenta si el archivo se quiere crear (w) si el archivo es de solo lectura (r) modo binario (b) etc.


VISUAL BASIC

Es un lenguaje de programación orientado a objetos creado por Microsoft , es un lenguaje que incorpora todas las herramientas necesarias para la creación de cualquier aplicación para Windows.
Visual Basic es un lenguaje visual que se origina del lenguaje de programación Basic, este lenguaje se basa en un ambiente de desarrollo totalmente gráfico, que facilita la creación de interfaces gráficas.

VERSIONES: La primera versión de Visual Basic fue lanzada en 1961, que incluyó más que la tecnología Embedded Basic, la cual había sido desarrollada originalmente en Microsoft QuickBasic 4.0. Luego en 1992 Microsoft lanzó Visual Basic 2.0, la cual proveía a los desarrolladores un funcionamiento perceptible mejorado y con mayor capacidad para crear aplicaciones de mayor tamaño y más sofisticado. En marzo de 1997 y en junio de 1998 las versiones de Visual Basic 5.0 y 6.0 representaron un paso importante hacia posibilitar a los desarrolladores en Visual Basic, programar en los nuevos niveles del funcionamiento, en el ambiente libre que representa internet. Las características tales como el compilador del código nativo, introdujeron aumentos del funcionamiento de hasta el 2.000 por ciento. BARRA DE MENÚ:
Esta barra resulta muy similar a la de cualquier otra aplicación de Windows, ya que algunos menús de esta barra tienen muy poca novedad.El menú File tiene pocas novedades,lo más importante es la distinción entre proyectos. Un proyecto reúne y organiza todos los ficheros que componen el programa o aplicación, estos ficheros pueden ser formulario, módulos, clases, recursos, entre otros. Visual Basic 6.0 permite tener más de un proyecto abierto simultáneamente, lo cual puede ser útil en ocasiones El menú Proyect permite añadir distintos tipos de elementos a un proyecto, se puede elegir el tipo de proyecto y determinar el formulario con el que se arrancará la aplicación, con el comando componentes se pueden añadir nuevos controles a la barra de controles (Toolbox) que aparece a la izquierda de la pantalla.
BARRA DE HERRAMIENTA ESTÁNDAR: 
Aparece debajo de la barra menús, esta permite acceder a las opciones más importantes de los menús de Visual Basic. Esta barra posee dos elementos que son propios de EID de Visual Basic, el primer elemento marcado en rojo representa  el indicador de posición de los controles en la aplicación.

El segundo elemento marcado en rojo representa el indicador de tamaño de los controles en la aplicación.
CAJA DE HERRAMIENTA: Esta caja incluye controles con los que se puede diseñar la pantalla de la aplicación, estos son, botones de comando, etiquetas, cajas de texto, imágenes, entre otros.
FORMULARIOS:Son las zonas de la pantalla sobre las que se diseña el programa y sobre los que se sitúan los controles o herramientas. Al ejecutar el programa el formulario se convertirá en la ventana principal de la aplicación.
VENTANA DE PROPIEDADES:En ella se muestran todas las propiedades de un control o un módulo seleccionado en la aplicación.
VENTANA DE ESQUEMA DE FORMULARIOS:Esta ventana permite observar y alinear en la pantalla de cada uno de los formularios de una aplicación, es decir, que permite indicar la posición donde se debe aparecer cada uno de los formularios.
CONTROLES USADOS EN VISUAL BASIC 6.0:
BOTONES DE COMANDO: Son aquellos botones típicos que vemos frecuentemente en las aplicaciones de Windows, que realizan operación en específico, ejemplo, salir, imprimir, cancelar y otros.
FONT: Permite cambiar de fuente del texto que aparece en el objeto, el tipo de fuente se refiere a las operaciones o efectos que se pueden efectuar sobre un texto como el tamaño de letra, negrita, cursiva y otros.
HEIGHT Y WIDTH: Permite cambiar la altura y anchura del objeto, en donde height representa  la altura y width la anchura.
LEFT Y TOP: Permite cambiar la posición a la izquierda y superior del control sobre su contenedor.
PROPIEDADES EN EL EDITOR DE CÓDIGO: La generalidad de las propiedades pueden cambiarse en modo de diseño y  que también casi siempre en modo de ejecución.
EVENTOS SOBRE LOS BOTONES DE COMANDO:Son acciones efectuadas sobre un determinado objeto, están definido como procedimientos los cuales deben ser codificados para representar un evento.
EVENTO CLICK:Ocurre cuando el usuario presiona y suelta un botón del mouse, es un botón de comando este ocurre cuando se presiona y se suelta el botón izquierdo del mouse.





COBOL

Es un lenguaje de programación de alto nivel desarrollado por primera vez por el Comité CODASYL (Conference on Data Systems Languages) en 1960. Desde entonces, la responsabilidad por el desarrollo de nuevas normas COBOL ha sido asumida por el American National Standards Institute (ANSI). Ha habido 3 modificaciones de normas ANSI para este lenguaje: en 1968, 1974 y 1985. COBOL es un acrónimo que significa COmmon Business Oriented Language (Lenguaje orientado a los negocios comunes). Está diseñado para el desarrollo de negocios, por lo general orientada a archivos y aplicaciones. No está diseñado para escribir programas de sistemas, como por ejemplo un sistema operativo o un compilador. Durante más de cuatro décadas COBOL ha sido el lenguaje de programación dominante en la informática empresarial, gracias a la capacidad de manejar ficheros grandes. En ese tiempo se ha encontrado desafíos de un gran número lenguajes de programación como PL1, Algol68, Pascal, Modula, Ada, C, C + +. Todas estos lenguajes han encontrado su sitio en le mercado, pero ninguno ha desplazado a COBOL. Actualmente hay desafíos recientes como Java y Visual Basic y Python, que están demostrando ser serios competidores.

CARACTERÍSTICAS:
Un editor de configuraciones de análisis para crear perfiles reutilizables para revisar el código:
-Controles para especificar los archivos de código fuente a revisar y las reglas de codificación a aplicar.
-Reglas de codificación incorporadas seleccionables con niveles de gravedad.
-Reglas personalizadas incorporadas configurables.

Resultados de análisis de software para visualizar resultados de código y generar informes:
-La retención de varios resultados de revisión de código mientras se ejecuta el entorno de trabajo de desarrollo.
-Un valor para filtrar la visualización de los resultados.
-Informes de los resultados de una revisión de código en formato HTML o PDF.
-Enlaces directos de los resultados de la revisión a los archivos de código fuente en los que se encontraron los resultados, abiertos en el editor COBOL o LPEX de sistemas remotos.

COBOL o LPEX de sistemas remotos:
-Marcado de líneas de código fuente que contiene problemas con texto resaltado y marcas de favoritos.
-Acceso rápido a líneas de problema en un archivo de código fuente marcado por un resultado de revisión de código.
-Reejecución rápida de una revisión de código para verificar los arreglo.
-Revisión de código de archivos de código fuente remotos, uno por uno.

Distribución de perfiles de revisión de código:
-Exportación e importación de perfiles de revisión de código.Además, la Revisión de código para COBOL soporta reglas personalizadas escritas por el  usuario. Las características incluyen:
-Generación rápida de proyectos de plug-in para el desarrollo de normas escrita por el usuario.
-Generación de archivos de código fuente Java™ que proporcionan una infraestructura para una regla escrita por el usuario.
-Una API Java que proporciona clases para reglas personalizadas escritas por el usuario.
-Una API Java para acceder a los elementos de lenguaje COBOL de un archivo de código fuente cuanto éste se está revisando.
-Soporte de muchos elementos de lenguaje COBOL.

La aplicación de revisión de código de línea de mandatos está soportada para COBOL. Las características incluyen:
-Ejecución desde la línea de mandatos de Linux o Windows.
-Soporte para reglas estándar específicas de lenguaje, reglas y categorías personalizadas y reglas personalizadas escritas por el usuario.
-El soporte de proceso por lotes de varios proyectos o directorios.
-Opciones de ámbito para procesar proyectos, directorios o todos los proyectos del espacio de trabajo.
-Soporte para incluir listas y excluir listas de archivos específicos.
-Archivos de salida de datos XML y CSV.


PASCAL
Es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth a finales de los años 60, su principal objetivo es crear un lenguaje que facilite el aprendizaje de la programación a sus alumnos, sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado, por ejemplo:

CARACTERÍSTICA:
Es un lenguaje que casi se considera pseudo-código, así que puedes ofrecer explicaciones comprensibles y completas directamente con código.Eso implica que su lenguaje tiene 3 principales características:
- La claridad que se pueda entender cuando se lea un código,si un programa esta claramente escrito debe ser posible que otro programador siga la logia sin esfuerzo.
-La legibilidad no importa lo que ocupe el código, si esta correctamente tabulado y ordenado para poder leerse.Esto solo se consigue a través de un acercamiento disciplinado de la programación.
-La eficacia de la velocidad de ejecución y el uso de los recursos del ordenador (sobre todo la memoria).

COMPILADORES DISPONIBLES DE PASCAL:
-Epox
-Compilador GNU Pascal(GPC), escrito en C, basado en GNU Compiler COllection(GCC) que se distribuye bajo licencia GPL.
-Free Pascal es un compilador estable y potente distribuido tambien libremente bajo la licencia GPL la cual este sistema te permite mezclar codigo Turbo Pascal con codigo Delphi y soporta muchas plataformas y sistemas operativos.
-Turbo Pascal fue el compilador dominante para PCs durante los años 80 y hasta principios de los año 90, muy popular debido a sus magnificas extensiones y tiempos de compilacion sumamente cortos.
-Delphi es un producto tipo RAD (Rapid Application Development) de Borland utiliza el lenguaje de programación Delphi, descendiente de Pascal, para crear aplicaciones para la plataforma Windows, en donde las ultimas versiones soportan compilacion en la plataforma .NET.
 - Kylix es la versión mas nueva de Borland reiterando la rama de Pascal de sus productos, es descendiente de Delphi con soporte para el sistema operativo Linux y una librería de objetos mejorados (CLX).El compilador y el IDE están disponibles para uso no comercial ,actualmente este proyecto esta descontinuado.
-Lazarus es un clon de Delphi, basado en Free Pascal es software libre.


JAVA
Es un lenguaje de programación orientado a objetos desarrollados por Sun Microsystems a principios de los año 90, toma mucha de su sintaxis del Lenguaje de Programación C y C++,pero es de un modelo de objetos mas simple y elimina herramientas de bajo nivel que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.Sus aplicaciones están tipicamente compiladas en un bytecode, aunque la compilación en código maquina nativo también es posible es posible.El bytecode es normalmente interpretado o compilado a código nativo para la ejecución , aunque la ejecución directa por hardware del bytecode por un procesador JAVA también es posible.

Entre noviembre del 2006 y mayo del 2007, Sun Microsystem libero la mayor parte de sus tecnologias JAVA bajo la licencia GNU,GPL, de acuerdo con las especificaciones del JAVA COMMUNITY PROCESS, de tal forma que practicamente todo el JAVA de Sun es ahora un software libre(aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas JAVA aun no lo es).


FUNCIONALIDAD:
VENTAJA:
-El Lenguaje JAVA es orientado a objetos,el paradigma de programación orientada a objetos supuso un gran avance en el desarrollo de aplicaciones, ya que es capaz de acercar la forma de programar a la forma de pensar del ser humano.
-El Lenguaje JAVA  es relativamente fácil de aprender comparado con otros.
-En JAVA no existen problemas con la liberación de memoria en el sistema, decidieron romper con el sistema tradicional de liberación de memoria, haciendo que el programador ya no fuese el responsable de esa tarea.
-Sintaxis similar a C/C++,pero mas simple
-Manejo automático de la memoria(para los que vienen de C/C++)"Si, no hay punteros! WOW!
-Puede correr en el explorador y en dispositivos móviles.

DESVENTAJAS:
-Algunas implementaciones y librerías pueden tener código rebuscado
-Al tratarse de un lenguaje interpretado,el rendimiento en la ejecución de programas suele ser un poco menor.
-Al contrario que los programas compilados a codigo nativo,solo podemos ejecutar un programa en JAVA si disponemos de una maquina virtual(JVM), sin este simulador no podremos ejecutar ningún programa escrito en JAVA.


POWERBUILDER
Es una herramienta de desarrollo de clase empresarial desarrollada por la empresa PowerSoft,es orientada a objetos y permite el desarrollo de diferentes tipos de aplicaciones y componentes para ejecutar arquitecturas cliente/servidor,distribuidas y web.

CARACTERISTICAS:
-PowerBuilder es una herramienta de desarrollo orientada a aplicaciones de gestión contra bases de datos. Algo así como un Oracle Developer/2000 o el Access de Microsoft, pero profesional, multiplataforma, cliente/servidor, orientado a objetos y capaz de acceder homogéneamente a cualquier base de datos que soporte SQL.
-PowerBuilder está orientado al 100% para aplicaciones de gestión (contabilidad, facturación, financieras) con uso intensivo de base de datos.
-Cuenta con un lenguaje propio de alto nivel llamado PowerScript, que soporta todas las características de la orientación a objetos (encapsulación, herencia, y polimorfismo), SQL incrustado, excepciones (a partir de la versión 8 ), y otras características propias de este tipo de lenguajes.

HISTORIA:
POWERSOFT: En 1991 se crea la versión PowerBuilder 1.0 que prometía facilitar la creación de la aplicaciones de escritorio en el sistema operativo Windows de Microsoft, esta empresa fue la encargada hasta la tercera versión en el año 1993.

SYBASE: 
En el año 1994 Sybase adquiere a PowerSoft,desde ese momento comenzó una gran época para PowerBuilder, se integraría con otros productos de la empresa y sumaría una presencia mundial, sin embargo con el advenimiento de Internet, la aparición de nuevos lenguajes de programación y la baja innovación de Sybase en este producto provocó una perdida de competitividad.

SYBASE SAP: En 2010 la empresa SAP adquiere Sybase, desde el punto de vista tecnológico SAP requería productos que fortalecieran sus software y no depender de terceros, en esta linea PowerBuilder nunca fue de su interés quedando relegado durante los últimos 7 años, perdiendo popularidad y funcionalidades.

APPEON: En julio de 2016 la empresa SAP anuncia que firmó un acuerdo que cede la administración del desarrollo de Powerbuilder a la empresa Appeon​ un compañía dedicada a la prestación de servicios tecnológicos basados en las tecnologías de la extinta Sybase.

EDICIONES:
En la actualidad Sybase ofrece PowerBuilder en 3 ediciones:
-PowerBuilder Enterprise
-PowerBuilder Professional
-PowerBuilder Desktop




lunes, 15 de julio de 2019

MODELO DE UNA SOLUCIÓN IDT

INTERACCIONES M2M

Al diseñar una solución de IdT, es importante crear un modelo antes de crear un prototipo.
La creación de modelos para una solución de IdT comienza con la comprensión de las posibles interacciones M2M, M2P, y P2P. En la figura 1, se muestra un modelo inicial de irrigación en una bodega ficticia. Cuando los sensores indican que el suelo estuvo demasiado seco durante un tiempo determinado y no se pronostican lluvias en un futuro inmediato, se puede abrir una válvula para irrigar un área del viñedo, como se muestra en la figura 2. No es necesario que esta decisión la tome una persona, y tampoco hace falta que la información requerida (para tomar la decisión) se envíe a la nube.
Las siguientes son algunas interacciones M2M adicionales que pueden producirse en el modelo de bodega:
  • Los sensores de temperatura de los tanques de fermentación notifican al controlador para que ajuste la temperatura establecida por el vinicultor.
  • Los sensores de la línea de embotellado detectan cuando una botella no se llenó correctamente y envían una señal a un controlador. A continuación, el controlador envía una señal a un actuador para que quite la botella de vino de la cinta transportadora principal.
INTERACCIONES M2P
En el modelo de bodega, una interacción M2P simple abarca el equipo que se utiliza durante la cosecha. Las centrifugadoras se utilizan para extraer el jugo y los hollejos deseables, y dejar las impurezas. Debido a que las centrifugadoras son un tanto pequeñas y no pueden aceptar demasiado material de una vez, es fundamental el manejo del tiempo de los camiones que llegan del campo cargados con las uvas. Cuando las uvas permanecen en el camión durante demasiado tiempo, se afecta su calidad. Cuando la centrifugadora termina con un lote, puede enviar al conductor del camión una señal que le indica que está lista para recibir otro. Esta interacción M2P evita que los camiones aguarden inactivos y entrega las uvas a la centrifugadora en el momento justo.
Los siguientes son algunos ejemplos adicionales de cómo las interacciones M2P ayudan a mejorar el proceso de elaboración de vino en el modelo de bodega:
  • Los controladores interactúan con los servidores, los servidores aplican herramientas de análisis y, a continuación, se envía una notificación al vinicultor para indicar las acciones específicas, como el momento ideal para podar las viñas o para cosechar las uvas.
  • Los sensores de nitrógeno, temperatura y humedad del suelo le indican al supervisor del viñedo que debe fertilizar un área debido a la falta de nutrientes. En la figura 1, se muestra un sensor de suelo.
  • Los sensores de temperatura y humedad del aire le indican al supervisor del viñedo el momento óptimo para cosechar las uvas
INTERACCIONES P2P
  • Del supervisor del viñedo al vinicultor: el supervisor del viñedo consulta con el vinicultor sobre el mejor momento para podar o cosechar.
  • Del vinicultor a los trabajadores de campo: el vinicultor colabora con los trabajadores de campo para informarles cuándo podar las plantas y cuándo cosechar las uvas, y cuáles.
  • Del supervisor de la planta de procesamiento al vinicultor: el supervisor de la planta de procesamiento controla los sistemas que operan el proceso de prensado y de fermentación.
  • Del vinicultor al público en general a través de las redes sociales: el vinicultor puede llegar a una amplia audiencia para informarle qué tipo de vino está disponible y los detalles de la variedad.
  • Del vinicultor a otros vinicultores o a otros supervisores de viñedo: el vinicultor colabora con otros vinicultores de la región para ayudar a satisfacer las demandas o para conocer nuevas variedades de uva.

SOLUCIÓN PROPIA: 




IMPORTANCIA:
- Menor tiempo de cosecha si antes nos tomaba 6 meses ahora podremos realizarlo en 4 meses aprox.
- Mejor cultivo en la cosecha y proteccion a la salud del consumidor
-Con esto se consigue una cosecha de los beneficios esperados y de calidad, de acuerdo con la variedad cultivada, y esto garantiza la ganancia del productor
REFERENCIAS BIBLIOGRÁFICAS: 
http://manuelcoutinovazques.blogspot.com/2017/11/creacion-de-modelos-de-una-solucion-idt.htm.
https://prezi.com/p/wxyw59qgfmim/creacion-de-modelos-de-una-solucion-de-idt/
https://es.slideshare.net/jesussalvadoralvarez/internet-de-todo-idt-cisco

MODELOS DE IMPLEMENTACIÓN

Es comprendido por un conjunto de componentes y subsistemas que constituyen
la composición física de la implementación del sistema , entre los componentes
podemos encontrar datos,archivos,ejecutables,código de fuente y los directorios.

IoT tiene grandes innovaciones, que también implican grandes desafíos,con más información
compartida entre dispositivos, cada vez es más difícil asegurar puntos de acceso múltiples en
una red tradicional.

De hecho, el 94% de los profesionales de TI consideran que el Internet Industrial of
Things (IIoT) aumentará el riesgo y la vulnerabilidad, aunque el IoT puede presentar un nuevo
conjunto de amenazas, eso no significa que las plantas industriales deban pasar por alto sus
beneficios. Estos son cuatro factores a tener en cuenta al implementar sistemas de IoT.


- Mejora de la durabilidad del dispositivo:
La larga duración de un dispositivo en funcionamiento, genera mayor riesgo de seguridad en las plantas,por tal razón, los recientes desarrollos industriales y protocolos hacen que sea de vital importancia que los dispositivos conectados se mantengan actualizados.Se deben aprovechar las nuevas funciones y servicios, garantizando que se den soluciones a los fallos de seguridad que sean descubiertos.

-Desarrollar una identidad:
Por medio de la habilitación de plataformas de confianza, los usuarios, dispositivos y sistemas obtienen una indentidad única y segura, que puede extenderse a través de la cadena de suministro y ayudar a llevar un control a los líderes de una planta. Además de monitorear qué dispositivos acceden a una red, es importante planear las funciones y responsabilidades para garantizar que solo se lleven a cabo las acciones autorizadas.

-Dispositivos:
Para superar estos desafíos de seguridad de datos, de debe implementar una solución de IoT efectiva que proteja tanto los entornos de fabricación greenfield como brownfield. Crear identidades confiables de los dispositivos no solo aumentarán la integridad y visibilidad de la cadena de suministro, sino que también reforzarán su control sobre la conectividad de los sistemas IoT.

-Estar un paso adelante de los piratas informáticos:
Aprovechar el poder de las identidades de confianza para garantizar que su ecosistema de IoT permanezca libre de estafadores. Al vigilar las pestañas en cada dispositivo que acceda a su red, puede cerrar rápidamente la puerta a cualquier aplicación o usuario no autorizado.



domingo, 30 de junio de 2019

TIPOS DE LICENCIAS DE SOFTWARE


SOFTWARE LIBRE O FREE SOFTWARE:
Es un software disponible para cualquiera que desee utilizarlo, copiarlo y distribuirlo, ya sea en su forma original o con modificaciones, si un programa es libre, puede ser potencialmente incluido en un sistema operativo también libre. Es importante no confundir software libre con software gratis, porque la libertad asociada al software libre de copiar, modificar y redistribuir, no significa gratuidad.

COPYLEFT:
 La función del copyright es evitar que algún material sea modificado y distribuido por alguien ajeno a la autoría de dicho producto; sin embargo, esto se contrapone con la filosofía del software libre y es por ello que nació el copyleft. Así que, esta legislación se encarga de impedir que sea usado el código fuente sin autorización; y, además, define las condiciones bajo las cuales se puede hacer uso de él.



GPL (Licencia Pública General Reducida de GNU):
Es un ejemplo de software libre con protección copyleft; sin embargo, sus términos le permiten integrarse con módulos de software no libre y también poderse comercializar. Ya que está licencia declara de forma explícita que cualquier obra con licencia GPL puede ser vendida a cualquier precio o distribuida gratuitamente; dando así libertad a las empresas para beneficiarse con el uso de su extenso acervo de librerías; o bien, seguir aportando más software gratuito a la comunidad.


DEBIAN (Debian Free Software Guidelines):
Se trata de una licencia para software libre que posee lineamientos bastante estrictos en cuanto a la distribución del código,ya que exige, que cualquier distribución hecha bajo la licencia Debian deba estar acompañada de su código fuente, y además debe ser libre.
Así mismo, se menciona que estos lineamientos no deben variar dependiendo del sitio donde se encuentre; y cualquier proyecto derivado debe ser puesto bajo la misma licencia. También, la licencia no tiene permitido discriminar a ninguna persona o grupo de personas; así como, no puede “contaminar” otro software.


BSD (Distribución del Software Berkeley): 
Puede considerarse como de las más permisivas en el software libre; ya que, a pesar de imponer restricciones, no se compara en absoluto con los casos anteriores. Los principales lineamientos de esta licencia son la libertad para poder comercializar el software libremente, no hay obligación de compartir tu código fuente, y se garantiza el crédito para los desarrolladores que participaron en su elaboración.


X.ORG: 
Se trata de una licencia que podría llamarse híbrida, ya que puede ser aplicada a software libre y software que no lo es. Por lo tanto, sus lineamientos no están apegados al ya mencionado copyleft. Su principal exponente es X Windows System, un sistema que nació para dotar de interfaz gráfica a los sistemas basados en Unix y actualmente se encuentra en uso la versión 11 (X11).



SOFTWARE CON DOMINIO PÚBLICO: 
El Software con dominio público es software sin copyright, algunos tipos de copia o versiones modificadas pueden no ser libres si el autor impone restricciones adicionales en la redistribución del original o de trabajos derivados.

SOFTWARE SEMI-LIBRE: 
Es un software que no es libre, pero permite que otros individuos lo usen, lo copien, lo distribuyan y hasta lo modifiquen. Ejemplos de software semi-libre son las primeras versiones de Internet Explorer de Microsoft, o algunas versiones de browsers de Netscape, y StarOffice.


FREEWARE: 
Esta licencia de software es utilizada para programas que permiten la redistribución, pero no la modificación, y que incluyen su código fuente. Estos programas no son software libre.
Es un programa gratuito, sin embargo, no es libre, en este tipo de licencia el autor puede restringir su programa al uso empresarial, redistribución no autorizada, modificación por usuarios y otro tipo de restricciones.
Algunos ejemplos de este tipo de software son Microsoft Edge, Google Chrome, el archiconocido Adobe ReaderAdobe Flash Player, Windows Live Messenger y muchos otros.


SHAREWARE: 
Es el software disponible con el permiso para que sea redistribuido, pero su utilización implica el pago, generalmente, el código fuente no se encuentra disponible, y por lo tanto es imposible realizar modificaciones.
Es un programa distribuido gratuitamente, pero por tiempo limitado o con algunos recursos restringidos. A través del pago de un valor definido por el autor del programa, se puede obtener el registro del programa o la versión integral con todos los recursos. Abarca las licencias adwares, trial y demo.


Software Propietario
El Software propietario es aquel cuya copia, redistribución o modificación están, en alguna medida, prohibidos por su propietario. Para usar, copiar o redistribuir, se debe solicitar permiso al propietario o pagar.

Software Comercial
El Software comercial es el software desarrollado por una empresa con el objetivo de lucrar con su utilización. Nótese que “comercial” y “propietario” no son lo mismo. La mayor parte del software comercial es propietario, pero existe software libre que es comercial, y existe software no-libre que no es comercial.


Adware
Subprograma que descarga publicidad sobre otro programa principal. Esto ocurre cuando un programa tiene versiones comerciales o más avanzadas que necesitan ser compradas para poder ser utilizadas. Pagando por la versión comercial, esos anuncios desaparecen. Es una licencia muy poco usada. Un ejemplo es el Ashampoo Burning Studio 2009.

Trial
Versión de programa pago, distribuido gratuitamente con todos los recursos activos, pero por un tiempo determinado. Es como un programa freeware, que después de determinado tiempo deja de funcionar. Para continuar con la utilización del programa, se debe comprar la clave de registro e insertarla en el programa, para que vuelva a ejecutarse. Ejemplo: Nero, Alcohol 120% y Photoshop.


Demo
Versión de demostración, liberada por el autor, que no contiene todas las funciones del programa original. Es distribuida gratuitamente, y no tiene plazo de validez, pero también tiene pocos recursos y funciones. Ejemplo: Need for Speed DEMO, FIFA DEMO.

Crippleware
Es un programa con menos recursos y funciones. Muy conocido como «versión lite». Ideal para ser usado en computadoras viejas. Ejemplo: BurnAware Free.

Donationware
Versión de programa en la que el autor solicita una donación, para cubrir los gastos del desarrollo del programa. No es obligatoria, pero si solicitada. El programa no sufre variantes por realizar o no la donación. Ejemplo: FreeRapid Downloader, Linux Slax.

Abandonware
Programa cuyo desarrollo fue abandonado. El autor debe anunciar públicamente el abandono del programa para ser “abandoware”, mientras tanto el programa está protegido contra los derechos de copia (copyright). Si la discontinuidad es anunciada, el programa puede ser distribuido y modificado por cualquier usuario o desarrollador.

Licencias de software extrañas o muy poco utilizadas

Careware
Licencia de programa que solicita la ayuda de donaciones para fondos de caridad y organizaciones de ayuda humanitaria.

Postcardware (o cardaware)
Tipo de licencia en la que el autor solicita que una tarjeta o postal se le sea enviada. El usuario es sólo invitado a hacer eso. Muy similar al Emailware, en que los usuarios mandan e-mails al autor del programa.




LENGUAJES DE PROGRAMACION II

LENGUAJE C También conocido como "lenguaje de programación de sistemas", fue creado en el año 1972 por Dennis Ritchie para UNIX...