Home
Data Extraction Tool - The California State University
Contents
1. AND PRODUCTDIMENSION PRODUCTID QUANTITYFACT PRODUCTID AND DATEDIMENSION DATEID QUANTITYFACT DATEID if Sparams year NULL Sdbquery AND CALENDARYEAR D ur Sparams year In if Sparams productName NULL Sdbquery AND PRODUCTNAME params productName 63 if params term switch params term case All Sdbquerv AND DATEDIMENSION CALENDARSEASON Spring OR DATEDIMENSION CALENDARSEASON Fall break case Spring Sdbquery AND DATEDIMENSION CALENDARSEASON Spring break case Fall Sdbquery AND DATEDIMENSION CALENDARSEASON Fall break Sdbquery GROUP BY BRANDNAME echo dbquery exit Ssql db gt query dbquery Sresults sql gt fetchall return results public function updatequantitysold params Sdb Zend_Db_Table getDefaultAdapter Sdbquery SELECT P BRANDNAME P PRODUCTNAME D CALENDARYEAR D CALENDARSEASON COUNT C PRODUCTID AS QUANTITYSOLD PRODUCTID C BATEID FROM CUSTOMERDIMENSION C PRODUCTDIMENSION P DATEDIMENSION D WHERE C PRODUCTID P PRODUCTID AND C DATEID D DATEID AND P BRANDNAME LKA WI LA params brandName if params productName NULL Sdbquery AND P PRODUCTNAME params productName if params year NULL 64 Sd
2. Zend Framework is in the include path additionally for performance reasons it s best to move this to your web server configuration or php ini for production set include path implode PATH SEPARATOR array realpath dirname FILE library get include path Define path to application directorv defined APPLICATION PATH define APPLICATION PATH realpath dirname FILE application Define application environment defined APPLICATION ENV define APPLICATION ENV getenv APPLICATION ENV getenv APPLICATION ENV development Zend Application require once Zend Application php Create application bootstrap and run Sapplication new Zend Application APPLICATION ENV APPLICATION PATH configs application ini Sapplication bootstrap application gt run 51 APPENDIX B Project Source Code Bootstrap lt php Application bootstrap uses Zend Application Bootstrap Bootstrap package QuickStart class Bootstrap extends Zend Application Bootstrap Bootstrap Bootstrap autoloader for application resources return Zend Application Module Autoloader 27 protected function initAutoload This is required for the Default namespace to work correctiv Sautoloader new Zend Application Module Autoloader arrav namespace gt Default basePath gt dirname FILE
3. brandName Sparams productName this gt getRequest gt getParam productName Sparams term this gt getRequest gt getParam term Sparams year Sthis gt getRequest gt getParam year SupdateInstance new Default Model Search try SupdatedRecords SupdateInstance gt updatequantitysold Sparams Sarr success Sarr msg to Quantity Sold Successfuly 1 Updated Supda catch Exception e Sarr msg Se gt getMessage if SupdatedRecords SupdatedRecords updateInstance gt fetchupdated params brandName tedRecords Records 60 Sthis view updatedRecords SupdatedRecords public function productinfoAction productInstance new Default Model Search SproductResults productInstance gt fetchproducts this gt view gt results SproductResults YA 61 APPENDIX G Project Source Code Model Search Page lt php class Default_Model_Search public function fetchinfo d Sdb Zend_Db_Table getDefaultAdapter sql Sdb gt query SELECT DISTINCT BRANDNAME FROM BRANDNAMEDROPDOWN Sbrandname sql gt fetchall return brandname public function fetchproductinfo SbrandName Sdb Zend_Db_Table getDefaultAdapter Sdbquery SELECT DISTINCT PRODUCTNAME FROM BRANDNAMEDROPDOWN WHERE BRANDNAME SbrandName sql db gt query dbquery SproductName sql
4. Add custom namespaces for autoloading Sautoloader Zend Loader Autoloader getInstance Sautoloader registerNamespace Ebilling return Sautoloader protected function initSession Read and initialize any config values Ssession this gt getPluginResource session if Ssession session init Start the session Zend recommended best practice Zend Session start Bootstrap the view doctype return void KE protected function initDoctype Sthis gt bootstrap view Sview this gt getResource view Sview gt doctype XHTML1_STRICT view addHelperPath Zend Dojo View Helper Zend Dojo View Helper 52 53 APPENDIX C Project Source Code Application production phpSettings display_startup_errors phpSettings display_errors 0 0 includePaths library APPLICATION_PATH library bootstrap path bootstrap class APPLICATION_PATH Bootstrap php Bootstrap Bootstrap resources Front Controller Layout Database resources frontController controllerDirectory APPLICATION PATH controllers resources layout layoutPath APPLICATION PATH layouts scripts resources view resources view helperPath Zend Dojo View Helper library Zend Dojo View Helper APPLICATION PATH resources db adapter PDO MYSQL staging production testing production phpSettings display
5. SbrandName Sthis gt view gt setSelected SifSelected Sthis gt view gt productName S productName else Sthis gt view gt setSelected null Sthis gt view gt brandName SbrandName public function productnameAction Sredirectlink home search Sthis gt _redirect redirectlink public function searchresultAction params quantitySold Sparams gt getParam Sparams firstName Sparams lastName Sparams brandName Sparams productName Sparams gt getParam term Sparams gt getParam year Sresult Sresults gt fetchproductresul sota warranty isInWarranty print firstName lastName brandName productName term year Instance lts params r Sresults Sthis gt view gt results this gt view gt params 58 Sthis gt getRequest gt getParam this gt getRequest Sthis gt getRequest gt getParam Sthis gt getRequest gt getParam Sthis gt getRequest gt getParam Sthis gt getRequest gt getParam this gt getRequest Sthis gt getRequest new Default Model Search SresultInstance exit Sresults Sparams public function warrantyresultAction quantitySold gt getParam firstName lastName brandName productName gt getParam gt getParam public
6. application with pre built tested and highly scalable components that provide basic functionality In addition to transaction management and multiple database integration our Data Access layer has the capability for future use to output KML files that can used to share information with other systems 4 2 3 1 Dimensional Model Figure 4 describes the dimensional model design for our Data mart application The ProductDimension CustomerDimension and DateDimension constitute the dimension tables and OuantityFact table is our Fact Table ProductDimension PK ProductID SKUNumber CustomerDimension BrandName ProductName ek CustomerlD ProductWarranty ProductQuantity SacStatelD Price CustomerFirstName CustomerLastName CustomerAddress CustomerPhone QuantityFact EmailAddress CustomerDateofPurchase ProductID DatelD FK1 ProductlD FK2 DatelD DateDiemnsion QuantitySold PK DatelD CalendarSeason CalendarYear Figure 4 Dimensional Model 28 Dimension table is a table which is used to categorize the information into different hierarchical levels of attributes that provides the complete summarization to the fact table Here the dimension tables namely ProductDimension CustomerDimension and DateDimension contains detailed information of products customer and Date on different hierarchical levels respectively Fact table is a table in a data mart which stores measures or facts of a business
7. c The system should provide the option to select term and year to find quantity sold for the selected Brand name and Product name Apart from the top priority searches the Hornet Bookstore suggested us to provide them a link which provides us the list of all the updated laptops by making necessary selection 18 3 3 System Reguirements A non functional reguirement is a reguirement that specifies certain standards to evaluate the functions of the system The implementation of non functional reguirement is detailed in system architecture which defines how a system is supposed to be 8 System requirements of Data mart application is as follows e Data mart application must be built using open source tools and technology in order to be compatible with California State University Sacramento server e Hornet Bookstore Computer Science department of California State University Sacramento must be able to access Data mart application through web e Hornet Bookstore must access Data mart application using standard web browsers and used across multiple Operating system platforms e Maintenance of the built Data mart application must be easy to handle by the Bookstore without much training which includes knowledge transfer and reference manuals e The Data mart application must have a good response time 3 4 Scope of the Project After the requirement gathering and analysis phase the scope of this project was determined to design a
8. loadClass Zend Controller Front Here the Zend loadClass loads the named class This is accomplished by changing the underscores in the class name to path separators and adding php at the end Now the class Zend Controller Front is loaded from the file Zend Controller Front php Following the same naming conventions for other library classes will help us load the files by utilizing the Zend loadClass To achieve this the front controller and router class needs to be loaded The Router class is used by the first controller to map the desired URL to the right PHP function to display the pages The router operates to know which part of the URL is the path to the index php and then it looks at the URL element beyond that point In regulation the request object which is an instance of Zend Controller Request Http must be able to detect the correct URL The other altenative option in setting the base URL is byusing the setBaseUrl function which is available within the http request class and within the front controller 40 _SERVER PHP_SELF is used to set the base URL to the right URI in index php for the router This works for most server configurations If this setting fails then the designation is changed to baseUrl to the correct URL to index php for the system To know in which directories the controllers are present front controller configuration is required 11 frontController gt setControllerDirectory application contro
9. onclick SubmitForm gt Back to Search lt button gt lt span gt lt div gt lt form gt d Update phtml lt php SbrandName this gt brandName SsetSelected this gt setSelected SproductName Sthis gt productName Smessage Sthis gt message gt lt script type text javascript gt function init populateYearSelect function populateYearSelect d new Date curr_year d getFullYear for i 0 i lt 10 i document getElementById year options i new Option curr_year 1 curr_year 1 function dropdown sel if sel options selectedIndex 0 alert Please choose an option return false r else document quantitySold action sel form submit home update function Back document quantitySold reset document quantitySold action home search document quantitySold submit 77 78 function SubmitForm document quantitySold action home updatequantity document quantitySold submit lt script gt lt form name quantitySold action home update gt lt div style padding left 20px padding bottom 20px padding top 10px font size 14pt text align center gt lt b gt This page updates the quantity of laptops sold for a particular brand and product lt b gt div div style padding left 10 padding top 10px gt table cellspacing
10. tdes td rows SKUNumber td lt td gt Srows BrandName lt td gt lt td gt Srows ProductName lt td gt td rows ProductCategory td lt td gt Srows ProductWarranty lt td gt lt td gt Srows ProductQuantity lt td gt td Srows Prrzce amp td EE So lt tbody gt lt table gt echo So 25 div id pager class pager gt lt img src images tablesorter first png class first gt lt img src images tablesorter prev png class prev gt lt input type text class pagedisplay gt img src images tablesorter next png class next gt img src images tablesorter last png class last gt select class pagesize gt lt option selected selected value 10 gt 10 lt option gt lt option value 20 gt 20 lt option gt lt option value 30 gt 30 lt option gt lt option value 40 gt 40 lt option gt lt select gt lt div gt lt div gt lt div style padding left 40 padding top 50px P lt span gt lt button style height 40px id Submit type button onclick SubmitForm gt Back to Search lt button gt lt span gt lt div gt 69 lt form gt b Search phtml lt script type text javascript gt function init if document forml warranty checked document forml firstName disabled false document forml lastName disabled false populateYearSelect f
11. 10px cellpadding 10px gt SET td class label gt Brand Name lt td gt lt td gt lt select name brandName id brandName onchange return dropdown this gt lt option value NULL gt Select Option lt option gt lt php foreach brandName as name 2 gt lt option lt php if setSelected name BRANDNAME echo selected ls cho gt id lt php echo name BRANDNAME gt gt lt php echo Sname BRANDNAME gt lt option gt lt php gt lt select gt lt td gt lt td class label gt Product Name lt td gt lt td gt lt select id productName name productName gt lt option value NULL gt Select Value lt option gt lt php SproductName Sthis productName foreach SproductName as name gt lt option value lt php echo name PRODUCTNAME gt gt lt php echo name PRODUCTNAME lt option gt lt php y gt lt select gt 79 lt td gt ftre LE td class label Select Term lt td gt Sd select name term id term lt option gt All lt option gt lt option gt Fall lt option gt lt option gt Spring lt option gt lt select gt lt td gt lt td class label gt Select Year lt td gt lt td gt lt select name year id year gt lt select gt lt td gt lt tr gt lt table gt lt div gt lt div style padding left 40 padding top 50px gt lt span gt lt button styl
12. 2 form name updatequantityform div style padding left 40 padding top 10px gt lt b gt Product Update Information lt b gt lt div gt lt php So lt table class tablesorter id myTable gt lt thead gt Str lt th gt Brand Name lt th gt th Product Name lt th gt th Quantity Sold lt th gt lt tr gt lt thead gt lt tbody gt foreach SupdatedRecords as rows 81 So tr td rows BRANDNAME td td Srows PRODUCTNAME td td Srows QUANTIIYSOLD td tr So lt tbody gt lt table gt echo So T div style padding left 40 padding top 50px gt span button style height 40px id Submit type button onclick SubmitForm gt Back to Search lt button gt span div form f WarrantyResults phtml php Sparams this gt params 22 lt script type text javascript src js jquery pack js script lt script type text javascript src js jquery tablesorter js script soripte function init do nothing document ready function S myTable tablesorter widgets zebra script script type text javascript function SubmitForm document warrantyresultsform action home search document warrantyresultsform submit lt script gt lt style gt tables import css tablesorter css 82 l
13. CUSTOMERLASTNAME td td rows CUSTOMERFIRSTNAME td td rows EMAILADDRESS td td rows BRANDNAME td td rows PRODUCTNAME td lt td gt Srows CUSTOMERDATEOFPURCHASE lt td gt lt td gt rows DIFEMONTH Months lt td gt lt td gt Srows DIFFMONTH gt 0 In Warranty Expired lt td gt Jig So lt tbody gt lt table gt echo So 2 div style padding left 40 padding top 50px gt span button style height 40px id Submit type button onclick SubmitForm gt Back to Search lt button gt lt span gt lt div gt lt form gt 84 BIBLIOGRAPHY 1 Data Warehouse Online Available http www tech faq com data warehouse html 2 Data mart does not equal Data warehouse Online Available http www information management com infodirect 19991 120 1675 1 html 3 Working of PHP image Available online http www learnphp tutorial com PHPBasics cfm 4 Zend Framework Survive The Deep End a free book available online Available Online http www survivethedeepend com 5 Programmer s Reference Guide Online Available http framework zend com manual en learning quickstart intro ht ml 6 Apache HTTP Server Version 2 2 Online Available http httpd apache org docs current mod core html allowoverride 7 Sommerville Ian 2006 Software Engineering 8th ed ISBN 978 0321313799 http ww
14. Code Controller Error Handler 56 Appendix F Project Source Code Home Controller sse enza 57 Appendix G Project Source Code Model Search Page 61 Appendix H Project Source Code VIEW Ad A aa es 66 Appendix I Project Source Code View Home Page eee 67 EE oe te rs wama T 67 b S areh phin a geiert EE N N Aa EEN 69 GE EE 75 Update phtml ii aaa 77 e Update Vanity PA AR 80 f Watrani MT EE 81 Bibliograpliy Sus asa s aan oput ise eot ese donus 84 LIST OF TABLES 1 Table 1 Data Mart application Architecture anena 2 Table 2 Use Case List xi LIST OF FIGURES Page LoEig r 1 Working of PHP L iii ti ii Ee u ypas 7 2 breure 2 MVC Architecture de 11 3 Figure 3 Technical Architecture ii 23 4 Figure 4 Dimensional Model ui DA 27 2 Figure 3 Web Interface DS ici 29 6 Figure 6 Use Case Diarra EE 30 7 Figure 7 Quantity Sold Search Results Page 41 8 Figure 8 Customer Warranty Search Results Page 42 9 Bistre 9 Product Deal ER dean DES ques Ee Ge ER RGN Ea 43 10 Figure 10 Product Update Information 44 xil Chapter 1 INTRODUCTION 1 1 Data Mart A Data Warehouse is storage of raw or formatted data which is used for analysis archival and security purposes It plays a very important role in a Decision Support System 1 Data Warehouse is now becoming an important par
15. Finding warranty of customer laptops 3 Update warranty information and 4 Detail Laptop information Finally we corroborate the success of our project because the built Data mart application met the requirements of the book store thereby satisfying the administrator demands The application is hence handed to the book store as they plan to integrate it along with their current website for their future use This application is made available only to the Hornet Bookstore Administrator and will be integrating within their website by setting access permission only to the book store administrator There is always scope for further developments for this project in a given time the future work or enhancements could be done in the following areas 49 Implementation of Data Preprocessing Data Mining for example It is used to compare the sales rate of different brand laptops based on their selection criteria Extract Transform and Load process ETL ETL is highly recommended because MYSQL has the capability of exporting data into XML format and Zend Framework has a XML parser which makes implementation easy to transfer the legacy data which is in the Excel files to the new Data mart The data mart application can further be extended by implementing other priority searches performed by the Hornet book store 50 APPENDIX A Project Source Code Index lt php Set the initial include_path You may need to change this to ensure that
16. On Directory C Users RNZendNworkspacesNDefaultWorkspace7NDatamartNpublic AllowOverride All Allow from all lt Directory gt lt VirtualHost gt AllowEncodedSlashes On 34 To enclose a group of directives which includes the named directory sub directories of that directory and all the files present within these directories lt Directory gt and lt Directory gt tags are used In a directory context if any directive is allowed then those directives can be used The Directory path will either be a full path to a directory or a wild card string that is written using Unix shell style matching In a wild card string is used to match any single character to match any sequences of characters and lis used for character ranges But none of the wild cards match with character Therefore Directory public html will not match home user public html but matches Directory home public html 5 Server needs to know the directives declared in a file when it finds an httpd file that is specified by AccessFileName in order to know whether that file can override directives that were configured earlier 4 AllowOverride is specified without any regular expressions It is valid only in Directory sections and not in Location lt DirectoryMatch gt or Files sections The httpd files are completely ignored when this directive is set to None As a result the server will not attempt to read httpd files present
17. Product Name Category Warranty Quantity Price P1243 1243 Dell Inspiron 1545 12 100 675 P1322 1322 Dell Inspiron M5010 apple 12 1 650 P1245 1245 Dell Inspiron N4010 12 60 600 P1244 1244 Dell Inspiron1525 12 50 700 P1321 1321 Dell Mini 1012 12 40 750 P1242 1242 Dell Studio 15 12 60 675 P1523 1523 HP DV6 3012HE 24 15 700 P1524 S1524 HP DV6 3033HE 24 13 700 P1526 S1526 HP DV6 3050US 24 9 700 P1522 S1522 HP G42 241HE 24 10 600 H 4 4 3 lu Figure 6 Product Details The above figure provides the entire list of all the brand laptops sold at the Bookstore This page provides all the details of laptops which includes product names warranty period number of laptops of sold of each product and the price of these laptops This page is displayed by clicking Product Information link in the main screen of the Data mart application 44 4 Displaying Update Product information Welcome to CSUS Hornet Bookstore Product Update Information Brand Name Product Name Quantity Sold Lenovo Essential G460 1 Lenovo IdeaPad Y560 6 Lenovo ThinkPad SL510 1 Lenovo ThinkPad T510 18 Back to Search Figure 7 Product Update Information The above figure shows the product update information when selected Lenovo as the brand name This action is performed by clicking on the Update Quantity Sold link which 1s present on the main screen of the Data mart application 5 5 Performance Analysis Curre
18. Project Report Organization This section provides a brief guideline and description of topics in each chapter of the project report In chapter 2 we will have a detailed explanation of Data mart and tools used which includes description on Zend framework its functionalities and features description on programming language PHP and MYSQL Chapter 3 provides us detailed user requirements analysis The Design and implementation of data mart is covered under chapter 4 and chapter 5 respectively Finally in chapter 3 we summarize the report by providing the test results of the application Chapter 2 BACKGROUND AND TECHNOLOGY 2 1 Introduction The data mart application features reusable components across the enterprise using an n tier model This provides the ability in the future to separate components onto different physical machines thereby enabling scalability and reliability when enhancements are made to the application Centralized business rules support low risk development and simple ongoing maintenance Centralized data access allows database independency Necessary data is collected to support operational strategic decision making and reporting needs for the effective administration of the Data mart application 2 2 PHP PHP is a server side scripting language It is a powerful tool for making dynamic and interactive Web pages The goal of PHP is to enable a quicker web development process PHP allows you to use the existing
19. and facilitate rapid deployment supporting future functional or technical platforms changes Our proposed solution employs a modular scalable business oriented technical architecture that meets the reguirements of the Hornet Bookstore Computer Department of CSUS Our architecture is based on ZF which implements a MVC Model View Controller design pattern that allows us to create well defined components with reduced interdependencies enabling change Figure 3 below provides a logical view of the solution s n tier architecture and shows that our architecture supports heterogeneity and renders itself to reuse of the existing hardware 23 Technical Architecture Web Application Server Zend Security IE Browser A Cache Web Page i Manager HTML Exception Block Config Mgmt Firewall State Mgmt Data Access Layer Logging Block File Transfers Web Services Messaging Figure 3 Technical Architecture 4 2 1 Presentation Layer The Presentation Tier is responsible for rendering information stored in the database in a form that is easily understood by the end user For the Data mart application the Presentation Tier will consist of PHP and HTML pages and associated objects which will enable proper generation of web pages on the user s browser These objects will facilitate interaction with the Business Tier and the Data Access Tier 24 4 2 2 Business Layer The Business Tier encapsulates the c
20. and for the year 2010 This screen provides the number of Lenovo laptops sold for the above mentioned selections All the selections made to view this result are displayed above the table of the result 42 2 To find the warranty of computers purchased by the customers in order to find out whether the computers can be repaired at no cost or at some expense Welcome to CSUS Hornet Bookstore Customer Warranty Search Results First Name Pooja Last Name Ramesh Selected Term All Selected Year 2010 Brand Name Lenovo ProductName NULL LastName FirstName Email BrandName ProductName Date of Purchase Months Remaining Ramesh Pooja rameshp ecs csus edu Lenovo ThinkPad T510 01 10 2010 0 Months Back to Search Figure 5 Customer Warranty Search Results Page Warranty Expired The above figure is the result of the task to view warranty of laptops purchased by the customers to find out whether the laptops can be repaired at no cost or at some expense The result is obtained by selecting warranty option on the main screen and providing customer name and customer laptop details to view warranty of customer laptop purchased The result screen displayed shows the selections made along with the remaining warranty period warranty status and date of purchase of the customer laptop 43 3 Product information of all different brand laptops Welcome to CSUS Hornet Product Details ID SKUNO Brand Name
21. as parameter caching are in place to help ensure a high level of performance Summarization of the above tier is shown in the below table Table 1 Data Mart application Architecture Data mart application Architecture Zend Framework Component Description Advantage Business Tier Business Process Components Manages the execution of business process Uses one to many business components Creates a single entity to encompass complex business functionality Business Components Encapsulates business logic on to discreet reusable business components Deals directly with data access layer components Each business component may be reused by multiple business processes Data Access Layer Data Access Layer Components Passes data components to necessary stored procedures Contains optimized pre compiled code specific to application and data access requirements Data Access Logic Provides highly optimized mechanism for communication with data stores Centralizes data access functionality and makes it easier to configure maintain and re use MySQL Connects Zend PHP Data Access Components to the database Interfaces Provides an open interface Open architecture allows architecture with multiple interface methods easy interfacing with other systems 27 Our solution is packaged with several reusable services developed to provide an
22. button click The advantages in using this application are 12 e Delivers content quickly e Improves efficiency and response time e Provides better usability to users as data is retrieved quickly Tools which helped in better design of the application are as below HTMLS HTML 5 makes the structure pages much easier by adding whole set of new elements A variety of common structures are included in HTML 4 pages they are headers footers and columns These are marked up as div elements by giving a descriptive id or class for each of them Many of the sophisticated features of sites relay on connections which are created between different web technologies i e HTML JavaScript and Cascading Style Sheets A standard way to run JavaScript in the background by making multiple treads runs at the same time which helps to run multiple applications at the same time These threads in the background can perform complex mathematical calculations network requests or to access local storage while the main web page users actions such as scrolling typing or 47 clicking Separate threads in the background perform different actions without affecting the performance of the webpage This way of multiple thread functionality is very useful for web applications to perform functions without affecting other actions at the same time on the applications 13 AJAX The main drawback in using traditional HTML based websites is the waiting time for pages to g
23. detailed design and summarizes the technical approach used to develop and implement the Data mart application It also discusses the various tiers their interactions and how they synchronize to form a complete system 4 1 Conceptual View The Data mart application provides a robust system meeting the Hornet Bookstore reguirement The key architectural principles include e An n tier Here n 3 compliant solution designed to CSUS hornet book store requirements e A web based platform using a MySQL backend and The Data mart application is based on an n tier model The solution is designed using ZF which provides the core underpinning of n tier and object oriented design principles We used processes and procedures to enforce compliance with enterprise standards throughout the entire Software Development Lifecycle The following standards help maintain the n tiered model during the life of the project e Afront end User Interface UI using Web pages e Implementation of business rule component as a separate dedicated component 22 e A data access layer component as a separate Class Library project This data layer uses classes to encapsulate access Typed datasets are used they provide the flezibility of the dataset class and strong typing for each column in the tables 4 2 Logical View The three distinct logical tiers e Presentation e Business e Data Access These defined tiers help support mazimum re use capability
24. gt fetchall return productName public function fetchproductresults params Sdb Zend_Db_Table getDefaultAdapter if Sparams warranty true Sdbquery SELECT TIMESTAMPDIFF MONTH CUSTOMERDATEOFPURCHASE NOW lt PRODUCTWARRANTY AS DIFFMONTH CUSTOMERLASTNAME CUSTOMERFIRSTNAME BRANDNAME PRODUCTNAME DATE FORMAT CUSTOMERDATEOFPURCHASE m d x AS CUSTOMERDATEOFPURCHASE EMAILADDRESS FROM CUSTOMERDIMENSION PRODUCTDIMENSION DATEDIMENSION WHERE PRODUCTDIMENSION PRODUCTID CUSTOMERDIMENSION PRODUCTID AND CUSTOMERDIMENSION DATEID DATEDIMENSION DATEID 62 Sdbquery AND CUSTOMERFIRSTNAME params firstName AND CUSTOMERLASTNAME params lastName AND BRANDNAME D params brandName else if Sparams productName NULL Sdbquery SELECT SUM QUANTITYSOLD AS QUANTITYSOLD BRANDNAME CALENDARSEASON CALENDARYEAR 0 AS PRODUCTNAME FROM QUANTITYFACT PRODUCTDIMENSION DATEDIMENSION WHERE BRANDNAME params brandName AND PRODUCTDIMENSION PRODUCTID QUANTITYFACT PRODUCTID AND DATEDIMENSION DATEID QUANTITYFACT DATEID else Sdbquery SELECT SUM QUANTITYSOLD AS QUANTITYSOLD BRANDNAME CALENDARSEASON CALENDARYEAR PRODUCTNAME FROM QUANTITYFACT PRODUCTDIMENSION DATEDIMENSION WHERE BRANDNAME params brandName
25. in the filesystem Whereas when the same directive is set to All then any directive which contains the httpd Context is allowed in httpd files The directive type can be one of the following groupings of directive 5 The RewriteRule is simple and can be analyzed as for any url redirect to index php 5 We should make sure that a couple of php ini must be set correctly for security purposes 35 Additionally we must make sure that if we use mod php only then the php flag settings in httpd must work If we use CGI FastCGI then care must be taken with respect to php ini settings Images JavaScript files and CSS files should be placed within the public subdirectory and any requests to these files must not be directed to Bootstrapper This way it helps in easy configuration of Apache and serves all these files with other httpd file in Datamart public directly Datamart public httpd RewriteEngine off Whilst not strictly necessary with out current rewrite rules we can add a couple more httpd files to ensure that our application and library directories are protected Datamart application htppd deny from all Datamart library htppd deny from all Note that for htaccess files be used by Apache the configuration directive AllowOverride must be set to All within your httpd conf file 5 36 5 3 Directory Structure The data mart s application looks similar to the below mentioned structure This structure sho
26. AME SproductName AND PRODUCTDIMENSION PRODUCTID QUANTITYFACT PRODUCTID GROUP BY BRANDNAME PRODUCTNAME Ssql db gt query dbquery Sresults sql fetchall return Sresults public function fetchproducts Sdb Zend_Db_Table getDefaultAdapter Sdbquery SELECT FROM PRODUCTDIMENSION ORDER BY BRANDNAME PRODUCTNAME Ssql db gt query dbquery Sresults Ssql gt fetchall return Sresults 66 APPENDIZ H Project Source Code View Error phtml lt DOCTYPE html PUBLIC W3C DTD XHTML 1 0 Strict EN http www w3 org TR xhtmll DTD xhtmll strict dtd lt html xmlns http www w3 org 1999 xhtml head meta http equiv Content Type content text html charset utf 8 gt title Zend Framework Default Application lt title gt lt head gt lt body gt lt hl gt An error occurred lt h1 gt lt h2 gt lt php echo this gt message gt lt h2 gt lt php if isset Sthis rexception gt lt h3 gt Exception information lt h3 gt lt p gt lt b gt Message lt b gt lt php echo this gt exception gt getMessage gt lt p gt lt h3 gt Stack trace lt h3 gt lt pre gt lt php echo this gt exception gt getTraceAsString gt lt pre gt lt h3 gt Request Parameters lt h3 gt lt pre gt lt php echo var_export this gt request gt getParams true gt lt pre gt lt php endif gt lt bo
27. Authentication and Zend Acl Security Authorization provide user authentication and authorization against all common credential stores This framework is suitable for a major project like this One of the easy to use scripting languages currently is PHP A unigue framework to compliment PHP is ZEND framework ZEND Framework is an open source framework used to develop applications using PHP v5 0 and above ZEND Framework s implementation uses 100 object oriented code Few advantages of ZEND Framework are e Robust e High performance MVC implementation e Provides database abstraction which is simple to use e Provides forms component that implements HTML form rendering validation and filtering The Zend Framework makes writing web applications easier simpler and faster It provides developers with a body of source code that has already been developed by dozens of developers which are unit tested This allows developers to skip developing similar applications and focus more on the other functionalities of their application One way to choose a framework for web development is looking at whether the framework makes web development easier faster and simpler The other factors that must be considered are maintainability adaptability ease of testing technical and community 11 support quality of documentation regularity of upgrades and fixes quality control base performance the learning curve features and innovation hosti
28. DATA MART FOR CSUS HORNET BOOKSTORE Pooja Ramesh B E Visveswaraiah Technological University Karnataka India 2008 PROJECT Submitted in partial satisfaction of the requirements for the degree of MASTER OF SCIENCE in COMPUTER SCIENCE at CALIFORNIA STATE UNIVERSITY SACRAMENTO SPRING 2011 DATA MART FOR CSUS HORNET BOOKSTORE A Project by Pooja Ramesh Approved by Committee Chair Dr Meiliu Lu Second Reader Dr Mary Jane Lee Date 11 Student Pooja Ramesh I certify that this student has met the reguirements for format contained in the University format manual and that this project is suitable for shelving in the Library and credit is to be awarded for the Project Graduate Coordinator Dr Nikrouz Faroughi Date Department of Computer Science 111 Abstract of DATA MART FOR CSUS HORNET BOOKSTORE by Pooja Ramesh Data mart is the subset of an organizational data warehouse which is designed to focus on a single subject such as Sales Finance or Marketing Data marts draw data only from few sources based on the single subject focus Data marts are smaller and less complez when compared to Data warehouse Hence it is easier to build and maintain a data mart The advantage of using data mart is that the users gain faster access to common data by having little or no knowledge about data mart and obtains data as required It improves performance and end users re
29. HTML content while you add the PHP code to it PHP runs on almost any web server on any operating system One of the other strong points about PHP is its support for a wide variety of databases PHP was created by Rasmus Lerdof in 1995 for tracking accesses to his online resume 3 It was originally developed in Perl scripts and was initially known as Personal Home Page tools It was later rewritten in C with database functionalities Few amendments followed in 1998 2000 and 2004 which eventually added a bundle with Zend Engine with object oriented programming robust XML SOAP extension for interoperability with web services and SOLite packages PHP now stands for PHP Hypertezt Preprocessor Few other advantages of PHP are listed below e Faster developments of large websites e Customized user experience would be provided to the users visitors based on the information provided by the users e Makes creation of shopping carts for e commerce websites easy Since the syntax of PHP is very similar to C JAVA or PERL with little PHP specific additions the pre requisites to using PHP are basic programming knowledge and knowledge of HTML syntax and forms Client jy PHP Interpreter P hp lt Database ES Web Server Mail Server Figure 1 Working of PHP Figure 1 3 shows the working of PHP When a user requests for a web service from a PHP page from a web browser a request is sent to the web server and the server in
30. TO In order to facilitate a wider range of flexibility and looser component coupling our solution employs the use of Data Transfer Objects DTO s are lightweight and serializable components which primarily serve as the transport vehicle which moves data between all layers of the solution The link to the DTO is passed between the tiers of an application without copying and recopying data This saves resources and provides for a scalable design 4 2 3 Data Access Tier This tier isolates Data Access code and provides a highly optimized mechanism for communication with MySQL data stores It makes sense to abstract this necessary logic into a separate layer since doing so centralizes data access functionality and makes it easier to configure maintain and re use This is in line with the methodology of providing a decoupled yet robust scalable and maintainable architecture The Data Access Tier is also architected to be database agnostic for all the known database platforms yet our target implementation will be for MySQL Since the execution code for interaction with all data stores is contained within the Data Access Tier the rest of the application is coded without coupling to a specific database The Data Access Tier can thus be specified to point to any of the major database packages and 26 proper use of Object Oriented Design helps ensure that minimal overhead is incurred for this functionality In addition enhancements such
31. a au 4 1 4 Project Report Organization ina 2scasepensedueasdeahecaoneseeicl devgscaduksdadedauctaanawedsetes oeaeanes 5 2 BACKGROUND AND TECHNOLOGY AAA 6 2 Introduction siesta pj ii 6 2 2 PHP AA AAA AA uama Su a u aaa a a a a WA 6 2 9 MySQD adan 8 24 ZEND Framework sis id i isse ut acelin end trus 9 24 1 ZEND Confiputation EE 12 3 USER REQUIREMENT AND ANALYSIS eere 15 2c Tntrodue es OE EA MR EE RE N 15 3 2 User Beurements e Eu 16 3 3 System Requirements ace ve pee Re eR NE ea a 18 234 SCOPES OF the e Ee EE 18 ASAS TENDER iia 21 Aid Conceptual EE 21 42 Logical VIEW ER EE DE EE N 22 4 21 Presentation YE ESE EE EED EG GE ED EE GE EA utn 23 4 2 2 Business A o oda anes 24 4 2 3 Data ACcess TIETE DE EG CGN Ge EG tied 25 4 2 3 1 Dimensional Model ecc il ad 27 2 3 User Interface SPM SI Wa 28 4 3 1 Web Interface DE visores 29 4 3 2 Use Case Ada as ukuta ua ds 30 S IMPLEMENTATION iese ss ies Gee ia 32 Sab Getung State Nee E eet 32 5 2 Configuring ZEND Framework and Library Application 33 259 Directory E 36 5 4 Bootstrapping EE 37 5 4 1 The Bootstrap Files index POP 37 e EE 41 5 6 Performance E 44 6 CONCLUSION EE 48 Appendix A Project Source Code INdEK EE 50 Appendix B Project Source Code Bootstrap awa 51 ix Appendix C Project Source Code Application cono nc nos 53 Appendix D Project Source Code Layouts iuris 54 Appendix E Project Source
32. and Adithya Shreyas Tor providing their valuable inputs in reviewing my project report support and correcting my work throughout my Master s program I would also like to thank all my other friends who have always been throughout my Master s program Last but not the least I owe my deepest and heartfelt thanks to my Family for their unconditional love and support throughout my life The sole reason for what I am today is my family I am grateful to my Father Mandya Boraiah Ramesh and Mother N Vijayalakshmi for providing me financial and mental support to come over seas and get my Master s degree I am happy in fulfilling mine and my parent s dream of accomplishing my Master s degree I am very happy to have my Brother R Pavan Kumar for his irreplaceable love and support from the day I have born He is always besides me for any help and day Having such a lovely and caring family I have always projected me in a wrong way I would therefore like to tell them that I am blessed to have such a family and I LOVE YOU Appa Amma and Anna I would also like to thank our family friend Mahesha and others who are all responsible for providing financial support and encouragement during the journey of my Master s program vii TABLE OF CONTENTS Page Acknowledseimente eoo g di a ii vi Last OF Tables Ke A SSS AS Xi Eist OF KW xii Chai AA AA ee Ee 1 INTRODUCTION sanidad 1 Ter Data Mart sic te EER 1 V2 MGUY La Ka WA m 3 1 3 Research Road EE A An
33. and Year of Purchase of Customer s laptop lt td gt lt tr gt SIES td amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp Displays Customer s information which includes Date of Purchase Warranty status and Warranty remaining lt td gt lt tr gt SLr 75 lt td gt 3 Update Quantity Sold option lt td gt lt tr gt ES td amp nbsp amp nbsp amp nbsp nbsp nbsp amp nbsp amp nbsp Select Update Quantity Sold link which navigates to the next page td tr table div input type hidden id isInWarranty name isInWarranty value gt input type hidden id quantitySold name quantitySold value gt form c SearchResults phtml php Sparams this gt params 22 lt script type text javascript src js jquery pack js script lt script type text javascript src js jquery tablesorter js script lt script gt function init do nothing document ready function myTable tablesorter widgets zebra script script type text javascript function SubmitForm document searchresultsform action home search document searchresultsform submit lt script gt lt style gt tables import css tablesorter css lt style gt lt form name searchresultsform gt div style padding left 40 padding top 10px gt lt b gt Qu
34. antity Sold Search Results lt b gt lt div gt 76 lt div style padding left 20 table cellspacing 10px cellpadding 10px gt St ES lt td class label gt Brand Name lt td gt lt td gt lt php echo params brandName td td class label gt Product Name lt td gt lt td gt lt php echo params productName td td class label gt Term lt td gt lt td gt lt php echo params term td td class label gt Year lt td gt lt td gt lt php echo Sparams year gt lt td gt EES lt table gt lt div gt lt php Sresult this gt results So lt table class tablesorter id myTable gt lt thead gt SET lt th gt Brand Name lt th gt lt th gt Product Name lt th gt lt th gt Season lt th gt lt th gt Year lt th gt lt th gt Quantity Sold lt th gt SU BE thead tbody foreach result as rows So tr td rows BRANDNAME td td Srows PRODUCTNAME rows PRODUCTNAME WON 7 TAIL gt Srows PRODUCINAME amp td lt td gt Srows CALENDARSEASON params term All All rows CALENDARSEASON lt td gt td rows CALENDARYEAR td td Srows QUANTITYSOLBD e td ttr5 s So tbody table echo 0 qoe div style padding left 40 padding top 50px gt lt span gt button style height 40px id Submit type button
35. ata related to their business and the data is collected in such a way that it can be later used Whereas designing a Data Mart is based on the analysis of the needs of the user Therefore the IT organization possessing a data warehouse can also have a data mart based on their needs which includes but not limited to Finance marketing sales and so on 2 The advantage of using data mart is that the users gain faster access to common data by having little or no knowledge about data mart and obtains data as required It improves performance and end users response time The steps involved in implementing a data mart are as follows e Design This is the first step in the data mart process which involves in gathering business and technical requirements identifying data sources selecting appropriate subset of data and finally designing logical and physical structure of the data mart e Construction This step involves in creating physical database and storage structures which is associated with the data mart Designing schema objects such as tables and indexes and finally determining the best way to set up the tables and access structures e Populating the data In this step we perform all the task in getting the data from the source which involves mapping data sources to target data structures cleansing and transforming the data extracting data loading data into data mart creating and storing metadata e Accessing This step involves
36. bquery AND D CALENDARYEAR rr Sparams year AKTE if params term TT switch params term case All Sdbquery AND D CALENDARSEASON Spring OR D CALENDARSEASON Pali ws break case Spring Sdbquery AND D CALENDARSEASON Spring break Case Fall Sdbquery AND D CALENDARSEASON Fall break Sdbquery GROUP BY P PRODUCTNAME D CALENDARYEAR D CALENDARSEASON P BRANDNAME C PRODUCTID C DATEID echo dbquery exit sql db gt query dbquery Sresults sqgl fetchall Scounter 0 try 4 Sdb gt beginTransaction Insert into EBILLINC foreach results as row Sdbquery UPDATE QUANTITYFACT SET QUANTITYSOLD S row QUANTITYSOLD WHERE PRODUCTID wr oSrow PRODUCTID V AND DATEID Srow DATEID sql db gt query Sdbquery Scounter if Scounter gt 100 Sdb gt commit Scounter 0 Sdb gt beginTransaction Sdb gt commit catch Exception Se 65 An exception has been thrown We must rollback the transaction Sdb gt rollBack echo here throw new Exception e gt getMessage exit return Scounter public function fetchupdated productName db Zend Db Table getDefaultAdapter Sdbquery SELECT SUM QUANTITYSOLD AS QUANTITYSOLD BRANDNAME PRODUCTNAME FROM QUANTITYFACT PRODUCTDIMENSION WHERE BRANDN
37. data mart which helps the bookstore to retrieve data based on 19 inventory and sales information which in turn supports the needs of the bookstore To achieve this task we were forced to use open source tools and technology in order to be compatible on the CSUS server The following technologies were used in this project 1 Zend framework This is an open source web application framework which is user friendly simple and corporate friendly licensing 4 2 Zend Studio This is an open source PHP Integrated Development Environment It is integrated with Zend Framework enabling the application to build quickly 5 3 PHP and JavaScript Coding languages used 4 MySQL It is the most popular open source database and runs on more than 20 platforms including Linux Windows Mac OS Solaris HP UX IBM AIX giving us the kind of flexibility you want to control Additional features added to this application are listed below e Link to find product information of all different brand laptops e Added Table sorter which is a JavaScript library for sorting the contents in the table e Set of instructions on How to perform tasks using the application e Matched the tables and columns of the data mart with respect to the database which is been currently used at the Hornet Bookstore Computer department Pagination added to display product information into discrete pages 20 21 Chapter 4 SYSTEM DESIGN This chapter provides a
38. dy gt lt html gt 67 APPENDIX I Project Source Code View Home Page a Productinfo php Sresult this gt results Y script type text javascript src js jquery pack js script script type text javascript src js jquery tablesorter pager js script script type text javascript src js jquery tablesorter js script lt script type text javascript gt function init do nothing document ready function ftableid tablesorter widthFixed true widgets zebra tablesorterPager container pager function SubmitForm document productinfoform action home search document productinfoform submit lt script gt lt style gt tables import css tablesorter css lt style gt lt form name productinfoform gt div style padding left 40 padding top 10px gt lt b gt Product Details lt b gt lt div gt lt div style padding left 5 lt php 68 So lt table class tablesorter id tableid gt lt thead gt LEES lt th gt ID lt th gt lt th gt SKU NO lt th gt lt th gt Brand Name lt th gt lt th gt Product Name lt th gt lt th gt Category lt th gt lt th gt Warranty lt th gt lt th gt Quantity lt th gt lt th gt Price lt th gt SE lt thead gt lt tbody gt foreach result as rows So lt etr td S rows ProductriD
39. e height 40px id Submit type button onclick SubmitForm gt Update lt button gt lt span gt lt span gt lt button style height 40px id Submit type button onclick Back gt Back to Search lt button gt lt span gt lt div gt lt div style padding left 1 padding top 10px text align left gt lt table cellspacing 5px cellpadding 5px gt SEE td b Instructions to Perform Update Action lt b gt lt td gt tr lt tr gt lt td gt Select Brand name Product name Term and Year in order to fetch the updated quantity sold result for the above selection made lt td gt lt tr gt SIE lt td gt Displays the recent updates of laptops sold along with the details of laptops for which the selection is made lt td gt lt tr gt lt table gt lt div gt lt form gt 80 e UpdateQuantity phtml lt style gt tables import css tablesorter css lt a gt lt script type text javascript src js jquery pack js gt lt script gt lt script type text javascript src js jquery tablesorter js script scripto function init do nothing document ready function S myTable tablesorter widgets zebra function SubmitForm document updatequantityform action home search document updatequantityform submit script php SupdatedRecords this gt updatedRecords print_r SupdatedRecords exit
40. e to CSUS Hornet Bookstore lt div gt lt div id sub navigation gt lt div class layout gt lt table cellpadding 0 cellspacing 0 class tabs t100 gt SE td class layout left gt lt td gt lt td class layout center gt 55 lt div id sidebar gt lt div class sidebar inner gt lt table class sub tabs gt lt table gt lt div gt lt div gt lt td gt td class layout right gt lt td gt lt tr gt lt table gt lt div gt lt div gt lt div id main style width 100 gt lt div class layout gt div class layout left gt lt div gt lt div class layout center style overflow auto gt lt php echo Sthis layout gt content div div class layout right div div div div id footer gt div class layout gt table cellpadding 0 cellspacing 0 class footer t100 gt SI lt td class layout left td td class layout center gt lt td gt td class layout right td S EB lt table gt lt div gt lt div gt lt div gt lt body gt lt html gt 56 APPENDIX E Project Source Code Controller Error Handler lt php class ErrorController extends Zend Controller Action public function errorAction Serrors this gt _getParam error_handler switch errors gt type case Zend_Controller_Plug
41. et reload and refresh when the user clicks on an option or a Hypertext link Over several years of attempts to improve dynamism of web pages by introducing individual techniques such as JavaScript DHTML CSS and Microsoft s MLHttpRequest ActiveX tool Web2 0 applications and services leads to the approval of using one specific group of technologies called Asynchronous Javascript XML AJAX In AJAX once the page is loaded only small amounts of data pass from and through the server This helps only a portion of the web page to be reloaded in real time and provides a more responsive interface with the application Hence it is with the introduction of AJAX that has helped to overcome the drawback of traditional HTML 14 48 Chapter 6 CONCLUSION This project is to develop a Data mart application for the Computer department of Hornet Bookstore at California State University Sacramento The Data mart application built facilitates the Hornet Bookstore to have an online prototype instead of maintaining inventory and sales information on an excel spread sheet This application provides the book store to retrieve the needed data in a simpler manner thereby improving performance and saving the search time The Data mart application focuses on the top two priority searches which is frequently performed by the Hornet book store and also the detailed laptop information They are 1 Finding sales rate of different brand laptops for the mentioned year 2
42. function updateAction params qsold Sparams warranty isInWarranty Sparams firstName Sparams lastName params brandName params productName Sparams term term 3 Sparams year year Sresultinstance Sresults gt fetchproductresul lts Sparams this gt view gt params Sthis gt view gt results Sthis getReguest getParam this gt getRequest 0 Sthis gt getRequest gt getParam Sthis gt getRequest gt getParam Sthis gt getRequest gt getParam Sthis gt getRequest gt getParam this gt getRequest this gt getRequest new Default Model SresultInstance Sparams Sresults Search brandName SifSelected SifSelected success Smessage SbrandInstance SbrandName E Ilo SifSelected SproductName gt fetchproductinfo SifSelected Sthis gt view gt productName Sthis gt view gt brandName UL 59 Sthis getReguest S this getParam su this gt _getParam me W Sproduc SbrandName Sthis gt view gt setSel this gt view gt message cted SifSelected Smessage public function updatequantitvAction gt getParam ccess ssage new Default Model Search SbrandInstance gt fetchinfo SbrandInstance tName params brandName Sthis getRequest gt getParam
43. ges of MySQL are high performance high reliability and ease of use Although MySQL is accessible to many programming languages 1t is very popular with PHP as they couple together very easily PHP can collect the data from the user and MySQL can store this information PHP creates the dynamic calculations and the required variables are provided by MySQL Similar numerous possibilities could be added to an application when PHP and MySQL are used together 2 4 ZEND Framework At the heart of the design is the Zend Framework ZF ZF is an open source framework for developing web applications and services with PHP ZF is implemented using 100 object oriented code The component structure of ZF is somewhat unique each component is designed with few dependencies on other components This loosely coupled architecture allows our development team to use components individually It is also consistence with one of our key architectural principles ZF components in the standard library form a powerful and extensible web application framework when combined ZF offers a robust and performance oriented Mode View Controller MVC implementation business logic and database abstraction that is simple to use and a forms component that implements HTML form rendering validation and filtering so that our developers can consolidate all of these operations using one easy to use object oriented interface Other components such as Zend Auth Security 10
44. gt lt tr gt td class label gt Laptops lt b gt 72 lt input type radio name group id qsold lt php if Sparams qsold true echo checked checked else echo onclick disableElement this form elements firstName this form elements lastName Quantity Sold td td class label gt lt input type radio name group id warranty lt php if params warranty true echo checked 2 checked onclick enableElement this form elements firstName this form elements lastName gt Warranty lt td gt lt td class label gt First Name lt td gt lt td gt lt input id firstName type text name firstName disabled disabled value lt php if Sparams firstName echo Sparams firstName else echo gt Z xu Ed td class label gt Last Name lt td gt lt td gt lt input id lastName type text name lastName disabled disabled value lt php if Sparams lastName echo Sparams lastName else echo gt gt lt td gt lt td gt a href home update Update Quantity Sold lt a gt lt td gt lt tr gt Cr td class label gt Brand Name lt td gt lt td gt lt select name brandName id brandName onchange return dropdown this gt lt option value NULL gt Select Option lt option gt lt php foreach SbrandName as name Qo lt option
45. guage 1 3 Research Road A good design always begins with a good design concept that tries to solve a problem The concept will lead the way to give a direction for your design decisions But this concept was introduced to me for the first time so the biggest question was how do you form a concept What questions need to be asked in order to develop one How does your concept become the roadmap for your design Not knowing anything about Data mart it took me a while to understand the concept and get the basics right Initially I found it difficult to gather information about the data mart because I had not taken any course related to data mart during my under graduate or in my Master s program During my research I noticed that not many people had worked on this topic as a result gathering information and understanding the concept was not an easy task It was my first time that I was working on Zend framework The main challenge that I faced was configuration of the tool On the other hand the tool is user friendly easy to understand and can be used by any novice Another roadblock related to Zend framework tool is the licensing issue as it has only thirty day free trial The third roadblock that I faced was using PHP as the programming language in designing my application I had no experience in using this language As a result it took me some time in understanding the concepts of PHP and to get started in building the application 1 4
46. he Hornet Bookstore Data mart application use cases developed are listed in the table below Table 2 Use Case List Use Use Case Name Description Actor Case DMOO1 Quantity Sold User views the number of laptops Hornet Bookstore sold based on the selection criteria Admin DM002 Product User views warranty of customer Hornet Bookstore Warranty laptops Admin DM003 Update Quantity Number of laptops sold is updated Hornet Bookstore sold Admin DM004 Product User views complete details of the Hornet Bookstore Information selected product Admin 32 Chapter 5 IMPLEMENTATION 5 1 Getting Started with MVC To maintain this type of an application in the long run is not simple This is because the client keeps reguesting for modifications as per their reguirements or needs As a result changes are made in various places in the code 11 resources db params host localhost resources db params username root resources db params password password resources db params dbname DataMart 11 Therefore the maintainability of an application can be improved by separating the code into three manifest parts with separate files They are Model The Model part of the application holds specific data that is to be displayed It is responsible for maintaining the state between each HTTP request Model incorporates all the rules restraints and behavior governing and utilizing this information An examp
47. in_ErrorHandler EXCEPTION_NO_ROUTE case Zend Controller Plugin ErrorHandler EXCEPTION NO CONTROLLER case Zend Controller Plugin ErrorHandler EXCEPTION NO ACTION 404 error controller or action not found S this getResponse setHttpResponseCode 404 this gt view gt message Page not found break default application error Sthis getResponse gt setHttpResponseCode 500 this gt view gt message Application error break Sthis gt view gt exception Serrors rexception this gt view gt request Serrors gt request APPENDIX F Project Source Code Home Controller lt php class HomeController extends Zend Controller Action public function searchAction SifSelected this gt getRequest gt getParam brandName echo SifSelected SbrandInstance new Default Model Search SbrandName SbrandInstance gt fetchinfo if SifSelected ls Sparams qsold this gt getRequest gt getParam quantitySold 57 Sparams warranty this gt getRequest gt getParam isInWarranty Sparams firstName this gt getRequest gt getParam firstName Sparams lastName gt getParam lastName Sthis getRequest SproductName Sbrandinstance gt fetchproductinfo S ifSelected print r params exit Sthis gt view gt initdata Sparams Sthis gt view gt brandName
48. irst Name and Last Name return false document forml action home warrantyresult else document forml action home searchresult document forml submit function ClearForm oForm var elements oForm elements oForm reset for i 0 iselements length i field type elements i type toLowerCase switch field type case text case password case textarea case hidden elements i value break nm case radio case checkbox if elements i checked elements i checked break case select one case select multi elements i selectedIndex break default break function populateYearSelect d curr_year for i 0 new Date d getFullYear i 10 itt document getElementById year options i Option curr year i curr year i WA gt lt php SbrandName this gt brandName SsetSelected this gt setSelected Sparams Sthis gt initdata print r params exit 2 form name forml action home searchresult gt div style padding left 20px padding bottom 20px padding top 10px font size 14pt text align center gt 71 false sl new lt b gt This Page Fetches Data on Quantity of Laptops Sold Update Feature of Laptops and Warranty of Customer lt div gt lt div class section gt lt table cellspacing 10px cellpadding 10px
49. lates 1t into actions on one or more Models and returns the output generated by the View to the user 2 4 1 ZEND Configuration Listen 10081 NameVirtualHost 10081 lt VirtualHost 10081 gt Alias ZendServer C Program Files x86 NZendNZendServerGUMNhtml DocumentRoot C Program Files x86 Zend ZendServer GUNhtml RewriteEngine On RewriteRule ZendServer R RewriteRule Login ZendServer Login R lt Directory C Program Files x86 Zend ZendServer GUNitml gt 13 AllowOverride All Allow from all lt Directory gt lt VirtualHost gt To enclose a group of directives which includes the named directory sub directories of that directory and all the files present within these directories lt Directory gt and lt Directory gt tags are used In a directory context if any directive is allowed then those directives can be used The Directory path will either be a full path to a directory or a wild card string that is written using Unix shell style matching In a wild card string is used to match any single character to match any sequences of characters and is used for Character ranges But none of the wild cards match with the backslash character Therefore Directory public html will not match home user public html but matches Directory home public html 6 Server needs to know the directives declared in a file when it finds an httpd file that is specified by AccessFileName in
50. le for this could be in an online banking application any transactions purchases above 2000 could be defined to be illegal and the transaction is forced to abort In essence a Model centers on the data and its underlying behavior View View is the part of the application which is concerned with the display to the user It is responsible for generating a user interface for your application In PHP it is usually defined as the presentational HTML RSS and XML JSON or anything else that is sent to the client application through a browser or requesting web service The View is 33 organized into template files which can also be echoed from or manipulated by the Controller prior to its output The view also contains the PHP code to organize filter and manipulate the format based on the data retrieved from one or more Models Controller The primary function of the controller is to control and delegate It is responsible to put together the specifics of the model and the view to ensure that the right data is displayed to the user In MVC architecture for a web application the controller takes the input from the user translates it into actions on one or more Models and returns the output generated by the View to the user 11 5 2 Configuring ZEND Framework and Library Application Listen 10090 NameVirtualHost 10090 lt VirtualHost 10090 gt DocumentRoot CNUsersWNZendNworkspacesNDefaultWorkspace7NDatamartNpublic RewriteEngine
51. llers The front controller is implemented in such a way that it should throw exceptions for all the occurrences The front controller catches these exceptions and stores them in the created _exceptions property of the Response object The main purpose of the Response object is that it stores all the response to the requested URL The front controller will then send the headers and displays the page content Now we run the configured application run frontController gt dispatch Now go to http localhost Datamart to test fatal error similar to the below line should be displayed Fatal error Uncaught exception Zend_Exception with message File Japplication 11 41 5 5 Results This section provides a detailed explanation of the results obtained for the tasks performed using this application They are 1 To find sales rate of different brand laptops for each semester and then decide on ordering more number of particular brand laptops for next semester based on the laptops which was sold out in more number in the previous semester Welcome to CSUS Hornet Bookstore Quantity Sold Search Results Brand Name Lenovo ProductName NULL Term All Year 2010 Brand Name Product Name Season Year Quantity Sold Lenovo All All 2010 Figure 4 Quantity Sold Search Results Page The above figure is the result for warranty of Lenovo laptops for all the product names both fall and spring term
52. lt php if setSelected Sname BRANDNAME echo selected els cho 7 id lt php echo name BRANDNAME 73 lt php echo name BRANDNAME gt lt option gt lt php gt lt select gt lt td gt td class label gt Product Name lt td gt lt td gt lt select id productName name productName gt lt option value NULL gt Select Value lt option gt lt php SproductName this gt productName foreach SproductName as name 22 lt option value lt php echo name PRODUCTNAME gt gt lt php echo name PRODUCTNAME lt option gt lt php y 22 select td lt td gt lt ta gt lt ta gt lt td gt lt td gt lt a href home productinfo Product Information lt a gt lt td gt lt tr gt SI td class label gt Select Term lt td gt lt td gt lt select name term id term gt lt option gt All lt option gt lt option gt Fall lt option gt lt option gt Spring lt option gt lt select gt lt td gt lt td class label gt Select Year lt td gt lt td gt lt select name year id year gt lt select gt td S tro table lt div gt div style padding left 40 padding top 10px gt lt span gt lt button style height 35px id Submit type button onclick SubmitForm gt Submit lt button gt lt span gt lt span gt 74 lt button style height 35px id clear type butt
53. ng availability support for current best practices and community sources literature 4 Like other frameworks Zend framework has also adopted the Model View Controller MVC architecture Controller Figure 2 MVC Architecture The Model View Controller See Figure 2 5 as the name indicates has three component separations which are Model A Model is responsible for maintaining the state between each HTTP request Model incorporates all the rules restraints and behavior governing and utilizing this 12 information An example for this could be in an online banking application any transactions purchases above 2000 could be defined to be illegal and the transaction is forced to abort In essence a Model centers on the data and its underlying behavior View The View is responsible for generating a user interface for your application In PAP it is usually defined as the presentational HTML RSS and XML JSON or anything else that is sent to the client application through a browser or requesting web service The View is organized into template files which can also be echoed from or manipulated by the Controller prior to its output The view also contains the PHP code to organize filter and manipulate the format based on the data retrieved from one or more Models Controller The primary function of the controller is to control and delegate In MVC architecture for a web application the controller takes the input from the user trans
54. ntly CSUS Hornet Bookstore is performing this task manually In the sense the laptop information and the customer information are stored in Excel files and any information has to be searched manually through those excel files The two main business objective of this project is to automate the whole process and improve the efficiency of quantity fact and warranty searches The normal database would have been served the purpose but in order to provide the better performance Data mart comes into picture The performance of the searches is improved by using the Fact tables namely Quantity Sold 45 and Warranty and the Dimension tables Once the related query is run the fact table retrieves data fromO dimension tables and stores the data This helps in faster retrieval of data when compared to the database which runs queries every time to view the same result and thereby taking more time in gathering data when compared to a Data Mart Therefore the designed Data Mart provides efficient data access improves performance and Hornet Bookstore users response time The CSUS Hornet Bookstore Data Mart application built has a proxy layer between Front end and application layer with a layer of memory storage This layer helps in increasing performance of the application by not overloading the application server when user requests are made The proxy server stores returned data from the application and when the same requests are made from Front end the proxy
55. objective we will be creating a star schema data mart design data preprocessing and use MY SQL database in creating a data mart Committee Chair Dr Meiliu Lu Date ACKNOWLEDGMENTS I owe my sincere and heartfelt thanks to my project advisor Dr Meiliu Lu for giving me an opportunity to work on my Master s project under her guidance and providing her invaluable support throughout the project Her suggestions and ideas were of great help in getting this project into reality I would like to express my deepest gratitude to the CSUS Hornet Bookstore Computer department for their enormous support encouragement and guidance in making this project a real success I would like to thank them for their patience and time in attending several demos which was carried out throughout this project My sincere thanks to Professor Mary Jane Lee for being my second reader and providing detailed remarks in reviewing my project report I also thank Dr Nikrouz Faroughi for his ideas and support during the course of the project My warm and sincere thanks to my friend Shashi Kumar Nanjaiah for being a great mentor in completion of my Master s project He was my guide supporter critic and teacher throughout the journey of my project You have guided me from silly to the most complicated tasks I have learnt a lot from you and shall always have my deepest respect to you Catty vi My special thanks to my friends Mayur Anand Pramukh Jadhav
56. on onclick ClearForm this form gt Clear lt button gt lt span gt lt div gt lt div style padding left 1 padding top 10px text align left gt lt table cellspacing 5px cellpadding 5px gt SELS lt td gt lt b gt Instructions to Perform The Above Actions lt b gt lt td gt lt tr gt SERP lt td gt 1 Quantity Sold option lt td gt efti SUE td amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp Select quantity sold option lt td gt lt tr gt LES td amp nbsp amp nbsp nbsp nbsp amp nbsp amp nbsp amp nbsp Select Brand name and Product name of your choice then select Term FALL Spring or ALL ALL option displays values for both FALL and Spring and Year lt td gt tr lt t E gt lt td gt amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp Displays result for the choice made lt td gt tr Str lt td gt 2 Warranty option lt td gt Jes Str td amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp Select Warranty option lt td gt lt tr gt SEES lt td gt amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp Type in the Customer First Name and Last Name whose laptop warranty is being searched lt td gt lt tr gt Str lt td gt amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp amp nbsp Select the Band name Product name
57. order to know whether that file can override directives that were configured earlier 6 AllowOverride is specified without any regular expressions It is valid only in Directory sections and not in Location lt DirectoryMatch gt or Files sections The httpd files are completely ignored when this directive is set to None As a result the server will not attempt to read httpd files present in the filesystem Whereas when the same directive is set to All then any directive which contains the httpd Context is allowed in httpd files 14 The RewriteRule is simple and can be analyzed as for any url redirect to index php 6 Now that we have introduced the tools and technology required in designing the Data Mart application for Hornet Bookstore of CSUS in the next chapter we will go into the detailed User requirements and analysis for our application 15 Chapter 3 USER REOUIREMENT AND ANALYSIS 3 1 Introduction The purpose of User Reguirements Analysis phase is detailed understanding of the business need and break down into discrete reguirements which are then clearly defined reviewed and agreed upon with the Subject Matter Experts Business partners Decision Makers Requirements Analysis phase is such an important phase because the framework for the application is developed providing the foundation for all future design and development efforts Data mart application project consisted of project start u
58. ore functionality of an application As the presentation tier captures user interaction and passes it through a disciplined approach is required to adequately process the incoming data Based on Object Oriented best practices and principles the solution s business tier provides an extensible and robust solution for all application needs Functionality will be divided between three types of objects 1 process components that can each be mapped to a single business functional requirement 2 business components that handle the breakdown of this functionality into smaller manageable tasks and 3 Data Transfer Objects that provide the data transports mechanism for moving data between the architect layers e Business Process Component BPC The business process component creates a single entity to encompass complex business functionality and manages the execution of each part of the task through multiple business components Thus a single BPC is used for the execution of the high level task while the Create Read Update and Delete CRUD behaviors of that task are executed by business components e Business Component BC The business component is used to perform a single work item and directly deal with the database stored procedures When designed properly one business component may be used by multiple business 25 process components if the simple task being performed is repetitive among multiple BPCs e Data Transfer Objects D
59. ove figure is the front end design of the Data mart application for the Hornet bookstore Computer science department This design provides the bookstore the ability to trace the number of laptops sold based on the selection criteria finding the warranty for a customer s laptops view detailed information of products at the bookstore and update information of number of laptops sold for a particular brand name product name term and or year 30 Additional to these functionalities the web interface also provides the set of instructions on how to perform the above mentioned tasks Ouantity Sold Product Warranty View Quantity Sold Update Quantity Sold 7 Product Warranty Product Information Information Details Information Figure 6 Use Case Diagram The above figure gives an overview of the data flow in the application from user s 4 3 2 Use Case Diagram Hornet Bookstore Admin perspective Hornet Bookstore administrator has the authority to perform the below tasks using this application they are e To find out number of laptops sold based on brand name product name term and or year e Toretrieve warranty information of customer laptops e To retrieve complete details of laptops which includes Product ID SKU number Brand name Product name warranty period quantity and price of the laptops e To update Quantity sold information for each brand laptops 31 Use Cases List T
60. p activities where we worked closely with the staff at the Computer Department of the Hornet Bookstore at the California State University Sacramento to set up the project infrastructure tools Project Management processes and techniques Additionally a work plan was developed that included a detailed work breakdown structure schedule of activities milestones tasks task dependencies and review acceptance criteria Interviews were conducted with Hornet Bookstore staff to analyze the existing business and technical environment and then listed the business needs The following groups were interviewed to assess organizational imperatives business imperatives and directions case management and fiscal needs and technical standards and vision e Hornet Bookstore Computer Department staff 16 e Engineering and Computer Science IT staff The Computer Department at the Hornet bookstore maintain all the specifications of laptops and information on customer purchase in a database This database is created and maintained by the staff at the bookstore During our interview we noticed that the bookstore currently keeps record of each transaction that is processed in an excel spreadsheet document As a result the bookstore has to manually scroll through different excel spread sheets and then find the required data For this reason we came up with the idea of designing a data mart for the Hornet bookstore This data mart will make life easier fo
61. process The measures are generally numeric and correspond to the how much or how many aspects of a question Examples of measures are price product sales product inventory revenue and so forth A measure can be based on a column in a table or it can be calculated 10 In our application the QuantityFact table stores information regarding number of different brand s product laptops based on the term and year 4 3 User Interface Specifications This section of the Software Design contains details for the screens that will be included in the system These specifications have the details to develop the system 29 4 3 1 Web Interface Design Welcome to CSUS Hornet Bookstore This Page Fetches Data on Quantity of Laptops Sold Update Feature of Laptops and Warranty of Customer Laptops Quantity Sold O Warranty First Name Last Name Update Quantity Sold Brand Name Select Option Product Name Select Value v Product Information Select Term All Select Year Instructions to Perform The Above Actions 1 Quantity Sold option Select quantity sold option Figure 5 Web Interface Design The web interface design covers three distinct aspects which are Usability refers to the flow and navigation of pages Functionality meeting needs and supporting the tasks and Visualization creating interest in accessing the application and avoiding unnecessary distractions 9 The ab
62. putting the data in use i e querying the data creating reports charts and graphs and then publishing these results e Managing This step involves in managing the data mart over the lifetime by providing secure access to the data managing the growth of the data and optimizing the data for better performance In this project we will be developing an application that will be used by CSUS Hornet Bookstore to retrieve data on inventory and sales of the bookstore To achieve this we have developed an expressive web application that can be displayed consistently on all major web browsers PHP with Zend framework is used in the middle tier and MYSQL in the data tier To ease the development of cross platform and JavaScript Ajax based application JQuery JavaScript library is used 1 2 Motivation There are three main reasons behind developing a data mart prototype system for the CSUS Hornet bookstore Computer department They are 1 It helps Hornet bookstore computer department to leave behind their manual approach in gathering sales and customer information and retrieve the required data in a simpler manner through the data mart 2 This project will be set as a practical example for the students who are learning data mart concepts 3 Lastly and most importantly this project served as a learning experience during my Master s project as I was newly introduced to the concept of Data mart Zend framework tool and PHP programming lan
63. r a bookstore administrator to retrieve data in an efficient manner based on inventory and sales of the bookstore 3 2 User Requirements Functional requirement is a requirement which defines the functions of a system based on 1ts input behavior and outputs which is being developed It is defined during the planning phase of the project 7 The functional requirements in this project are listed based on the top priority searches performed by Hornet bookstore they are 1 To find the warranty of computers purchased by the customers in order to find out whether the computers can be repaired at no cost or at some expense a Designated library admin should be able to search warranty for particular customer purchase 17 b The system should display the full first and last names of each customer along with contact information such as Email and warranty information c The system should provide options to select Brand name and Product name of customer laptop d The system should provide options to select the year and term they purchased 2 To find sales rate of different brand laptops for each semester and then decide on ordering more number of particular brand laptops for next semester based on the laptops which was sold out in more number in the previous semester a Designated library admin should be able to find Quantity sold for particular product b The system should provide the list of all Brand names and related Product names
64. server will return the data stored in the memory This way it removes any extra calls to the application layer 12 Based on the feedback from CSUS Hornet Bookstore changes were made to the application Firstly a link was provided to list all the updated and entire product information of laptops by making necessary selection This way 1t makes the work of the Bookstore staff easier and retrieving of the result is faster when compared to retrieval of data from a database by running a query Secondly added Table sorter which is a JavaScript library for sorting the contents in the table Also with the table sorter we can restrict the amount of data flowing to the web application For example if the user performs a search which results in 500 rows of data only first 10 results can be shown when the page is initially loaded The user can then scroll down the table for the next 10 results This makes the application faster to show the minimum data in the initial go 46 rather than waiting for the application to load all the 500 rows for the first time This is one of the functionality the bookstore was impressed also a functionality to change the number of rows to be displayed on the page Later to make the better use of this application a set of instructions on how to use this application was provided which served as the purpose of user manual Overall the bookstore can completely eradicate the use of Excel files and desired searches can be done in a
65. sponse time The main objective of this project is to develop a data mart prototype for the CSUS Hornet bookstore The purpose of creating this prototype is to help the Hornet bookstore to retrieve the data in an efficient manner based on inventory and sales of the bookstore The top two priority searches are e To find the warranty of computers purchased by the customers in order to find out whether the computers can be repaired at no cost or at partial expense iv e To find sales rate of different brand laptops for each semester and then decide on ordering more number of particular brand laptops for next semester based on the laptops which was sold out in more number in the previous semester In this project only the top two search priorities are considered Currently the bookstore keeps track of all the items in an excel sheet where in a user has to manually search for the correct data by scrolling through different excel sheet and find the needed data Therefore this data mart will help the Hornet bookstore computer department to retrieve the required data in a simpler manner by providing the data based on the query they are running to obtain information about specific items and as well as sales on certain dates This project not only helps the hornet bookstore but in turn helps the students who get enrolled in CSC177 coursework because it provides a practical example while learning data warehousing and data mart concepts To achieve this
66. startup errors 1 phpSettings display errors 1 development production For development we want to display errors and use a different database phpSettings display startup errors 1 phpSettings display errors 1 resources db params host localhost resources db params username root resources db params password password resources db params dbname DataMart 54 APPENDIX D Project Source Code Layouts lt php echo S this gt doctype ll Scontroller Zend Controller Front getInstance gt getRequest gt getControllerName Saction Zend _Controller_Front getlInstance gt getRequest getActionName Sviewlist array home gt array search gt array search index searchresult gt array searchresult index warrantyresult array searchresult index 2 lt html xmlns http www w3 org 1999 xhtml gt lt head gt meta http equiv Content Type content text html charset utf 8 title Library Application lt title gt php echo this headLink appendStylesheet this gt baseurl css general css echo this gt headLink gt appendStylesheet this gt baseurl css test css echo this gt headLink gt appendStylesheet this gt baseurl css navigation css 22 lt head gt lt body onLoad init gt lt div id wrapper gt lt div id navigation gt Welcom
67. t style gt lt form name warrantyresultsform gt lt div style padding left 40 padding top 10px gt lt b gt Customer Warranty Search Results lt b gt lt div gt lt div gt lt table cellspacing 10px cellpadding 10px gt SUI lt td class label gt First Name lt td gt lt td gt lt php echo Sparams firstName gt lt td gt td class label gt Last Name lt td gt lt td gt lt php echo Sparams lastName gt lt td gt lt td class label gt Selected Term lt td gt lt td gt lt php echo params term td lt td class label gt Selected Year lt td gt lt td gt lt php echo params year gt lt td gt STEE lt tr gt lt td class label gt Brand Name lt td gt lt td gt lt php echo Sparams brandName gt lt td gt lt td class label gt Product Name lt td gt lt td gt lt php echo Sparams productName gt lt td gt lt tr gt lt table gt lt div gt lt php result this gt results So lt table class tablesorter id myTable gt lt thead gt lt EL gt lt th gt Last Name lt th gt lt th gt First Name lt th gt lt th gt Email lt th gt lt th gt Brand Name lt th gt lt th gt Product Name lt th gt lt th gt Date of Purchase lt th gt lt th gt Months Remaining lt th gt lt th gt Warranty lt th gt Uer thead lt tbody gt foreach result as Srows 83 So lt tr gt td rows
68. t of any business enterprise It helps an enterprise analyze its current situation and predict the future Organizations that do Financial Forecasting Decision support Logistics and Inventory Management applications uses data warehouse to learn various topics including product profitability customer demographics and external data to provide analysis and so on The primary objective of a data warehouse is to maintain and analyze historical data Data Mart is a repository of data which is formed by collecting data from operational data or any other sources that satisfy the demands of a particular group or community Data marts are the subsets of an organizational data warehouse which draws data only from few sources based on the single subject focus such as Sales Finance or Marketing Majority of business related analytical activities takes place in a data mart Each data mart is tailored for a particular function or activity The organization of data in a data mart follows a simple schema structure called Star schema The data which is being analyzed resides at the star s center and around the center resides other data that describe the dimensions For example facts constitute the sales of a product in an organization and dimensions holds the analysis of product customer and date of purchase and so on Data marts are smaller and less complex when compared to Data warehouse For example a data warehouse of an IT organization contains all the d
69. turn initiates the PHP interpreter to take the control Then the PHP interpreter communicates to the file systems databases and email servers and does the required action and then delivers the webpage to the web server to return to the browser The interpreter uses a configuration file to determine the setting that needs to be used which is usually defined in a php ini file 3 PHP along with MySQL provides a very powerful solution to collect the data from the users create specific content on the fly and perform other operations like printing data making comparison performing numeric calculations which is not possible with HTML alone 2 3 MySQL MySQL is an open source enterprise level multi threaded relational database management system that stores and retrieves data using the Structured Query Language SQL The MySQL is currently owned by Oracle Corporation but the source code is made available for free under the terms of GNU General Public License GPL with proprietary agreements Relational Database is one that stores data in the form of relational tables unlike the flat files A Structured Query Language SQL is a standardized query language for getting information from a relational database A Database Management System DBMS is a system that manages relational databases It can also be referred to a collection of programs that enables storage modification and extraction of information from a database The advanta
70. unction dropdown sel f if sel options selectedIndex 0 alert Please choose an option return false else document forml isInWarranty value document forml warranty checked document forml quantitySold value document forml qsold checkeg document forml action home search sel form submit var currentEnabled null function enableElement eleml lem2 if currentEnabled currentEnabled disabled true eleml disabled false elem2 disabled false currentEnabled eleml Kal function disabl ment eleml lem2 document forml firstName value document formi lastName value eleml disabled true elem2 disabled true currentEnabled eleml 70 function SubmitForm document forml isInWarrantv value document forml warrantv checked document forml quantitySold value document forml qsold checked if document formi warrantv checked false amp amp document forml qsold checked false alert Please Select Quantity Sold or Warranty Before Search return false if document formi brandName options selectedIndex 0 alert Please Select a Brand Name Before Search return false if document forml isInWarrantv value true mm if document forml firstName value document forml lastName value alert Please Enter Customer F
71. w cs st andrews ac uk ifs Books SE8 index html 85 8 Stellman Andrew Greene Jennifer 2005 Applied Software Project Management O Reilly Media p 113 ISBN 978 0 596 00948 9 http www stellman greene com aspm 9 Web Interface Design Online Available http www edtech vt edu edtech id interface index html 10 IBM Informix Database Design and Implementation Guide Online Available http publib boulder ibm com infocenter idshelp v 10 index jsp topic co m ibm ddi doc ddi223 htm 11 Rob Allen Getting Started with Zend Framework Online Available http www tanit hu files getting started with zend framework 152 pdf 12 Data Mart Online Available http www shinstudio com blog backend tech use cache technologies to improve performance of your site 13 Web Development Tools and articles Online Available http www xibl com web development html5 features ti ps and techniques you must know 86 14 Chrisina Draganova Asynchronous JavaScript Technology and XML AJAX Online Available http www londonmet ac uk fms MR Site acad foc research conferences jicc 1 pdf
72. wing code Datamart index php php set include path implode PATH SEPARATOR array realpath dirname FILE 7 library get include path Define path to application directory defined APPLICATION PATH Il define APPLICATION PATH realpath dirname FILE application Define application environment defined APPLICATION ENV I define APPLICATION_ENV getenv APPLICATION ENV getenv APPLICATION ENV development Zend Application reguire once Zend Application php Create application bootstrap and run Sapplication new Zend_Application APPLICATION_ENV APPLICATION_PATH configs application ini Sapplication 2 bootstrap Sapplication 2run gt 38 In the Bootstrap file make sure that the Zend Framework is in the include_path by setting the initial include_path Also move this file to the php ini or web server configuration for performance reasons 11 set include path implode PATH SEPARATOR array realpath dirname FILE 7 librarv get include path 39 The design of the Zend Framework is such that the files should be on the include path In order to make the work easier in loading the models classes place the models directory on the include path Zend php files are to be included to have access to the Zend class because it has the required static functions which help us to load any other Zend Framework class Zend
73. ws that we have complete control over our Apache configuration however a little modification is made to the same structure The modification is as follows Create a directory in the web server s root directory called Data mart i e the URL to go to the application is http localhost Datamart 11 Application s files are located by creating the following subdirectories Datamart application controllers layouts models views library public images scripts styles From the above subdirectories created we noticed that there are separate directories for the model view and controller files in our application Supporting images JavaScript files and CSS files are placed within the public subdirectory The Zend Framework files which are downloaded will be saved in the library folder and if any additional libraries used they can also be placed in the same folder 11 37 5 4 Bootstrapping The Zend Controller of Zend framework supports all the websites with clear or valid URL s This is achieved by sending all requests to pass through a single index php file called Bootstrapper Bootstrapper acts as a central place for all pages in an application and guarantees that the environment setup is perfect for running the application This is accomplished by using an httpd file in the Datamart root directory 11 5 4 1 The Bootstrap File index php The bootstrap file in our application is Datamart index php We start with the follo
Download Pdf Manuals
Related Search
Related Contents
here - TCDB PH4/OR4 Sensor Series pH and ORP Sensors LEYBOLD DIDACTIC GMBH Mode d`emploi 666 410 Instrucciones リフト点検資格者 Nokia 6708 User's Manual Atomic Accessories PCA.34 gaming control Samsung WA56H9000AP/A2 Specification Sheet Copyright © All rights reserved.
Failed to retrieve file