For last 6 years I am working as a solution architect for an offshore company. As an architect I am responsible to design the application landscape of the company to proactively fulfil the computing needs of its employees.
When I first joined the company, I was assigned to look into an existing system to add new features. It is based on ASP.NET but heavily depended on documentum for all it’s data needs. I was horrified by the idea of using documentum as database and expecting fast responding system. I explained same to my manager and called for a meeting. I was bit nervous about what I am going to say. Our director asked for the recommendation and I said, “Scrap the existing one and build a new one with better architecture”. Seems, he was bit disappointed but after I presented my case he finally gave his go ahead.
Later I took steps to abolish few independent systems and integrated their data sources to build portals for each department. I even provided API services for any requirement where one portal needs data from another.
All this experience took me to the idea of marking the application landscape of an enterprise. With my little experience and understanding I want to classify application landscape of an enterprise into following;
In this generation of application, the main idea is to just capture the data and present the data back to user. System does not do any transformation of data but heavily depend on the end-user skills to transform the data into meaningful insights.
User keeps on exporting data into Excel sheets to work on it online. Enterprise of this generation will have lots of independent application with different characteristics like programming language used, API versions, database structure or event databases used (trust me, many applications use SQL Express of Access DB) and etc. It’s a chaos and any one who want to do some thing about it shall face an overwhelming changes to make. Usually we end up by saying, it’s fine as long as it does not break.
This hinders the progress and imagination of what can be achieved with all the data being captured. Then we actively look for alternative off-the-shelf solution to replace all this mess.
This is slightly better than previous. In this case, users are more interested in searching and retrieval of data. Transformation of data will be more common across the applications. More emphasis will be put on how easily user can retrieve data.
It stops there, still we have plethora of applications to maintain which are living in their own silos. These will be more friendly to end users than the developers. Still users are looking for off-the-shelf product to replace them.
This is the start of the idea to integrate the applications. People are thinking about portals, common data sources, common look & feel and navigation across the portals. Independent application either abolished to have more integration or integrated into portals.
It’s new life to both users and dev’s. For user its same look and feel, navigation across the site. Data is more easily accessible and system provides insights on the problem by bringing user attention to various data points. For the first time user spends more time on working towards solving a problem than data.
Applications in this generation provide information in terms of graphs, charts than endless rows of data. Users talk in terms of KPIs than going through excel sheets.
Systems in this age are well automated. They proactively works on models and provide feeds to users. Users spend their time to build future based on feeds they get from system. Applications of this age influence the decisions and supports the decisions.
These systems constantly monitor and analyse the data in the background. They will have access to various data sources to pull the data and run AI algorithms to prepare important feeds to the users. They shows recommendations to the end users. They proactively empower the users with right data to solve a problem.
As an architect, my endeavour is to bring applications into at least analytical generation if not intelligence generation.