Mifos Overview

2
2008 Grameen Foundation – All Rights Reserved To learn more please visit: www.mifos.org UNLOCKING THE POTENTIAL OF MICROFINANCE Mifos is an initiative of Grameen Foundation’s Technology Center to pioneer an open source platform purposebuilt for the microfinance industry. Mifos leverages a global technology community and ecosystem of experts to provide a holistic management information solution enabling microfinance institutions to more effectively deliver financial services to the poor. Mifos Technology: The technology vision for Mifos is to be the platform that is purposebuilt for the delivery of financial products and services to the poor, comprising a core portfolio management system, robust reporting and transaction tracking capabilities, and an intuitive user interface. The Mifos 1.1 software (scheduled to be released in July 2008) has significant functional and architectural improvements including enhanced reporting tools, localization support, more flexible user configuration, and the inclusion of social performance metrics like PPI. Mifos is built using several mainstream, Javabased open source technologies, allowing the Mifos engineering team and developer community to leverage and reuse existing technologies while focusing on augmenting them with the core domain and business logic needed to make Mifos the best possible platform specific to the microfinance industry. Mifos 1.1 is our biggest and highest quality release to date and is capable of scaling to serve hundreds of thousands of clients as demonstrated by its success at Grameen Koota in Bangalore, India. Architecture – Mifos 1.1 Mifos 1.1 is architected as a webbased business application specific to MIS for microfinance. It employs a modern open source technology stack of Java 5, an application server (such as Tomcat 5+), a standard relational database (MySQL 5), some use of Spring application framework, mainstream objectrelational mapping service (hibernate 3.2), and presentation layer (Struts 1.0 and JSP 2.0). Mifos 1.1 has a host of microfinanceenabling features built in, such as support for group lending and other loan products, savings products, collection sheets, bulk entry, flexible repayment schedules, etc. all of which can be configured specifically for various locales, currency, microfinance offerings and business processes. Version 1.1 is steadily evolving to become an easily extensible platform, providing a stable API and services layer for customization in a way that is easy to maintain and upgrade. Architecture Mifos 2.0 Mifos 2.0 is being designed for significantly increased flexibility and extensibility. The same open source technology stack will be used in 2.0, along with the introduction of Spring security, standard webservices protocol implementations, an upgrade to Struts, as well as various libraries for generic functionality such as handling international dates and times. The major changes in the architecture will be a conceptual unwinding of specific business logic which is tightly coupled in version 1.1 into a highly componentized and decoupled model in version 2.0. The componentbased, dependencyinjection design will allow for the core architecture in version 2.0 and beyond to support a variety of different customizations in a way that can still leverage the new API and service layer, with a wellsupported upgrade path to future versions. •HTML (some Javascript) User Interface •Struts/Tiles/JSP Presentation Layer •Java/Tomcat Application & Business Logic •Hibernate Persistence Layer •MySQL Database •Custom SQL Scripts Data Migration Process •BIRT, runs in Eclipse Reporting Core Mifos Code Base Persistence Code TransactionCode Struts Service Layer Repository/DAO Domain Objects Persist Txn Presentation Layer Service Layer Repository/DAO Domain Objects Web Services

description

Overview of Mifos functionality

Transcript of Mifos Overview

Page 1: Mifos Overview

2008 Grameen Foundation – All Rights Reserved  To learn more please visit: www.mifos.org  

UNLOCKING THE POTENTIALOFMICROFINANCE

Mifos is an initiative of Grameen Foundation’s Technology Center to pioneer an open source platform purpose‐built for the microfinance industry.    Mifos  leverages  a  global  technology  community  and ecosystem of experts to provide a holistic management information solution  enabling  microfinance  institutions  to  more  effectively deliver financial services to the poor.  

Mifos Technology: The  technology  vision  for Mifos  is  to be  the platform that  is  purpose‐built  for  the  delivery  of  financial products  and  services  to  the  poor,  comprising  a  core portfolio  management  system,  robust  reporting  and transaction  tracking  capabilities,  and  an  intuitive  user interface.  The  Mifos  1.1  software  (scheduled  to  be released  in  July  2008)  has  significant  functional  and architectural  improvements  including  enhanced reporting tools, localization support, more flexible user configuration, and  the  inclusion of  social performance metrics  like  PPI.    Mifos  is  built  using  several mainstream,  Java‐based  open  source  technologies, allowing  the  Mifos  engineering  team  and  developer community to leverage and reuse existing technologies while  focusing  on  augmenting  them  with  the  core domain and business  logic needed  to make Mifos  the best  possible  platform  specific  to  the  microfinance industry.   Mifos 1.1  is our biggest and highest quality release  to  date  and  is  capable  of  scaling  to  serve hundreds of  thousands of  clients  as demonstrated by its success at Grameen Koota in Bangalore, India. 

Architecture – Mifos 1.1  Mifos 1.1 is architected as a web‐based business application specific to MIS for microfinance.  It employs  a modern  open  source  technology  stack  of  Java  5,  an  application  server  (such  as Tomcat  5+),  a  standard  relational  database  (MySQL  5),  some  use  of  Spring  application framework,  mainstream  object‐relational mapping  service  (hibernate  3.2),  and  presentation layer  (Struts 1.0 and  JSP 2.0).   Mifos 1.1 has a host of microfinance‐enabling  features built  in, such as support for group lending and other loan products, savings products, collection sheets, bulk  entry,  flexible  repayment  schedules,  etc.  all  of which  can  be  configured  specifically  for various locales, currency, microfinance offerings and business processes.  Version 1.1 is steadily evolving to become an easily extensible platform, providing a stable API and services  layer for customization in a way that is easy to maintain and upgrade.  

 

Architecture Mifos 2.0  Mifos  2.0  is  being designed  for  significantly  increased  flexibility  and  extensibility.    The  same open source technology stack will be used in 2.0, along with the introduction of Spring security, standard  web‐services  protocol  implementations,  an  upgrade  to  Struts,  as  well  as  various libraries  for  generic  functionality  such  as handling  international dates  and  times.    The major changes  in  the architecture will be a conceptual unwinding of  specific business  logic which  is tightly coupled in version 1.1 into a highly componentized and decoupled model in version 2.0.  The  component‐based,  dependency‐injection  design  will  allow  for  the  core  architecture  in version 2.0 and beyond to support a variety of different customizations  in a way that can still leverage the new API and service layer, with a well‐supported upgrade path to future versions.  

•HTML (some Javascript)

User Interface

•Struts/Tiles/JSP

Presentation Layer

•Java/Tomcat

Application & Business Logic

•Hibernate

Persistence Layer

•MySQL

Database

•Custom SQL Scripts

Data Migration Process

•BIRT, runs in Eclipse

Reporting

Core

Mifo

s Co

de B

ase

Persistence Co

de

Tran

saction Co

de

Struts

Service Layer

Repository/DAO

Domain Objects

Persist

Txn

Presentation    Layer

Service Layer

Repository/DAO

Domain Objects

Web Services

Page 2: Mifos Overview

2008 Grameen Foundation – All Rights Reserved  To learn more please visit: www.mifos.org  

Development Methodology Development  of  Mifos  is  guided  by  a  strong  agile  development  approach  which  allows  our  core  engineering  and  product management teams to flexibly and rapidly manage the  incoming contributions from both  internal developers and our community.  Our overall process includes triage, story cards, estimation in story points, burndown charts, pair‐programming, and code reviews. 

Collaboration Tools Mifos strives to instill our community with both the vision and resources necessary to collaborative and effectively contribute to the Mifos platform.  This toolset will continue to evolve and grow as we aim to foster community‐wide transparency and interaction: 

‐ Mailing Lists – Developer and  functional mailing  lists hosted on Sourceforge.net  (along with publically archived mirrors) serve as primary communication channel with more than three hundred monthly posts.  

‐ Mifos.org Web Portal – Interactive web portal powered by the Plone open source content management system houses our developer’s wiki, deployment project pages, knowledgebase & documentation, and searchable community directory. 

‐ Issue Tracker – Java.net‐hosted issue tracker is used to report, track and monitor bugs, patches and feature enhancements. ‐ IRC Channel – IRC#Mifos is our chat room where our engineers and community members vibrantly discuss Mifos ‐ Fisheye – Hosted by Java.net, Fisheye allows our developers to browse and access our source code from their browser. ‐ Bamboo – Our continuous integration server provides a running build of the latest in‐production Mifos code. ‐ Demo & Test Servers – Users & developers alike can test and evaluate both stable and in‐development releases of Mifos. ‐ Community Events – Community‐wide activities like planning poker and bug bashes are held frequently to unite efforts. 

Community Leverage A  fundamental component of Mifos’ ability  to deliver a  technology platform  for  the microfinance  industry will be our  success  in harnessing and reinforcing the contributions of both the technical and business communities around Mifos.  These communities will be  an  integral  part  of  the  broad  ecosystem  around Mifos  driving  new,  additive  functionality  to  accelerate  the  breadth  of  the platform and to create region‐specific capabilities. The community augments the Mifos core engineering team by strengthening the quality  and  integrity  of  the  Mifos  software  platform  through  feedback,  testing,  bug  reporting  and  fixing,  and  general  QA.  Additionally, they will extend the platform and enhance functionality by providing feedback and feature requests to the engineering team and by actually specifying, developing, and contributing new  features to the community code base, enabling region‐specific functionality, localization, and enhancements for local regulatory and operational environments. 

Strategic  partnerships  have  played  a  major  role  in  the  development  of  Mifos;  our  collaboration  with  IBM  has  significantly accelerated the progress of v1.1 through the contribution of over a dozen full time resources developing code, performance testing, and providing full QA.     Additionally, Goldman Sachs and Sungard have contributed to the efforts behind v1.1 of Mifos.   Strategic technology initiatives and alliances like these will continue to propel the development of our platform into the future. 

Community Growth  While  the Mifos community  is  still quite nascent,  it has steadily gained momentum  through  organic  growth.  The  promise  and  potential  is astounding when considering that within Mifos 1.1, there is already code contributed from North America, Western Europe, Tunisia,  India, China, and Nepal.    Traffic  to Mifos.org  since August 2007 has  surpassed over 50,000 unique visits from 180 different countries.   Monthly posts to our developer’s  mailing  list  have  gradually  grown  as  we’ve  progressed towards the release of v1.1 (see graph).  

Recently, community efforts  to develop a mobile  interface  into Mifos have been spear‐headed by a Nigerian IT firm who attended our inaugural Mifos workshops in Kenya.   Community‐driven deployments, being  supported  through mifos.org and our mailing  lists,  have  arisen  in  Colombia,  India,  Lebanon, Nigeria,  Senegal,  and most  notably Nepal.   Magnus  Consulting  is  leading  the  deployment  of Mifos  at both the Centre for Self‐Help Development Nepal and SB Bank and has contributed the  first  community‐lead  feature  into Mifos  1.1  by  specifying,  developing,  and contributing the code for a new interest rate calculation method. 

Voice from the Community 

Working to get a technology like Mifos into MFIs that serve the worlds poor  is  indeed rewarding, and at the end of the day, for most of us, this is what keeps us motivated. 

Soham Dhakal, Magnus Consulting 

0

50

100

150

200

250

300

350

400

450

500Posts to Developer Mailing List 

(Nov 2006 ‐ June 2008)

Nov 2006 ‐Initial Mifos Launch

Aug 2007 ‐Mifos.org Launch

July 2008 ‐v1.1 Launch