260 likes | 333 Views
Gerald O’Sullivan Divisional Head: Innovation and Research 22 October 2013. Open JIG Web Development Framework for Rapid Software Development in the Public Service. eGovernment pre-requisites. Successful eGovernment needs: A Common ICT Architecture SOA Governance Master data governance
E N D
Gerald O’SullivanDivisional Head: Innovation and Research22 October 2013 Open JIG Web Development Framework for Rapid Software Development in the Public Service
eGovernment pre-requisites • Successful eGovernment needs: • A Common ICT Architecture • SOA Governance • Master data governance • Inter-agency transactions • Mobile applications
International context • Whole-of-government approaches lead the way in vanguard countries • “The 2012 Survey finds that many Member States are moving from a decentralized single-purpose organization model, to an integrated unified whole-of-government model contributing to efficiency and effectiveness. • The model aims at centralizing the entry point of service delivery to asingle portal where citizens can access all government-supplied services, regardless of which government authority provides them. • In some countries, the whole-of-government approach helps build a transparent government system with interconnected departments and divisions, feeding into the funnel of greater government efficiency and effectiveness.” • United Nations, E-Government Survey 2012, E-Government for the People
Requirement statement • We need an application development framework to build systems that are: • Web-based • Multiple channels • Transactional • Platform agnostic • Support Cabinet resolution on Free and Open Source Software
What is Open JIG? • A set of technologies to build web-based transactional systems for government • A set of best-of-breed practices to manage the software development lifecycle • A sample application which uses the entire set of technologies • Documentation to guide developers through the technology stack • FOSS or Open Content licenses, can be upgraded to enterprise support
Target market Government departments Academia Software developers Industry partners Students
Open JIG architecture Directory Services Web Framework Application, Server, Network Management SOA/Process Orchestration/Business Rules Enterprise Service Bus a device that holds a piece of work and guides the tool operating on it Application Server Database Virtualization
Product selection criteria • Functionality • Web application development framework to build multi-tier transactional e-government applications • Java based • Sustainability • Product stability and market share • Vendor stability • Skills availability • Licensing model • Proprietary or FOSS • Community edition and enterprise licenses
Why Java? • Still one of the most popular languages after 19 years • Enterprise-strength, optimized for large, multicore machines • Cross-platform compatibility, from zLinux to Android • Object-oriented • Open source, so you can read the code • Static typing (?) • Curly brackets (!) • Can use it to extend MineCraft
Recommended stack Directory Services: OpenLDAP Web Framework: Vaadin Application, Server, Network Management SOA layer: WSO2 Enterprise Service Bus: WSO2 a device that holds a piece of work and guides the tool operating on it Application Server: JBoss Database Virtualization
Directory services: OpenLDAP • Identity and Access Management, including Roles • De facto open source reference implementation of LDAP • Multi-platform • SSL/TLS • ACID • Replication and mirroring • Code base in IBM Tivoli Directory Server and HP Enterprise Directory
Application server: Jboss • Application server that implements the Java Platform, Enterprise Edition (Java EE) • Implements most of the Java EE 7 specification • Based on a number of best-of-breed open source projects such as Hibernate, Mojarra, ApacheCFX, HornetQ • Modular load on demand • Multi-platform, multi-core
Enterprise Service Bus: WSO2 • Event-driven, standards-based messaging engine • Supports HTTP, HTTPS, JMS, SMTP • Filters, transforms, and routes SOAP, binary, plain XML, and text messages • Executes WS-BPEL business processes • Includes a business rules engine, business activity monitor and SOA registry
Web framework: Vaadin • Based on Google Web Toolkit • Applications run in any modern web browser • Client-side applications can run off-line • Full control of layouts with CSS • Only parts of the state that have changed are sent over the wire • Support for two phase commit • Uses HTML5
Sample applications • Log service delivery failures such as potholes with a photo and GPS location • Feed tweets of reported faults • Manage a dashboard of tasks and their statuses • Public service locator app for directions, to find the nearest relevant office • Touch-enabled smart applications • Support for first-generation mobile devices (USSD) • On display in the exhibition centre
How were they developed? Agile - SCRUM • Daily stand-up meetings • Feedback • What did you do yesterday? • What are you doing today? • Impediments • Committed & Involved
In summary • Open, modular stack • Any component can be swapped out for a proprietary equivalent • All community edition components can be upgraded to enterprise level support • All based on Java • Multi-platform, multi core • Rich client-side functionality that supports mobility and touch screen devices
Where are we? • User interface proof-of-concept completed, demo in Expo Centre • Next steps: • Complete the business process layer, including complex event processing • Publish documentation and code under FOSS and Open Content licenses • Establish governance structures