Migrating from Lotus Domino to modern web solutions
Join the DZone community and get the full member experience.
Join For FreeIBM Lotus Domino is a product born in late 80s which provides enterprise solutions for email, collaboration tools and an application platform. It can be used as a eMail Server or as an Application Server to run Lotus Notes applications based on databases in NSF format.
Over the last few decades, many organizations adopted this platform and through it they developed a great deal of applications based on its document database.
From the point of view of the application development, Lotus Domino has evolved over the years, trying to adapt to new technologies and trends, including the ability to provide a web interface or the capacity to scale quite well with huge volumes of data.
Therefore, it cannot be denied the ability of Domino to provide up-to-date features, such as a web front-end or high scalability or a fairly flexible user interface.
However, the enterprise market for quite some time has been orienting towards other solutions: an architecture like the one of Domino, founded on distributed databases, seems not to fit the real needs of most of the organizations; moreover, from the perspective of the WWW, web servers like Apache Web Server or Microsoft IIS virtually cover the whole web market and behind them there are other development platforms, such as Java, Microsoft or PHP, just to mention the most popular ones. These platforms make it more fine and detailed the control of a developer about the web page content, for instance through the introduction of modern technologies such as Ajax or iframe or dynamic javascript.
In addition, most of the modern web applications work with relational databases, rather than document databases like the ones of Lotus Notes apps. One of the advantages of the ralational model is the chance to create complex enquiries, producing data results coming from a large number of tables, thanks to the expressivity and strength of the SQL language and consequently the applications developed in that way can reach a significant level of complexity.
Nowadays, a company has the need of multi-channel solutions as well: not only web but also mobile: another reason to focus on solutions more opened towards different media and devices.
Finally, license costs involved with the Lotus Domino Server are not exactly cheap and convenient, especially when compared with the costs of alternative platforms which are available for free or with a significant lower price, like the combination of Linux o.s., Apache Web Server, Apache Tomcat and the Java/JEE Platform.
What just mentioned are among the main reasons why an organization should move away from Domino and adopt alternative solutions. From the company perspective, that means finding alternative components operating and covering several sides: a mail server, a collaborative suite and a development platform to run custom web applications.
Regarding the first two systems, it is quite easy to find excellent solutions in the market, for example those provided by Google Apps for Business or Microsoft Office 365.
Migrating a large degree of custom applications developed using Lotus Notes represents the real challenge at the moment for a company, since it has sensible costs involved with the ri-engineering and redevelopment of these applications with another platform.
A deep insight of what it means to migrate Lotus Notes applications is essential; independently of the technologies chosen in order to migrate, it is possible to identify a series of steps required for that migration:
data structure extraction, starting from the document databases in NSF format
data extraction, starting from the document databases in NSF format, including security settings about users and groups granted to read and write single documents, which is a powerful feature of Lotus Domino documents
file extraction, starting from the document databases in NSF format, which can contain attachments and RTF documents and embedded files
design of the final relational database structure; this activity should be carried out without taking into account the original structure of the data in Domino: in this way, the re-design can exploit the relational database model and optionally other sources of data available within the company and now maybe more easy to connect to, such as LDAP servers or other Information Systems/Databases
files/data conversion and loading, from the extracted format to the final model; typically this step can be accomplishsed through a Data Integration Tool
design and development of the custom applications, based on the new data model and the new selected development platform
When looking at the steps reported above, it is clear that some of these activities are relatively easy to approach using methodologies commonly used inside a software house or the IT department of a company: analysis and design, the adoption of a data integration tool and relational databases.
Two critical stages are still to arrange and require a careful evaluation:
the extraction of metadata, data and files from Domino, preferably by means of a an automated extraction tool able to minimize the costs involved with the database migration task
the right development platform to choose to develop the custom applications.
The latter is definetively the most critical issue, since it is the most costly, assuming a large number of applications to rewrite.
A feasible development platform to adopt in order to complete the migration is 4WS.Platform .
This solution provides an embedded tool for metadata/data/files extraction from Domino Server, as well as a rapid application development layer which can be used both for web application development and mobile app development.
Moreover, this product can be deployed in the cloud if required, and can also be connected with several external services: Email Server, collaboration suites (Google Apps), the ECM Alfresco (in case an organization wants to store documents in an external Content Management System), an LDAP Server (in case of a centralized authentication system for users/groups), Activiti BPM (when complex workflow processes are required).
4WS.Platform is based on Java and Javascript, as the other open source products it is connected to (Alfresco, Activiti, Jasper Report, Sencha ExtJS, etc.); this architecture dramatically reduces the license costs involved with the adoption of a new development platform, which was one of the most complaining issues of the IBM Domino platform.
The core part of 4WS.Platform is the one which allows to quickly build new applications, thanks to a series of reverse engineering tools able to fetch the database structure as well as the document type structure in Alfresco. Starting from the representation in terms of objects and relations retrieved through these tools, the business logic layer and the user interface can be created by means of a set of wizards that can be used to visually configure these parts of the application. In the end, they allow to dramatically reduce the development time and the time to market required to produce a new version of the Lotus Notes applications.
One of the perks of 4WS.Platform is the flexibility of its programming model: most of the applications to develop can be created visually, without the need to write code; however, it is always possible to embed inside the application some pieces of code written in Java or Javascript or SQL to create ad hoc parts with a more traditional approach: this feature of 4WS.Platform ensures that any application can always be extended with complex parts when needed and not limited to what created with the visual tools only.
The result of the graphical configuration with 4WS.Platform is a set of metadata representing every part of the configured application. This set of metadata can then be interpreted in several environments:
through a web interpreter, embedded in the 4WS.Platform Server, which is able to dinamically produce the web application and accessible through a last generation web browser (IE 8 or above, Mozilla, Chome, Safari)
through a mobile interpreter for Apple iOS, which is a native mobile app installed into the iPad or iPhone device and synchronized with the 4WS.Platform Server
through a mobile interpreter for Android, which is a native mobile app installed into an Android tablet or smartphone and synchronized with the 4WS.Platform Server.
To sum up, when a company wants migrate Lotus Notes applications and minimize the costs involved with this ri-engineering process, 4WS.Platform can represent an effective solution, able to extract and move every data from Domino and rapidly develop web and mobile applications with reduced costs, using up-to-date technologies.
Opinions expressed by DZone contributors are their own.
Trending
-
Building a Flask Web Application With Docker: A Step-by-Step Guide
-
Implementing a Serverless DevOps Pipeline With AWS Lambda and CodePipeline
-
Cucumber Selenium Tutorial: A Comprehensive Guide With Examples and Best Practices
-
A React Frontend With Go/Gin/Gorm Backend in One Project
Comments