SOA for Your Home
Peter Rhys Jenkins brought home several important points about service-oriented architecture (SOA) -- literally -- at this week's IBM SHARE conference in San Diego. Rhys Jenkins is senior integration solutions architect for IBM's worldwide WebSphere team.
He described an architectural project concerning his own home that has taken him three years to build -- in between traveling and working for IBM. The home is not quite "live" yet -- that launch is scheduled for Oct. 15. However, he provided a sneak preview of what's to come with his presentation, "SOA in the Home -- With MQ, Message Broker and RFID Integration."
Rhys Jenkins can control much of the functions of his 12,000-square-foot home (a renovated farmhouse) using an Apple iPhone, which is his current preferred interface device. He's also been experimenting with voice recognition technology and a talking interface, which seemed a little spotty -- at least when he tried to get his Apple laptop to tell him a joke during the presentation.
The house's internal services include camera motion detection, a front door area that scans RFID tags implanted in the shoes of family members, house lighting control, door locking and many other such functions. If someone comes to the front door and an RFID link is not read, then the service will turn on a camera and transmit the image of the visitor to the Rhys Jenkins' TV set, using Channel 88.
External services include weather reports retrieved from the National Oceanic and Atmospheric Administration's (NOAA's) National Weather Service and maps via Google GMaps. There's also a rodent detection system for the barn. Vermin stand little chance against Rhys Jenkins' service that records a "mouse down event." Traps triggered in the barn also transmit an image of the kill event, so there's no need to keep checking the set traps. The system has snagged five mice so far.
Rhys Jenkins is using a Windows-based IBM WebSphere MQ-Message Broker as a representative state transfer (REST) interface between his Macs and PCs using PHP AJAX. It allows him to call the NOAA weather service and parse the response. MQ-Broker will also enable him to do a Web service call Charter.net to see what's on TV.
He's also using an 802.11n Wi-Fi network for the home, consisting of two Apple AirPort radios. The wireless network also includes an AirPort Express radio, two Linksys 802.11b radios and one Cantenna antenna. He described the 802.11n devices, which use the specification that enables greater multimedia throughput, as "infinitely better" than previous 802.11 iterations.
The network is designed to withstand failures, so in addition to wireless connectivity, Rhys Jenkins used Cat6 wiring in some cases to enable 10 Gbps Ethernet connectivity.
The RFID equipment, most of which is made by Texas Instruments, Rhys Jenkins said, can see and program a tag that is not battery assisted. However, the read distance is short, at about nine to 12 inches. He performs RFID interface coding using Applescript but rejected using Texas Instruments' sample code, which he called "utterly useless."
He didn't have much praise for RFID technology, saying that the only thing that RFID tags are good for is adding them to shipping containers for tracking purposes.
Currently, there are three main standards for radios used with RFID chips, along with 80 variants, which is why things don't work well, he said.
Rhys Jenkins uses Chicken of the VNC (virtual network computing) for his client, allowing him to drive all of his computers from a single interface. Likewise, VMware Fusion for the Mac helps him to run his IBM Broker and Macs all on the same machine. He uses WAMP (Windows, Apache, MySQL, PHP) to drive his Web site, noting that "PHP is a thousand times easier to code than Java."
In general, Rhys Jenkins said he talks about his house because he thinks it's a cool example of SOA, and to detail the things that go wrong. It's just a normal software engineering project.
"All of this SOA stuff is normal systems integration," he said. The special part is the fact that you can use things like SOAP and WSDL [Web Services Description Language] to talk to services. For example, my talking interface can be talked to through SOAP interfaces. But there is nothing special about SOA and ESBs [enterprise service buses] -- I've been doing it for years -- [although] some of the technology now is getting to the point where it makes things useful."
Kurt Mackie is senior news producer for the 1105 Enterprise Computing Group.