Informix Dynamic Server is a great database engine, simple to use and offering great performance. The acquisition of Illustra in 1997 gave Informix an extra edge over its competitors, adding support for object-relational technology. The introduction of datablades, a technology that allowed to support complex data types such as spatial data or video inside a traditional relational database opened a lot of interesting possibilities.
One of those datablades, the Web Datablade was specially interesting. It allowed to store web applications within IDS 9.x and and use the database to serve dynamic HTML content. While not very powerful or scalable, the Web Datablade was easy to learn. DBAs and entry level developers quickly adopted it as it allowed to produce results very quickly.
After a couple of years, it became clear that the Web Datablade wasn't the future and that our customers needed to adopt a more scalable and better language to produce more complex applications. That is why Infomix licenced ATG's Dynamo application server to resell it as part of an e-commerce solution (i.Sell).
Some of our customers wanted to adopt that platform but they also wanted to migrate their existing web applications in order to support a single development platform. That is why I developed a code library that would simplify the migration of their web datablade applications. At the same time I created several POC using i.Sell. One of those demos, built for the Mexican Yellow Pages (Sección Amarilla) was a complete e-commerce system with support for multiple currencies, languages and merchants and it would later become one of the cornerstones of Instant Portal.
After IBM bought Informix we discontinued the use ATG's products. I had to migrate all my code to standard J2EE. That wasn't trivial as ATG at the time offered some very nice and clever features that were still missing in the J2EE world. However, J2EE 1.3 introduced standard tags and filters (part of servlets 2.3) and that was all I needed to migrate the whole toolkit. I later added several Java applications that I had developed with my team to create a tool designed to facilitate the creation of B2B portals. That is why we called it Instant Portal.
The first release of Instant Portal included several powerful modules:
I feel specially proud of the personalization engine. I had been highly impressed by the personalization capabilities that ATG had developed (at the time) and I wanted to outdo them with a fast, elegant and powerful J2EE compliant solution. I believe that I reached that objective by building a very flexible way to create all kind of rules in a Java app that operated on any of the values stored in the user's profile. The rules were converted automatically into small and efficient java classes that were evaluated in virtually no time.
We continued releasing new versions of Instant Portal over the next few years, adding functionality based on what customers asked us to demonstrate in WebSphere Proofs of Concept (POCs). That is how several additional modules eventually made it into the package: