Cloud Computing and SOA Convergence in Your Enterprise: A Step ...
Cloud Computing and SOA Convergence in Your Enterprise: A Step ...
Cloud Computing and SOA Convergence in Your Enterprise: A Step ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
190 Chapter 10 Def<strong>in</strong><strong>in</strong>g C<strong>and</strong>idate Data, Services, <strong>and</strong> Processes for the <strong>Cloud</strong>s<br />
RIA, <strong>SOA</strong>, <strong>and</strong> <strong>Cloud</strong> <strong>Comput<strong>in</strong>g</strong><br />
A rich client, or an RIA, is a small piece of software that runs on the client to leverage<br />
<strong>and</strong> aggregate back-end services, allow<strong>in</strong>g them to appear as a s<strong>in</strong>gle, unified,<br />
native application. A new <strong>in</strong>terface is needed as both developers <strong>and</strong> end<br />
users beg<strong>in</strong> to underst<strong>and</strong> the limitations of traditional Web-based <strong>in</strong>terfaces,<br />
which are the current <strong>in</strong>terfaces of choice for many distributed applications.<br />
However, RIA is everywhere today. It is the primary <strong>in</strong>terface leveraged by<br />
Google <strong>and</strong> many other on-dem<strong>and</strong> office automation systems. By leverag<strong>in</strong>g<br />
RIAs, it can offer a dynamic <strong>and</strong> reactive user <strong>in</strong>terface that appears to be<br />
native. No longer must we deal with the traditional browser <strong>in</strong>terfaces where<br />
Web pages are constantly be<strong>in</strong>g sent to <strong>and</strong> from the server <strong>and</strong> the user deals<br />
more often with an hourglass than a live application.<br />
Web <strong>in</strong>terfaces <strong>in</strong> wide use with<strong>in</strong> enterprises were never really designed<br />
to support true <strong>in</strong>teractive applications. The Web was built as a content provider,<br />
serv<strong>in</strong>g up documents <strong>and</strong> not dynamic application services. If you<br />
th<strong>in</strong>k about it, you are reload<strong>in</strong>g document after document to simulate an<br />
<strong>in</strong>teractive application <strong>and</strong> always have to go to the back-end Web server to<br />
request new content. Very little occurs at the client.<br />
As the Web became popular <strong>and</strong> we looked to support bus<strong>in</strong>ess applications<br />
with<strong>in</strong> the enterprise us<strong>in</strong>g the Web <strong>in</strong>terface, we began to create new<br />
mechanisms to deliver dynamic content, <strong>in</strong>clud<strong>in</strong>g dynamic HTTP/HTML<br />
pushers (e.g., Common Gateway Interface, Apache Server Application Programm<strong>in</strong>g<br />
Interface, Internet Server Application Programm<strong>in</strong>g Interface) <strong>and</strong><br />
new browsers that supported complex dynamic behavior. We are at such an<br />
advanced state today that entire enterprises run most of their relevant bus<strong>in</strong>ess<br />
applications us<strong>in</strong>g Web <strong>in</strong>terfaces.<br />
However, with the advent of software-as-a-service (aka, application-as-aservice),<br />
the Web 2.0, <strong>and</strong> now cloud comput<strong>in</strong>g, there is a need to leverage<br />
dynamic behavior with<strong>in</strong> the <strong>in</strong>terfaces. Traditional browsers fall way short.<br />
Their get/push model for driv<strong>in</strong>g <strong>in</strong>terfaces is not as well suited to support<br />
dynamic applications, which are, at their essence, remote functions better<br />
suited for more visually rich types of <strong>in</strong>terfaces, such as more traditional GUI<br />
client/server <strong>in</strong>terfaces that were popular a few years ago.<br />
RIAs are not a revolution but an evolution of technology, <strong>in</strong>clud<strong>in</strong>g Asynchronous<br />
JavaScript <strong>and</strong> XML (AJAX). Today we look to leverage dynamic<br />
behavior <strong>and</strong> deliver that experience directly to the end user, aggregat<strong>in</strong>g