IDE son las siglas de Integrated Development Environment, es decir entorno de desarrollo integrado. Estamos hartos de oir esta palabra, y de asociarla a la típica herramienta de desarrollo como el famoso Websphere Studio Application Developer. Pero, ¿Estas herramientas son capaces de soportar el desarrollo de aplicaciones SOA? Rotundamente no.
Para que una herramienta sea capaz de soportar el desarrollo de aplicaciones SOA, es necesario que cumpla con una serie de características principales:
- Ofrecer la posibilidad de desarrollar código en un lenguaje determinado.
- Ofrecer todas las capacidades necesarias para construir servicios.
- Ofrecer la capacidad necesaria para diseñar procesos de negocio.
Actualmente los IDE sólo ofrecen la primera característica y un sucedaneo de la segunda. Por esta razón, las grandes empresas que ofrecen herramientas, han tomado la decisión de evolucionar las herramientas de desarrollo que ofrecen, y crear así los ISE (Integrated Service Environment). Un ISE no es más que un IDE, pero con las funcionalidades necesarias para permitir diseñar y desarrollar servicios (sobre todo servicios web) y procesos de negocio. Por lo tanto, si estás pensando desarrollar una aplicación SOA, te recomiendo que sigas leyendo este artículo.
En este artículo no se pretende indicar cual es la mejor herramienta, si no proporcionar un rango de herramientas disponibles para que así podais seleccionar la que mejor se adapte a vuestras necesidades. La primera toma de decisión será si deseamos una herramienta de pago o bien una herramienta de software libre.
En cuanto a software libre, la herramienta por excelencia es Eclipse. Como muchos sabreis esta herramienta permite el desarrollo de aplicaciones Java, con lo cual para que soporte servicios es necesario añadir algún plug-in. En este sentido hay dos posibilidades:
- Utilizar un plug-in de pago. El más utilizado es MyEclipse IDE.
- Utilizar un plug-in libre. Se puede utilizar las web tools de eclipse group, pero son menos potentes que las anteriores.
La otra posibilidad al software libre son las herramientas de pago. las tres herramientas de pago más utilizadas son las siguientes:
WebSphere Studio Application Developer Integration Edition: Es la herramienta de IBM y como su nombre indica es una evolución del famoso WebSphere Studio Application Developer. Es muy importante reseñar aquí que IBM ha decidido cambiar el nombre a su herramienta de desarrollo, y por tanto el WSADIE se llama ahora Rational Application Developer for WebSphere Software o RAD. Esta herramienta tiene las siguientes características:
- Editores visuales basados en Eclipse.
- Soporte para el diseño y desarrollo de servicios web (Compatible con WS-I).
- Diseñador de WorkFlows compatible con WS-BPEL.
- Posee un depurador de procesos.
La característica de esta herramienta es que todas sus funcionalidades están integradas en el mismo entorno, lo que es bastante útil al no tener que instalar otras aplicaciones extra.
WebLogic Integration: Herramienta de desarrollo de Bea. Sus características son:
- Editores visuales propios.
- Soporte para servicios web.
- Diseñador de workFlow propietario aunque en breve será compatible con WS-BPEL.
Esta herramienta también es muy utilizada. Posee la misma característica que RAD, es decir, tiene absolutamente todo integrado en la misma herramienta. Para mí el gran defecto de esta herramienta es que abusa del uso de asistentes, haciendo que la persona que utiliza la herramienta a veces no se entere de lo que está haciendo.
Oracle SOA Tools: Conjunto de herramientas para el desarrollo SOA de Oracle. Posee las siguientes características:
- Editores visuales (incluidos en la herramienta JDeveloper).
- Soporte para el diseño y desarrollo de servicios web (incluido en la herramienta JDveloper), además posee compatibilidad WS-I.
- Herramienta para diseñar WorkFlows compatible con WS-BPEL.
- Posee un potente monitor de procesos de negocio.
El inconveniente de Oracle SOA Tools es que todas las funcionalidades no están incluidas en una sola herramienta, si no que son un conjunto de herramientas. Eso sí, Oracle SOA Tools es la más potente.
Como conclusión a este artículo, indicar que si estáis probando herramientas, no desestimeis las de pago, porque tanto IBM como Bea como Oracle ofrecen versiones de prueba completas en su web (en la sección "Enlaces de Herramientas" teneis los links para descargarlas). Aprovechaos porque es muy interesante probarlas todas y construid vuestras aplicaciones SOA.