|
Answers to the most frequently asked technical questions about KeyStone®:
Where is KeyStone® hosted?
KeyStone® servers are located with one of the world’s largest managed hosting companies, Rackspace.
Top of Page
Why RackSpace?
ii2P choose to align with Rackspace as our Managed Hosting Provider for the following reasons:
- Industry-Leading Service Level Agreements
- Cisco Powered Network: 100% Network Uptime Guarantee
- Microsoft Gold-Certified Hosting Partner
- Microsoft Hosting Partner of the Year — 2003, 2005, 2007
- Red Hat Premier Hosting Partner
- MySQL Certified Hosting Partner
- RackSpace has been in business since 1998
- RackSpace has more than 70,000 customers
- Rackspace is committed to customer support.
Top of Page
How secure is the RackSpace hosting environment?
- Rackspace provides Security Incident Management to ii2P on demand or when an incident is determined by the NOC.
- Full SAS70-II certified which also covers ii2P’s Hosted servers and services.
- RackSpace Security Practices are based on ISO 27002 (certification pending), NIST 800 and Industry best practices.
- RackSpace Security Incident responders and ii2P Security Personnel have acquired or are in process of acquiring Security+ and CISSP certifications.
- All Rackspace Security Incident Responders are trained on proper handling of compromised systems to preserve the Chain of Custody and Forensic Integrity of compromised systems and assist ii2P with Security investigations and working with both Foreign and Domestic law enforcement agencies as required.
Top of Page
How was KeyStone® built?
- KeyStone® was designed to optimize the end-user experience. Every single process, design element, and technology was developed with the end-user in mind.
-
KeyStone® was built as an extendable object-oriented framework for supporting ii2P’s patented end user driven support models. KeyStone® runs on top of the popular Apache-MySQL-PHP (AMP) web hosting platform.
-
Other tools involved in its design include the Adobe CS3 Web development suite (Specifically Fireworks CS3 and Dreamweaver CS3), Eclipse, Firefox web developer plug-in, firebug, XAMPP, Xdebug, Microsoft Virtual PC, PHP_Documentor, IonCube PHP Accelerator, InstallAnywhere, Microsoft Visual Studio 6, MySQL Workbench 5.0, Tortoise SVN subversion client, and Subversion.
Top of Page
What is the framework of KeyStone®?
KeyStone® is its own framework and is based on a three tiered architecture model:
- The bottom tier is the framework level and consists of the libraries and plug-ins.
-
The second tier is the application level and consists of the Application class. Currently there are four applications used with KeyStone®: Installer (for initial installation), Administration, XMP-RPC (currently not used) and Site. The application acts as the main controller for the page.
-
The third tier is the extension level. This level is where all component, module, and template logic is executed and rendered.
Top of Page
How is content stored and presented to the end user?
- Storage: Content is stored as HTML “snipets” stored in a MySQL database.
- Presentation: KeyStone® uses the classic Model-View-Controller model for rendering and managing information within the system:
- The Model layer is responsible for the business logic of the tool and managed among other things authentication, data handling, and system level interfaces. In the case of the Content Component of KeyStone® model layer is responsible for pulling the content from the database, recording metrics, content versioning, and enforcing ACL security.
- The View layer is responsible for rendering KeyStone’s® objects with the appropriate language and look and feel template as well as any additional plug-ins that effect the rendering and presentation of data to the user. In this case it is filtering the raw content data from the model layer and applying the appropriate templates and plug-ins, then generating the final product to be displayed to the user.
- The Controller layer is responsible for processing user input and events. The controller will determine what request is being made by the user and respond appropriately by triggering the model to manipulate the data appropriately and passing the model into the view. The controller does not display the data in the model, it only triggers methods in the model which modify the data, and then pass the model into the view which displays the data.
Top of Page
What development and scripting languages are used?
- PHP – The PHP Hypertext Preprocessor Language for the core system and all extensions and templates.
- JavaScript – For client side scripting and optional AJAX based modules.
- XML – For data exchange with 3rd party systems, installation configuration settings for extensions and the base product.
- XHTML – eXtensible Hypertext Markup Language used for rendering output to the end-user’s browser.
- CSS – Cascading Style Sheets, used for rendering output to the user’s browser.
Top of Page
|