Most people think about rich Internet application (RIA) development being about building dynamic interfaces with Netflix.com-like functionality, but they miss the ties to services-oriented architecture (SOA). How do you see SOA and RIA coming together?
We've seen a big rise in adoption of SOA over the last year, and a lot of the technologies and middleware filling in. When SOA first hit the scene, most people were just talking about Web services and BPEL. Two to three years ago, we started filling in all the pieces that you need in the middleware -- the rules engine, the enterprise service bus, the reliable message infrastructure and so on.
So it has basically become easier for people to start building SOA, and we've seen a lot of adoption on the back end, but if you ask most vendors "what's the User Interface (UI) strategy for SOA?" most would say, "create a bunch of portlets and just throw a portal on top of it." That hasn't flown, and that's why I think we've seen more SOA work on the back end than on the front end. Our WebCenter [Framework] tries to address the front end. We've put portal-like capabilities into our core application development environments and run times. Before you'd use portals to enable users to customize pages and have administrators set up new pages, but that was typically only within the portal. In WebCenter, you can build any application and give it that kind of functionality as well as Web 2.0-style collaborative capabilities. In the coming year, I think we'll start to see much richer, more collaborative interfaces on top of SOA back ends.
Does SOA demand RIA or is it the other way around?
Ideally it works both ways, but I'd say SOA is really driving the ability to deliver rich Internet applications. You could build a RIA without having services on the back end, but a RIA that has plenty of services available has more capabilities because it can be more dynamic and adaptable after deployment. So far, people have mainly used SOA to solve back-end problems, such as automating business processes and getting a better handle on business flow and business rules. Now people are starting to look for better user interfaces.
Can you cite any examples?
One of the larger banks in Europe is an Oracle-Siebel customer. It left Siebel 8 in place because that's what the tellers were used to, but it exposed some Web services and through the use of BPEL and Java Server Faces, it was able to add online self-service capabilities to let customers create and manage accounts. That extended the application and business processes on the back end, but the real value was in bringing online self-service capabilities to their customers. The UI was critical to taking advantage of the SOA infrastructure, and we're starting to see more of that.
Personalized self-service capabilities have been delivered through portals for years. What's the advantage of delivering that as a RIA?
With RIA it's dynamic, and the customer can change the interface. When I come to my home page for my bank, I want to see my account information in a particular view with news feeds that I set up. This is really what Web 2.0 and the rich-client architecture is driving. Consumers are used to that in Google and MyYahoo home pages and they want to do it with other applications as well. That's why dynamically changing your application is really important.
How mature is RIA development in the enterprise?
As with every technology that has ever come along, trends move more slowly in the enterprise space than in the consumer space. You see the latest and greatest on Google and Yahoo pages that are targeted at consumers. Enterprise customers are trying to figure out, what does this new technology mean to me? How can it add value in my business and how can I use it without disrupting my business? We've tried to maintain our development strategy and process and keep our architecture consistent while adding those capabilities.
Among those 30,000 customers, barely any are building in rich clients because enterprises don't just run out and rewrite because a new technology comes along. We've seen a big uptake on SOA on the back end, and now with WebCenter, we predict we'll see the same uptick on the front end.
Where will RIAs show up first?
I think we'll start to see a sprinkling across a lot of enterprise applications. In the consumer space they're calling them mashups because they're about bringing together a whole bunch of information that might be relevant to the consumer. In the enterprise space, the bar is set a little higher. It's about bringing in information to help you do your job but also helping you to act on that information and get your job done. It's not just about finding a store that's near you, it's about finding, say, a reference customer in the same area and with the same customer profile as a customer prospect. You might overlay information on a Google-style map that shows the products current customers are using and how they're using them so you can match the best reference customer to a prospect so they can visit them and you can close the sale. It's really about being smart in bringing these cool technologies together with conventional enterprise data and processes to add value.
So will that require corporate developers to learn Ajax and a battery of new development approaches?
Our philosophy is to try to provide a lot of functionality in our middleware while simplifying things for the developer. We've based our view technologies and Fusion Middleware suite around Java Server Faces (JSF), which is the standard Java way to build Web apps. Once you learn that model, we have render kits that target HTML, mobile devices, telnet devices and ASK SMS, and in [Fusion] version 11, we'll be adding render kits for Ajax and Flash. The developers still program in JSP and JSF as they always did, but the kit lets you build rich, interactive Web pages without your developers having to be retrained.