domingo, 31 de agosto de 2008
WS -Consideraciones de diseño para dispositivos móviles
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
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
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
Attachments en Web services Axis
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
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
Opiniones WSO2
Una de las ventajas que ofrece es que es una plataforma que es muy poderosa y no requiere licencia esto le da una ventaja extra como se muestra en algunos articulos.
Parte de estas ventajas es que es software libre pero la compañia que lo desarrollo se dedica a brinarlñe soporte por lo cual es un proyecto que se matiene actualizado y que es estable y cuenta con una buena documentacion.
La proxima plataforma a analizar es Web Sphere.
Dispositivos moviles.
http://www.javaworld.com/javaworld/jw-05-2003/jw-0516-wireless.html?page=3
en el cual se comparan las tecnologías J2se y .net compact framwork. Usan ambas para consumir un mismo web service (.net)
SOAP Message Security 1.0
Especificación.
Más info sobre OASIS
Security and Authorization
- Su importancia, y su vigencia (es un tema del momento ;) ).
- Algunas estrategias que se han utilizado.
- Por último presenta enlace a algunas de las técnicas utilizadas.
lunes, 25 de agosto de 2008
Manejo de valores SOAP complejos con NuSOAP
NuSOAP permite trabajar fácilmente con este tipo de estructuras. Por ejemplo, las siguientes líneas de código permiten crear un tipo complejo que representa una dirección:
$direccion = array(
calle = '123 Fake St.',
estado = 'Ohio',
zip = 12312
);
$direccionSoap = new soapval('direccion', 'direccion', $direccion, 'http://ejemplo.com');
Esto crearía una estructura para SOAP que en definiría estos datos con algo así:
Más información en: http://dietrich.ganx4.com/nusoap/index.php
Más sobre Web Services para Blackberry
En este artículo se habla más que todo en aspectos de seguridad de Web Services para Blackberries. Aún así el artículo es interesante pues explica varios aspectos de la arquitectura y la manera en que estos dispositivos se conectan con la red. Varios diagramas muestran las partes involucradas (firewalls, servidores, gateways, etc) y es útil para tener un panorama más claro.
http://www.developer.com/security/article.php/11580_3616296_1
Interoperabilidad - WS-I
- Página de la organización: http://www.ws-i.org
Saludos,
Eduardo
Interoperabilidad - WSIT
A continuación, algunos enlaces de interés:
- Sitio oficial del proyecto: https://wsit.dev.java.net/
- Tutorial: http://java.sun.com/webservices/reference/tutorials/wsit/doc/index.html
- Artículo práctico: http://weblogs.java.net/blog/rpatel/archive/2007/02/java_and_net_in.html
Saludos,
Eduardo
Instalar Ambiente de trabajo para Ruby
Esta pagina posee una guía rápida para instalar y configurar de manera adecuada este ambiente de trabajo en XP:
http://apacheguide.org/
Por otra parte para los que prefieren trabajar en Linux, aquí hay un tutorial paso a paso para instalar y configurar el ambiente de trabajo en Debian Etch:
http://www.howtoforge.com/ruby_on_rails_debian_etch
sábado, 23 de agosto de 2008
Open source WAP gateway
Ademas, cuenta con capacidades para mensajeria SMS. Sin embargo, para esto necesita conectarse con un servidor SMSC... no estoy seguro si el ICE proporciona algun endpoint gratuito para mensajeria SMS. En todo caso hay adiciones en varios emuladores que permiten probar la mensajeria.
kannel
Ruby on Rails y WS
Para esto utilizaré el framework Rails (por eso el Ruby on Rails) que es un framework de desarrollo de aplicaciones web y de persistencia. El más famoso (aparentemente) para desarrollo en Ruby.
- http://www.rubyonrails.org/
Y voy a utilizar estos dos libros como referencia:
- Agile Web development with rails
- Web services on rails
De momento me interesa crear Webservices, por eso me voy a brincar la parte de configurar paso a paso Ruby y Rails y Apache y MySQL para que "trabajen juntos", y voy a usar un runtime llamado InstantRails que ya integra todo esto y es recomendado en el primer libro:
http://instantrails.rubyforge.org/wiki/wiki.pl
Por IDEs, pues no he visto que recomienen ninguno, por lo tanto usaré Netbeans, que ya incluye un módulo para proyectos de Rails.
miércoles, 20 de agosto de 2008
Interoperabilidad
http://www.willydev.net/InsiteCreation/v1.0/descargas/willydev_tr0208.pdf
Explica a lo que se quiere llegar con los servicio web y la interoperabilidad de los mismos define muy bien el punto en que nos encontramos, ya que en este momento no se puede creer que la interoperabilidad en servicios web es perfecta, requiere de analisis. Es importante de crear un buen diseño pensando en las directrices ya puestas.
http://www.microsoft.com/spain/interop/developers/improvingWSInterop.mspx
Habla un poco general de la interoperabilidad ofreciendo ideas para evitar conflictos con la mismas.
http://zarza.usal.es/~fgarcia/doctorado/iweb/05-07/Trabajos/ServiciosWeb.pdf
martes, 19 de agosto de 2008
WebServices - Interoperabilidad
Este link http://wiki.apache.org/ws/FrontPage/Axis/DotNetInterop muestra de manera breve usando un formato de pregunta - respuesta lo basico a conocer de Interoperabilidad entre Java y .Net
De igual forma, esta pagina http://blogs.msdn.com/smguest/archive/2004/08/12/213659.aspx nos da una serie de "tips", al menos los 10 mas importantes a consideracion del autor para asegurarnos interoperabilidad.
Les recomiendo revisar ambos links a manera de introduccion a este tema.
Saludos,
Jose Alb Ramirez
Seguridad en Web Services
Se habla de WS-Security como un protocolo basado en otras tecnologias de seguridad para para proveer seguridad end-to-end.
Utilizando tecnologias como:
El WS-Security (o WSS) fue originalmente desarrollado por Microsoft, IBM y VerySign. En la pagina del MSDN se pueden encontrar la definicion del WSS y protocolos de seguridad para WS relacionados.
http://msdn.microsoft.com/en-us/library/ms951273.aspx
Seguridad Web / SSL
La desventaja mas importante de encriptar toda la comunicación Web es el impacto en rendimiento, por lo que entre las cosas que se deben evaluar es que tan necesario es asegurar toda la comunicación.
Por otro lado, la utilización de SSL puede simplificar el aseguramiento de Web Services existentes ya que no requiere cambios en la capa de aplicación, si no que solo requiere cambios en la configuración del servidor web quien al final es el que se encarga del transporte de los datos.
Estos son dos links donde se explica de manera detallada como habilitar SSL en servidores Web IIS y Apache.
http://www.instantssl.com/ssl-certificate-support/guides/iis_ssl_certificate_5x.html
http://httpd.apache.org/docs/2.0/ssl/ssl_howto.html
lunes, 18 de agosto de 2008
Plataformas y principios basicos para php-SOA
Una opcion ha estudiar es la planteada en OSOA donde se plantea dos opciones que se deben valorar para implementar Web Services con php.
Otra opcion es WSO2 que esta completamente desarrollado para php, se tiene acceso al codigo fuente y tiene una comunidad organizada que lo desarrollo, lo ha utilizado, y le brinda soporte, desde la web WSO2.
Elegir cual es la mejor de la 3 es completamente dependiente del proyecto a desarrollar pero tener estas opciones y entender como trabajan facilitan la tarea de escoger la plataforma e iniciar a desarrollar SOA en php.
WebServices con Ruby
Para comenzar en esto se debe investigar acerca de WSO2 WSF/Ruby el cual es un Web Services Framework para Ruby que posee una amplia gama de paquetes de aplicaciones para servicios web como la seguridad, mensajería fiable y archivos adjuntos binarios. Ademas está diseñado para ser muy facil de entender por lo que no sólo los expertos en servicios web podran usarlo, sino también novatos.
Para mas informacion:
http://wso2.org/
domingo, 17 de agosto de 2008
NuSOAP, framework para Web Services en PHP.
Este es el homepage del proyecto en Sourceforge.net: http://sourceforge.net/projects/nusoap/?abmode=1
Entre las ventajas de este framework, está el hecho de que el mismo se encuentra en una etapa de madurez, y por lo tanto es menos propenso a pulgas y otros fallos. También, no se necesita ninguna extensión extra de PHP instalada.
Cabe destacar que versiones más recientes de PHP sí incluyen funcionalidades para el trabajo con Web Services, no obstante, dichas funciones todavía están en etapa "experimental". Más información al respecto acá.
Alternativas para acceder a servicios web desde dispositivos moviles de generaciones anteriores
Una opción es utilizar un gateway entre el teléfono y los servicios, que permite no tener que utilizar un cliente del todo. Sólo hay unas pocas maneras de implementar este gateway: usando mensajes de texto, voz, y servicios de datos.
En el primer caso, se puede deployar un bot entre el cliente y los servicios, que haga la traducción apropiada y retorne un "push" con la respuesta. En el segundo caso, se puede usar un wrapper VoiceXML para el webservice. En el tercer caso, se puede utilizar un gateway WAP y una página WML que llame al servicio, y devuelva los resultados al browser WAP.
El objetivo de hacer un deploy de uno de estos gateways es hacer que el servicio esté disponible a la mayor parte de los usuarios, y no sólo a los que poseen los dispositivos más avanzados. Por ejemplo, un gateway SMS proporcionaría el servicio al 100% de los usuarios, y estos no tendrían necesidad de instalar nada para utilizar dicho servicio.
Más información de estas alternativas en: http://webservices.xml.com/pub/a/ws/2003/08/19/mobile.html?page=1
Web Services y Dispositivos Móviles - Windows Mobile
http://www.ondotnet.com/pub/a/dotnet/2004/02/23/mobilewebserviceapps.html?page=2
Sin embargo, dado que probablemente nos enfoquemos en el desarrollo de web services en Java, se debe de ver una forma simple de consumir java web services en .net sin adentrar mucho en el tema.
http://techlight.blogspot.com/2006/02/consuming-java-webservice-in-net.html
viernes, 15 de agosto de 2008
Web Services y Dispositivos Móviles -Blackberry
El desarrollo de aplicaciones para Blackberry se puede hacer en dos plataformas principales: J2ME (Java Micro Edition) y una plataforma propietaria de RIM llamada MDS. Esta última necesita un backend server, software de Blackberry para funcionar y esta basada precisamente en Web Services. Es más limitada que la plataforma J2ME pero provee herramientas gráficas (drag & drop) para desarrollar aplicaciones y consumir Web Services rápidamente.
http://cell-phones.suite101.com/article.cfm/application_development_for_blackberry
El sitio para developers de Blackberry posee muchos recursos para aprender a hacer aplicaciones, y descargas gratis como plugins para Eclipse y Visual Studio, emuladores y demás aplicaciones. (Requiere registrarse, gratuito).
http://na.blackberry.com/eng/developers/downloads/simulators.jsp
Blackberry además utiliza su propia version de Java, que posee APIs e interfaces que permiten aprovechar características específicas de los smartphones.
http://na.blackberry.com/eng/developers/downloads/jde.jsp
Creación de WebServices en tecnologías emergentes (e.g. Ruby) y su integración con Java y/o .NET
Saludos
Este tema se presta para mucha investigación. Lo primero sería definir dos o tres tecnologías emergentes para exponer el desarrollo de WS y su integración con Java y .Net. En la carta al estudiante se sugiere Ruby lo cual está perfecto pues se le ha dado buena propaganda a este lenguaje. De momento me interesa también evaluar WS en combinación con Ajax y WS en Scala (otro lenguaje de programación nuevo, compatible con Java)
Los recursos en internet que he encontrado y estoy empezando a revisar:
- Para infomación general de SOA y ver que tecnologías nuevas se están relacionando con WS:
http://soa.sys-con.com/
- Recursos de Ruby
- WS en Ruby (Para ir viendo como se se desarrollan WS en Ruby). Hay bastante más documentación!!!
http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1283762,00.html
http://searchsoa.techtarget.com/tip/0,289483,sid26_gci1180700,00.html
- Y sobre Ajax (Con Java y .Net) y WS
http://www.ibm.com/developerworks/webservices/library/ws-wsajax/
http://www.developer.com/net/asp/article.php/3657826
- Sobre Scala
jueves, 14 de agosto de 2008
Attachments en Web services
http://www.oracle.com/technology/sample_code/tech/java/codesnippet/webservices/attachment/index.html
y como punto interesante, esto es para j2ee 1.4, la nueva especificacion JEE 5 creo que es mas sencilla, pero aun no la encuentro
miércoles, 13 de agosto de 2008
Interoperabilidad
http://www.microsoft.com/spain/interop/developers/javanetmscom.mspx
Interesante!!!! "Trabajando juntos": "Sun y Microsoft están trabajando conjuntamente"
http://blogs.sun.com/jaimecid/entry/tango_java_microsoft_net_soa
Ok un poco mas de teoria esta vez orientada mas a java.
http://www.programacion.net/tutorial/servic_web/5/
sábado, 9 de agosto de 2008
BIenvenidos al Blog de Web Services
Bienvenidos al blog del curso PF-3311 Service Oriented Architecture, impartido en la Universidad de Costa Rica.
La idea con este blog es que todos compartamos lo que vayamos aprendiendo durante el curso y en todo lo que vayan investigando para su proyecto final.
Recuerden las reglas básicas del blog:
- Deben escribir al menos una entrada por semana en este blog, indicando lo que hayan encontrado o aprendido durante los últimos días. La idea no es que escriban una novela, pero es algo breve para que no dejen todo para última hora.
- Si escriben comentarios a los apuntes de sus compañeros, éstos deben ser únicamente constructivos o complementarios del tema. Bajo ninguna circunstancia se aceptarán bromas o comentarios pasados de tono que incluyan vocabulario inadecuado.
Andrés