domingo, 31 de agosto de 2008

WS -Consideraciones de diseño para dispositivos móviles

Estaba buscando información mas "aterrizada" sobre desarrollo de WS para dispositivos móviles, ojalá con ejemplos de código. Me topé con este artículo interesante "Designing Mobile Web Services"

http://www.ibm.com/developerworks/wireless/library/wi-websvc/

El artículo inicia discutiendo cuando es conveniente usar Web Services en dispositivos móviles. Brinda una serie de "Best practices" y consideraciones de diseño que son específicas para el caso de los dispositivos. Otra ventaja de este articulo es que luego se vuelve más práctico, con ejemplos de la implementación en código Java. En este caso para los ejemplos la autora utiliza JAX-RPC.

sábado, 30 de agosto de 2008

Programando webservice en Ruby

Para poder crear webservice con Ruby lo primero que se debe hacer es aprender el lenguaje para esto están aquí unos cuantos tutoriales relativamente completos:

http://es.tldp.org/Manuales-LuCAS/doc-guia-usuario-ruby/doc-guia-usuario-ruby-html/
http://rubytutorial.wikidot.com/
http://www.tufuncion.com/ruby-tutorial-basico

Como crear un webservice con Ruby:

http://soa.sys-con.com/node/39831
http://www.tutorialspoint.com/ruby/ruby_web_services.htm
http://rubylearning.com/satishtalim/ruby_web_services.html
http://wiki.alfresco.com/wiki/Web_Service_Samples_for_Ruby
http://wiki.knowledgetree.com/Web_service_integration_using_Ruby
http://sitekreator.com/satishtalim/web_services.html

miércoles, 27 de agosto de 2008

Interoperabilidad

Para seguir un poco con los conceptos de WS-I Organization, encontré este link donde describe un poco mas la idea de esta gente para crear estandares y compatibilidad.

http://www.service-architecture.com/web-services/articles/web_services_interoperability_organization_ws-i.html

En este link se ve la iniciativa de obtener esta interoperabilidad es una entrevista, talvez para comparar lo que se queria lograr en ese tiempo contra lo que esta sucediendo ahora.
http://www.microsoft.com/presspass/features/2002/feb02/02-06ws-i.mspx

Este link permite registrarse y asistir a un web cast sobre nuevas arquitecturas incluyendo SOA, asi que los interesados deberan suscribirse.
http://webcasts.techrepublic.com.com/abstract.aspx?docid=378318&promo=100600

Alguna otra informacion sobre SOA. http://whitepapers.techrepublic.com.com/abstract.aspx?&docid=327191&promo=100511

martes, 26 de agosto de 2008

WCF Security

Buscando un poco sobre una implementación específica de seguridad me encontré con la nueva implementación que tiene Microsoft para manejo de aplicaciones orientadas a servicios WCF (Windows Communication Foundation). En los siguientes dos links se puede encontrar información sobre como manejar seguridad en WCF.


Attachments en Web services Axis

Siguiendo el comentario del profesor, en la parte de java, nos centraremos en el framework de apache axis, ya que es el mas simple y muchas implementaciones de Eclipse, generan automaticamente las clases para servicios web basados en este framework.

http://www.roseindia.net/webservices/web-services-development.shtml

en este articulo se ve una implementacion de axis con todo los archivos de configuracion que se generan, pero ya cuando uno entiende bien el modelo de axis, los metodos que generan el servicio son mas sencillos de entender, aunque me falta probar bien el codigo, el codigo muestra en si un servicio de descarga en dos modos mime y dime, y utiliza un datahandler para obtener los bytes del archivo.


este enlace es el codigo para subir achivos por un servicio web.
http://www.mail-archive.com/axis-user@xml.apache.org/msg20160.html

el siguiente post se orientara a la interoperabilidad entre esta tecnologia y .net ya que a primera vista se ve un objeto que no nesesariamente reconoce .net

Interoperabilidad - Ejemplo Practico

Para la gente que prefiere los ejemplos practicos a teoria, pude hayar este articulo el cual muestra un ejemplo practico de interoperabilidad (.Net - Java).

http://www.microsoft.com/spain/interop/developers/websphereinterop.mspx

El codigo del articulo se puede descargar.

Ejemplos Incluidos en este articulo:

1. 
Servicio Web 1: muestra un sencillo servicio Web que hace una suma, pensado para empezar a conocer las herramientas y plataformas más relevantes.

2. 
Servicio Web 2: Una demostración del paso de tipos de objetos complejos entre ambas plataformas.

3. 
Servicio Web 3: Muestra un patrón de diseño para crear servicios Web ampliables para los casos donde los mapeos de datos están sujetos a cambios.

Enviando archivos adjuntos con WebServices en .net

En el 2003 Microsoft introduce con el WSE 1.0 características de envío de archivos adjuntos en servicios web utilizando mensajes SOAP con DIME, este último ha sido diseñado para encapsular un mensaje SOAP y sus archivos adjuntos en una forma similar al MIME. Los pormenores de cómo se funciona y de cómo se implementa se explica en el artículo “Using Web Services Enhancements to Send SOAP Messages with Attachments” en el siguiente link:
http://msdn.microsoft.com/en-us/magazine/cc188797.aspx

En el artículo “DIME, Sending Files, Attachments, and SOAP Messages Via Direct Internet Message Encapsulation”, nos ilustra el funcionamiento del DIME, y en donde se describe el formato de un mensaje, cómo se diferencia el DIME del MIME, las extensiones WSDL para DIME, etc. Link:
http://msdn.microsoft.com/en-us/library/ms996944.aspx

Sin embargo el DIME tiene alguna limitantes, para la versión WSE 3.0 Micorsoft presenta MTOM (Message Transmission Optimization Mechanism) que es un mecanismo específico para enviar grandes cantidades de datos en un mensaje SOAP. Para explicarlo su mecanismo hago referencia al siguiente artículo: “Sending Large Amounts of Data in a SOAP Message Using WSE” en el link:
http://msdn.microsoft.com/en-us/library/aa529567.aspx

Para el proyecto aparte de implementar un servicio web en donde se pueda enviar adjuntos en .Net y su interoperatividad con un servicio web implementrado con algún sabor de Java, quisiera hacer pruebas enviando adjuntos con archivosa grandes usando MTOM.

Saludos