130 likes | 286 Views
Valma Technical Aspects Juhani Gurney Eduix Ltd juhani@eduix.fi. Agenda. Introduction to Valma components and related interfaces Cost of ownership, things to consider if developing something like Valma
E N D
Valma Technical Aspects Juhani Gurney Eduix Ltd juhani@eduix.fi
Agenda • Introduction to Valma components and related interfaces • Cost of ownership, things to consider if developing something like Valma • What would it mean for someone to adopt the Valma model and start using the software developed for Tampere • Q&A
Valma technical details • Software components: • Valma public user interface • Valma admin interface • Registration service • Bulletin service • Components built using the Java EE stack • Developed using a basic MVC pattern • Servlet/JSP's used in view tier (user interface) • JAXB and JAX-WS used in integration tier • Business logic can be exposed as a web services • Business logic abstract; integration to other services (GIS, Record Management, Registration service) can be replaced
Valma component diagram or Case Management
Registration service • Citizen's user account for public services • Stores profiling information and settings to a database • Provides interfaces to other appications/services for authentication and to fetch user information • Provides a single login for all public services • User storage can be replaced (e.g. LDAP) • Authentication mechanism can be replaced • Example: Federated identity • Should municipalities utilize Identity Federations? • http://en.wikipedia.org/wiki/Federated_identity • Fictional example: Someone living in Helsinki is interested in what's going on in Tampere. Instead of having to register separately, she is able to login using her Helsinki user account. Her name, address and email is provided to Valma automatically – she only needs to describe her points of interest.
Bulletin service • An admin user can configure multiple Source Systems • A Source System will be polled for new issues every day at a configurable time • After receiving new issues the bulleting service will query the registration service for users that have matching points of interests • A user will receive a newsletter composed of all matching issues by email • Source systems can be added, configured and tested directly in the admin user interface • An important cofiguring task is to map the subjects used in the source system to those provided by the Registration Service • Currently source systems are integrated with a simple HTTP based interface that returns XML in certain schema. • It is technically possible to plug in new connections to enable different kinds of integration
Designing services • Things to take into account • Make sure that... • you're creating a system that fits in your environment • The system will be able to provide services to other applications • the system is extensible, e.g. authentication service should be pluggable • use standards! • Pay attention to fault tolerance, what to do when • a required service is unavailable? • a non-required service is unavailable? • a service is expected to be slow?
Costs • A well designed system is much cheaper to maintain and extend • Requirements are essential! When preparing a tender... • Use technical experts to help define requirements • Prepare a requirements document if possible • Provide a detailed description of your environment • Use techical experts to validate solutions • Pay special attention to how interfaces are designed • A well designed system means you're not entirely depended on a single software vendor • Valma was straightforward to develop because of a good specification
Costs example • Example scenario: • Manager:"We need a simple user interface for iPhone to display information from system ABC! How do we proceed?" Possible answers: • 1) System admin:"Company XYZ has made system ABC, I will contact them and see what can be done" • (possible outcomes: XYZ has gone bankrupt, XYZ are very busy -> it will be done next year and cost a lot) • 2) System admin:"ABC has a public service that provides this data. Using that service it will take my team a few days to implement the new user interface.” • Which answer would you prefer? :-)
Valma, development ideas • Integration to social media • e.g. Sharing a link to Facebook, or Valma could suggest posting a notification on your wall after leaving an opinion. • Better integration to other systems, e.g. To a newer GIS service, integration to the intranet portal for admin tasks? • More complex options to participate than just the opinions • Better tools for decision makers to analyze opinions / other feedback, maybe in a Social Media style? • User Interface improvements, video / image material as background information for issues
Adopting Valma • Valma is product by Eduix Ltd, licensed to Tampere • Yearly license fee covers support, possible development is charged separately • Probably not possible to adopt directly in another location • Different Record / Case Management systems • Different GIS services • But, because of it's architecture, Valma is a good platform on which to build on! • We see that Valma could be a common platform for use in any municipality • Eduix provides and supports the core software platform, public interfaces mean that anybody can develop and extend functionality