martes, 16 de octubre de 2012



SUITETALK (Web Services)

La Integración SuiteTalk, permite realizar de manera más fácil la integración de NetSuite con los sistemas heredados de terceros.

Simple Object Access Protocol (SOAP), está basado en los estándares de servicios Web API, el cual permite extenderse a otros sistemas, aplicaciones de terceros y aplicaciones verticales existentes.

SuiteTalk le ofrece la posibilidad de utilizar cualquier lenguaje de programación o plataforma que admita el estándar SOAP para generar los objetos empresariales de NetSuite, tales como Java o Microsoft. NET.

En profundidad CRM y objetos de contabilidad / ERP están expuestos de manera más sencilla a la integración.
SuiteTalk utiliza un modelo de autenticación basada en roles similares a la interfaz de usuario de NetSuite.
También, incluye un completo control de errores que utiliza la arquitectura de errores y códigos de advertencia, así como algunos built-in SOAP para el manejo de errores.

Sistemas distribuidos - Frameworks


Sistemas distribuidos - Frameworks

Sin duda la gran mayoría de las aplicaciones que se desarrollan actualmente son aplicaciones distribuidas. El framework de .Net nos proporciona un poderoso marco para el desarrollo de este tipo de aplicaciones. Veremos como .NET remoting permite desarrollar, desplegar y configurar con facilidad aplicaciones distribuidas sin los quebraderos de cabeza y las limitaciones que presentaban anteriores soluciones.
Tecnologías para el desarrollo de aplicaciones distribuidas El desarrollo de aplicaciones distribuidas sería una tarea prácticamente impracticable sin la existencia de diferentes tecnologías o frameworks que hacen la tarea más llevadera proveyendo una serie de servicios básicos a toda aplicación distribuida.
A lo largo de los últimos tiempos se han desarrollado diferentes de estos frameworks; a menudo unos son evolución lógica de otros añadiendo una nueva capa de abstracción y simplicidad. DCE/RPC Disctributed Computing Environment (DCE) fue diseñando por la Open Software Fundation, a principios de los años 90, en un intento de proveer una serie de herramientas y servicios (llamadas a procedimientos remotos, seguridad, etc...) que facilitasen el desarrollo de sistemas distribuidos. Sin embargo aunque DCE/RPC ha sido una tecnología ampliamente usada y válida, nunca se ha caracterizado por su facilidad de implementación. Otro importante problema es que la implementación ha estado restringida a lenguajes diferentes de C/C++. Otra carencia de este entorno es la ausencia total de orientación a objetos. A pesar de estos problemas, DCE/RPC es la base para algunos de los frameworks más usados como son COM+ y DCOM. Muchas aplicaciones distribuidas de amplio uso, también tienen como base DCE/RPC, por ejemplo, MS SQL Server, Exchange Server, SMB (Server Message Block) y NFS (Network File System).

CORBA (Common Object Requets Broker Arquitectura) es un estándar definido por el consorcio OMG (Object Management Group), formado por más de 800 empresas. CORBA es solamente una colección de estándares; la implementación es realizada por todas aquellas terceras compañías que lo deseen. Esto unido a que partes del estándar es opcional y a que a menudo las compañías que implementan el estándar añaden extensiones propietarias incompatibles con otras implementaciones, han hecho que el objetivo de interoperabilidad con el que nació CORBA no se haya alcanzado de manera plena. A pesar de estos problemas, dejando aparte SOAP, CORBA es el único entorno multiplataforma y multilenguaje para aplicaciones distribuidas. Existen ORBs (Object Request Brokers) para la totalidad de sistemas operativos y librerías para el desarrollo en la mayoría de los lenguajes. También existen capas para integrar CORBA con otras tecnologías como COM y EJB. COM/DCOM (Distributed Component Object Model) A veces llamado oRPC (Object RPC).

DCOM (Distributed Component Object Model) es una extensión de RPC orientada a objetos. COM nace a raíz de la necesidad de compartir objetos entre aplicaciones, ya sean objetos visibles (componentes ActiveX) u objetos sin parte visual (librerías ActiveX). DCOM es una extensión de COM que permite desplegar los componentes de una aplicación de manera transparente sobre una red para formar un sistema distribuido. DCOM presenta problemas en lo relativo a su uso sobre redes dispersas, al usar un formato binario (DCE/RPC) para transmitir la información y realizar la asignación de puertos para comunicaciones de manera dinámica, hace difícil su uso si hay firewalls de por medio. Existen implementaciones de DCOM para Windows y Unix, sin embargo, su uso está casi restringido a sistemas Windows donde, con anterioridad a .NET, constituía un marco tecnológico casi omnipresente. COM+ COM+ fue el primer intento serio de Microsoft de proveer un servidor de aplicaciones de nivel empresarial. En esencia, COM+ es una serie de servicios (eventos distribuidos, pool de objetos, transacciones distribuidas, mensajería entre aplicaciones, eventos bajo suscripción, administración de seguridad, balanceo de carga, etc...) construidos sobre DCOM y que extienden sus posibilidades. La principal pega de este marco tecnológico es que está íntimamente ligado a sistemas Windows y la dificultad de una correcta configuración, aunque ésta no es mayor que la habitual en otros sistemas distribuidos. La total integración con los sistemas Windows es sin duda el punto fuerte de COM+. Mencionar por último que .NET delega en COM+ cuando necesita los servicios anteriormente citados.

Java EJB Entrerprise Java Beans (EJB) fue la respuesta que SUN dio a COM+. EJB es un estándar pero al contrario que CORBA, que es sólo un estándar, SUN proporciona una implementación de referencia, lo que garantiza que un sistema que corra sobre esta implementación lo hará sobre cualquier otra que esté de acuerdo al estándar. EJB ha sido ampliamente aceptado por la industria informática, de manera que existen implementaciones del estándar realizadas por numerosas empresas e incluso implementaciones Open Source muy dignas (www.jboos.org). El principal problema con EJB es que a menudo las empresas implementan contenedores que aportan características más allá del estándar, y si las usamos, nuestro sistema estará ligado a un contendor determinado. Otro problema es que el despliegue de la aplicación y la configuración del contendor es un proceso bastante complicado. Web Services/SOAP/XML-RPC.
Sin duda los servicios Web son el primer entorno que realmente logra una verdadera solución a la integración entre sistemas heterogéneos, gracias al uso de estándares ampliamente extendidos y ya existentes en la mayoría de las plataformas. Los servicios Web usan HTTP POST para realizar llamadas a componentes remotos, usando XML para codificar la información necesaria para realizar la llamada, pasar parámetros y recibir resultados.

SOAP es el protocolo más usado a la hora de codificar la información necesaria para realizar la llamada. SOAP (Simple Object Access Protrocol), WSDL (Web Service Description Language) y UDDI (Universal Dscription, Discovery and Integration) constituyen una serie de estándares basados en XML y HTTP que forman un marco tecnológico que permite de una manera sencilla la comunicación entre sistemas heterogéneos gracias a la amplia disponibilidad de HTTP y XML, únicas tecnologías necesarias para la implementación de estos estándares. La principal carencia de los servicios Web es la imposibilidad de mantener el estado de los objetos entre llamadas y el menor rendimiento.

Sistemas distribuidos – Ventajas y Desventajas


Sistemas distribuidos – Ventajas y Desventajas

Un sistema distribuido es aquel donde el almacenamiento y procesamiento de la información es realizado sobre varias computadoras que permanecen en contacto entre ellas mediante elementos de comunicación.

Ventajas de los sistemas distribuidos:

Compartición de recursos: Un sistema distribuido permite compartir hardware y software.
Apertura: La apertura de un sistema es el grado al cual se puede extender agregándole nuevos recursos no propietarios. Los sistemas distribuidos son sistemas abiertos que incluyen software y hardware de diferentes fabricantes.
Concurrencia: En un sistema distribuido varios procesos operan al mismo tiempo en diferentes computadoras de la red comunicándose entre ellos si es necesario. •
Escalabilidad: En un sistema distribuido relativamente sencillo aumentar la capacidad del mismo añadiendo nuevos elementos al sistema. A menudo esta escalabilidad se ve limitada por el nexo de unión entre los diferentes equipos, habitualmente el factor limitador es la capacidad de la red.
Tolerancia a fallos: Disponer de varios equipos trabajando en paralelo permite duplicar aquellos equipos que realizan tareas críticas, de manera que ante la caída de un equipo no ocurra una pérdida del servicio proporcionado por el sistema.
Transparencia: La transparencia consiste en esconder al usuario la arquitectura del sistema. Para el usuario es indiferente usar un sistema distribuido.

Desventajas de los sistemas distribuidos

Complejidad: Es evidente que los sistemas distribuidos son más difíciles de diseñar, construir, depurar y mantener.
Seguridad: El sistema se puede acceder desde diferentes lugares, lo que hace que el tráfico de red pueda estar sujeto a inspecciones no deseadas.
Mantenibilidad: Las diversas computadoras de un sistema pueden ser de diferentes tipos o ejecutar diferentes sistemas operativos. Los fallos en una máquina pueden propagarse con consecuencias impredecibles a priori. •
Impredecibilidad: Como vemos a diario, como usuarios de Internet, los sistemas distribuidos son impredecibles en su respuesta. Ésta depende de la carga del sistema, de su estado y de la carga de la red, lo que hace que el tiempo para atender peticiones varíe ampliamente.