Monday, December 9, 2013

Unified Kuali Processes

Thought I would take a moment to expand on a Kuali technical item that very recently arrived at a pretty cool milestone.

As of last week there are five Kuali projects (KS, Rice, Mobility, KPME and OLE) that all inherit from the exact same version of the latest top level Kuali pom (version 3.3.36)

Tops among the various benefits this provides is consistency, transparency, and simplicity for a number of critical software development processes.

BUILD

Building any one of these five projects is done the same way as all of the others, and is one simple command:
$ mvn clean install
Any Kuali developer familiar with checking out and building any one of those projects, will be inherently familiar with how to do so for all of them. Any java developer (including the vast numbers of developers external to Kuali) familiar with Maven will also be able to easily complete a checkout and build. This can typically happen without them needing to speak to someone at Kuali or otherwise requiring extra assistance.

Given the community source model under which Kuali software is produced this is an invaluable asset in terms of enabling the extended global community to engage with Kuali projects and provide feedback. Since every ounce of friction removed from the build process is multiplied across all developers (both internal and external) this has a very positive cumulative affect over time.

RELEASE

Public copies of the project's software are automatically published and conform to a well known and documented standard.

Every project declares a globally unique identifier for every binary it produces.  In Maven parlance this is GroupId + ArtifactId + Version, aka "GAV". The identifying information gets automatically baked into the filename of every binary without exception.

Those binaries are then posted to Kuali's public internal repository and (at the project's discretion) to a globally accessible public repository that hosts them for free. This makes them automatically accessible to anyone, anywhere, at no cost to Kuali.

This is only possible because all five projects adhere to a few simple non-negotiable rules critical to keeping the worldwide public exchange of open source software organized and cohesive.

INFORM

Technical information is automatically generated including javadocs that always exactly match the corresponding code.

The latest Kuali branded versions of these are at:  StudentRiceKPMEMobility, OLE
All content is versioned and permanently published to Amazon's content delivery network (CloudFront).

This enables:
  • High speed browsing (everything is cached to 31 different edge locations around the world)
  • Guarantees the content is always available
  • Is extremely low cost
Kuali's CloudFront costs for the month of November '13 totalled $4.07.  This represented 600,000 requests and 30 gigabytes of network traffic.  Interest in the content originated from around the globe and was serviced by Amazon data centers in Virgina, Ireland, Tokyo, Singapore, Australia, and Brazil.



There are any number of other benefits to having all five project teams use a shared top level Maven pom.  Economies of scale is one, (fixing or upgrading something in one spot benefits all five project teams simultaneously).

I've chosen to highlight these three since they:
  • Directly impact day-to-day development in a positive way
  • Demonstrate the pro-active steps Kuali is taking to be a good steward of the open source technologies it produces in a cost conscious way
  • Represent fundamental software engineering processes that have been abstracted out in a unified way for all five projects teams

Jeff Caddel
Director of Development Operations
The Kuali Foundation Inc

3 comments:

  1. We cook amira basmati rice almost every day as part of the main course

    ReplyDelete
  2. Dear , Jeff Caddel

    Your blog published on Rice & Software concept . I have see your blog style and I satisfaction for your blog . completely , I supported your blog . The second category - which this content is all about - is known as free software. Freeware is program that is both 100 % free and absolutely lawful to obtain. It is often designed as a hobby, by a developer who doesn't need (or doesn't want) to cost for it. Sometimes it is even designed by a whole team of individuals, as with Mozilla, creators of the fabulous Firefox internet browser, Open Workplace and many other wonderful Raid data recovery.

    Thank you for your Right able blog .So keep it Up .

    ReplyDelete
  3. Absolutely delicious basmati rice,classic recipe..looks divine.

    ReplyDelete