Executive Summary
Our customer is one of the leading music fans networking platforms. It’s based on RIA, Web 2.0, social networking and Grails and Groovy framework
Background
The customer had a legacy platform which was not scalable, due to which the growth of the company was impacted.
From business perspective, the new application on a more scalable and robust platform is required to meet following criteria:
| |
Usability |
| |
RIA, Web 2.0 |
| |
Powerful & relevance based Search capabilities |
| |
Integration with Social platforms - Myspace, Open Social, Twitter, Facebook |
| |
Role based security, Open Auth based authentications |
| |
Leveraging of cloud computing & services - Amazon deployments, S3 Storage and SimpleDB |
| |
Advance messaging frameworks and queuing mechanism |
 |
The existing technologies were based on PHP. The following were severe limitations :
| |
PHP based applications are lacking standard web application frameworks, messaging frameworks, ORM technologies. Due to the application code maintenance becomes un-managble and costly to evolve |
| |
Test driven development is not available or trickier to achieve |
 |
Objectives & Challenges
| |
Legacy application migrations |
| |
Legacy data architecture migrations |
| |
Agile Incremental transition - Both Legacy and New applications shall co-exist |
| |
Leveraging of cloud computing & services |
 |
Technology Selection: Grails & Groovy
Following are the factors that allow us to choose the grails and groovy as foundation framework:
| |
Reduced code complexity based on Conventions over Configurations |
| |
Re-usability, Do Not Repeat yourself principles |
| |
Plug-in based: There are numerous mature plug-in that provides seamless integrations with any typical java features. |
 |
Grails provides end to end framework based on pre-Integrated stack of MVC based web application framework, middle-ware (business layer ) , ORM persistence layer, bi-directional plug-in system. Groovy is dynamic programming language that allows for more reusable and powerful language features available to application than static languages such as Java. Groovy and Grails are purely native to Java/J2EE, Grails is based on Java, J2EE and Groovy dynamic languages. we can reuse any existing high performance, reliable and mature library within grails without any efforts
Accomplishments:
We have migrated our customer’s primary platform in less than 5 months using Grails and Groovy. We have used all architectural patterns MVC, AJAX, Themes, Web 2.0, CDN, Cloud , Hibernate, Enterprise Integration Patterns (EIP), Apache Lucerne based search capabilities & many social networking integrations. The usage of frameworks, robust java libraries and Amazon based deployments resulted in scalable and performance driven platform and easier deployments.
By utilizing grails benefits we were able to provide the following features with much ease:
| |
Web 2.0 and collaborative web application platform |
| |
Apache Lucene/Solr - Search Engine - a scalable, high performance and relevance based |
| |
Search |
| |
Spring security, LDAP, Open Id, Open Auth 1.0/2.0 , Role based security, Spring ACLs |
| |
ESB, Apache Camel - EIP |
| |
RIA - JQuery, JSON, XML, HTML5, XHTML |
| |
Facebook, My space, Twitter, Open Is integrations |
| |
Facebook open graph |
| |
Myspace - open social |
| |
Facebook/myspace widgets (app integrations) |
| |
Role based authentication, authorizations |
| |
Video streaming, Image generations, manipulations |
| |
Amazon EC2, or Linux based scalable deployments |
| |
Amazon EC20 S3, SimpleDB options |
| |
Geo Coding and location based search capabilities |
| |
Advance messaging system to post large number of user feeds and activities to Myspace, Facebook, Twitter |
 |
Business Benefits:
Our customer is now ready to scale up user enrollment and expand in their business.
|