Overview of Web Services, Programming Environments, Software Applications and Programming

Download Report

Transcript Overview of Web Services, Programming Environments, Software Applications and Programming

Overview of Web Services,
Programming Environments, Software
Applications and Programming
Languages Used for Ecommerce
Virginia Franke Kleist, Ph.D.
Objectives of Today’s Class:





Obtain an overview of the numerous
applications and languages used in building
the ecommerce web site
Explore where these applications are typically
deployed
Explore when these applications are used in
the typical scenario
Look at sample pieces of code to understand
conceptually how they work
Discuss where these applications are headed
in the future
Ecommerce Alphabet Soup












HTML
CSS
DHTML
JavaScript
XML
UDDI
WSDL
SOAP
Java
PHP
ASP
Whatever
Interoperability
CORBA
 DCOM
 RMI
 DSOM

Web Services
SOAP
 WDSL
 UDDI

Programming Environments
.NET
 Macromedia
 Websphere
 HP Netaction
 BEA Weblogic

Client Server Computing

The client server model
 Programs and languages are used client
side, server side and in the backoffice of the
ecommerce applications
 Some applications are only server side, some
client side, and some are used in multiple
tiered places, from one end of the model to
the other
 Each ecommerce venture uses far more than
one program or application
What we will ignore in an applications and
languages framework:

The networking aspects of electronic commerce, for
example, we use TCP/IP, HTTP, ethernet and/or dial
up via modem, etc. to connect between the
ecommerce site and the user
 Developed or purchased back office functions such
as databases and other internal applications
 How to program
 Here, we want to learn what application, code or
language goes where and why and when and under
what circumstances
Client Side Considerations









Each client has a different platform
Each client has a different bandwidth to download the web site
from the firm’s server
Each client uses a different browser
Each client could be running IE or Netscape (or Opera) in
different versions
Each client is very, very different
Typically, JavaScript is used on the client side for browser
development because it runs on all types of browsers including
Netscape and Internet Explorer
VBScript does not run on Netscape browsers
Client side scripting is used for ecommerce applications like
data validation and simple calculations on the browser
HTML is used on the client side for presentation, forms, text
boxes, various input objects
Client Side Scripting

(Deitel, et al.)
Commonly used all the time now
 Browser independent, although the scripting
language must be supported by the browser or
scripting host
 Viewable on client, which means that protecting
source code is difficult
 Reduces the number of requests that the server gets
 Enhances a web page’s content
 Gives a richer functionality than plain HTML
 Becoming more sophisticated and iterating over time
to where web pages are very dynamic
Client Side JavaScript

JavaScript is an easy-to-use programming language
that can be embedded in the header of your web
pages.
 It is used, together with HTML, Cascading Style
Sheets and Dynamic HTML to enhance the dynamics
and interactive features of a web page
 It can do things like let your page perform
calculations, check a form before sending it, add
special effects, customize graphics selections and
create security passwords.
 JavaScript is used to extend the web developer’s
control over the user’s browser by extending HTML to
manipulate client side execution, like a mouseover
event by the user
How does JavaScript Look?
Browsers that recognize JavaScript also recognize the special <SCRIPT> ... </SCRIPT> tag.
This tag goes in the <HEAD> of your HTML document, along with your <TITLE> tag.
Here's a short example:
<HTML>
<HEAD>
<TITLE>My JavaScript Page</TITLE>
<SCRIPT>
(JavaScript code goes in here)
</SCRIPT>
</HEAD>
(rest of your HTML document goes here)
To make an object (such as an image, a form button, or a hyperlink) on your page
do something in response to a user action, you can add an additional attribute to the tag
for that object. For example, the following HTML snippet pops up a thank you message
when the user clicks on the link:
<A HREF="http://www.coe.wvu.edu/~nsoundar"
onClick="alert('Thanks for visiting the Soundar home page!')">Soundar home page</A>
Why is JavaScript Cool?















Forms processing, alert boxes
Document generation
Math calculations
Cookie creation
Communicate with server efficiently
Do dates, calendars, days left until, etc.
Do mouseovers, and other dynamic responses to an event by
the user, changing the way a web page looks from a user action
Give an easier way to update frames with a single script
Give nice navigation aids, toolbars, pull down lists
Document the history of the client (backgrounds, last updated)
Give file uploads with appropriate CGI’s
Detect browser type
Give plug in detection
Search multiple search engines
Allows blinking and scrolling, but these are obnoxious
More things to know about
JavaScript

JavaScript is a scripting language used for HTML
page development
 The actual code appears in the page itself, and
anyone can view it
 JavaScript is interpreted by the JavaScript enabled
browser
 JavaScript accesses data from other parts of the
HTML page, interacts with it easily, and then may
present it back on the page again
 For example, JavaScript is used for forms validation,
calculations
More Things to Know about Java








Developed by Sun Microsystems
The same Java program can run on any hardware that runs a
Java interpreter
It supports the Internet in ways built into the language
It can be used to develop both stand alone applications and
applications embedded in web pages
When Java is embedded in web pages, it is identified with the
<Applet> tag or the <object> element, which is a newer way to
insert Java
The applet source code is hidden to the user, and is limited in its
ability to interact with other components on the page
Java applets on the web page are used to read data from the
HTML part of the page, load images and audio clips from a URL
(getimage(), getAudioClip(), play().
Other uses might be to determine info about the browser being
used, or to encapsulate audio files
How is Java related to
JavaScript?





Java is deployed in more powerful ways
on the server side than client due to
security issues
Java is compiled rather than interpreted,
so can be used in more powerful client
side applications than JavaScript
An applet is an executable Java program
placed in a web page, a small program
that runs within the browser, applets may
provide users with audio, video or
images, and animation
Browsers have been programmed to run
Java within them without messing up our
computers, sometimes called the Java
Virtual Machine within the browser, which
keeps the Java applet “in its own
sandbox”
Java applets may require more
bandwidth than a JavaScript function, an
applet may run a video game application
that is executed within the web browser,
for example









JavaScript is often found applied on the
client side
JavaScript is called that only as a
marketing device, and is only similar to
Java
JavaScript is functionally, technically and
behaviorally different than Java
JavaScript is interpreted by the browser
JavaScript is used to add interactivity
when the HTML file embeds a <SCRIPT>
</SCRIPT> tag pair
JavaScript is a scripting language, Java
is a full blown programming language
JavaScript has no standalone output
functions, it must work within the browser
for its output
JavaScripts are usually short to perform a
specific task, usually to create some kind
of interactivity for web pages
JavaScript can be very powerful even
though it is not Java
What is an Applet?







(Cintron 1999)
Applets are always written in Java.
Applets are downloaded to the client, and then run using the
browser’s Java Virtual Machine, and then discarded.
An applet is an executable Java program placed in a web page.
The applets are not as powerful as a regular server side Java
program because of the security issues of being on the browser
or client side, restricting the capability of the Java to write to files
or conduct file related activities
The only reading and writing an applet can do is on their server
An applet can be used, for example, to look up database
records on a server and display them on a client, have the client
tweak the display, and then accept input from the client to
display
Applets expire once you leave the page
Java Servlets





Java Servlets are just like Java Applets,
except they lie on the web server, and are not
restricted as much in terms of writing to files
and file related activities.
Servlets provide a component based,
platform independent way to build web
applications.
They have access to all the features of the
Java programming language.
Java Servlets outperform CGI script and don’t
have the issues that come with proprietary
solutions, such as ASP.
Servlets will replace CGI scripting over time
Server Side Considerations

Is the web application uncomplicated and
simple?
 Does the application require access to firm
backoffice functions, such as inventory,
supply chain, shipping or database functions?
 Does the application require either major or
minor inputs from the customer, such as
credit card information or forms?
Server Side Scripting







(Dietel, et al.)
Resides on server
Gives greater flexibility
Gives database access if desired
Usually can generate some customized response for
the client
Accesses ActiveX server components, which allow
extended scripting language functionality
Run exclusively on server, cross platform issues are
not a problem
Are not visible to the client, only the HTML and the
client side scripts are sent to the client
Server Side Applications: How
they Work:

Server-Side applications are executed on the
web servers.
 Client information is entered into a web
browser. The browser sends the information
to the server via HTTP.
 The server receives the request and sends it
to the appropriate application. Based on the
client info, the application dynamically creates
a response, usually in the form of an HTML
file. The HTML file is sent back to the client’s
browser via HTTP.
Why do we have server side
applications:
They are not dependent on the type of
web browser the client is running.
 They have access to corporate
databases, email and other resources.
 They enable the creation of web-based
applications, dramatically increasing
accessibility of business applications as
well as decreasing maintenance costs.

Some Server Side Web Programming








CGI
ASP
SSI
Java
PHP
Server Side JavaScript (also called LiveWire)
ActiveX
XML
Common Gateway Interface
(CGI)





CGI acts as middleware between an HTTP
header and several different types of
programming languages.
CGI provided the first way to create serverside applications
CGI is the most popular way to create serverside applications today.
CGI is platform independent.
CGI is language independent. It works with
C, C++, Perl, TLC, Visual Basic, and
AppleScript.
Active Server Pages
(ASP)






Microsoft’s answer to server-side applications
The most popular technology for servers running Microsoft’s
Internet Information System Web server software
ASP works on Internet Information Server (IIS) and other
Microsoft products.
ASP-enabled servers utilize ActiveX components. ActiveX
components sport extremely powerful features.
Because of ActiveX components, ASP is usually easier to code
and often runs faster than other similar technologies such as
CGI.
ASP uses VBScript, a scaled down version of Visual Basic, as
its scripting language
Active Server Pages






(Neito, et al.)
Are processed in response to a client request
ASP files contain HTML and scripting code
VBScript is the defacto language for ASP
scripting, but you also might see JavaScript
Have an .asp file extension
Are Microsoft developed technology
Are used to send dynamic Web pages using
HTML, DHTML, ActiveX controls, client side
scripts, Java applets
What might ASP do for a web
page?




Allow a guest book entry to come from client side,
and stay on server for others to read later
Provide session tracking and use a get or post
request for take cookies from the client machine
ASP can communicate with databases via ActiveX
Data Objects, or ADO
Have three tier distributed applications, to the user, to
the web server and to a database, all from an ASP
page controlling these three tiers
What is ActiveX?





(direct from Cintron 1999)
ActiveX is not a language or a product. It is a
specification from Microsoft for components.
ActiveX controls are similar in idea to Applets written
in Java to do certain things. These are executables
that go from the server to the client and stay there
ActiveX components are written in C++, Java, VB
ActiveX components are downloaded and actually
run on the client machine
ActiveX components have better security so they can
always be traced to their origins. The ActiveX has
control numbers to trace these if there is a virus, like
Surround Video has an ID number that shows up in
the Web page, and anything else that calls this
control
Server-Side Includes
(SSI)

Server-side includes are commands embedded in
HTML documents that add dynamic content.
 SSIs are good for for portions of code that are
repeated throughout a web site.
 They can also be used to tell time, as well as
automatically tell the user the last time the web page
was updated.
 Special software must be installed onto the web
server before it can support SSIs.
 Because SSIs do not take in client information, their
use is limited.
Where does XML fit?

XML allows data to be moved from the database, to the server at the
middle tier to the client, as appropriate
 XML allows the data to have transformations made on it on the client
side, to display the transformations when appropriate, make changes to
the data, and then to send it back to the database across the middle
tier of the server
 Right now, a typical application that uses data gets data from a
database, gets info, displays it on a form, allows changes and sends it
back to the server
 XML allows this to happen in a more sophisticated way across multiple
servers without permanent connections between machines
 XML can take data in different formats from different places and
produce a format which is in a logical view, not the actual data itself
 XML interfaces with real databases in a way that HTML cannot
 Still a text based format
Where does XML fit, cont’d:





With XML, we are seeing more and more industry specific definitions
for accessing databases
XML uses a strict DTD, or Data Type Definition document. This DTD is
what gives the exact specification for the structure of the documents.
Every XML document has a DTD specified for it so that the processing
program knows what the data is, and what it looks like in a format
XML is very focused on standardizing structures, where we create our
own tags for specific, industry narrow applications, and then specify
exactly how that tag is to be displayed
Accountants are very excited about XML, for example, because
standardized accounting data can be defined with specific tags that all
agree on, and these can be used across businesses, platforms and
applications
What is PHP?








(McKeown 2001)
For UNIX and Linux based servers, the most popular scripting
language is PHP
PHP is an open source language
PHP uses syntax that is similar to C++
PHP can be used to create dynamic Web pages that are created
by the processing on the server to handle the processing of
transactions
PHP competes with ASP
Both PHP and ASP are used to do processing on the server
PHP can be used to carry out operations on the server side
such as SQL queries that are executed to query or modify an
existing database on the server
Free PHP manual at http://snaps.php.net/manual/