Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP3241 E-Business Technologies Richard Henson University of Worcester October 2012.

Similar presentations


Presentation on theme: "COMP3241 E-Business Technologies Richard Henson University of Worcester October 2012."— Presentation transcript:

1 COMP3241 E-Business Technologies Richard Henson University of Worcester October 2012

2 Week 3 – Early Web Applications, ActiveX, and Database connectivity n Objectives:  Contrast between client-end applications and client-server applications  Explain the architecture of web-based database connection with server-scripting  Create a presentable shopping page using data from a database

3 Flatfiles and Databases n n Many so-called databases are just lists of data   retrieval of data can take a looonnnggg time n n Database proper links logically data:   hierarchically   relationally   object-oriented n n Relational still popular mainly because of SQL

4 Relational Databases n n Tight data structure means existing data can be more rapidly located… n n Real advantage of a true relational database is that SQL can be used for read/write & query database operations

5 relational Linking Server Script code with a relational database n n To make a two-way link with a relational database:   need relevant data access components » »components for IIS-based scripts available from Microsoft (MDAC)   “datasets” need to be defined using a programming language & embedded SQL   connectivity link needed to database pathname

6 Database Design n n Same principles apply as with any other relational database management system (RDBMS)…   identify entities & attributes   produce entity relationship » »define logic relationships between entities   make sure data is fully normalised » »create tables & links   use embedded SQL statements in the server script to communicate with the data: » »extract data from specific fields in particular tables » »put data into specific fields in particular tables n n Some “self-taught” developers are unaware of this, and try to build the data round the processing…

7 Evolution of Application - RDBMS connectivity n In the early web development days…  the connection of an application to a particular relational database would be hard coded and made available as an API (application program interface)  a client application then had to be written to use the proprietary API Even then, there was a problem: n If more than one RDBMS needed to be used?  several different APIs would be used  each needed a client application…  added greatly to the complexity of the task!

8 The Microsoft Solution: the ODBC API n Ideal: the “Universal Data Access” (UDA) model  all data consumers interact with all data providers…  response to the “API for each application” problem n First stage: ODBC = Open Database Connectivity  developed in early 1990s: »common API for writing applications to access ANY relational DBMS for which an ODBC driver had been written  Once the APIs had all been written, tried, and tested… »any relational database with an ODBC compliant interface could use them »easy database path connectivity string management

9 ActiveX n The next stage in evolution of Microsoft’s data objects model  sexy name for OLE v2.0  made up of… »OLE n Object Linking and Embedding… »Combined with COM n Common Object Model n ActiveX Data Objects make up a series of modular components called ADO  used for “run-time” web applications  basis of.net controls

10 What is ActiveX? What is ActiveX ® ? n V. successful Microsoft invention… n Run-time code became known as a “control”  NO source code so can’t be embedded in HTML, but can be called from a HTML file »Runs on any Browser (not interpreted…)  allows compiled (i.e. executable) code to talk to host applications  difficult to “hack” the code if source code not available n As the scripts are compiled into executable versions the source language is irrelevant  languages other than VB used…

11 More about VB ActiveX Data Objects (ADO) n Use a common, easy-to-use object model n Designed to simplify the writing of client applications to access data sources through OLE DB providers  more flexible than DSN »had to be specified on the local machine and limited to using the ODBC providers on that machine n Data sources could now also include:  spreadsheets  graphics  web pages…

12 OLE DB n Application of OLE/ActiveX principles to connectivity between applications and databases  to be more precise, relational database management systems! n Interface specification that provides a layer of abstraction between:  a data provider e.g. relational DBMS  a data consumer e.g. business object or client application

13 Universal Data Access in practice

14 System Connection to the Database n n Provided by Microsoft Data Access Components (MDAC)   easily downloaded: » »http://www.microsoft.com/en- us/download/details.aspx?id=5793http://www.microsoft.com/en- us/download/details.aspx?id=5793   covers of range of databases   need most up-to-date version of MDAC (2.8 SP1) to work with latest database versions…

15 Use of MDAC with “path” n n Once the correct components have been chosen…   a logical 'connection' can be set up with the database – wherever it is!   If this isn’t correct, scripts on a web server can’t even link with, let alone interact with, a relational database n n “Database Path” must include:   a definition of where the database is   a few simple rules on how the database should be treated

16 Making a connection to a database on the web server n n Two systems still used:   ODBC – “legacy”.asp scripting   OLE DB –.aspx connectivity n n Whichever is used…   essential to get connectivity working correctly » »RAD tools like VWD very helpful in achieving this… n n Once connectivity achieved, server-script can use embedded SQL commands to link to and communicate smoothly with database tables   again… RAD tool like VWD can save a lot of time…

17 Databases & web pages n n Some early e-commerce applications used embedded JavaScript and a small local database n n Problems:   database took a long while to download & could be tampered with!   if database ran locally how could data be updated… prices changed, new products added?

18 Early online shopping example : Shop@ssistant n Came out of the early “wow, Java” revolution in web development  http://staffweb.worc.ac.uk/hensonr/shop@ssistant http://staffweb.worc.ac.uk/hensonr/shop@ssistant n Whole system (30kb) written in Java Script, runs on the client machine (!)  stores & presents product data  shows all the components and functionality expected of a shopping cart system  interfaces with merchant systems that can be used to handle online payment n TAKE A LOOK!!! Or download and run it yourself

19 Critical Look at Client-end “apps” n Absolutely fantastic! n Even better on a mobile… BUT usually for entertainment only… BUT usually for entertainment only…  only small data sources, or infrequently changed data sources are used  usually “single user”

20 Whatever happened to “client only” web shopping? n In an ideal (Internet) world everything would be able to run via the browser on the client machine. Result:  faster  all data local  more controlled n The “Java+client-end HTML” model is fine…  until you need to store and change data… securely!!

21 Applications requiring multi-client use & shared data n Specific requirement:  Large, regularly updated centralised data store that needs to be accessed by a number of clients  Requirements for client-end solution ? »database updated centrally »database downloaded every time the application is to be used!  Feasibility of client-end solution? »not powerful enough? »client not enough storage capacity? »not sufficient bandwidth? »downloading databases can compromise security

22 Using a remote database with a web page n n Compelling reason for client-server web applications…   data held in a secure place   product data easily updated   database processing can happen at a powerful server

23 Demands of Applications based on centralised data storage! n Typically… the database is :  secure  readily accessible from all clients  queried remotely  alterable only by specific persons n Only achievable through a client-server model

24 How Server Scripts can Interact with Databases n n Contain embedded SQL code that can extract data from or send data to a database

25 How Server Scripts can Interact with Databases   Whenever a database is updated… » »updated data picked up by server-script when it runs » »updated data displayed on client

26 How Server Scripts can Interact with Databases   Whenever a browser form captures data… » »data transferred directly to relevant server » »then stored in specified database field(s)

27 How Server Scripts Interact with Databases n n Whenever database information needs to be presented:   database fields and records taken into server memory   data sent to local machine to be displayed within a HTML format

28 Parameter Passing between Programs n n Essential to programming n n Coding can rapidly get quite complex… n n Essential for   product selection   passing data into a remote SQL query   sound horrendous? » »you’ll be eased into this gently… » »Starting NEXT week.

29 Mechanism for variable passing between Dynamic Web Pages n n HTML “GET” function:   parameter/s tagged on to the URL e.g. » »Get /thetest.jsp?firstname=richard&password=holidays&la stname=henson&action=transferbankfunds   Can result in v. long URLs…

30 Variable Passing between Dynamic Web Pages n n Alternative: “POST”   designed to be used within HTML forms… n n Example of syntax, added to HTML coding within …   post /thetest.jsp firstname=richard&password=holiday s&lastname=henson&action=transfer bankfunds

31 And now for the practical… Thanks for listening!   http://csharpdotnetfreak.blogspot.com/2009/05/as pnet-creating-shopping-cart-example.html http://csharpdotnetfreak.blogspot.com/2009/05/as pnet-creating-shopping-cart-example.html


Download ppt "COMP3241 E-Business Technologies Richard Henson University of Worcester October 2012."

Similar presentations


Ads by Google