Virginia Franke Kleist, Ph.D.

32
Overview of Web Services, Programming Environments, Software Applications and Programming Languages Used for Ecommerce Virginia Franke Kleist, Ph.D.

description

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 - PowerPoint PPT Presentation

Transcript of Virginia Franke Kleist, Ph.D.

Page 1: Virginia Franke Kleist, Ph.D.

Overview of Web Services, Programming Environments, Software Applications and Programming Languages Used for Ecommerce

Virginia Franke Kleist, Ph.D.

Page 2: 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

Page 3: Virginia Franke Kleist, Ph.D.

Ecommerce Alphabet Soup

HTML CSS DHTML JavaScript XML UDDI WSDL SOAP Java PHP ASP Whatever

Page 4: Virginia Franke Kleist, Ph.D.

Interoperability

CORBA DCOM RMI DSOM

Page 5: Virginia Franke Kleist, Ph.D.

Web Services

SOAP WDSL UDDI

Page 6: Virginia Franke Kleist, Ph.D.

Programming Environments

.NET Macromedia Websphere HP Netaction BEA Weblogic

Page 7: Virginia Franke Kleist, Ph.D.

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

Page 8: Virginia Franke Kleist, Ph.D.

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

Page 9: Virginia Franke Kleist, Ph.D.

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

Page 10: Virginia Franke Kleist, Ph.D.

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

Page 11: Virginia Franke Kleist, Ph.D.

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

Page 12: Virginia Franke Kleist, Ph.D.

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>

Page 13: Virginia Franke Kleist, Ph.D.

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

Page 14: Virginia Franke Kleist, Ph.D.

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

Page 15: Virginia Franke Kleist, Ph.D.

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

Page 16: Virginia Franke Kleist, Ph.D.

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

Page 17: Virginia Franke Kleist, Ph.D.

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

Page 18: Virginia Franke Kleist, Ph.D.

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

Page 19: Virginia Franke Kleist, Ph.D.

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?

Page 20: Virginia Franke Kleist, Ph.D.

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

Page 21: Virginia Franke Kleist, Ph.D.

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.

Page 22: Virginia Franke Kleist, Ph.D.

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.

Page 23: Virginia Franke Kleist, Ph.D.

Some Server Side Web Programming CGI ASP SSI Java PHP Server Side JavaScript (also called LiveWire) ActiveX XML

Page 24: Virginia Franke Kleist, Ph.D.

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 server-side applications

CGI is the most popular way to create server-side applications today.

CGI is platform independent. CGI is language independent. It works with C,

C++, Perl, TLC, Visual Basic, and AppleScript.

Page 25: Virginia Franke Kleist, Ph.D.

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

Page 26: Virginia Franke Kleist, Ph.D.

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

Page 27: Virginia Franke Kleist, Ph.D.

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

Page 28: Virginia Franke Kleist, Ph.D.

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

Page 29: Virginia Franke Kleist, Ph.D.

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.

Page 30: Virginia Franke Kleist, Ph.D.

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

Page 31: Virginia Franke Kleist, Ph.D.

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

Page 32: Virginia Franke Kleist, Ph.D.

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/