EBUS202 - eBusiness Technologies - Governor's School

End of Term Assignments:

Prepare a Documentation Set for critique: (10 Points)

Make recognizable UML Diagrams for your eBusiness application system, showing as it is now, and also what work needs to be done to complete a winning system:

Completed Project at the Exam Time: (40 Points)

Database Programming Standards for your eBusiness pages.

XHTML Coding Standards still apply.

Current Stuff:

Accounting 'Business' or 'Enterprise' implies record keeping, order entry of several types, and accounting. Paciolan Methods; Chart of Accounts; A Sample Startup.

Next Due:

EDI is next...

Past Stuff:

Due Friday March 19th: Web page/pages to maintain data in your BE/Accounts/Users/Members table, which meets Standards below, and which has columns to support snailmail addresses, LastName, FirstName plus Login credentials, and Authority for at least 'Customer', 'Admin', and 'None'. Keep in mind that a future 'Fulfillment' crew member will be required. Copy/paste of /home/gschool/web or /home/agallery/web is encouraged.

Due Friday March 26th:Web page to maintain the database of your enterprise's GoodsAndServices/Items/Matter/ExchangedStuff table and populated with sample items and imagery where appropriate, and displaying on your home page. /home/agallery/web has scripts to handle uploading and thumbnailing graphics. /home/school/web shows how to get The Accounting done, which is the matter of a future assignment...

Method: Please do not ignore the sample scripts as you get started on this. It is very easy for a student to go off on their own tangent and do work I cannot help debug that won't perform to the posted Standards. You're more than welcome to get the points for this very, very complex exercise by copying working scripts from /home/gschool/web/ or /home/agallery/web/ and making them work in your login account. There is the rest of this semester in which you can exercise your Creativity and Design Skills! Meanwhile, I'll provide working PHP and SQL scripts for the tables and startup data from systems that pretty much meet The Standards, and which flow into the Grand Design for enterprise accounting. For the intrepid who don't want to go with the flow: If you decline to use the samples and go off on your own design I need to see good, clean structured notation for your whole eBusiness site and the database, pronto. It's not uncommon for students to work themselves into a corner with No Design early in the prototyping stage and can't tweak what they've done to meet The Standards.

Show Appropriate Progress On:

XHTML Coding Standards still apply.


Past Stuff:

Due Monday the 18th:

Working Authentication & Authorization with Protected Page

Structured Notation of the above scripts, detailed practically to the line of code


Ebusiness Technologies, Onward...

Skills with XHTML, CSS, & JavaScript are key to making the best C2B (Customer To Business) interface and are how most of the visual appeal and style are applied. But, most of what an Enterprise's Customer or Employee sees in their browser is not 'static content' like your earlier web pages which are excellent examples of 'static XHTML', maybe using dynamic elements of CSS for mouse-over effects, and using JavaScript to do calculations. In these static pages, every time a web browser requests the page it gets the same thing.

EBusiness runs on 'active content', 'content management', 'instant messaging', 'email', 'workflow', 'order entry' and otherwise organizes the flow of goods and services thru the enterprise. Most Active Content for web applications is generated by scripts interpreted by the web server. Apache & PHP are common on Linux running on Power or Intel platforms, and IIS & ASP are a likely combo on Windows Server and Pro versions on Intel. Apache, PHP & MySQL also run on Windoze, will show up on searches for 'WAMP' and make an easy way to deploy AMP on your Windows desktop.

Examples for this class are provided in PHP, which facilitates web programming for 'session management' in an otherwise stateless http exchange, and was built to handle data from GET, POST, COOKIES & other data sources in the web and server exchange. PHP provides a rich set of functions that handle the interface with Users via HTTP, AJAX, and other protocols on the 'front end' and to whatever DBMS, other server, webcam, or other web resources may be at the back.

Session Management is easy in PHP, only requires two statements, session_name & session_start, to provide the 'state' needed to conduct eBusiness using HTTP, which is a 'stateless protocol'. In Linux/Apache/PHP any variables that persist for the session's duration are usually kept in the file system in a place like /var/lib/php/session_data/ and are readable & writable by Apache. Session data kept on the server is 'more secure' than cookies, hidden form inputs, or the url.

PHP facilitates the mashing together of content from tables and other records with 'boilerplate' XHTML so that Users can browse and buy on-line, Managers can manage, Customers can help themselves, and Bean Counting is accurate at the touch of a button or two.

This is still being edited for class 1/6...

Missing Pieces, thru the end of the semester...

These are the remaining, most basic, technologies for eBusiness. Mastering them is essential for next semester's projects.

More Database So far in Database all the exercises have used only 'select' statements and other queries like 'show tables' and 'describe SomeTable'. Thru the end of the semester, lay on skills to create tables in your own database, insert records into them, and update them. Be able to demo this by Friday the 15th: Create your own tables and use MySQL at the command line to insert and update records.

Accounting 'Business' or 'Enterprise' implies record keeping, order entry of several types, and accounting. Paciolan Methods; Chart of Accounts; A Sample Startup.

Web Programming Several abstract data structures are involved and that makes 'web programming' a challenging task. A 'web programming language' like PHP makes it easy for the programmer to reference each of these data structures:

Check out PHP's 'reserved variables' for the details on these, and become familiar with PHP manual in general. us2.php.net is usually the quickest php mirror, and php.net is usually the slowest...

PHP's 'Super Globals' make it easy for a web app developer to get to anything about the web request, session, and database using PHP's mysql_ statements.

'Web Services' are also involved in web programming. They use the same protocols as the browser interface but they are 'computer to computer' or 'machine to machine' exchanges that don't involve a user with a browser at all. Scripts handle Web Services via http and https to make requests for services and handle the responses that come back. Many web services use XML to format the data exchanged in the request to the server and the server's response to the client machine.

Database

Check out the The M & P of LAMP, 2/3 down the page for your intro to MySQL and PHP. The 'advanced stuff' link shows how to make SQL Scripts to create tables...

PHP/MySQL Intro with /home/astudent/, SeSPoP data in EBUS202 database...

Advanced Stuff including steps with mysqldump and mysql to make SQL scripts to create a table in your database.


Topics Datewise Since 2010

Accounting

(1/4) Overview of Financial Statements: Balance Sheet with Permanent Accounts for Assets+, Liabilities-, and Equity-; Income & Expense Sheet (aka P&L) with Periodic Accounts for Income & Expenses. Some discussion of Paciolan methods of Debits & Credits.

PHP, Web Forms, and Database

(1/4) Use w3schools.com's PHP tutorial to learn the basics of PHP and work the examples into your web directory...

(1/4) Debugging PHP: Open another Putty window and 'tail the logs':

     tail -f /var/log/httpd/error_log | grep yourid

'Tail' shows the end of a file. The -f options means 'follow' so that new entries are shown asap as they occur. 'error_log' is where ebus202.info puts error messages generated by the httpd daemon as it parses the your web site's files, both xhtml and php. 'grep' is a little unix function that filters output to STDOUT by the letters, or phrase in quotes, after the space. This statement will show any error messages generated by php scripts in your web directory, so you don't have to see everybody else's. When you're done debugging use Ctrl-C to get out of tail -f and back to the command line.

(1/6) These sites demo techniques that meet most or all of the the class' standards (soon to be posted) for authenticating users, protecting pages from un-authenticated users, web forms, database inserts and updates, uploading and downloading stuff, order entry & accounting, and posting Journal Vouchers at the Ledger Engine. Please use them and look at the scripts. Anything you want to copy into your site is fine:


Past:

New Notes on Structure, a start only, not edited or complete yet.

Old Notes on Structure

Project #2 - Structured & OO Programming with JavaScript & the DOM

(November) JavaScript/DOM/Forms demo is at info202.info/astudent. The scripts are in /home/astudent/web and may be copied to your web pages to get the mechanics together. Most important: Look how particular data elements, like FavoriteColor, are referenced as XHTML FORM elements, PHP $_POST data, JavaScript, and as $variables in the PHP script.

Here are notes on Structure...

Use w3schools.com tutorials and any other supplements from the web to learn the basics of JavaScript and the DOM. Get good-looking demos of your newly acquired skills woven into your 'commercial site'. Take the quizzes and show me your score, which will be posted as the proportion of 5 points earned. Due Dates TBA... Please don't futz around with other stuff during lab time until you've demo'd theses skills.

Make JavaScripts work on your web pages:

More to come:

DBMS, Database programming for the web with PHP, EDI Standards, XML, Web Services, &c, &c...

Notes:

To debug JavaScript: Start with FireFox and use Tools -> Error Console. Be amazed at the number of errors from other peoples' sites. Strive for none at your own. Equivalent is available in IE but maybe not in the lab...

Make sure your pages validate with JavaScript in them: w3school's validator throws _lots_ of errors where JavaScript is in the head or body of webpages. Use the CDATA declaration to mark these sections of code as 'Character Data' which will be ignored by the validator.

  <script ...... >
     //<!CDATA[
        multi lines;
        of script;
        here;
     //]]>   
  </script> 

Validate early & often! Don't wait until you've coded your whole web page to validate it! Get the 'skeleton' for the complete page together first, including the DOCTYPE, and with the html, head, and body properly nested. Make sure the skeleton validates, then add the content a piece at a time and validate as each piece goes in place.

Test your script early & often! Try to get 'the outside' done first, make sure your counters work. Then add details and compile/test after each new functionality entered. Don't try to do it all at once...

That 'blue warning' about character set: Somehow this got left out of what's posted for the projects. The following 'meta tag' may be placed in the head section of your web page, before or after the title, to avoid getting the warning about 'character set' from the validator at w3schools.com.

<meta http-equiv="Content-type" content="text/html;charset=UTF-8" > 

There are other ways of getting the character set defined for the browser, and you're welcome to use any of them. At completion of Project #1 there should be zero errors and zero warnings.

Debugging: If you're not seeing what you expect when you click on a link you can 'tail the log' and see what the web server. While working, you can keep another putty window open at the lower left corner of the screen that shows the 'tail of the log'. A student named John Smith could see errors as they are generated by keying this:

tail -f /var/log/httpd/error_log | grep jsmith

Use Ctrl-C to stop tailing the log...


Database Quiz Due by end of class on Friday before Winter Break...

Mr King: check this out: Skinning a boat...

Due Friday the 11th: Structured notation of current web site, high-level all on one page, with scripts' logic exploded and detailed practically to the line of code.

Due Friday the 18th:

Skills with the SesPoP database, able to answer questions like: Largest Donation, Subtotals by Region or Volunteer, Who Gets a Tee-Shirt, &c, &c.

Even Earlier Topics