Web 2.0, SaaS and Portals
Fred Mikkelsen's Blog |
July 11, 2007 7:18 PM
|
Comments (1)
SOA, Portlet Servers, Web 2.0, AJAX, SaaS, and Social Computing, represent different views of a complete re-examination of application delivery. The sum represents the general vision of:
"With the least amount of investment, I want to maximize existing capabilities."
SOA, the Services Oriented Architecture, applies modular programming techniques to the back-end of enterprise application architectures. For the early adopters, they specifically want to reuse existing application logic--leveraging what is already there.
Services like credit verification, order entry; catalog query, provisioning, and job status can be collected in a repository and used as needed. The web service infrastructure is specifically designed to allow directory access, authentication, and governance. Control, security, statistics and planning can be made based on a component level.
Portal and Portlet Servers provide a means through techniques such as WSRP to provide functional front-ends to the SOA-enabled services. If you are presenting a means to interact with a service, you will want a collection of user interfaces ready to go. Having portlets for SOA-enabled resources assures quicker adoption to use it (quicker ROI).
Web 2.0 describes an environment in which significant applications are delivered through the internet, and AJAX, is a means to organize software client code in an web browser. Using readily available JavaScript instead of more deployment sensitive Java applets or Flash help assure the universal deployment provided by the web is maintained.
One means to organize code in Web 2.0 is in a Mash-up. This is where two different services are brought together to provide higher visibility.
House prices + maps = A new Real Estate application.
Song popularity ratings + song download = on-line radio station.
If you have a domain expertise, you can focus on making a high-powered domain-specific set of services and portlets, and use mashups and web authoring tools as your means of application deployment.
SaaS (Software as a Service) describes the economic model where you can make money selling Browser-enabled services over the internet. Where SOA describes the technical organization of services, SaaS describes the outward-facing presence. Facing the public, SaaS requires greater level of governance and control. The directory and governance services to manage SOA will be expanded to assist with fraud protection, virus detection, and billing.
These techniques, SOA, Portlets, Web 2.0, AJAX, and SaaS encompass the means to deliver any enterprise-quality application over the internet. The motivations to do so involve disaster recovery, simplified development, and much easier administration. In short, lower risk and cost.
Social Computing removes an additional layer from the overall application development cost, and provides a means to leverage your domain expertise without needing to "reinvent the wheel" in each new application.
All organizations have existing collection of knowledge ... procedures and processes to complete the task, or escalate a case. Knowledge of web sites to perform shipping, or provide maps. Pointers to other applications that are related to the application you're in.
Social Computing provides the means to capture the organizational knowledge and make it part of your application. Through usage, the most relevant, most useful tools as selected by the people who are most like you become available.
By using the patterns of the user's applications, you can maintain and improve services, identify new mashup opportunities, and improve the overall application experience. For the ISV, they can adapt quickly to their customers changing and requirements. For the enterprise, they can maximize their application investment and leverage their employees' knowledge.
"How do I achieve this migration?"
Your organization is more ready for SOA modularization than you probably realize. Using Web Service abstractions, you can front-end your database and applications to expose the functionality you deserve. For the green-screen applications, this type of interfacing was called "Screen Scraping". As bemoaned as this approach was, it was shown to not only work, but to also perform reasonably well. It was branded non-elegant, but it worked. -- especially when you consider that it was the integration of minimal intensity. All technologies since the 1970s have been far more flexible than screen scraping. Socket protocols, middleware, database APIs, Java RMI, HTML/HTTP, RPC, Web Services, ... these are all better technologies than screen scraping.
How to Proceed towards Web 2.0 and SaaS
Regardless of the way to get your services exposed, do so. "Screen scraping", the most brute force of service presentation techniques seemed doomed to fail, but it has proven to be good enough. Since the 1980s, integration technologies have been developed to make integration even better. It is unlikely that any integration solution you choose will not be sufficiently good enough to get started.
There are two primary interfaces to make: One is a programmatic web services interface, and the other is a portlet interface. Try to reflect the web services interface through the portlet interface. The portlet will be adopted quicker and this will enforce testability.
And employ a governance solution for development time governance and runtime governance so you can accurately track costs, interactions, and user patterns. From this beachhead of tangible knowledge of your integration usage, better plans can be made in preparation for future projects.
rev 1.1 - 1/20/2008
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
Welcome Fred. I see that Nick is also talking about SaaS.
Posted by: jonmountjoy on July 13, 2007 at 1:58 AM
|