Carnegie Mellon University Portfolio

Carnegie Mellon University

Graduate school projects and practicum at the School of Computer Science

Data Mining

The web application displays the predicted results of our test data using the kNN Algorithm. The application was written in Java and the GUI was constructed in a JSP using CSS, JavaScript and DHTML. The actual calculations performed by the Java kNN class can be viewed seemlessly by clicking on a row arrow. As shown by the calculations, the Euclidean Distance formula was used to calcuate the distance between contineous attributes. A similarity matrix was used to calculate the distance between symbolic attributes.


Product data is stored in a mySQL database using indexed tables. Each product line, product subline and product is associated with a primary key so each item can be queried uniquely. The search results GUI was developed with usability in mind by listing out the search results outcome. This includes number of results found, alphabetical listing of results, hyperlinks to results and a keyword modification link to perform a new search. The search functionality exists in a simplified textbox persistant on all web pages and also in an advanced search web page.


An order's shipping status can be viewed by entering an order number. The order number is sent to the Shipping Service via a XML web service. The results of the order are then returned back to the web server in raw XML. This xml is then transformed to HTML on the server and sent back to the client via a XSLT. A schema (XSD) is used to validate the raw XML being returned from the Shipping Service.


All orders are placed in a XML order log. Because the log can contain a lot of orders which results in a large file size, the XML order log is parsed using SAX. The SAX methods will parse the XML log and return only the XML for a specific order based on an order number given at the time of purchase.


When an order is successfully placed, the XML shipping service generates an an order number. The order number is sent back to the web application via a XML web service which is then displayed to the user. The order number can be used to track the order.


Product information and access to the company’s order entry system are considered highly sensitive. In order to provide security and prevent our competition from eavesdropping on our communications or tapping into our ATP and order entry systems, we have incorporated a WTLS Server Certificate, and WIM access using Nokia’s Soft ID.

Mobile Architecture

Back-end database connectivity was established to a mySQL database using Java and JDBC. Prepared SQL statements were written that queried the database and returned a resultset. That resultset was then transformed into WML format. The end result was the ability for a user to view Moffett Foods’ products, product lines and sublines via a WAP device.