The current album service has grown out of control, and the client makes multiple calls to the service to retrieve multiple album information.
We should start using more model/business objects, and stateless services that act on top of these objects.
I'd like to propose we start defining Album as pure model/business objects that will have all album related info (e.g name, description, cover image url, etc) and same thing with Image.
As for services, we should create a facade service to retrieve info in a more atomic way, e.g Gallery.getAlbum(albumName) retrieve a album model object with all info for the album at once. We might have a second operation to retrieve list of album images if we think it's too heavy to retrieve all at once....
Once we have this, we can start looking into applying more RESt style APIs and revisit how we can start taking advantage of http caching to improve performance of the overall client/server experience.
|Field||Original Value||New Value|
|Summary||Improve PhotArk services refactoring Services and Model Objects||Improve PhotArk services by refactoring current Services and Model Objects|
|Fix Version/s||PhotArk M4 [ 12315577 ]|
|Fix Version/s||PhotArk M3 [ 12315002 ]|