Mostrando entradas con la etiqueta Documentación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Documentación. Mostrar todas las entradas

Windows Azure (Que?, como?, Cuando? & por que?)

Autor: Clipto



Tal ves muchos aun no escuchan hablar de esta nueva Tecnología (Plataforma) & es normal su lanzamiento es aun muy reciente, pero tras de leer e investigar un poco en Internet tratando de asimilar que era esto me dispongo a escribir este sencillo Documento que pretende dar una idea Básica pero General de esta nueva Tecnología.


Empecemos con algo de Historia acerca de la programación, recomendaría no volarse esta parte ya que como en una cola lo primero es lo mas importante y esto nos dará una base para entender de Que se trata todo este cuento y comprender las ventajas de esta tecnología que como dijo alguien: no es un capricho, y como digo yo: no es un lujo es toda una necesidad; Ahora entremos un poco en materia con algo de Historia.


Atentados del 11 de septiembre de 2001: Todos recordamos este ataque el cual lamentamos muchos ya que fue algo catastrófico, pero se preguntaran ¿Esto que tiene que ver?, en realidad es muy simple; si lo observamos desde un punto de vista tecnológico y aun mas nosotros ingenieros de sistemas conocemos la importancia y valor de los datos sabremos que estos atentados causaron la perdida de millones y millones de datos pues este lugar en su interior era un centro de datos, al incendiarse todos los equipos se perdieron los datos y no hubo manera alguna de recuperarlos lo que llevo a cantidades de compañías al fracaso y posteriormente a declararse en banca rota ya que su materia prima (Los datos) se había perdido no tenían como seguir adelante, como vemos esto nos esta aclarando mucho la mente, pero ahora pensemos que habrán dicho los clientes, proveedores etc. no es culpa de ellos que las compañías tuvieran los datos almacenados en ese lugar por lo que tomaron repercusiones legales contra las empresas. Estos acontecimientos llevaron a analistas a comprender que necesitaban soluciones, que necesitaban una forma de prevenir la perdida de datos ocasionados por problemas X o Y de cualquier índole, & es ahí donde Microsoft empieza a trabajar en el desarrollo de esta tecnología.



Aplicaciones en la Nube: Esta es por decirlo así la idea en que se basa la plataforma AZURE .
Un conjunto de soluciones para evitar problemas como los comentados anteriormente, es decir un plan de recuperación y protección de datos. Pero se preguntaran ¿Como? Muchos ya conocen lo que son servicios de hosting, pero recordemos un poco. Un hosting es un servidor dedicado donde almacenare información, generalmente utilizado para alojar archivos de código que son interpretado por los navegadores es decir “paginas web”
las aplicaciones en las nube desarrollan un concepto muy similar son aplicaciones que serán subidas a servidores y su funcionamiento sera desde la nube.


Hasta este punto ya respondemos los interrogantes al ¿Que?, ¿Cuando?, ¿Como? & ¿por que? Sobre la plataforma Azure, pero no podemos dejar solamente ahí, ya que se nos presentan miles de preguntas, ente esas: ¿es fiable?, ¿es estable el sistema?, ¿como funciona?, para resolver estos interrogantes entraremos un poco mas en materia sobre esta tecnología.






Windows Azure: Diré que este es el centro de datos de Microsoft, es decir los servidores donde estarán alojadas nuestras aplicaciones como alguien dijo: pensemos en ello como una granja de servidores trabajando para cumplir con el propósito de la nueva tecnología, ahora entraremos a ver las ventajas que este servicio implica: si tenemos nuestra aplicación corriendo en la nube piensen que los datos crecen cada ves mas rápido, si estuviéramos trabajando en equipos locales gastaríamos mucho en expansión de equipos para guardar todos los datos y garantizar que nuestra aplicación siga su curso normal, pero como ahora esta en la nube no debo preocuparme por estos detalles pues como se dijo en un principio son cantidades de servidores por lo cual si nuestra aplicación e información necesitan mas espacio esta se ira expandiendo a medida que esto ocurra. Como vemos nos ahorramos mucho dinero, pero veamos otra ventaja que conlleva el tener nuestras aplicaciones en la nube, pues un entorno siempre actualizado y seguro, pero ¿quien se encarga de ello? Esto funciona por abstracción no sabremos quien ni como pero este proceso sera realizado por el personal de Microsoft, si antes una compañía tenia que pagar por un experto en seguridad informática se esta ahorrando este capital pues ahora no hay uno si no muchos trabajando porque estos proceso de actualización y seguridad de nuestras aplicaciones sucedan y todo esto dentro del mismo servicio.



SQL Azure: Uno de los puntos central de esta nueva tecnología es SQL Azure, que como se puede deducir por su nombre es el encargado y responsable del trabajo con Bases de Datos en la nube, mencionare algo que me parece muy importante sobre su funcionamiento y es uno de sus componentes: “sincronizador de datos”, se preguntaran cual es su función, pues este empieza hacer su trabajo cuando laboramos con BD de acceso desconectado permitiendo la sincronizacion desde el DataSet hasta el origen de datos, pero porque me llamo tanto la atención este componente y porque hablo de el, pues es sencillo en esta nueva tecnología no es obligatorio que yo tenga mi aplicación en la nube puedo solo tener mi base de datos, y la aplicación estar en un equipo local, algo que muestra que esta tecnología ha sido laborada con muchos detalles tratando de no dejar puntos fuera de ella.

.NET Services: Quien es el encargado de la seguridad de este servicio?, sera optimo el rendimiento de mi aplicación?. Para aclarar estos aspectos que son muy importantes en servicios como estos debemos hablar de .NET Services que es quien esta velando por la seguridad de nuestro producto, como ejemplo tomemos las tareas administrativas, ¿al estar una aplicación en la nube cualquiera puede acceder a ella?, pues no: .NET Services se encarga del control de acceso a los servicios para poder realizar tareas de tipo administrativas o no administrativas. Y por rendimiento hablaremos de Computer Services; pues seria lógico pensar que tanto trafico hacia los servidores
haría lento el proceso de respuesta de ellos, por ende se haría lento nuestra aplicación, pues este componente se encarga de distribuir la carga de trabajo entre distintas maquinas, pero no solo es eso porque podría entonces distribuir entre servidores que ya están ocupando muchos trabajos y servicios, se trata entonces de distribuir los trabajos entre los servidores que posean menos trabajos y como ya conocemos que dos cabezas piensan mejor que una, podemos concluir dos o mas servidores trabajan mejor que uno por lo cual gozaremos de servicios de respuesta óptimos, pero ¿que pasaría si son nuestros equipos los que fallan?, no hay problema este servicio esta bien construido y pensado por lo que también podremos acceder desde cualquier dispositivo es decir podríamos acceder desde los celulares entre otros lo que garantizaría que nuestra productividad no se vería afectada.


Bueno ya tenia mas de un año sin escribir un documento, pero espero este sea de provecho para muchos, y decir que nosotros los Ing. de Sistemas y profesionales TI, somos los encargados y responsables de llevar estas nuevas tecnologías a nuestra sociedad porque la tecnología avanza cada vez mas rápido, y quien no este en la vanguardia de estas nuevas tecnologías representarían perdidas de rendimiento y optimizacion en gran medida a una empresa dejándolo fuera de la competencia laboral.

Descargar el Documento en PDF





http://www.4shared.com/document/SFv39Vw7/azure2.html

JAVA, DLL y C -project-ric.org

Este es un documento sacado desde project-ric.org claro con permiso de los administradores "Lozano". bueno en fin este blog quiero que sea como una base de datos creada por todos dodne podamso ver informacion respecto ala programacion y bajar codigos fuentes. entre tanto este tuto de un programa que usa java,dll y c para su funcionamiento.

en fin aqui esta el tuto:

Les recuerdo: Hacer dos programas y se comuniquen por medio de librerías dinamias o DLL. El ejercicio trata de instanciar un arreglo de enteros con un dimensión de 5000 y en cada espacio agregar un numero radom de 0 a 60000 :xD y en su salida imprimir estos numeros en orden ascendente. La cuestion es que el arreglo se debe instanciar en C o C++ (use C), el arreglo lo recibe un programa en java y este los ordena y después el programa en java envia el arreglo en orden a C y este los imprime. (Facil no??? ='()

modificadores de acceso by clipto

MODIFICADORES DE ACCESO By Clipto

Modificadores de Acceso de una Clase (Encapsulamiento):
Para empezar hare referencia a algo del curso 5 estrellas de Microsoft no del mismo modo pero trata de reflejar la misma idea, y es lo siguiente: En el mundo de programación y de acuerdo a las actuales tendencias, imaginemos que vamos manejando un carro “personalmente quisiera que fuere verdad pero en fin…”, ahora sabemos que este posee motor, pistones y un gran número de elementos que son los encargados de que este funcione, todos estos aparatos como les venía diciendo dado a las tendencias actuales estos son simplemente objetos, y el compartimiento que contiene estos objetos es una clase “Compartimiento mencionado: donde va el motor y esas cosas, no lo menciono porque no sé cómo se llama” , en fin, para nosotros saber manejar no necesitamos saber cómo funciona esa clase, ósea cual es su comportamiento, solo necesitamos algo que nos haga referencia a esa clase “esa parte del carro”, y que la podamos hacer funcionar, creo que se puede entender la idea del ejemplo, ahora lo explicare un de una forma más compleja. Entre los pilares de la programación orientada a objetos tenemos, Abstracción, Relaciones, Herencia, & el tema a tratar Encapsulamiento, El cual básicamente nos permite abstraer el código de una clase del resto de mundo “de las demás clases”, ¿se preguntaran aja y porque es un pilar de la POO o porque es tan importante? si recordamos el ejemplo del carro el encapsulamiento es el que nos permite que podamos usar una clase sin tener que saber que ocurre dentro de esta o como funciona, lo que en el ejemplo nos permitiría manejar el carro sin ser mecánicos, ahora los modificadores de acceso son los que nos permiten saber qué acceso podemos tener a una clase X, ya definido esto podemos pasar a decir cuáles son los modificadores de acceso existentes que puede tener una clase:
1. Public (publico): como su nombre lo indica, con este modificador estaríamos indicando una clase de tipo publica es decir que desde cualquier otra clase o lo que sea podemos tener acceso a los miembros públicos de esta clase.
2. Protected (protegido): MSDN lo considera un tipo de acceso derivado, pero ¿por qué derivado? Pues miren al ser un tipo de acceso protected solo esa clase puede tener acceso al elemento protegido, y, lo derivado porque también una clase derivada de esta “herencia” puede tener acceso a estos miembros protegidos.
3. Prívate (privado): esto realmente hace referencia a su nombre, porque solo la clase puede ver sus propios elementos privados, es decir solo esta tiene acceso a tales elementos.
4. Paquete: pues no sabría darles una definición distinta a la que leí, y es que es una clase que solo puede ser accedida desde el mismo árbol de paquete, es decir una biblioteca. dll, o un .exe.


esta es una parte del documento, les dejo la otra como documento en version pdf, y disculpne la plantilla del pdf es de un foro q visito para el cual hice el documento anterior jejej :)

Descargar el documento desde: http://www.4shared.com/file/250880912/961424bc/MODIFICADORES_DE_ACCESO.html


introduccion a .NET by Clipto

El siguiente texto es para explicar que es .net, cabe aclarar esto porque pueden haber personas que se hayan confundido y piensan que es una introducción a la programación en .net.  ¿Por qué ha de haber un texto como este?, es sencillo nos mostrara con más claridad en que es lo que estamos trabajando, sabremos que lo componen  como y cuál es la función de cada componente lo cual nos dará mas destreza a la hora de trabajar con .Net
DEFINICION DE  .NET: hay personas que suelen decir que .net es un lenguaje de programación incluso yo lo creía así, entonces como primera parte lo que haremos será quitarnos todas estas ideas y para ello empezaremos diciendo que no es .NET 
Definición formal, complementada con la información dada por Microsoft:
1.   .Net no es un sistema operativo: bueno creo que ya esa sería la última opción que se nos ocurriría porque bien conocemos lo que es un S.O  y los podemos identificar además sabemos que .net no cumple ninguna de estas cualidades
2.   .Net no es un producto que se pueda comprar como tal:  debido a la definición que daremos mas adelante nos daremos cuenta que este en realidad no es un producto como tal, sino que es un conjunto de aplicaciones y servicios por lo que podemos deducir que el concepto de .net va mas allá de un simple producto
3.   .NET no es un entorno de de desarrollo: desde aquí no podemos ir haciendo una idea breve de lo que es .NET, miren .NET no es un entorno de desarrollo, pero .NET incluye distintos entornos de Desarrollo llamados también IDES, tampoco es decir entonces que .NET es un conjunto de entorno de desarrollo jajá, porque aun el concepto de .net va mas allá.
4.   .NET no es un lenguaje de programación: al igual que hablamos de entornos de desarrollo contenidos en .net podemos enseguida deducir porque este no es un lenguaje de programación, sino que este contiene distintos lenguajes de programación que nos permitirán desarrollar aplicaciones según la necesidad, aclarando nuevamente que el concepto de .NET va mas allá.
Creo que hasta el momento nos hemos hecho una definición más clara al hablar de lo que no es .NET y hemos borrado todas aquellas ideas que teníamos sobre lo que pensábamos que era .NET, desde este momento mostraremos lo que en realidad es .NET 
¿QUE ES .NET?: .NET es una plataforma de desarrollo estrictamente orientada a objetos compuesta por distintos elementos que por la abreviación que pretende tener este articulo no serán definidos solamente nombrados, buscando con esto tener una IDEA BASICA pero clara de lo que es .NET
1.   Entorno de ejecución (Runtime).
2.   Bibliotecas de funcionalidad (Class Library).
3.   Lenguajes de Programación.
4.   Compiladores.
5.   Herramientas de desarrollo (IDE & Tools).
6.   Guías de arquitectura.
y lo más importante es que

7.   .NET es La evolución de la plataforma COM: Al ser esto tan importante para la definición de lo que es  .NET esta será definida atreves de un cuadro comparativo de lo que era la COM y de lo que ahora es .NET

Pues pensaba dejarlo hasta aquí pero debido a la mucha info que falta para  hacernos una idea clara no solo de lo que es .net sino de cómo trabaja decidí extender un poco el artículo, que aunque sé que es un poco largo le recomiendo a los lectores seguir el curso de este articulo que bien pagara el tiempo que hemos  gastado leyendo el tema.

¿QUE ES EL CLR?:  la única definición formal que se debe tener en cuenta es que el CLR es el que nos determina la arquitectura de ejecución de cualquier programa desarrollado en cualquiera de los IDES soportados por .NET o en pocas palabra como dice Microsoft el CLR  es  el motor de ejecución (Runtime o maquina virtual) de .NET,  pero se preguntaran aja y cómo funciona el tal CLR,  pues miren el CLR cumple ciertas características que serán resumidas pero antes de eso hablemos de su arquitectura de ejecución, como ya definimos .NET es la evolución de la COM la cual funciona con Windows pero en .NET las aplicaciones corren por encima del sistema operativo de es que se encarga el CLR esto trae muchas ventajas ya que Windows no controla el siclo de vida de estas aplicaciones además ningún error  producido en estas aplicaciones debe afectar a las otras ya que todo el soporte lo da el CLR, aplicaciones ahora un detalle también importante es saber que los componentes de software ejecutados de esta manera (por medio  del CLR) se llaman componentes manejados. Ahora sin más rodeo vamos directo al grano, la arquitectura de ejecución de las aplicaciones es la siguiente:

Componentes Manejados >>>Servicios  y Apis  del entorno de ejecución intermedio (CLR)>>>>Servicios y Apis del S.O>>>Hardware.

Seguro muchos dirán que por el CLR, nuestro equipo no soportara tanto gasto de memoria pues les informo que no es así, entornos como .NET hacen parte de la actualidad y lo más usado en los próximos años y se darán cuenta  las características que posee el CLR nos muestran que es al contrario y que no hay tanto gasto de memoria sino mas bien, ejecución controlada observen.

Características del CLR:
1.   Compilación Just-In-Time (JIT): nuestra primera característica nos mostrara que en realidad no hay tanto gasto de memoria ya que just-in-time significa justo a tiempo queriendo decir con esto que el CLR se encarga de compilar las aplicación de la plataforma .Net en el momento que se necesite evitando con esto el gasto de RAM innecesario.
2.   Garbaje  Collector: este sirve para la gestión automática de memoria, como muchos ya sabe esto quiere decir recolector de basura, y para los que no saben los recolectores de basura se encargan de liberar periódicamente la memoria de procesos que ya no están siendo usados por ninguna aplicación. Ahora ven lo interesante de la plataforma .NET nos llena de muchas ventajas a nuestro favor ya que el usuario no tendrá que estar pidiendo liberación de memoria por miedo de que sus procesos llenen toda la RAM y se bloquee el equipo.
3.   Gestión de errores: ya que los aplicaciones desarrolladas en la plataforma .NET son componentes manejados por el CLR (Runtime) lo errores producidos en tiempo de ejecución no serán  atrapados por el sistema operativo  causando problemas con otras aplicación sino que estos errores serán atrapados por el CLR.
4.   Gestión de Seguridad: permite establecer reglas de seguridad con las que serán ejecutadas las aplicaciones de .Net en una determinada maquina.
Para terminar la introducción al CLR cabe destacar que el proceso de compilación del CLR produce código MSIL, el MSIL es un conjunto de instrucciones que pueden ser convertidas a código nativo muy eficientemente.

Bueno para no alargar el tema dejemos hasta aquí, para algunos ha sido bueno hacerse una idea de que es y cómo trabaja en parte .NET, pero para los que quieran mas información resumida como la anterior pueden pedir que se continúe la introducción y eso hare o hará cualquier user del foro, espero les haya gustado el articulo y por favor dejar sus comentarios con el cual podremos sentir que hicimos bien o que debemos profundizar o cambiar algunos aspectos del articulo.