mifos x - extensible platform and software development kit

16

Click here to load reader

Upload: markus-geiss

Post on 23-Jun-2015

309 views

Category:

Software


0 download

DESCRIPTION

Slide deck showed during the kick-off for an intitiative to ease the extension and creating a SDK for the Miofs X Platfrom.

TRANSCRIPT

Page 1: Mifos X - Extensible Platform and Software Development Kit

Extensible Platform &Software Development Kit

Mifos

Page 2: Mifos X - Extensible Platform and Software Development Kit

Agenda

❏ Phase 1 - Modularization❏ Phase 1.1 - API vs Internal❏ Phase 2 - Spring and Plugins❏ Phase 3 - Interceptors & Event Sourcing❏ Phase 4 - Preparing Archetypes❏ Phase 5 - SDK and JS-Library❏ Q & A | Open Discussion

Page 3: Mifos X - Extensible Platform and Software Development Kit

Who am I

❏ Volunteer for Mifos since early 2014.❏ Sr. Software Engineer | Architect @ iTAC a MES vendor making the

Internet of Things a reality for the Industry.❏ Lives in Nickenich, Germany❏ [email protected]❏ me @ LinkedIn

YAGNI likes a DRY KISS

Page 4: Mifos X - Extensible Platform and Software Development Kit

Phase 1Modularization

Page 5: Mifos X - Extensible Platform and Software Development Kit

To Do’s

❏ Identify Modules❏ Infrastructure | Core❏ Accounting❏ Portfolio

❏ Loan❏ Savings

❏ Office❏ Departments❏ Staff

❏ CRM❏ Create Projects

❏ Parent | Child❏ Adjust Dependencies

Page 6: Mifos X - Extensible Platform and Software Development Kit

Phase 1.1API vs Internal

Page 7: Mifos X - Extensible Platform and Software Development Kit

To Do’s

❏ Separate API❏ REST Resource❏ Command Model❏ Query Model❏ Service Interfaces

❏ Separate Internal❏ Service Implementation❏ Command Handler❏ Repositories❏ Module Configuration

Page 8: Mifos X - Extensible Platform and Software Development Kit

Phase 2Spring & Plugins

Page 9: Mifos X - Extensible Platform and Software Development Kit

To Do’s

❏ Main Spring Context provided via Infrastructure Module❏ Spring Java Config for Modules

❏ Naming Convention❏ e.g. org.mifos.module.*.config

❏ Spring’s build in Class Path Scanning❏ Use annotations to drive DI

❏ Component scan configured in module configuration❏ Add only module APIs as a compile time dependency

❏ Internals will be on the runtime class path

Page 10: Mifos X - Extensible Platform and Software Development Kit

Phase 3Interception & Event Sourcing

Page 11: Mifos X - Extensible Platform and Software Development Kit

To Do’s

❏ Provide Command Interceptions❏ Synchronous extensions❏ Consumer acts on workflow

❏ Provide Command Handler Events❏ Asynchronous extensions❏ Consumer reacts on workflow

❏ Provide registration mechanism❏ Interceptors❏ Event Listeners

Page 12: Mifos X - Extensible Platform and Software Development Kit

Phase 4Preparing Archetypes

Page 13: Mifos X - Extensible Platform and Software Development Kit

To Do’s

❏ Maven like archetype for Gradle❏ currently in specification

❏ Include❏ Infrastructure dependency❏ Testing framework❏ Project layout❏ Class skeletons for configuration❏ Ability to run | test drive in process

❏ Embedded Container (e.g. Jetty)❏ Embedded Database (e.g. H2)

Page 14: Mifos X - Extensible Platform and Software Development Kit

Phase 5

SDK & JS-Library

Page 15: Mifos X - Extensible Platform and Software Development Kit

To Do’s

❏ SDK❏ Bundle APIs and Archetypes❏ Provide proper documentation

❏ at least JavaDoc for all API components❏ a few How To’s

❏ Create a JS-Library❏ Provide proper documentation❏ a few How To’s

❏ jsfiddle?

Page 16: Mifos X - Extensible Platform and Software Development Kit

Q & AOpen Discussion