Cast Iron puts application integration in a box
Cast Iron iA3000 appliance simplifies EAI -- perhaps too much
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 ‘firstname.lastname@example.org.’ 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.