Since its inception in 1917, Ruf (http://www.ruf.ch/en/) has established itself as a Swiss brand that prides on high quality automation, innovation and data security. One of Ruf’s core branches, Ruf Informatik, offers full-fledged E-Government solutions for entities ranging from regulatory authorities, counties and districts to social institutions, schools and even churches. Such sector-specific solutions tailor-made for private enterprises complement Ruf’s portfolio.
SELISE has been Ruf’s development partner for over three years, a time span which has seen the two companies establish powerful collaboration by deploying the best minds and most experienced architects to develop a colossal system that changes the current paradigms in E-Government.
Ruf was initially looking for a high-end partner who could deal with modern software, who could also provide a solution that minimizes the cost for developing an application from scratch.
SELISE being the development partner was responsible for providing core technology solution to establish the initial idea of the application. As time evolved, SELISE started to make major contributions in all aspect of Publiweb’s realization. SELISE’s senior architects worked simultaneously with Ruf architects consulting and improving the existing software architecture. User experience design was totally taken over by experienced SELISE UXD. At the same time SELISE Product team started pumping-in fresh ideas that will eventually make Publiweb a solution that users will simply love.
Besides technology, there was another challenge which was to establish an engagement model and development process. This will ensure that development is seamless, communication was intermittent and all progress was transparent and quantifiable.
Publiweb is a massive scale e-government application, and one of the biggest challenge in its development was coming up with a user interface concept that shifts traditional Desktop user functionality into a modern, web based and highly intuitive world. The mix of smart logic behind a “Natural UI” based workflow design is rare in such large scale applications, and would set Publiweb apart from the rest. The core application was to be developed over an initial period of time, and would eventually be divided into modules that are constantly added.
Modern User Experience is an era where simplification reigns, and we were vastly impressed with Windows 8’s take on their UI design that boasts such simplicity, while still being fun and colorful. Beyond look and feel touch enabled interaction paradigms were becoming widespread and popular, as seen with the rise of productivity apps on iPhone and Android devices. This is where we tried to extract inspiration from, and hence the next challenge lay in finding a way to realize these brilliant concepts into a reality using proven web technology available in the form of HTML5, AngularJS, ASP.NET and WebAPI oData.
The application was to run in a Software as a Service (SAAS) model, and hence architectural scalability was a big concern for our architects. The application was built on segregation of domains using DDD (Domain Driven Design). We decided to use CQRS (Command Query Responsibility Segregation) and Event Sourcing patterns and employed a service bus for availability and partition tolerance. Data retrieval would be done by asynchronous read model databases which can be replicated and scaled as pre requirement.
The application offers real time update as information is changed via the HTML5 websocket. It is fully localized and multilingual, and supports different data formats based on the user locale.
Behind the application there is a very robust reporting framework built on top of Microsoft SSRS and SSIS. Reports are served on demand or by scheduler. CloudPrinting – a desktop application that comes with publiweb can print a report in any printer on earth.
Another very significant extension of the core publiweb is the Drive App – which is a cutting edge document and asset management system with all features of most modern cloud storage.
The web application has been developed using cutting edge technologies. Inevitably, the SELISE development team faced a few challenges in the process. The application was developed based on AngularJS and HTML 5, which includes the Metro Style UI concept. What is special about this concept is its use of eye-friendly colour which helps users locate icons faster and with relative ease. For implementing the CQRS, two different databases were created- one for Read (a non-relational DB) and one for Write. It is to be noted that non-relational databases are much faster at retrieving data compared to their relational counterparts, and hence their use is justified. We also brought in the push notification system, and it was quite a challenge. SignalR was employed to overcome this challenge of incorporating push notification to client from server in real time, and the SELISE development team had a lot of fun in seeing it through. All of the client-to-server communications have been implemented with REST based services, utilizing .Net WebAPI and WebServer talks with Database Server using an ORM written on EntityFramework 5.0.
Building a web application with a very specific and complex business domain is always a challenge, and SELISE has concentrated a lot of its efforts in developing one that would offer its users the best user experience for an enterprise level application.
Selise took lead in the following aspects of development and continuously consulted to improve the product and the process.
“Working with an offshore company situated at the end of the world is never easy, managing large projects with both parties being forced to talk a foreign language is also a challenge. But there are many differences between past experiences and what we have here, with SELISE. SELISE always seems to be on schedule and the quality of work that they deliver is far beyond everything we have experienced in the past. If you are looking for a dumb crew of coders, SELISE is definitely not the place to go to. Be prepared to meet people that challenge your ideas and add real value and innovation to your projects. We are looking forward to a long lasting relationship and I am sure that together we will be successful in the future.”
“It’s a daunting task to find out the best technical solution that is a good fit for your firm, and one that is financially viable too. This is where SELISE is so amazing. After being given very specific requirements, SELISE and its team of engineers will evaluate and dissect each framework, after which they can outline, very critically, the advantages and disadvantages of each. After being presented, the customers can see the architectural approach laid out in front of them and is properly aware of the financial impacts. SELISE can provide previously unexplored alternatives and options, and their proactive approach often allows for the detection of unexpected gaps very early on, thus helping keep the costs low.”
“At SELISE, everyone is brave enough to pitch their own ideas and views of how things should work, and that is a good base to work on; it adds a lot of value to the discussions. Communication is easy and fast, and there are good innovative inputs from their side. It’s always a great pleasure to work with the SELISE Product Management.”
8952 Schlieren / Switzerland
Tel. +41 44 733 81 11
Fax +41 44 733 83 96