Wednesday, August 8, 2007

Mule ESB Distribution

So I started playing with Mule starting Feb 2007. Mule is an integration platform that allows for pluggable connectors to other types of systems. There are so many descriptions of ESBs and architecture styles, and almost everyone claims to be an expert in the space.
IMO Mule is basically a container-type framework that rests on various open source products...
if you go to the 1.4.1 distribution's opt folder the listing is as such:

05/22/2007 08:23a 444,463 acegi-security-1.0.1.jar 05/22/2007 08:28a 443,432 antlr-2.7.6.jar 05/22/2007 08:26a 1,599,570 axis-1.4.jar 05/22/2007 08:26a 31,191 axis-jaxrpc-1.4.jar 05/22/2007 08:26a 18,979 axis-saaj-1.4.jar 05/22/2007 08:26a 126,771 axis-wsdl4j-1.5.1.jar 05/22/2007 08:21a 327,810 backport-util-concurrent-3.0.jar 05/22/2007 08:28a 490,136 c3p0-0.9.0.4.jar 05/22/2007 08:23a 193,391 carol-2.0.5.jar 05/22/2007 08:28a 324,238 cglib-nodep-2.1_3.jar 05/22/2007 08:26a 36,342 commons-attributes-api-2.1.jar 05/22/2007 08:21a 188,671 commons-beanutils-1.7.0.jar 05/22/2007 08:21a 30,117 commons-cli-1.0.jar 05/22/2007 08:23a 46,725 commons-codec-1.3.jar 05/22/2007 08:21a 571,259 commons-collections-3.2.jar 05/22/2007 08:28a 33,976 commons-dbutils-1.1.jar 05/22/2007 08:22a 139,966 commons-digester-1.7.jar 05/22/2007 08:21a 71,442 commons-discovery-0.2.jar 05/22/2007 08:23a 279,781 commons-httpclient-3.0.1.jar 05/22/2007 08:21a 83,613 commons-io-1.3.1.jar 05/22/2007 08:22a 285,104 commons-jxpath-1.2.jar 05/22/2007 08:17a 245,274 commons-lang-2.3.jar 05/22/2007 08:27a 180,792 commons-net-1.4.1.jar 05/22/2007 08:21a 62,086 commons-pool-1.3.jar 05/22/2007 08:25a 38,830 cryptix-jce-api-20050328.jar 05/22/2007 08:25a 296,386 cryptix-jce-provider-20050328.jar 05/22/2007 08:25a 30,258 cryptix-message-api-20050405.jar 05/22/2007 08:25a 276,885 cryptix-openpgp-provider-20050405.jar 05/22/2007 08:25a 16,652 cryptix-pki-api-20050405.jar 05/22/2007 08:22a 486,522 dom4j-1.4.jar 08/08/2007 01:41p 6,205 ds.txt 05/22/2007 08:22a 19,759 geronimo-ejb_2.1_spec-1.0.1.jar 05/22/2007 08:21a 36,396 geronimo-j2ee-connector_1.5_spec-1.0.1.jar 05/22/2007 08:22a 19,259 geronimo-j2ee-management_1.0_spec-1.0.1.jar 05/22/2007 08:25a 34,263 geronimo-jaxrpc_1.1_spec-1.0.1.jar 05/22/2007 08:23a 31,397 geronimo-jms_1.1_spec-1.0.1.jar 05/22/2007 08:21a 14,637 geronimo-jta_1.0.1B_spec-1.0.1.jar 05/22/2007 08:25a 8,097 geronimo-qname_1.1_spec-1.0.1.jar 05/22/2007 08:25a 24,611 geronimo-saaj_1.1_spec-1.0.1.jar 05/22/2007 08:22a 82,923 geronimo-servlet_2.4_spec-1.0.1.jar 05/22/2007 08:25a 2,356,373 groovy-all-1.0.jar 05/22/2007 08:25a 10,832 groovy-engine-1.0-jdk14.jar 05/22/2007 08:28a 2,208,240 hibernate-3.2.2.ga.jar 05/22/2007 08:23a 386,591 hivemind-1.1.1.jar 05/22/2007 08:23a 74,662 hivemind-lib-1.1.1.jar 05/22/2007 08:23a 72,741 howl-logger-0.1.11.jar 05/22/2007 08:23a 405,545 javassist-3.0.jar 05/23/2007 08:15a 226,915 jaxen-1.1.1.jar 05/22/2007 08:28a 603,060 jbpm-3.1.4.jar 05/22/2007 08:21a 11,670 jcl104-over-slf4j-1.3.1.jar 05/22/2007 08:11a 153,253 jdom-1.0.jar 05/22/2007 08:23a 124,316 jotm-2.0.10.jar 05/22/2007 08:23a 5,798 jotm_jrmp_stubs-2.0.10.jar 05/22/2007 08:25a 11,292 jruby-engine-1.0-jdk14.jar 05/22/2007 08:25a 10,250 js-engine-1.0-jdk14.jar 05/22/2007 08:21a 31,906 jug-2.0.0-asl.jar 05/22/2007 08:20a 120,640 junit-3.8.2.jar 05/22/2007 08:25a 10,250 jython-engine-1.0-jdk14.jar 08/09/2007 08:33a 0 list.txt 05/22/2007 08:21a 367,444 log4j-1.2.14.jar 05/22/2007 08:21a 56,164 mockobjects-core-0.09.jar 05/22/2007 08:22a 148,213 mx4j-impl-2.1.1.jar 05/22/2007 08:22a 261,174 mx4j-jmx-2.1.1.jar 05/22/2007 08:22a 167,410 mx4j-remote-2.1.1.jar 05/22/2007 08:22a 485,831 mx4j-tools-2.1.1.jar 05/22/2007 08:25a 149,445 nanocontainer-1.0.jar 05/22/2007 08:24a 167,958 ognl-2.6.9.jar 05/22/2007 08:23a 682,351 org.mortbay.jetty-5.1.12.jar 05/22/2007 08:19a 65,425 oro-2.0.7.jar 05/22/2007 08:25a 112,635 picocontainer-1.2.jar 05/22/2007 08:30a 405,607 quartz-all-1.5.2.jar 05/22/2007 08:25a 251,039 retrotranslator-runtime-1.2.1.jar 05/22/2007 08:25a 14,921 script-api-1.0-jdk14.jar 05/22/2007 08:21a 12,231 slf4j-api-1.3.1.jar 05/22/2007 08:21a 6,869 slf4j-log4j12-1.3.1.jar 05/22/2007 08:30a 188,221 smack-2.2.1.jar 05/22/2007 08:23a 2,694,134 spring-2.0.5.jar 05/22/2007 08:28a 31,020 spring-modules-jbpm31-nodeps-0.8a.jar 05/22/2007 08:22a 26,514 stax-api-1.0.1.jar 05/22/2007 08:26a 113,780 stax-utils-20040917.jar 05/22/2007 08:22a 83,820 wrapper-3.2.3.jar 05/22/2007 08:26a 148,522 wsdl4j-1.6.1.jar 05/22/2007 08:22a 505,825 wstx-asl-3.2.1.jar 05/22/2007 08:28a 86,956 xapool-1.4.jar 05/22/2007 08:21a 1,212,965 xercesImpl-2.8.1.jar 05/22/2007 08:26a 131,384 xfire-aegis-1.2.6.jar 05/22/2007 08:26a 28,705 xfire-annotations-1.2.6.jar 05/22/2007 08:26a 423,888 xfire-core-1.2.6.jar 05/22/2007 08:26a 25,055 xfire-java5-1.2.6.jar 05/22/2007 08:26a 8,074 xfire-jsr181-api-1.0-M1.jar 05/22/2007 08:21a 195,119 xml-apis-1.3.03.jar 05/22/2007 08:26a 127,961 XmlSchema-1.1.jar 05/22/2007 08:21a 24,677 xpp3_min-1.1.3.4.O.jar 05/22/2007 08:22a 349,667 xstream-1.2.1.jar 94 File(s) 24,263,547 bytes


94 files make up the optional open source distribution shipped with Mule.

Writing a web-service is as simple as creating a POJO & modifying the configuration file with the right parameters.