Cast Iron puts application integration in a box

Cast Iron iA3000 appliance simplifies EAI -- perhaps too much

Enterprise application integration can quickly take on nightmarish proportions: multiple applications requiring complex workflows, data that must change form from one app to another, and massive management snarls. Consequently, most EAI solutions are themselves fairly large and complicated.

Cast Iron Systems attempts to simplify things by packaging all the production components of an EAI system in one preconfigured server. The Cast Iron iA3000 v3.5 integration appliance concentrates on providing reliable automatic application integration in short-running machine-to-machine scenarios.

[Screencast: See the Cast Iron iA3000 in action in our new screencast demo]

It’s certainly easy to install, and the graphical mapping and workflow design tools are a boon to companies with limited IT resources. But the appliance format has its downside when it comes to scalability, and the focus on simplicity removes some features enterprises may find useful.

Connecting end points

The iA3000 is a 1U Dell PowerEdge 1850 with two 2.8GHz dual-core HT-enabled processors, giving it eight CPU threads; 4GB of RAM; RAID disk arrays; and dual, hot-swap power supplies. It runs Cast Iron’s own EAI application on top of Linux. Installation is a matter of putting the server in a rack, connecting it to the network and a serial console, and plugging in both power supplies. Very easy.

There is a separate Java IDE, Cast Iron Studio, for configuring end points, schemas, orchestrations, and mappings graphically from a Windows workstation. The Appliance also hosts a graphical WMC (Web management console) server, a telnet server, and a serial console, each providing access to a command-line interface.

Cast Iron’s tag line is “integrate in days,” and that might be true even for simple integration projects in the hands of trained and knowledgeable integrators. It took me just a couple of days to become familiar with the appliance and its development environment.

Click for larger view.

The iA3000 has four major functions: connecting to end points, transforming data, doing workflow, and managing the data flow. It does not attempt to provide a dashboard for business users, or a system for implementing long-running orchestrations with human approvals. Micrsoft’s BizTalk does these things, as do some of the other EAI products. CastIron chooses not to, stating that this functionality is for a relatively small market, which they are not trying to address because doing so would make their product more complicated.

Cast Iron Studio can create end points for a host of databases (with MySQL support planned for the next revision of the system), e-mail, FTP servers, Web servers, MQ, SAP, and Web services. Cast Iron supports a large number of line-of-business applications through Web service interfaces, database interfaces, XML file interfaces, or flat file interfaces. SAP’s BAPI/iDocs interface is a special case.

I was able to connect to a SQL Server 2005 database on my LAN using SQL Server authentication. Unfortunately, the iA3000 doesn’t seem to support Windows authentication and has no VPN client: I was unable to connect to SQL Servers behind firewalls that I normally reach using a Windows VPN. According to Cast Iron, people normally accomplish this by using a router to create a LAN-to-LAN VPN. Another option is to create a Web service that accesses the database, and to connect to the Web service from the Cast Iron appliance.

When I tried to import the WSDL for the GoogleSearch API to test Web service end points, Cast Iron Studio said that the WSDL was incorrect or unsupported but gave no details about what was wrong with it. According to the company, the iA3000 only supports the WS-I Basic Profile — GoogleSearch uses SOAP Encoded Arrays, which do not conform to WS-I Basic.

I was, however, able to import the WSDL for the StrikeIron USAddressVerification service, which conforms to the WS-I Basic profile, without any trouble. (Cast Iron supplied a working project to demonstrate the use of the StrikeIron service.) This orchestration creates an end point for HTTP posts on the appliance; the end point accepts a simple address, sends it to the StrikeIron service along with user credentials held in the orchestration as default values, receives a full verified address, and returns the full verified address to the caller.

I was able to connect to an FTP server after some experimentation and calls to tech support. It turns out that the iA3000 appliance itself requires a fully qualified network address to make a connection, even though Cast Iron Studio recognizes short Windows networking names. It also turns out that the Appliance currently doesn’t log into anonymous FTP servers properly, even though Studio does. I was able to work around the problem by specifying a username of ‘anonymous’ and a password of ‘’ The company says that this will be fixed in the next version of the Cast Iron Operating System.

Cast Iron Studio can also create configuration properties for end points. This allows properties such as the URL, username, and password to be changed after deployment from the WMC, and is a much better practice than hard-wiring the end points into the integration project.

Mapping and workflow

Mapping data in Cast Iron Studio is a graphical process. In the simplest case, you draw lines between input schema variables and their matching output schema variables. When the data types match, you get a green connection line. When they don’t, you get an orange connection line and a warning.

After mapping is complete and all variables match data types, the mapping progress indicator hits 100 percent. In some cases, I found that the mapping still works when data types don’t exactly match, but such a mapping should be well tested.

Applying the mapping to test data lets you check mappings within Studio, without needing to deploy the orchestration. In more complicated cases, you may have to create intermediate variables and/or use functions to transform the data. For example, the input schema might hold city, state, and zip code in three discrete variables, whereas the output schema expects them in a single string. A mapping can concatenate the three input variables into the single output variable. Going the other way and splitting one string, e.g. “Andover, MA 01810,” into three would only be a little more difficult. You can also create and apply custom transform functions.

Designing workflows is also a graphical process: drag activities from the toolbox onto the design pane and configure and map each activity according to its checklist. As you select each task in the checklist, you see the appropriate design form for that task, whether it’s a set of input boxes and radio buttons, or the graphical mapping. Be aware, however, that Cast Iron only supports sequential workflows.

Cast Iron Studio’s activity palette contains a basic assortment of transforms, logic, database actions, e-mail, ftp and http actions, Web services actions, and MQ and SAP actions. Users cannot add custom activities, though — again, a choice Cast Iron made to keep things simple.

More than one way to skin a cat

Most of the iA3000’s management dance can be done using the Web interface. The WMC will deploy; undeploy; start, stop, and monitor orchestrations; and also monitor the appliance hardware. From the CLI, you can issue any of about 100 commands to control or interrogate the device, or even drop down into a Linux shell if necessary.

The log page in WMC lists only orchestration error messages by default. It can be configured to provide additional detail, down to the debugging level. The iA3000 appliance can also be configured to send error messages to an e-mail address or a SNMP server. If you prefer, you can tail the log file from a Linux shell within a telnet session to the appliance, and watch everything in real time.

No matter what product you’re looking at, I recommend a three-step process for evaluating EAI software: screen for your required and desired end points, estimate costs, and evaluate capabilities and capacities. Because of its unique bundling of hardware and EAI software in an appliance, it’s a little simpler to estimate costs for Cast Iron than its competitors — it’s priced as a monthly lease for the entire bundle.

It’s also simpler to estimate capacity with Cast Iron, since the hardware is fixed. That fixed hardware, however, limits the scalability options to upgrading to a high-availability version of the appliance or adding more appliances.

In the end, the Cast Iron iA3000’s ease of setup and simplicity is something of a double-edged sword — it makes the iA3000 quick to deploy and relatively straightforward to use, but it also limits the feature set (no dashboard, sequential workflow support only). I feel the iA3000 is best suited for midsize companies with a business need to integrate their applications and limited IT developer resources with which to do so.

InfoWorld Scorecard
Value (10.0%)
Features (20.0%)
Setup (10.0%)
Scalability (15.0%)
Interoperability (30.0%)
Management (15.0%)
Overall Score (100%)
Cast Iron iA3000 v3.5 7.0 7.0 9.0 7.0 8.0 7.0 7.5