Global Logic sMash Overview And Experiences


Published on

A web application development experience perspective from an IBM Business Partner comparing WebSphere sMash with Ruby on Rails.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Global Logic sMash Overview And Experiences

  1. 1. sMash Overview & Experiences
  2. 2. Agenda <ul><li>GlobalLogic Overview </li></ul><ul><li>sMash Overview </li></ul><ul><li>sMash Prototype/Demo Overview </li></ul><ul><li>sMash Features Ratings – GlobalLogic’s View Point </li></ul><ul><li>sMash vs. Ruby on Rails (RoR) </li></ul><ul><li>How does sMash fit in GlobalLogic’s thumb rules of Project Estimations? </li></ul>
  3. 3. GlobalLogic Overview <ul><li>Corporate Overview </li></ul><ul><li>Founded in 2000 and backed by Blue Chip VC’s Sequoia Capital, NEA and New Atlantic Ventures </li></ul><ul><li>Headquartered in Vienna, Virginia with Global Delivery Centers in the US, India, Ukraine and China </li></ul><ul><li>Ongoing partnerships with hundreds of innovative technology clients in the Mobile, Telecom, Consumer, Healthcare and Enterprise product verticals </li></ul><ul><li>Thousands of top-tier software engineers and 1,000+ successful client software product releases </li></ul><ul><li>InfoWorld award-winning distributed Agile method and platform for software development (GlobalLogic Velocity™) </li></ul><ul><li>Solutions that span the entire software product lifecycle </li></ul>GlobalLogic Offering GlobalLogic partners with both emerging and established technology leaders to provide software product R&D services on a global scale that increase product quality, reduce time-to-market, and lower development and support costs by 30% or more. GlobalLogic Recognition #1 Award for Innovation in Distributed Agile Software Product Development: GlobalLogic Velocity™ Global Services 100 Award for Innovative, Leading Service Delivery
  4. 4. <ul><li>Copyright GlobalLogic 2008 </li></ul>Nearly 200 Client Partnerships (selected) Mobile Travel & Hospitality Social Ntwkg & Web 2.0 Media & Entertain -ment E-tailing Gaming
  5. 5. Some Products That We Have Built PaidInterviews – Social Media Career Network Workstreamer – Enterprise 2.0 Collab Tool SpinAct – OnDemand Knowledge Marketplace PrecisionAds – Targeted Ad Platform Kaboodle* – Social Shopping Community SkyFire – Rich Media Mobile Browser * Acquired
  6. 6. <ul><li>Our introduction to sMash </li></ul>
  7. 7. sMash Overview <ul><li>Agile web application platform for developing and running modern web applications. </li></ul><ul><li>Simple environment for creating, assembling and running applications based on dynamic scripting language (PHP, Groovy, Ruby) </li></ul><ul><li>Application programming interfaces optimize for producing REST services </li></ul><ul><li>Rich AJAX based web user interfaces </li></ul><ul><li>Integration mash-ups and feeds </li></ul>A complete platform for developing, assembling and executing Agile Web 2.0 apps quickly and simply.
  8. 8. Why WebSphere sMash? <ul><li>Developers want to: </li></ul><ul><ul><li>Build Web apps quickly . </li></ul></ul><ul><ul><li>Re-use and combine existing apps simply . </li></ul></ul><ul><ul><li>Take an Agile approach to Web app development. </li></ul></ul><ul><ul><ul><li>Quick reaction to change </li></ul></ul></ul><ul><ul><ul><li>Cost-effective development </li></ul></ul></ul><ul><ul><ul><li>Ease of deployment </li></ul></ul></ul><ul><li> Speed, Simplicity, Agility </li></ul><ul><li>Developers are adopting: </li></ul><ul><ul><li>Dynamic scripting languages for application logic (PHP, Ruby, Groovy…) </li></ul></ul><ul><ul><ul><li>Low barrier to entry, high productivity </li></ul></ul></ul><ul><ul><ul><li>Enable “Search, copy and paste” style development </li></ul></ul></ul><ul><ul><li>REST , JSON to tie Web Apps together </li></ul></ul><ul><ul><ul><li>Simple, works well with Ajax </li></ul></ul></ul>
  9. 9. WebSphere sMash – Three Mantras <ul><li>Speed </li></ul><ul><ul><li>Dynamic scripting languages </li></ul></ul><ul><ul><li>Fewer lines of code </li></ul></ul><ul><ul><li>Brower based tooling </li></ul></ul><ul><li>Simplicity </li></ul><ul><ul><li>Leverage preexisting content </li></ul></ul><ul><ul><li>Use the web as your SOA platform </li></ul></ul><ul><ul><li>Visual assembly style development </li></ul></ul><ul><li>Agility </li></ul><ul><ul><li>Small footprint </li></ul></ul><ul><ul><li>Easily modify your application </li></ul></ul><ul><ul><li>Restart the server in seconds </li></ul></ul>
  10. 10. <ul><li>sMash Prototype/Demo Overview </li></ul>
  11. 11. GlobalLogic Project Resourcing System using sMash <ul><li>Ability to map existing GlobalLogic resource skill sets and to customer specific requirements. </li></ul><ul><li>Ability to forecast customer requirements, translate the same into future revenues. </li></ul><ul><li>Customer Project Dashboard </li></ul><ul><li>Ability to create an inventory of skills and figure out what needs to replenished. </li></ul>
  12. 12. Project Wireframes
  13. 13. <ul><li>sMash Feature Ratings </li></ul><ul><li>- GlobalLogic’s Viewpoint </li></ul>
  14. 14. Rating Score Terminology Good implementation, but others seem to do it better. ** Very good implementation; and others have it too. *** Well, sMash does not have any of this category! So let us skip this. * Big Plus. **** It is unique in this functionality. Standout from existing options. Love it! ***** What we are implying! Rating Scale
  15. 15. Highlights - I **** Scripting Languages Low barrier to entry (PHP, Groovy) 6 **** Application-centric runtime Write the app, run it, and it’s ready for use. No need for a separate application server 5 ***** Enhanced Performance All the server side scripts including PHP runs on Java Virtual Machine (JVM), which is very mature and stable 4 ***** Loosely coupled by design Enables componentization and extensive code reuse 3 ** Trivial Deployment Very easy to move an app to other machine : zip, copy , run 7 *** Focus on RESTful Architecture Increases the interoperability of the components. 2 **** Convention over Configuration Allows developers to focus on writing useful code without the distraction of dealing with complex configuration files. 1 GlobalLogic Rating Key Highlights No.
  16. 16. Highlights - II **** Browser-based tooling for client and server-side development Includes visual tools to simplify Web application interoperation 9 *** Modular Architecture Features and pre-build services downloaded as required 8 GlobalLogic Rating Key Highlights No.
  17. 17. Non-JTA Support <ul><li>Considering that sMash does not support JTA transactions, its ability to build products which has Distributed Transactions that occurs across multiple resources is an area of concern. </li></ul><ul><ul><li>Saw this as a big concern in the message boards as the impediment to build serious applications in sMash </li></ul></ul><ul><li>(Assuming here that is an alternative which sMash is proposing in this scenario) </li></ul>No Longer Valid!
  18. 18. Some Miscellaneous Limitations <ul><ul><li>Not an Open Source </li></ul></ul><ul><ul><li>Not so easy to learn, requires experience developers </li></ul></ul><ul><ul><li>PHP implementation does not seem to be complete. </li></ul></ul><ul><ul><li>Error messages are too generic </li></ul></ul><ul><ul><ul><li>When things go wrong, it’s difficult for users to determine the reason and get things working. Documents needs to be enhanced to ease this pain out. </li></ul></ul></ul><ul><ul><ul><li>For example, some commands (ex model_sync) had no message when an error occurred and other had messages that didn’t give much indication of what to do to fix the situation (ex. zso failed) </li></ul></ul></ul><ul><ul><li>Browser dependency to use AppBuilder, only supports Mozilla Firefox </li></ul></ul>
  19. 19. <ul><li>sMash vs Ruby On Rails (RoR) </li></ul>
  20. 20. sMash Vs. RoR <ul><li>sMash seems to be providing an easier approach to configure security rules to secure the application (as compared to Java, RoR, PHP) </li></ul><ul><ul><li>For example – in RoR these rules needs to be programmatically implemented; whereas sMash facilitates the same by adding the rules in the configuration file. </li></ul></ul><ul><li>sMash easily allows you to add various types of Authentication modules without changing the authentication model. Again, this needs to be programmed in RoR. </li></ul><ul><li>sMash rides on the proven and tested and matured Java VM as compared to RoR which is still in its infancy. </li></ul><ul><li>By default, sMash comes with DOJO JavaScript library which is a very heavy library. RoR comes with Prototype which is much lighter. </li></ul><ul><li>RoR comes with three application environments (development, test, and production). All these three come with pre-set configurations. This seems to be missing in sMash. </li></ul>
  21. 21. RoR and sMash API Integration Comparison Third party Application Flickr API Controller User Controller RSS Controller Flicker Model Flicker View Ruby on Rails Application Views Models Controller Calls Flickr API Response renders as JSON or XML Flickr API Resource Model Zero.Data.Manager IBM sMash Application Application Resource Models Calls Flickr API Response renders as JSON or XML MySQL DB MySQL DB Flickr API Script Third party Application Need to create a Flickr API APIs automatically handled in Resource model <ul><li>Key Differences </li></ul><ul><li>Very high security mechanism used by sMash to provide API services to the Third Party Application. </li></ul><ul><li>In RoR, we need to write our own API for handling the security mechanism while sMash handles implicitly. </li></ul><ul><li>Need to create a Flickr API in RoR where as in sMash APIs automatically handled in resource model. </li></ul>
  22. 22. RoR and sMash Testing Comparison rake test test:units test:functionals test:functionals db:test:prepare environment db:test:clone db:schema:dump db:test:purge connect to ‘test’ db ? sMash Ruby on Rails manual ] automated
  23. 23. RoR and sMash Debugging Comparison Ruby on Rails ruby script/console load application code load rails access ‘model’ methods inspect objects debug ? sMash
  24. 24. RoR and sMash App. Initial Deployment Comparison Start mongrel services and Restart Apache Install Ruby, gems and rails Install Apache and Mongrel App Server Install Database and Setup Apache Zip RoR Application Copy the zip file to the server and Unzip the Application   Load Database Schema into DB Run the Application Ruby On Rails IBM WebSphere sMash Install JDK, require database Zip the sMash Application Copy the zip file to the Server and Unzip the Application Resolve the dependences (zero resolve) Start the Server (zero start ) Run the application <ul><li>Key Differences </li></ul><ul><li>It takes approx. 4-5 hours to setup the RoR server while sMash takes about 20- 30 minutes. </li></ul><ul><li>RoR requires dependencies like ruby engine, gems installation etc while sMash implicitly resolves all the </li></ul><ul><li>dependencies by executing zero resolve command. </li></ul><ul><li>RoR application requires resources having some experience of server configuration while sMash application can be easily deployed by any users. </li></ul>
  25. 25. RoR and sMash App. Ongoing Deployment Comparison Copy code to App server Migrate database schema changes Restart App Server Copy code to App server Migrate database schema changes Restart App Server Automated Manual sMash Ruby on Rails
  26. 26. <ul><li>How does sMash fit in with other Programming Frameworks? </li></ul>
  27. 27. Thumb Rule for Time Estimations <ul><li>Thumb rule for Estimations (for Web 2.0/Community-based application) </li></ul>3 – 3.5 months sMash 5 months RoR 7 months PHP 8 – 9 months Java, .NET (C#)
  28. 28. Thumb Rule for Cost Estimations <ul><li>Thumb rule for Project Costs Calculations (for Web 2.0/Community-based application) </li></ul><ul><li>Assumptions – </li></ul><ul><ul><li>$100K Monthly Burn Costs </li></ul></ul><ul><ul><li>Server Costs == $10K/Server </li></ul></ul><ul><ul><li>IBM Websphere License Costs ~ $15K </li></ul></ul>== ~$345K 2 * (Server Costs) + IBM Websphere License Costs 100K * 3 months = $300K + License Fee = $10K =================== Total = $310K sMash == ~$530K 3*(Server Costs) 100K * 5 months = $500K RoR Total Extreme Scalability Costs Effort Cost
  29. 29. <ul><li>sMash – </li></ul><ul><li>Future Work </li></ul>
  30. 30. Suggested Topics for Technical White Papers <ul><li>Continuous Integration Framework using sMash for Agile Environments. </li></ul><ul><li>Doing Test Driven Development (TDD) with sMash </li></ul><ul><li>Comparison between sMash and RoR on dimensions such as Virtual Machines, Performance, and Code Complexity </li></ul><ul><li>Case Study on creating a Mashup using sMash and existing applications in other Technology domains using RESTful Services. </li></ul><ul><li>Comparison between sMash and CakePHP or Zend Framework. </li></ul>
  31. 31. <ul><li>Thank you </li></ul>