| Technology Enablers for SaaS: AOP and SODA |
In our “ Technology Enablers for SaaS ” series, we highlighted
Sharding in the last digest. This week we will focus on Aspect
Oriented Programming (AOP) and Service Oriented Data Architecture
(SODA), two more technology concepts that can be used effectively
when building a SaaS product.
AOP: Code related to cross-cutting concerns like
transaction, security and logging are usually common across a
product. If any of these needs to be modified, large parts of the
code base are impacted. This increases the complexity of a product
and makes product evolution difficult.
Speaking in the context of SaaS, AOP attempts to solve the above
problem by allowing cross-cutting concerns to be expressed in terms
of stand-alone modules called Aspects. This is hard to do in case of
Object Oriented Programming. For example, a security module can
include ‘advice’ that performs a security check before accessing a
bank account. The point cut defines the instances (join points) when
a bank account can be accessed. Using AOP, we can link advices and
join-points during runtime, thus giving flexibility to link both
dynamically.
SODA entails that the databases are partitioned according
to well-defined and logical service boundaries. At a logical level,
a database service exposes a well-documented interface to data. This
is not a general database interface for reading and writing data,
instead it provides very specific functionality. For example, an
inventory database service might expose methods for checking
inventory levels, reserving inventory, removing products from
inventory, etc.
While this may sound similar to stored procedures, what is
different is that access to data under the control of one database
service is completely isolated from that of a different database
service. Moreover, requests to database services are exposed as Web
services (instead of a database connection).
We will cover more technologies and tools for enabling SaaS in
our upcoming digests.
Featured articles
Aspect Oriented Programming
Aspect Oriented Programming and Security
Aspect Oriented Programming enables Better Code encapsulation and
Reuse
How SQL Server 2005 enables Service Oriented Data Architectures
|
| Upcoming webinar |
“ How
do you optimize Software Test Automation Costs? "
When it comes to automated testing,
everyone throws around hot buzzwords like “data-driven”, “data
flows”, and “error handling”. Do these buzzwords allow you to
produce automation that is efficient, maintainable and usable?
Above all, what does it take to optimize the costs involved in
achieving efficient, maintainable and usable automation?
Date: August 21,2008.
Time:2 PM ET/11AM PT
Presented by: Aspire Systems and AutomatedQA
|
| Recent
Post-telecon update |
|
Professional Services can be
a potential differentiator: do you agree ?
Professional Services originally meant services offered in the
services of Medicine, Law and such other fields. Today it has
expanded and the breadth of definition has come to include
Design and IT too. When we say Professional Services in the IT
industry, majority of the people consider it as customization,
project management, implementation, consultancy and such kind of
things. This is an era where the concept of differentiation for
ISVs is very essential, and it becomes imperative for them to
differentiate their products. This is where Professional
Services can play a key role”.
|
|