Architect of the SOA Stack
Oracle's chief middleware architect opens up about Service-Oriented Architecture.
Microsoft remains quiet on the SOA front, talking when pressed about "pragmatic" implementation. In the meantime, Redmond competitors such as Oracle Corp. are steaming along, looking to grab market share by embracing interoperability.
Ted Farrell, the chief architect and vice president of Tools and Middleware at Oracle, says 2006 marked a transition in Service-Oriented Architecture (SOA) implementations. SOA initiatives moved from the app server and a couple of key pieces to a full middleware stack that includes business process orchestration, a business rules engine, an enterprise service bus, integrated security, portals and more.
RDN Senior Editor Kathleen Richards spoke with Farrell recently to learn more about Oracle's Fusion Middleware strategy and his take on what's coming in 2007.
What's the enterprise developer's role in SOA? Are in-house dev teams able to migrate from small Web services projects to full-fledged SOA?
We've seen it done several different ways. I think you're right, I think you need somebody higher than the developer level. You need a corporate architect or an application architect, sort of overseeing the architecture, especially as it starts to grow. How things come together, that falls to the individual developers who are maybe creating different services or exposing services, and others who may be building business processes and implementing business rules on those processes. But I think the success rate goes much higher when you have the application architect and sometimes it ends up being the systems integrator. They're used to building a lot of custom code to get that all done, whereas now they can take advantage of a lot of the standards and a lot of the declarative aspects of the architecture.
With a lot of these applications, the business process piece or the modeling piece is targeting the business analysts. In reality, it's too hard for business analysts to use these applications and it's the development side that's doing it.
I think that's definitely where it started about a year ago. What's happened over 2006 [is] we've hit huge increases with the adoption rate-double-digit percentages of customers. The tools have become easier to use, lowering the bar for the type and amount of technology you need to build some of these systems. We have a tight integration with Arris and Performa, and those products are really targeted and very comfortable for a business analyst to use. And we were able to take that information and basically import it and start a repository for lower-level IT-developers are using the blueprints from the business analysts. The business analysts send the requirements down and then let an IT guy fill in those implementation details.
||"I think you can beat Microsoft in an open market like the enterprise market, but to try to beat Microsoft at [its] own products, you're never going to do that."
|Ted Farrell, Chief Architect,
Tools and Middleware, Oracle Corp.
What differentiates Oracle's SOA technology?
I think one of the biggest distinguishing factors is our integration and our adaptability.
I mean our marketing term-I try to stay away from marketing terms-is "hot-pluggable."
A lot of our competitors have basically taken a bunch of products and put them together into a suite and call that their SOA stack. We spent a lot of time over the last four years carefully acquiring companies so that the technology is very tightly integrated at the lowest levels.
We've been very standards-focused in everything we've done-that doesn't just mean that data that we've been using like BPEL and Web services-it also means the interfaces.
JDeveloper is your free IDE. It doesn't compete against Eclipse and NetBeans-or does it?
Competing is interesting with
a free product. We do have developers who have switched from Eclipse to JDeveloper in a core Java sense, where you could use an Eclipse or a Netbeans. I think the real value that we see with JDeveloper, [is that] it's very tightly integrated across the technologies, so as developers start to use more technologies, like BPEL, the ESB, the portal-those other IDEs really start to fail.
If you look at IBM's product and SAP's tool product, those are both built on Eclipse. Run through those tutorials and build a Web page and then switch over and build a business process, and the fact that you stayed in the same tool is lost on the user. Everything changes from the project structure to the concepts to the look and feel to the gestures.
We've spent a huge amount of time making sure the product is consistent across everything that plugs into it. At the same time, we have all the really cool refactoring and coding features that you'll find in Eclipse.
While I think we were behind a couple of years ago, we spent a lot of time in that area, and I think it's important to win the development mindset, and to do that you really need a good core Java development tool. And I think then they start to find that there's more advantage and then [they'll] start to use more of the technology across the SOA stack.
JDeveloper originally came out of Borland?
We've completely rewritten that-[but] the original version, the 3x versions, were Borland-based.
What do you think of Borland's decision to spin off its developer tools division? Why couldn't the company find a buyer?
Jbuilder was a generic IDE, and as far as generic IDEs go, you have Eclipse, you have other vendors. IBM customers generally use Rational and SAP vendors generally use SAP, so for the generic IDE, it's hard to compete. ... So it's not surprising that [it] had a hard time getting rid of that.
Oracle's Red Hat Enterprise Linux announcement caught some people by surprise. Will Oracle offer tools or an IDE that supports programming on Linux?
Well JDeveloper is supported on Linux. Our entire stack, pretty much everything is supported on multiple application servers.
Corporate development is basically divided into Java and .NET camps. Both sides are starting to realize the importance of interoperability and standards support to makes things easier. Have you seen anything to support that?
Not really, I think it would be interesting ... it's a good segue way into 2007 and what's coming. There are a handful of products that try to do these Java/Microsoft bridges, or C++, C# bridges, and we never found that being very successful normally because the customer ends up running a lot of proprietary code. Where today we have interoperability with the .NET security model, you can plug [in] Microsoft Wallet, you can plug in Microsoft Message Q into our stack very easily. Basically any functionality that's there, you can call through the Web services stack. In a SOA world, where it's more the services and XML wiring services together, it becomes less important for the core low levels. Because at the end of the day, if you're a Java programmer, you're going to have a Java IDE coming away; if you're a .NET programmer, you're not going to beat Visual Studio.
I think this is another interesting move by Borland, coming up with the development environment for Microsoft stuff. I think you can beat Microsoft in an open market like the enterprise market, but to try to beat Microsoft at [its] own products, you're never going to do that.
So I think the two worlds do coexist. We go into development shops all the time and we're really set up to work in heterogeneous environments by using standards to plug in the technology.
What's the developer component of WebCenter Suite 2.0?
WebCenter is pretty similar to our app framework. The WebCenter product, which is the new portal interface, is the same concept, where you can create these new interfaces. But the nice thing is that it comes on a set of services and they are all standards-based. So if you have any instant messenger type of client, you can plug that in. You can plug it into your calendar. So you can almost start building your Web pages and incorporate all of the different types of data into the Web page to help people be more productive.
What types of projects should be on a development manager's short list in 2007?
That depends on ... what you're doing now. But I think what should be on your plate is trying to figure out how to utilize some of these SOA technologies.
The really nice thing about SOA is that it moves away from the motility of building these big, monolithic applications. SOA really allows you to break down the functionality of your applications into much more manageable pieces. So I think you should be trying to figure out how to take advantage of some of that and where you are today. It requires a different skill set. I think it's definitely a new mentality. If you take your developers who are coders, or code architects, and you might be very successful with that today, I think you need to reevaluate how you use them and the skill sets that you need in the SOA world.
Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.