Data integration: A little DOP might do you
When he's not talking about his company's hardware products for XML network processing, Eugene Kuznetsov, CTO at Cambridge, Mass.-based DataPower Technology Inc., is evangelizing for DOP.
If you've never heard of DOP, you are not alone. Kuznetsov laments that while documentation on its mirror-image application paradigm OOP or object-oriented programming, fills Web sites and bookstore shelves, there are no books on DOP. It's not even an official computer term. Kuznetsov coined DOP, an acronym for data-oriented programming.
"It's a term that I've been using for quite some time to name what is a common practice that for whatever reason doesn't have a name," Kuznetsov told XDT. "But we're all very familiar with object-oriented programming."
While there are major conferences for OOP, the official DOP group might be able to meet in a phone booth. But it isn't that DOP is some obscure computer science concept known to only a few academics. In many ways, DOP is hiding in plan sight. Kuznetsov insists that lots of programmers working with data and integration are doing DOP, they just don't know it.
"XML is an example of a DOP technique," he said. "And yet people don't talk about it. Loosely coupled architecture and Service-Oriented Architecture actually are the lower layer and have a lot to do with data-oriented programming practice, we just don't have a name and there aren't a whole bunch of books that talk about the principles of DOP and the methodologies involved."
It's easy to say that business computing, which is drowning in acronyms, will survive without DOP. But Kuznetsov says that is missing the point because data integration technology might be advanced by officially recognizing methodologies as OOP has done. He argues that it's too easy to get caught up in leaf watching at the XML level and trying to ride the latest technology wave, rather than taking the longer view of processes and methodologies that an official status for DOP might provide.
"I think we lose a lot by that because it becomes more about XML or the latest technology wave," he said. "One of the things that's really made object-oriented programming very successful over time, is that it's never tied itself to a particular technology. OOP started out with some early academic languages. Then you had C and C+, and now it's being applied to Java. But all those ideas of hiding the data, encapsulation, and exposing just the method and then intermixing the data and code, API and object model -- all of that is something that we all know, something that can be transported across multiple languages. If another programming language comes out -- C#, for example -- you can use that with object-oriented programming techniques. We don't have that in data integration."
As Kuznetsov views it, DOP for integration is pretty much the mirror opposite of OOP. When he talks about it, he shows a slide using the Yin Yang symbol where DOP is Yin to OOP's Yang. The slide lists the differences between the two approaches, including OOP hiding the data through encapsulation while DOP exposes the data. OOP exposes methods or code, while DOP hides the code. OOP intermixes data and code, while DOP separates data and code. OOP uses the object model, while DOP uses the data model. OOP is tightly coupled, while DOP is loosely coupled.
But as with Yin and Yang, they may be opposites but they fit together.
"OOP and DOP are perfectly complementary," Kuznetsov said. But he laments, "DOP just doesn't get talked about enough as a set of disciplines and a way of doing integration."
Rich Seeley is Web Editor for Campus Technology.