Java, Cloud Applications and SMART

Raji Sankar

Subscribe to Raji Sankar: eMailAlertsEmail Alerts
Get Raji Sankar: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Top Stories by Raji Sankar

SaaS is the cutting-edge technology in the current product landscape. With an increase in the adoption of SaaS products by enterprises, more and more ISVs are trying the SaaS delivery channel. But, delivering a SaaS product cannot be considered as just a rebranding exercise of existing products. Products mostly have been architected, written, refined and customized over years with an underlying assumption that “an isolated runtime environment (i.e., isolated customer data and code execution environment) is available for each customer”. The current trend is to offer SaaS as a multi-tenanted product. This challenges the underlying assumption of the existing products. Architectures need to be re-thought to ensure that running the product in a non-isolated runtime environment for a customer does not introduce conflicts between different customer features. Moreover produ... (more)

Architecting a Multi-tenant Application

A multi-tenant application is an application where a single running instance serves many customers. An alternative to multi-tenancy is managed services, where one running instance is set up for each customer. The table below shows a comparison between the two approaches. Feature Multi-Tenant Application Managed Services Cost Structure Supports usage based pricing as well as tiered or flat pricing. Can support only tiered or flat pricing. Resources Shared Resources. Resource is allocated based on the actual load for a tenant. Dedicated resources. Resource is allocated based on pe... (more)

Creating maven archetype using create-from-project

Maven archetypes are a great way to create templates for standardized projects. The advantage of creating a maven archetype is that it can easily integrate with any IDE that supports maven compilation such as Eclipse. In SMART we provide maven archetypes to get started on developing SMART flows easily. In this blog I want to share our learning when creating these archetypes. Sample Archetype We will write an archetype called simple-archetype that generates the following structure: pom.xml src |--main |-- java | |-- package (org.smart.demo) | |-- TestMessage.java |-- resources |... (more)

Transforming a server application to cloud application

On-premise products are architected and designed for server operating environment i.e., they are web-based applications. SaaS, on the other hand is a cloud application (an application exposed as a service in a cloud operating environment) i.e., they are web applications. The major differences between the two operating environments are in: Pricing: There are inherent differences between the way products and services are priced. SaaS is a service model and hence pricing has to be rethought for a service-based pricing while on-premise application is a product model and has product-... (more)

Modeling Business Transactions – 1 (For SaaS Pricing)

In the blog “Transforming a server application to cloud application“, I have talked about the changes required in business functions to transform an application to a cloud application. In this series I want to bring out the changes required in architecture to implement these use cases. Need for Re-architecting for pricing Starting with the pricing use cases,  pricing can be done in a number of ways. Some samples are: 1) per business transaction 2) based on the end states of the different business transactions 3) by usage pattern (number of active users using specific the business t... (more)