Unlock Modern Portal

Face of your enterprise

8 min readJan 15, 2019

--

What are your expectations from a modern portal? What capabilities it should have?

It should be capable to serve and manage data and interfaces of Mobile Apps and other IoT devices along with web browsers. So you do not get lost which device/client is getting which data or content of which version.

It should be supporting latest HTTP/2, so you push content to audience live

Let me tell you first the story of how I knew about portal. Back in 2005–2009, I use to be a data warehouse developer and slowly grew popular in outsourcing marketplaces for Cube design and ETL scripting and my tool was Mondrian and Pentaho Kettle. So people used to come to me from different horizons of the world for Analytical Report Development and write ETL scripts to migrate data from transactional databases to Star/Snowflake schema.

But trouble happened when one day one client come with a big project. And he asked to design a star schema for versatile analytical reporting over their crawled data and ETL script to perform transformation jobs of that. I was fine up to that but then he added something which I never done before. He asked me to build a portal where he will show those reports and authorization based user can access specific reports and dashboards. I told him I prefer to do only the data warehouse part. But he insisted and told me you can do it easily, there is open source Portal websynergy or Liferay, we prefer. This was the first time I know about Java Portals. The project was really big and rate was pretty handsome and I agreed to go through this learning curve. So I jumped in.

I never knew that Portal market is such big. And interestingly I was getting knock after knock for portal development, and I could not deny and slowly I saw I have no project of Data warehousing. :-(

Back to Portal, now if you have not skipped the story, you can understand portal is a place where users can get his data which are prepared somewhere else and it is a place where different users with different roles have access.

I did not tried to make the above picture too nice but to make you understand that Portal is the face of your Enterprise data. But in real life it not happens. Most of the case Portals are just another CMS. So Drupal or Wordpress is good enough as portal so you do not need IBM Websphere or Sharepoint or liferay like things.

But if you really want to make true face of your enterprise, the first challenge you will face is User accesses and their data.

Access is most of the cases dealt in your enterprise with User Directory like Active Directory (Microsoft) or LDAP, so you can access your ERP and BI and CRM without login again. So the above picture is basically like:

Up to this is fine. You can login to your enterprise portal as like you login to your ERP, if that is your local network and if portal is in Cloud than there is a story of SSO which I hope to discuss later here. But to make the Portal a face of your enterprise you have to make users access the portal and get data from other systems like ERP and BI and present those there according to their role. And here the real challenge starts.

Portal gets the name of Collaboration Platform

If you have not skipped above part (I know you like skimming) then you know we are trying to show how to make the portal a face of enterprise. The “share” concept may be you know from facebook but it is basically core of portal. Surely, making all resources available from other systems to Portal give users a smooth way to work on a single system but the best use comes when you can share those with other users without making duplicates and put comments/approve/reject (workflow). What is best visible ROI? You do not have to print or mail that much, almost zero frequency.

So, CIOs are smart and smarter are vendors, the best visible and easy way to make portal useful to enterprise is, document and content sharing. So now you know what data to make available in Portal first and call it a collaboration platform. If you have no DMS and CMS earlier than good news is most the portal comes with both CMS and DMS. But if you have prior or different vendor than comes the issue of integrations. Same you need integration if you want to bring your ERP, CRM and BI data to portals. So here the above picture changes:

So you understand, how integration layer or middleware is important to bring users in collaboration platform. And whenever its communication of data than biggest issue arises with data format and you have seen may be the journey of XML to JSON, though both is popular in their own area. And you have also seen versatile name of services (SOAPService, Webservice …). Till now making single face of your enterprise data is fine but when you are global or at least a national company and you have many offices that it introduces a geo problem of resource availability and introduces latency issues. And you see terms like Data Centers then Cloud solutions got popular and become necessity. And you know now a days which companies are top.

Cloud and Collaboration Platform

Now it is not possible to put all your solutions to cloud day night. May be you can put your CRM in cloud but ERP may be not compatible. The monolithic solutions got really stuck here for a long time. And the middleware industry got boom. And funniest thing is, each big vendors now a days creating their own cloud. And then if you have ERP of a vendor and BI of another vendor it is really a nice story. So walking with these elephants to make users life easy; the middleware and portal is a nice combination. Put them in cloud and let them talk with elephants and users with your portal.

But why the user directory is red! I think you can guess. Enterprises are not ready to put them on cloud, or if ready than that has to be more secure separate one. And here the SSO is very important and standards like auth, saml got popularity, so that it becomes easy to talk each other ignoring vendors. But facing all these challenge it’s a relief that with portal you can manage the geo diversity with consistent data and workflow. And you do not have to deal all these monolithic solutions movement.

Till now it was fine, trying to make a single face of enterprise with portal but the situation changes with the rise of Mobile Apps and people started using portable devices and they want to have same data but in similar faces.

Rise of device specific Apps and Portal struggle

Users want the same data, with similar face but as apps. On users do not think only employees but mainly customers and also suppliers. And the demand is to have apps more role and usage specific. And also device specific like mobile, pad, kiosk, IoT. Portals are not meant to deal with this situations though they are meant to deal different communities with different sites/groups with urls. But till now with portal we succeeded to integrate the user required data to one presentation and collaborate. And now question rises how to meet this demand. So people started bypassing portal and it gives the boost of Cloud Gateway and Microservices.

Cloud Gateway and Microservices

So devices started accessing data directly from Middleware and portal stays silent basically. But middleware vendors are also much monolithic and changing and learning them is not that straight forward. So to make quick app or a feature development, microservice development over other systems and exposing them through a gateway appears as easy and agile. Again, slowly all logics are now migrating to Gateway layer and plenty of microservices and it is another management and surely it cannot give the taste of collaboration that portals can give. So what about those authorization and collaboration logics (share, workflow) that were in portal?

Cockpit Cloud Gateway & Modern Portal

The term dashboard is basic requirement for a portal. User wants their dashboard in portal. This term inspires me. So I just want to extend it a bit and call Cockpit. Why Cockpit? Cause it will give control 1. Each endpoint of Data 2. UI of each device specific app. So you can design your App runtime and publish as App.

Now What we did on top of Portal in Cloudoffice

Application Shell Server

Every App has its own look and feel. In Application development we call it Application Shell. And by adding a Shell Server on Portal we can serve the different devices for different apps different shells as they want.

Shell Layout Engine & Gadget/Component Loader

Layout engine is Row Column based UI designer, which can runtime load the Gadget/Component. So you can add/remove components from single page and configure it. It is like designing a content but with shell layout designer you can configure a dynamic data component e.g. Order Form. And this web page is then exportable as Device Specific App and also run as desktop app.

To know the technical detail more… you can read:

--

--