JavaOne 2013 Impressions #2: What I Wish My Government Would Learn from Ecuador
Government... Isn't interacting with it your favorite social pastime? What? It's not? OK, so what don't you like about it? What? You're saying that, in your country, you can't just log into your favorite government sites and experience speedy, reliable, secure services?
I'll guess, then, that you must not live in Ecuador... Poor you!
But, don't feel too bad. From what Java Champion Jeff Genender, CTO of Savoir Technologies, and Savoir Senior SOA Architect Johan Edstrom told us in Monday's JavaOne 2013 session Building a Country on Java Open Source [CON3674], even for Ecuadorians things weren't always what they are today. For example, things were so bad back in 2007 that Ecuadorian President Rafael Correa (pictured left) decided something had to be done. He demanded that government agencies switch away from a widely variant mix of proprietary software components to open source software. Rafael's vision was that the Ecuadorian people should own their software, not pay license fees to foreign corporations and run code they cannot freely access and modify to suit their own needs.
So, the Ecuadorian government agencies made modifications to comply, by working toward a standards-based platform. The only problem, Jeff notes, was that the underlying "standard" platform that was chosen by most of the agencies was the Microsoft platform... Well, isn't SOAP open source?
Unfortunately, this first attempt at implementing government services using open source software based on the Microsoft platform proved problematic, in terms of performance, and in various other ways. Strangely, after quite a lot of effort and expense, the services being provided by the government to Ecuadorian citizens seemingly hadn't improved all that much... It all came to a head in 2012 when someone hacked into all of the government agencies running the new "open source" software and stole President Correa's data.
The hacker was immediately arrested and imprisoned. But... President Correa ordered the hacker released, and ordered the stolen information to be made public ("What's wrong with citizens knowing their president's information?" he reasoned). This still left a dilemma, though, since the Ecuadorian public clearly was not being properly served...
Enter (drum roll)............ Open Source Java!
In a partnership with an Ecuadorian company, Colorado's Savoir Technologies was engaged to fulfill the vision President Correa had boldly announced back in 2007. Sending in an army of two developers in the fall of 2012, in a period six months the Savoir team built a secure, fault-tolerant, scalable, distributed system whereby Ecuador's tens of millions of citizens could log into government web sites using their Cedula (a government ID number), and access their records from a dozen or more different Ecuadorian government agencies.
The technologies include Liferay, many components of the Apache stack (Cassandra features prominently, Camel, and much more), plus JAX-RS, JAXB, et al... The strategy is to isolate the unchangeable legacy components from each agency from the broader, secure, fault-tolerant, Java-based web and routing tiers, and interact with those legacy components using a custom adaptor. That is, each legacy system is treated as just another data source, which has its own peculiar, non-standard interface structures. Since these legacy systems are unreliable, Cassandra maintains the latest successfully retrieved information, which is used to fulfill requests when the actual legacy system is unavailable.
Books were given away at the session for asking good questions. Unfortunately, I was too completely engaged with typing notes and thinking about the innovative scalability and failover strategies Savoir implemented, to be able to think of a question before all the books had been given away! Those notes will be composed into a future post that relates some of the technical details of what Savoir accomplished in Ecuador.
The system has been up and running for about six months now, with high 9's availability, and two successful live rolling deployments of software upgrades. Other South American nations have taken notice, and are considering the same type of upgrade to their own government systems.
Ah, to be an Ecadorian today! Or a future Chilean, or Columbian, or Peruvian, or ...
And, did I mention, it took an army of only two Java developers working for about 6 months to correct and upgrade unreliable and insecure systems that had plagued tens of millions of Ecuadorian citizens for decades under a peculiar historic mix of legacy technologies and "open source" Microsoft technologies??? It all runs on commodity PCs, as well, no fancy hardware...
Yeah, open source Java software's OK, isn't it?