Richard Soley, chairman and CEO of the Object Management Group, oversees the standards bodys efforts to formalize key architectural platforms for new distributed software systems, including Web services. OMG, in Needham, Mass., sets standards such as CORBA, MDA and UML. Soley spoke with eWeek Senior Writer Darryl K. Taft last month for this interview.
eWeek: What is the state of Web services today?
Soley: Web services are where CORBA was in 1991 and where COM [Microsoft Corp.s Component Object Model] was in 1994. Its new enough that its missing some important services like performance, transactions. But theres one important difference: Everybody has embraced Web services, and thats an extremely important difference. It means that you can expect there to be quality implementations everywhere, and the services will be built.
If I learned nothing else from watching Web services, [its] that were going to see a new infrastructure every couple of years for forever. Web services are just the current incarnation. And Im glad weve got so much agreement across the industry about it, but it makes me, as a developer, more interested in how I can develop an application and easily port it to many different infrastructures over time.
Thats why were talking about model driven architectures because if I can model the application and automatically generate the connection to the infrastructure and the data formats and data transformation ... and just worry about coding the application business logic, I win. And I can generate for Web services if I want to do the new modern thing, or I can generate for a CORBA infrastructure, if thats what my companys using, or a COM infrastructure. More importantly, when the next thing comes along, I can generate for that, too.
eWeek: Is MDA [Model Driven Architecture] being adopted pretty well through the community?
Soley: Its being adopted rapidly in larger companies, more slowly in the smaller companies for the simple reason that it does change the way that you develop applications—even if youve already been doing modeling.
The companies that had been doing modeling, the way they did it was they got a modeling team that figured out how the business worked and designed a model and wrote it down and printed it out in full color and bound it up and made copies for the developers and distributed it out through the cubes. The developers left their cubes long enough for a model-burning party, then went back to their cubes and did whatever they were going to do. And thats because the model had no relation to the implementation.
What MDA does is stand that on its head and say the model is a development artifact itself. And you use compilers to automatically generate data transformation, persistent storage, transactional integrity, data formats, connections to implementation infrastructures like J2EE [Java 2 Enterprise Edition], [Microsofts] .Net, CORBA, COM, whatever. Even Web services—we have SOAP [Simple Object Access Protocol] and WSDL [Web Services Description Language] mapping for UML [Unified Modeling Language] as well. So, by using a modeling-based approach, you havent just created something thats pinned up on a wall for developers to ignore, you actually have something that generates code.
eWeek: Whats the significance of open-source support for MDA?
Soley: Open standards give us neutral specifications everyone can agree to, with no single-vendor control, while open source gives us reference implementations everyone can agree to, with no single-vendor control. Thats a powerful combination. You may not use the reference implementation, but at least theres an implementation you can depend on, not under one companys control, if you need it. As you know, OMG requires implementation of our specifications before we adopt them finally; OMG has already adopted specifications that are available only as open-source implementations. Thats fine with us.
eWeek: Some have said that OMG could do more in the Web services arena. What is your comment on that?
Soley: We have to. The thing is that we need to focus on what we do best. And Ill tell you the two major areas in which were doing work. No. 1, we need to make sure the Model Driven Architecture fully supports Web services. We just finished a standard thats actually out and published on our Web site. And there are a half-dozen implementations already. So you can take a UML model and automatically generate the WSDL definitions and the SOAP headers, so you never have to see that protocol crap again.
And the mappings to CORBA are there, too. So if you already have a CORBA infrastructure and you want to use it to implement your Web service—bim, bam, boom, its done. The other thing, which I think is more exciting long term, but that we havent gotten done yet, is the services that people are talking about being missing from Web services—transactions, security, persistence, event management, name services, directories, all those things, weve been doing that for CORBA and for COM for over a decade. So what we have to do is abstract those into UML models and then generate the Web services implementations. Thats what were doing now, but thats not done yet.