Vaadin – the platform of choice for Notes developers – I. part

Stanislav Marszalek  29 March 2016 13:24:30
Our company develops Notes applications for years and it is still our main source of income, but several years ago we’ve started to see a gradual decline in the demand of applications based on Notes. And looking around, this seems to be a problem not only in the Czech Republic, where we are based, but also in other parts of the world. The reason is obvious, it started with pure IBM marketing followed by insufficient technical improvements of the product and IBM’s move into different areas like social software.

Image:Vaadin – the platform of choice for Notes developers – I. part

All of this forced us to rethink our future development some two years ago. We’ve started with seeking the data storage, similar to Notes database. After lot of testing we chosen MongoDB as main data store and Elastic for searching. MongoDB can store various data, together with attachments, there is no real limitation in size and number of data and also here you can achieve access control to each document, but in that case you have to program it. There is no real Notes replication from client to the server also but nowadays web applications are not based on that in most of the cases.

To make Notes data transformation even easier, we’ve developed a tool for data export from Notes to MongoDB in shape of Notes application. Here are more details about it.

Application platform was the second choice. We started with Symfony PHP framework. It is very good framework which allows us to build very powerful web applications and we are able to do the same thing as in Notes application, including export do Word, Excel, PDF, send emails, set up access rights to the document and much more. Here is more info about it. The problem is quite steep learning curve, because PHP was entirely new system to us and it takes a time to learn it properly.

Image:Vaadin – the platform of choice for Notes developers – I. part

In the meantime we’ve began looking for some Java based platform, because Java is the main language for Xpages application and Xpages are still half of our Notes development program nowadays and therefore our developers are more familiar with Java. That is why we’ve started with Vaadin, which has many advantages. Also blog posts from Rene Winkelmeyer, Sven Hasselbach, Paul Withers and others, whose connected Vaadin with Notes, were encouraging.

Image:Vaadin – the platform of choice for Notes developers – I. part

So in this and following blog posts, I would like to show you Vaadin platform and our way of implementation of various features, which are quite familiar from Notes also.

The reasons why we chose Vaadin as a main development platform for the future were this:

  • Vaadin is Java based so if you are doing Xpages development, the language is the same. You can still develop Vaadin application and then easily switch to Xpages development. It was not so with PHP.
  • Vaadin can work with Notes data directly so you can use it instead Xpages. Although our primary datastore is MongoDB, because if we want to offer our application to new client, there is no fee for Notes user licences and that makes the application significantly cheaper.
  • Entire application in Vaadin can be written only in Java! There is no HTML coding, there is no JavaScript and that makes the development more straightforward and cleaner. When you develop in Xpages, you sometime don’t know, if that element is getting here from JavaScript or is it from @formula or from SSJS. In Vaadin everything is in one source code, in Java classes.
  • Vaadin makes application more “business like”. In standard web application it is not obvious to scroll down in view using arrows, to open document by Ctrl+E, to save document using Ctrl+ S etc. but in Vaadin you can do this easily and that is very similar to Notes client behaviour.
  • Vaadin applications are fast! Not only because it uses MongoDB behind but also the load of elements like forms or views are very fast and this is the first user feeling when switched from similar Notes application.
In the next blog post we want to focus on how specific elements, like views, picklists, dialogboxes, familiar from Notes client, can be built in Vaadin.


Comments

1Sean Cull  29.03.2016 14:27:08  Vaadin – the platform of choice for Notes developers – I. part

thanks Stanislav,

I am particularly interested in whether you use the paid "pro" tools in your applications. As you go forward and talk about what you have achieved could you maybe talk about the Pros & Cons of the pro tools

https://vaadin.com/pro-tools

Thanks, Sean

2Frank van der Linden  29.03.2016 15:04:41  Vaadin – the platform of choice for Notes developers – I. part

Nice read. MongoDb is indeed a very good alternative, but have you also looked at Cloudant Db, the cloud version of CouchDb.

It is lightning fast, like MongoDb, but it has replication build in.

3Stanislav Marszalek  30.03.2016 9:18:36  Vaadin – the platform of choice for Notes developers – I. part

@Sean, thank you very much for your comments. We are aware of Pro Tools, but so far we've achieved everything in standard version, which is amazing. But thinking about tablet users, we are planning to investigate TouchKit which is a part of Pro Tools.

@Frank, thank you for your views. One of the basic requirement for our application is to make it on-premise. There are still lot of companies which don’t want to move their data away from the house and we should be able to offer them such solution, so we can’t go to the cloud only. And using MongoDB we can still install that on the cloud, if somebody prefer that way. We tested CouchDb as well, but it seems to use more server resources and we had some problems while moving attachments from Notes to CouchDb. But on the other hand we use mobile CouchDB for our Android applications with synchronization.

4Steven Podrouzek  30.03.2016 11:20:09  Vaadin – the platform of choice for Notes developers – I. part

Nice post. I have been thinking about using Vaadin for a while now with my XPages. I look forward to your blog posts about Vaadin.

5Sean Cull  30.03.2016 11:33:41  Vaadin – the platform of choice for Notes developers – I. part

@Stanislav - that is good to know, There seems to be some disquiet about the pro tools - see the comments on <a href="https://vaadin.com/blog/-/blogs/subscriptions-renewed-prices-reviewed">this post.</a>

I am nervous about building my future on another companies platform when they have sole control, hence my interest on what is achievable ( in an efficient manner ) using the core open source product.

I am not against paying if it makes us efficient but it needs to be the right amount and predictable.

6usps tracking  18.02.2017 17:03:06  Vaadin – the platform of choice for Notes developers – I. part

{ Link }

7xfgfxcgfxcg  22.03.2017 7:20:44  Vaadin – the platform of choice for Notes developers – I. part

iTube is an incredible application that lets you download and play your preferred videos, audio and music albums on your Android device. itube apk

{ Link }

8xfgfxcgfxcg  06.04.2017 12:45:37  Vaadin – the platform of choice for Notes developers – I. part

I know that you are quite excited to download TuTu App on your Android and iOS devices but before that let us know what’s so unique about this amazing app.

{ Link }

TOPlist