We have managed a fundamental modernization based on a paradigm shift in software design and implementation
We have had a smooth start with great results:
- Of 223.842 deliveries 97% get response of <15 seconds (end-2-end)
- 24/7, peaking at 3.190 deliveries / hour with constant response (a delivery is all payroll from all employers)
- "Micro services" architecture inspired by "Reactive Manifesto»
- Changes and fixes rolled out continuously in the daytime, in practice 2-3 times per week
- All business logic running live, also with consistency against previously reported data
- Mainly Open Source
- Our motto: "Simple, testable, scalable" (as described in previous bloggs)
- Java version: 1.7 (soon Java 8)
- XML: Built in JDK
- REST: Jersey, Apache Http Client, Atom Feeds
- Clients: HTML5, CSS3, Backbone.js, Angular.js
- Servlet container: Jetty, Grizzly
- Parallel handling: Akka
- Engine: ElasticSearch
- Distributed Coordination: Zookeeper
Proven architectural properties
The design from 2010 has proven abilities. Wise choices in 2010, broad organizational anchoring and continuous IT architecture and technology management, as well as trial and error has made this possible.
- Few consecutive errors
Proves the ability to change. The system is understandable and we have control of it. - Frequent deliveries
Ability to change. Quickly correct errors and introduce new functionality. - The performance was very much improved in a short time
Scalability. "Design for the cloud" - The systems moved (unchanged) of the convergent platform within a few hours
Lifespan principle. Open standards provide portability and market access - Solution in operation after 17 months
Reuse. Cost effective and risk mitigation
"To put an idea out in life is a struggle for life. You must have steadfast faith in what you are doing"(Klouman)
- Dare to be politically incorrect
- Convince even the lagers
- Even harder; make sure they understand
- Anchorage target architecture at the topmost level, but every week you have to fight again with rounds of discussions (others or your lack of understanding, or political opposition)
- Credibility; You must combine "listen and learn" with "motivation", otherwise you will be ignored or "eaten alive"
- Dream Situation: Make sure that the purpose of a design is understood, so anyone believing in it will make it their own and improve beyond you own capability
Fun and scary statement on the way:
- "We solve this with SOA, WebServices, ESB and BPEL»
- "Employers are customers, purchase CRM system»
- "XML has been tried out in Denmark, and it does not work"
Tax Norway is a large governmental organization of 6.500 employees, this type of transformation is demanding. Thank you everybody.
Proven architectural properties by Tormod Varhaugvik is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.