SaaS - Cloud Computing

SaaS and Cloud Computing are terms that are commonly thrown around these days. For clarification’s sake, let’s define these terms:

SaaS applications are the applications that are used from a location outside your PC. For example, the word processor on your PC is not a SaaS application, but Facebook is a Saas application.

Cloud Computing uses dynamically scalable development tools and resources to create applications. These resources are made available via the Internet.

Case Study

MapleWorks worked with a customer to develop a Notification Framework that would reside in the cloud. In this situation, notification is the ability to contact people through different channels when a certain event occurs. Channels are different media types like voice, SMS message, E-mail, or interaction with and IVR system. This framework can also provide for 2-way communication and enable responses from the called party.

The idea behind this project was to give customers an API that they could use to integrate notification functionality into their enterprise applications through Web Services.

One architectural incarnation of the framework talks via Web Services (SOAP) to initiate a notification. If a response is solicited from the user, these responses come back through the channel and are stored in the database for later use.

Technical Challenges and Risks of the Saas - Cloud Computing Project

One of the technical challenges and risks of this project is to develop an easy to use API. Project of this nature run the risk of not being adapted by customers if the interface is too complex.

Web Services address another technical challenge of this project - meeting performance targets. Performance is crucial to the framework because it can be used in emergency situations, where timely delivery of some important notification is critical. This requires judicial use of threading, caching, and locking of resources to optimize performance.

The technology knowledge base required to create a framework of this nature includes experienced Java server-side developers who have knowledge of Tomcat, Spring, Hibernate, Postgres, and Xfire. It also requires knowledge of Tomcat’s threading model, Java’s threading model, and good practices of real-time programming. The latter requirements are critical and are not easily found because most Java server-side developers rely too much on frameworks to take care of threading and locking. For the application development, knowledge of second generation Ajax toolkits which communicate using SOAP messages will be essential.

 

 

Phone: 781.897.1727
Send us an email
More contact information



MapleWorks Newsletter
Join our email newsletter for progress updates

 


 

Testimonial

“Bringing on MapleWorks helped expedite our product development without having to divert resources from other projects underway. MapleWorks engineers implemented the new software component for our TILE64 processor and integrated it into our development environment in two months flat.

"Thanks to the excellent outsourcing service provided by MapleWorks, Tilera was able to deliver on its customer commitments without losing out on new opportunities. MapleWorks is a professional, knowledgeable and enthusiastic team and they’re easy to work with.”

Michael Cook, Manager, Software Engineering at Tilera Corp.

Read more testimonials....