320 likes | 428 Views
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
E N D
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
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 How is Java related to JavaScript?
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 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.
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/