[ 
http://mifosforge.jira.com/browse/MIFOS-4261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

keithwoodlock resolved MIFOS-4261.
----------------------------------

       Resolution: Fixed
    Fix Version/s: Elsie F
         Assignee: mifosqa  (was: keithwoodlock)

The purpose of the spike was to see if it was possible to create another module 
and pull out code from the monolithic application module into savings module.

Why?

At present we are creating service facades (application services) which at 
present are used by the presentation layer but which we also want to expose for 
use by tests and in future a data migration module. At present this is not 
possible becuase code from application is released as class files within a WAR 
archive. We would like the services to be exposed within a JAR so people could 
use its dependency and launch an application context with platform services 
running.

Findings:
The top down approach (extracting service facades) is ongoing but just doing 
service facades will mean they are still not reuseable.

1) Tried bottom up approach extracting out base classes and refactoring where 
possible to decouple for other dependencies in an attempt to bring in 'savings' 
related classes and dependencies. The level of coupling was too much so no 
surprise there.

2) Spent a bit of time concentrating on removing 'persitence' dependencies from 
core domain classes like 'AccountBO'. Taking this middle-up approach was 
successful enough but the level of refactoring required is just too much.

Conclusion

The only feasible way at present to make services releasable/reuseable from a 
JAR file is to pull out all non ui/mvc related code from application and put 
into another module that products a JAR that application will depend on.

This will allow use to use services as we implement them and we can focus on 
untangling the 'tight coupling' in a top down incremental manner.


> SPIKE: Create savings module to leverage work done on savings services
> ----------------------------------------------------------------------
>
>                 Key: MIFOS-4261
>                 URL: http://mifosforge.jira.com/browse/MIFOS-4261
>             Project: mifos
>          Issue Type: Story
>          Components: Savings Account
>    Affects Versions: Elsie F
>            Reporter: keithwoodlock
>            Assignee: mifosqa
>            Priority: Major
>             Fix For: Elsie F
>
>
> The purpose is to create a module which will allow for delivery of a jar that 
> contains services applicable to savings so we can get re-use from them.
> e.g. web client uses savings jar
>      data migration can use savings jar to inject data.
>      tests can use savings jar to inject data into database

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://mifosforge.jira.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Mifos-issues mailing list
Mifos-issues@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mifos-issues

Reply via email to