Header
Technology Enablers for SaaS: AOP and SODA
Aug 14 , 2008  

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
 

Join our upcoming webinar on: “How do you optimize Software Test Automation Costs?"
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

Register

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”.


http://producteering.org | Sponsored by Aspire Systems