SOA Bangers and Mashups
It's a service-oriented architecture (SOA) world -- well, not quite for everyone yet. However, what happens when IT departments increasingly use SOA to expose data and applications as services? The next step might be to begin collecting and using those services to create something useful.
A U.K.-based company, Hyfinity, has been speaking out about its ability to enable something akin to "enterprise mashups on steroids," as described by Nigel Denham, Hyfinity's business development manager. Hyfinity offers its product, called MVC Rapid RIA Builder, to create rich Internet applications (RIAs) via AJAX technology in conjunction with SOA infrastructures.
One recent practical demonstration of the MVC product's mashup capability was the deployment of Hyfinity's solution to link up data and customer relationship management (CRM) applications among six U.K. local councils.
Hyfinity provided its technology as part of an OEM agreement with Lagan, a company that delivers enterprise case management solutions. The technology linked Lagan's CRM with Northgate's Sx3 Revenues and Benefits back office applications. The two solutions use Hyfinity's technology to support higher levels of customer service for the councils of Argyll & Bute, Bassetlaw DC, Bristol City Council, Hambleton DC, North Kesteven and Nottingham City Council.
Denham described how Hyfinity's technology works in a world where SOA infrastructures have enabled multiple services to be harvested.
"With the SOA infrastructure, you're getting a lot of XML assets being defined, either providing a service or giving you a Web service description," he said. "And there may be schema models for various object-type designs. And the idea of our technology is to reuse a lot of those assets to build applications. In many ways, the parts have already been produced and [Hyfinity's product] has the ability to leverage those very quickly."
The MVC product's core technology is built on the J2EE foundations, so in terms of the runtime platform, it's a Java-class work services platform, Denham explained. It has a very small footprint so it doesn't use a lot of the Java extensions. In terms of scalability, it can scale from a laptop all the way to a mainframe, he said.
The design environment of Hyfinity's solution is a visual drag-and-drop view in a Web-based studio, explained Abdul Kayam, Hyfinity's cofounder. It can take a service, generate a set of orchestration messages to communicate with the service and then generate a set of screens from the service definitions. The product enables model-driven development and uses XML schema to build screens. It automatically generates error handling and enables field-generation management, providing such information to a remote service.
"So it can pretty consistently automate a large part of the SOA application stack using the service definition," Kayam said.
Hyfinity's core intellectual property is an "XML machine" that addresses the issues of composing services quickly. The patent for the technology was filed in 2003 under the title, "Morphyc Architecture -- System and Associated Methods for Software Assembly" and it specifies "the declarative creation of composite services and the ability to natively process and manipulate XML," according Denham.
The technology was ahead of its time.
"Back when Hyfinity was first set up, the company's founder had a vision that things would increasingly move toward Web-based applications [and] the increasing use of services," Denham explained. "Back then, people weren't even talking about SOA. Effectively, the idea was to abstract the whole process of application development and service creation to a higher level than it's traditionally given. So, abstract it to a level of being able to natively process and manipulate XML without having to go to the code. Applications themselves can be built from services."
"The patent really was for the ability of this XML SOA machine having the capability to treat information in a consistent way," Kayam added.
Denham described just how consistently Hyfinity's solution enables such mashups.
"If you can define your application or service you're building within an XML document and define every aspect of the behavior and characteristics of that application or service, then you can drop that into our agent, and then that agent takes on the characteristics and behavior of part of the document. The practical effect is that you can create applications and services extremely efficiently and in a fraction of time compared with using traditional code-centric methods."
Most of these mashups "can be done without any coding at all," Kayam said.
Hyfinity's solution has a number of practical applications. Kayam described an association of insurers in the United Kingdom that use a centralized database for detection. Any insurance claim in the United Kingdom goes into this database. It gives insurance companies a way to detect anomalies, such as when an insured changes insurance companies and fails to report claims. Hyfinity's solution lets companies draw from other services, even from different companies, to validate such detection services.
"Rather than writing different sets of code in a 3GL, what the XML machine lets you do is treat much of that information in a similar manner," Kayam said. "And the reason you can do that is that more and more applications are using tools and SOA. And this is what the system was built for -- the prediction that most applications would be built as services. And it has become more and more relevant with time."
This kind of mashup also enables companies and government agencies to expand beyond their core IT assets, such as the CRM and benefits systems used by the six U.K. local councils described above.
"It all seems like a seamless CRM application. But of course, what it's doing is borrowing from other services that provide that additional functionality," Kayam explained.
Kurt Mackie is senior news producer for the 1105 Enterprise Computing Group.