1 / 47

Project Setting

Project Setting. Group Assignment. PJ1: Ryan Parkinson PJ2: Tomasz Szabla, David Harding, Daniel Maltese PJ3: Marc Lafratta, Kiran Varagur, Daniel Moore PJ4: Tony Cheung, Leeanna Tieu, Evan Pearce PJ5: Vista Eydatoula, Stefan Ionita, Daniel Vacar PJ6: Wenfei Tao, Danqing Li, Li Xu.

ondrea
Download Presentation

Project Setting

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Project Setting

  2. Group Assignment • PJ1: Ryan Parkinson • PJ2: Tomasz Szabla, David Harding, Daniel Maltese • PJ3: Marc Lafratta, Kiran Varagur, Daniel Moore • PJ4: Tony Cheung, Leeanna Tieu, Evan Pearce • PJ5: Vista Eydatoula, Stefan Ionita, Daniel Vacar • PJ6: Wenfei Tao, Danqing Li, Li Xu

  3. ODBC and FTP setting • ODBC setting for projects 4kd3pj1,… ODBC NAME                LOGIN              PASSWORD ODBC4KD3PJ1             4KD3PJ1           sqlpjone ODBC4KD3PJ2             4KD3PJ2           sqlpjtwo • FTP for 4KD3PJ1, … ftp://facbusad1.business.mcmaster.ca/4kd3pj1/ Use your own FTP login MAC ID and Password for the assigned group • URL for 4KD3PJ1,… http://facbusad1.mcmaster.ca/users/ap1/4kd3pj1/project.html

  4. Project DB Tables • These SQL server accounts have been recycled from previous years. Please DELETE any prior existing tables to avoid any confusion in setting up the SQL database for your project.

  5. Hint for Assignment 5

  6. Using Dreamweaver to access assignment 4 • Open Dreamweaver • You may need to create the site again if you do not use the computer you used before • Open the Tutorial_asp site • Assume you have succeed in assignment 4.

  7. Add search for product by occasion • In order to allow user search for flowers by occasion you need to do three things: • Add search by occasion option • Let user make choice on occasion • Assemble a SQL query for occasion search

  8. Add search by occasion option • You can add search criteria in homepage.html such as • <option value="ByOccasion">Occasion</option>

  9. Let user make choice on occasion • Modify search.asp to create a new case <% case "ByOccasion"%> • You may copy the code of the case ByPriceRange and modify it to let the user select an occasion. • <input type=hidden name="SearchingMethod" value="ByOccasion">

  10. Provide occasion options <select name="UseOccasion" size="1"> <option value="occasioncode1"> Christmas </option> … </select> Here the occasioncode1, … should be the actual code you used in the usage table as the foreign key for each occasion.

  11. Assemble a SQL query for occasion search SQL = "SELECT Products.Product_Code, Product_Name,Unit_Price FROM Products, UsageWHERE ((Usage.Product_Code=Products.Product_Code) and (Occasion_Code=“& Request.Form("UseOccasion") & “))" • Since SQL statement in VisualBasic must be on one line. If you split it into multiple lines, make sure put ”_” for continuation. • Do not copy and paste the code from PowerPoint directly because there are hidden codes that causes errors

  12. Enter receiver name and address • When user places order, you will request user to enter receiver name and address • For existing user, you let her enter receiver name after enter user name and password in check.asp • For new user, you let her enter receiver name when she wants to place order in registration.asp

  13. Enter receiver name and address In both check asp and register.asp add the following: <tr> <td ALIGN=right><font face="arial" size=-1>Receiver Name:</font></td> <td><input name="ReceiverName" size="17" maxlength="32"></td> </tr>

  14. Store additional order information in database • You need to store receiver name and address in Order table • In Orderling.asp you may insert RsOrders("Receiver_Name") = Request.Form("ReceiverName") • Here Receiver_name should be a field name in your Orders table

  15. Enhance the looking of your web page • You can add extra information and change the style for your web pages.

  16. Extensible Markup Language (XML)

  17. Problems with original HTML • Cannot separate the content, layout, and format of pages • Lack of style definitions • Web page elements could not be accessed from scripts or other programs • No constructs for caching and data manipulation on the client • Round trip to server

  18. http://www.gtaa.com/webfids/arrivals.htm

  19. DHTML • Microsoft DHTML: HTML 4.0 + additional features, Netscape: only HTML 4.0 • Key DHTML features: • Document Object Model (DOM)all page elements as objects that can be manipulated by scripts • Cascading Style Sheets (CSS)allow formats to be defined and controlled for the types of elements, allow overriding • Remote data services (RDS)allow data to be cached and dynamically displayed (formatted, sorted, and filtered without round trip to server)

  20. Extensible Markup Language (XML) • Much better than HTML and DHTML • Clear separation between document structure, content, and materialization using XML and XSL • Standardized but allow for extension • Accurately represent the semantics of the data • http://www.w3.org/XML/

  21. http://www.w3schools.com/xml/xml_display.asp

  22. XML Documents Form a Tree Structure

  23. Materializing XML Documents using CSS <STYLE TYPE =“text/class”> <!– customer{font-family:Lucida;fount-style:normal;color:black} name {font-family:Lucida;fount-style:normal;color:green} lastname {font-family:Lucida;fount-style:normal;color:red} --> </STYLE>

  24. Extensible Style Language (XSL) • Declarativecreate a set of rules that govern how document is to be materialized • TransformationalXSL can transform an XML into HTML

  25. http://www.xmlpitstop.com/default.asp?DataType=XMLEXAMPLES

  26. Example

  27. The Importance of XML to Database Applications • XML may be most important after relational model • Standard means for expressing the structure of database views • Clean separation of structure, content, and materialization • Document validity checking • Standards for XML document types

  28. The primary uses of XML • Exchanging information between heterogeneous applications, enterprises, databases, etc. • Enabling styling and presentation of the same information on multiple output devices and/or for different purposes and audiences • As a storage format for long-lived or structurally rigorous document-centric information, such as aircraft manuals or enterprise information models. • Source: http://www.topxml.com/xml/articles/whatisxml/

  29. The XML Family of Standards • Define an XML language • XML • Namespaces, • XML-Schemas • Format and display XML documents • CSS (Cascading Style Sheets) • XSL (Extensible Style Language) • XSLT (XSL Transformations) • Develop processing applications • DOM (Document Object Model) • SAX (Simple API for XML) • XSLT • Exchange information between systems Purpose-specific standardized XML languages such as: • SOAP (Simple Object Access Protocol) • SVG (Scalable Vector Graphics) • WML (Wireless Markup Language) • XCBL (XML Common Business Library)

  30. PureEdge XFDL • XFDL provides the ability to securely send and receive legally-binding XML documents. • Encapsulates presentation, data, computational logic, and business semantics in a single XML document. • Can be digitally signed and stored to provide non-repudiation, enabling high-value, binding e-commerce transactions. • http://www.pureedge.com (now is IBM Lotus Electronic forms http://www-01.ibm.com/software/lotus/forms/)

  31. Example of XML Standards Page 299 Figure 11-22 © 2000 Prentice Hall

  32. Outlook of XML • According to Gartner, 75% of the Fortune 500 used XML in at least one pilot project in 2000, and in at least one application integration project by the end of 2001 • According to International Data Corp., the market for XML servers and databases was $390 million in 2001 and will be $3.7 billion by 2005 • Source: Language Lessons by Charles Babcock, CIOINSIGHT, 02.2002

  33. XML Query • XML can represent almost anything—files, graphics, Web services, etc. As developers store more and more information in XML format, they also have an increasing need to be able to search and update XML documents.

  34. Why do we need to query XML? • some information that you want to query does not fit well into a RDBMS • need to be able to query Web data • search, extract, manipulate, and process XML information • the growth of XML documents used “outside the browser” for data exchange

  35. XQuery:A query language for XML • XQuery is the first language to receive industry-wide attention and support. • It is currently being developed by the W3C XML Query Working Group and has a "Working Draft" status. • It is a vendor independent, powerful, and easy to understand method for querying and retrieving XML data.

  36. XQuery: A query language for XML • The creators of XQuery went beyond basic search and update capabilities. • An XQuery implementation can search multiple back-end systems and combine results, effectively integrating multiple sources of information. • XQuery can also transform the content and structure of XML documents. You can use XQuery expressions such as element and attribute constructors to express the structure of the result document. • With transformation powers that rival XSLT, XQuery goes where no query language has gone before because it not only provides query results, but can also prepare those results for presentation.

  37. XQuery: A query language for XML • XQuery is a functional language in which a query is represented by an expression • XQueries can be nested • The Input and Output of an XQuery is an instance of the XML Query Data Model (now called XQuery 1.0 data model) • Based on OQL, SQL, XML-QL, and XPath

  38. SQL vs. FLWR SQL version: SELECT pno, avg(price) AS avgprice FROM sp GROUP BY pno HAVING count(*) >= 3 ORDER BY pno; XQuery version: FOR $pn IN distinct(document("sp.xml")//pno) LET $sp := document("sp.xml")//sp_tuple[pno = $pn] WHERE count($sp) >= 3 RETURN <well_supplied_item> $pn, <avgprice> avg($sp/price) </avgprice> </well_supplied_item> SORTBY(pno)

  39. An application Scenario In this scenario, the apparel chain Wearhouse Inc. has a product catalog maintained in XML, but a sales database maintained in DB2. You are charged with building some custom reporting applications. You have just discovered the power of XQuery, so you decide to use an XML server capable of data integration to build these reports. Here's a sample query you might write that combines information from both the XML and DB2 data sources: Source: Tim Matthews and Srinivas Pandrangi Five Practical XQuery Applicationshttp://www.projectcool.com/xml/Article/15618

  40. XQuery <sales> { for $product in document("products.xml")/products/product, $sales in view("db2/sales_view")/sales/product where $product/productId = $sales/productId return <product id="{$product/productId}"> {$product/productName, $product/productSpec, $sales/mrq, $sales/ytd, $sales/margin} </product> } </sales>

  41. XQuery usage examples • Human readable documentsWe may want to perform queries on structured documents or to retrieve individual documents or data from those documents in order to generate tables of contents, search for information in the document’s structures, or to generate new documents as the result of a query. • Data oriented documentsWe may want to perform queries on the XML representation of database data, object data, or other data source in order to translate it into new XML data representations.

  42. Xquery Usage Examples (cont’d) • Mixed Model Documents We may want to perform queries on documents with embedded data such as employee records, telephone/address listings, etc. • Catalog Search We may want to query catalogs describing document servers, document types, XML schemas, etc to help in identification of the type of data contained on a server for server selection.

More Related