» Home > inCONTEXT > inCONTEXT TechnologySeptember 08, 2010
inCONTEXT Technology
InContext consists of three technology components that work together to create rich, dynamic websites.
When you interact with the websites of companies like amazon.com, ebay.com and the like, you are interacting with a web based software application that generates a particular user interface based on your input. That interaction allows you to sign up for some service, make a payment, or to accomplish some task that impacts the relationship that you have with that company. Large companies have millions of dollars to spend on creating the systems and infrastructure needed to provide that level of interactivity.

When it comes to smaller businesses, you have two options: leverage tools from a site like Microsoft bCentral or cobble together a website using one of the many free software components found on the internet. However, even with bCentral you still need someone to create a professional design, and even though many tools are free, it takes some level of programming knowledge to integrate them into your website. inCONTEXT attempts to solve both of those problems by giving you advanced software programs built into your website that you can administer using simple online forms.

We leverage open standards and open source software like Apache, PostgreSQL and PHP to create a robust but low cost environment for creating web based applications. The following guide describes some of our technology.

 
A Transactional Database
Fast Content Retrieval
Web Application Architecture
Rich Keywords
Object Oriented Templates
The Page Generator
 
The Page Generator
The set of keywords on a page specify the dynamic content that needs to be generated and the web applications that will generate the content. These web applications may have content objects that are stored in the database. If each web application accessed the database to retreive its content individually, the performance of the page generation process would be rather slow. To help make this process more efficiently, we use the concept of workspaces.

Workspaces
Web applications can choose to associate their content objects with the current workspace. Each site area may specify an separate workspace, or a single workspace can be used for the entire website. The workspaces are used to limit the amount of content that needs to be loaded for a particular site area to only that which is needed by the applications in that area.

The Relationship Web
Because the same content can be used in more than one workspace a relationship web is constructed as the content is added to the database. All the content in that web is assigned a single webid. Given a particular workspace, the page generator performs one query to retrieve the webid for the workspace and another to retrieve all of the content associated with it. This content is stored in the blackboard cache for use by the web application components.

Locating the Code
The web applications components are PHP classes that are loaded dynamically. Since the execution paths are associated with individual keywords, all execution paths for that page can be loaded with a single query to the application database. The execution paths are loaded and associated with the keywords and each PHP class is loaded from the filesystem and executed, passing in the keyword parameters. Each class can append HTML to the keyword for the path. Once all components paths have been executed, the generated HTML is merged back into the template, replacing the smart keyword with the application output.

The result of this process is a seamless integration of generated content into the HTML template. Even more performance can be squeezed out of the page generation process for specific high performance situations.

 Overview
 How to Use
 Pricing
 Technology

©1999-2010 Asset Foundry, Inc.
PO Box 244293
Boynton Beach, FL 33424
Phone: 561-733-9366