1 / 28

Comp2513 E-Commerce Infrastructure 2

Comp2513 E-Commerce Infrastructure 2. Daniel L. Silver, Ph.D. Objectives. To complete an overview of the major architectural components of the Internet that form the infrastructure for E-Commerce References: portions of Sharma Ch.1 and 2, and DDEA Ch.7. Outline. Review of Architectural Map

sidonia
Download Presentation

Comp2513 E-Commerce Infrastructure 2

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. Comp2513E-Commerce Infrastructure 2 Daniel L. Silver, Ph.D.

  2. Objectives • To complete an overview of the major architectural components of the Internet that form the infrastructure for E-Commerce • References: portions of Sharma Ch.1 and 2, and DDEA Ch.7 Daniel L. Silver

  3. Outline • Review of Architectural Map • Dynamic Interactive Webpages • Forms and CGI • Java and Applets, JavaScript • Cookies • Servlets and Application Servers • Database and Database Servers • Beyond HTML: XML • Security and Authentication • Electronic Payment Daniel L. Silver

  4. Major Architectural Components of the Web Bank Server Client 1 Dedicated Browser HTTP TCP/IP Server A HTTP Server App. Server Database Server Internet Client 2 Browser prog.cgi URL index.html Server B Bank Server Daniel L. Silver

  5. Dynamic Internet Pages! • HTTP allows client to request a webpage (URL) and server to respond • HTML and browser allows display of data sent from server • How do we move data to the server? • How do we provide program logic at the client? • e.g. Check the postal code: B0P 1XO Daniel L. Silver

  6. Forms and CGI • The HTML <FORM> tag specifies that: • Input data will be received from the keyboard • Data should be processed by a server application if SUBMIT button is pressed • CGI – Common Gateway Interface • Standard for HTTP client-server application communications. It defines how: • A client can request to run an application on a server and use specified input data • A server application can pass the response back to the client • It is NOT a programming language Daniel L. Silver

  7. Forms and CGI • An Example: greeting.html Daniel L. Silver

  8. Java and Applets • Java is an OOP language developed by Sun Microsystems • Platform independent – code is interpreted by a Java Virtual Machine (JVM) • A Java applet is a Java program that is launched by a browser: • HTML page contains reference to an applet • Applet is downloaded from server • Java is executed by JVM assoc. with browser Daniel L. Silver

  9. Java Applet • Advantages: • Client side logic for dynamic content and format of pages • Client side logic for complex algorithms and local data manipulation • An Example: HelloApplet.html Daniel L. Silver

  10. Javascript • Introduced by NetScape • A client-side language • Provides program logic embedded in HTML for generation of dynamic webpages and minor computation • Manipulation of objects in HTML page including the creation and movement of browser windows • Most importantly allows validation of entered FORM data Daniel L. Silver

  11. Web Sessions? • Recall the problem of web sessions being connectionless • TCP/IP is connection oriented but each HTTP request/response uses one such connection and then terminates • State is not maintained from page to page • Each item you order is a separate request • So how does a E-Comm site know how to accumulate orders for you? Daniel L. Silver

  12. Cookies • A Cookie is a small piece of data placed on a client system that is used by the server to identify the client • Client, about to make a request to a server, checks to see if it has an associated cookie • If cookie, then send it with the request • Server checks for cookie in request • If cookie, then pass it to any applications called • Server may create a new cookie and return it with the response to the client • Client receives response and checks for new cookie • If cookie, then it saves it for this server URL Daniel L. Silver

  13. Servlets and Application Servers • Java Applets have three major drawbacks: • Take time to load unto client • May not work as planned (depends on JVM) • Potential security risk for client • Server-side code is preferred for business logic • CGI allows an application to run on server but creates server performance problems: • Each time a separate process must be spawned Daniel L. Silver

  14. Servlets and Application Servers • Servlets overcome this problem • Servlets rely on a Servlet Engine (Application Server) to manage multiple requests for the same application • Tomcat is one of the most common Servlet Engines Daniel L. Silver

  15. JSPs – Java Server Pages • A relatively new Java programming model from SUN that follows IBM’s older net.data and MS’s Active Server Pages • Objective is to separate the application processing code from the HTML presentation code • Easier to build dynamic E-commerce applications without loss of servlet power Daniel L. Silver

  16. Skeleton of a JSP <HTML> <HEAD> <TITLE> HelloJSP1</TITLE> </HEAD> <BODY> <H1>Hello JSP - Example 1 </H1> <BEAN name="textProvider" type="example.Bean.HelloJSP1" scope="request"> </BEAN> <B><%= textProvider.getTextMessage() %></B> </BODY> </HTML> Basic Html Code Java Object Created as a Java Bean Calling a method of the Java Object Daniel L. Silver

  17. Major Architectural Components of the Web Bank Server Client 1 Dedicated Browser HTTP TCP/IP Server A HTTP Server App. Server Database Server Internet Client 2 Browser prog.class URL index.html page.jsp Server B Bank Server Daniel L. Silver

  18. Database and Database Servers • Database - A collection of data, structured in a well defined format, accessed by multiple applications using standard commands, ensures integrity of access • DBMS – Database Management System – facilitates and optimizes database I/O • Database Server – A server that runs a DBMS and can field requests for data I/O Daniel L. Silver

  19. Database and Database Servers • raven.acadiau.ca will be our database server • Our DBMS will be PostgreSQL (Postgres) • Postgres is a relational database – like a set of spreadsheet tables • Used to store all data for products, categories and stores • ODBC – Open Database Connectivity • JDBC – Java Database Connectivity Daniel L. Silver

  20. XML • eXtensible Markup Language • HTML tags such as <B>Silver<\B> tell how to display the word “Silver” (syntax) • But its does not define what it means • XML defines meaning (semantics): <last_name>Silver<\last_name> • And to create structure … <mail_adrs> <fname>Homer<\fname> <lname>Simpson<\lname> <strnum>1234<\strnum> <str>Hickup Lane<\str> <\mail_adrs> Daniel L. Silver

  21. Security and Authentication • HTTP connections can be “sniffed” for their data – just plain ASCII text • Encryption methods encode text to make it unreadable • Public and private keys are used for coding and decoding encrypted messages • Authentication concerns ensuring that a sender is who she says she is Daniel L. Silver

  22. Security and Authentication • Certificate is an entity’s public key plus other identification (name., location) • SSL – Secure Socket Layer • Lies between TCP/IP and HTTP and performs encryption • HTTPS is the HTTP protocol that employs SSL – it will use a separate server port (default = 443) Daniel L. Silver

  23. Security through HTTPS Bank Server Client 1 Dedicated HTTP TCP/IP Browser Server A port = 80 HTTP Server App. Server Database Server HTTPS port = 443 prog.cgi URL index.html Daniel L. Silver

  24. E-Payment • Credit card • Debit card • Micro-payments • Smart card Daniel L. Silver

  25. Major Architectural Components of the Web Bank Server Client 1 Dedicated Browser HTTP TCP/IP Server A HTTP Server App. Server Database Server Internet Client 2 Browser prog.cgi URL index.html Server B Bank Server Daniel L. Silver

  26. Successful E-Commerce Applications • Flexible – ever changing products, technology, business process • Multi-channel interfaces - diversity of user and external application access • Security – a primary concern • Integration – no application is an Island Daniel L. Silver

  27. Summary of Technical Requirements for E-Comm. • Dynamic, personalized web user interfaces • Multi-channel user interface support • Adheres to standard application interfaces • Distributed programming/acrhitectural model • Deployment on distributed components • Distributed transaction support • Asynchronous message communications • Strong security Daniel L. Silver

  28. THE ENDdanny.silver@acadiau.ca

More Related