Download presentation
Presentation is loading. Please wait.
Published byMarylou Butler Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.