160 likes | 322 Views
Scrum Project Management Tool. TEAM 4. Agenda. System Overview Business Functionality Development and Migration Strategy New Features System Architecture Challenges Lessons Learned Demo. System Overview. Scrum is an iterative and incremental agile software development methodology
E N D
Agenda • System Overview • Business Functionality • Development and Migration Strategy • New Features • System Architecture • Challenges • Lessons Learned • Demo
System Overview • Scrum is an iterative and incremental agile software development methodology • Tool provides iterative project management functionality
Business Functionality • Users administration • Products administration • Sprint administration for a product • Stories administration for a product • Login and logout
Development & Migration Strategy • Migrated as Google PaaS • Enhanced application to support Google App Engine • Replaced EJB3.0 framework with Spring framework • Bigtable introduced to replace Scrum RDBMS
New Features Introduced • Authentication using Google Authentication Service • Multitenancy via Namespace API • Send automated emails via cronjob • Store images via Blobstore • TaskQueue • Email receiver
New Features Introduced(cont.) • Blobstore to save Images • Bigtable to replace RDBMS
Challenges • EJB migration to Spring framework • Restructuring Entity relationships via JPA for Datastore • Integration Spring framework to Stripes • Transaction handling • Implementing Muti-Tenancy using Namespace API • Implementing Blobstore, Cron job, memcache and email.
Lessons Learned • Email sender must be owner of the application or xxx@APP_ID.appspotmail.com otherwise it will throw Message Exception when sending emails. • Implementation of Multi Tenancy in Google App Engine • The benefits and easiness of applying Multi tenancy by using Namespace API and how Data is segregated according to namespace.
Lessons Learned • Blobstore are not stored under namespace. The economic benefit of using Blobstore , as the request is not going through GAE frontend instance. • We are using the Blob store to upload photos for the story. • Google App Engine’s HRD .
Lessons Learned • For cron job and backend task, url security restriction should be either set to admin or not set. If we set them to “*” which means need login, these backend job will fail to run. • When storing data in Big Table instead of RDBMS, ManyToMany relations are not supported. This needs to be taken care of.