130 likes | 407 Views
CIM277 Intro to E-Commerce. Week 3/4. Introducing Database Server Tools. Databases…wait…don’t go to sleep!
E N D
CIM277 Intro to E-Commerce Week 3/4
Introducing Database Server Tools • Databases…wait…don’t go to sleep! • Databases may not be the most glamorous part of E-Commerce, but they are certainly one of the most critical parts. Databases have come to define any organized data content used for e-commerce. In a nutshell, databases provide the sellable content information, customer information, and even payment information critical for an e-commerce site to remain operational.
What Databases Are Used For • E-Commerce Databases are used to store information for everything from Inventory to Market Research • Databases are the “MOST USED” aspect within E-Commerce • Virtually all information that is “exchanged” between the customer/audience and the vendor should be stored on some level • A typical list of Database-Oriented Components for E-Commerce: • Customer Relationship Management • Inventory Control • Shipping/Receiving • Accounting • Human Resources (Internal Employees) • Most of the database applications are NOT interconnected- they are not going to share data. • This is for security purposes
Defining Database Tools • Database Tools are generally broken down into the major categories of: • Flat-File Database Tools • Easy to create with familiar tools like MS Word or Excel. • eXtendible Markup Language (XML) is an open source flat-file database. • Small Database Tools • Usually based on Stand-Alone applications like MS Access or File Maker Pro • Small Database Tools are usually meant for less than 1000 concurrent users. • Referred to as “Client-Based”, meaning they require a Database Application to use the native file format. • Medium/Large Databases • Requires Web Server Software • Server-based databases must be “scalable”. • Can be accessible through Server-Side Languages and the Web • Enterprise Databases • Usually based on “Clustered” Servers- More than one server working in tandem providing the same resources. • Often uses 64bit computing power (Windows Sever 2003 64bit, 64bit flavors of UNIX or Linux. • Extremely costly- there are the backbone for massive e-commerce sites like Amazon.com or eBay
Flat-File Databases • Flat-File Databases are usually built around standard “Office” documents like MS Word or MS Excel. • Any tabular document, in essence, is a flat file database. • Your phonebook on your cellphone is a flat-file database • They are not easily updated through the web are usually only used for display-only content (like product info). • Flat-File Databases are used as a foundation for Small or Web-Based Database tools because they provide a more familiar environment for people unfamiliar with unconventional databases. • HTML tabular data is another example of a Flat-File Database
XML • XML (eXtendible Markup Language) is an example of a flat-file language that is written very similarly to HTML/XHTML (it’s syntax provides the “X” in XHTML). • XML can be created using ANY text editor, but is often created using Web Design tools like FrontPage or Dreamweaver. • Can be used through the web and by tools like Flash. • XML is a “Well-Formed” language, meaning that it is both case and tag-sensitive. • XML is open source- many products are used to create it and no one owns it. • XML is often used as an intermediate tool to help move data from one database tool to another. • XML is not a practical database for many e-commerce sites because tools have to be customized for large-scale data entry • XML should be your friend!
Small/Client Database Tools • Client Database Tools are “Application Driven”, meaning they require an application like MS Access or FileMaker Pro in order to open or create a database. • Most Client Database Tools are meant for less than 1000 concurrent users, making them impractical for many e-commerce applications. • These applications are also the first-tier of “Relational Databases”. • Relational Databases can share information from other databases.
Medium/Large Database Tools • Most Medium/Large Database Tools require a web server like Apache or IIS in order to work. • They can work without a Server Operating System (UNIX, Windows Server, etc.) but it’s not recommended. • Client operating systems do not have the ability to support large numbers of concurrent users. • MySQL and MS SQL Server are popular Medium/Large Database tools • MySQL has over 80% of the Medium Size business market and has over 40% of the Large Size business market.
Pros Open Source for non-commercial use Vendor Supported for Commercial Use (MySQL AB) Free, cheap to develop Huge user base for small through enterprise size businesses. Widely taught in Computer Science programs in Higher Ed. Can be developed using a wide variety of platforms (Windows, UNIX, Linux, Mac, etc.) Works on IIS and Apache Many popular Web Interface tools like phpMyAdmin allow database administrators to update databases from anywhere Compatible with PHP, ColdFusion, and JSP pagers. Cons Vendor-Supported requires licensing (albeit minor in cost) Not compatible with ASP.NET or ASP Graphical User Interface tools (GUIs) like phpMyAdmin are often less user-friendly than tools like MS SQL Server MySQL Pros and Cons
Pros Vendor Supported Widely used for medium/large size businesses. Can import virtually any of the other MS Database tools like Access, FoxPro, even Excel with no outside tools needed. Supports ASP.NET, ASP, and ColdFusion Can scale easily to MS SQL Server Enterprise Edition or SQL Server Cluster Edition GUI management tools are fairly easy to learn and use, especially if you are already familiar with Access and IIS Comes in 32bit and 64bit flavors Can be easily integrated with other MS tools like Exchange Server (for email) Cons Microsoft only platform Costly Licensing Training is often only found through “Certification Vendors” Certification is expensive and time-consuming Does not support PHP or JSP MS SQL Server- Pros and Cons
Enterprise Database Tools • There are a few dozen enterprise-class database tools that in use today. • Each tool has one specific advantage over another • They all require a Server Operating System (UNIX, Windows Server, etc.) • They can come in 32bit or 64bit flavors • Most of the enterprise-class databases have support for a full-blown programming language like VB.NET, C# or Java. • They are extremely expensive, often starting at tens of thousands of dollars for a single license. • Some of the more popular Enterprise Database tools are: • Oracle • MS SQL Server Enterprise/Cluster Editions • IBM DB Server • Java Databases (Custom-Built) • SAP (used largely for Customer Relationship Management)
Pros Vendor Supported Written with Java Huge developer following- Oracle is the backbone for the largest number of enterprise level e-commerce sites. Developer’s Tools are Free Can import a wide array of databases (Access, MySQL, SQL Server, etc.) Can be scaled to serve ANY database need Java is used for customization Can be developed using a wide variety of platforms (Windows, UNIX, Linux, Mac, etc.) Object Oriented Scalability Supports JSP, ColdFusion and PHP Most Oracle developers are considered to be “genius-level” in intelligence Cons Extremely Expensive for Server Licensing ($100K for starting level) Difficult to learn, most of the education is from Vendor Certification Training Doesn’t support ASP.NET or ASP Did I mention that it’s difficult to learn? Well it is! Most Oracle developers are considered to be “genius-level” in intelligence Oracle- Pros and Cons
Pros Vendor-Based Modular architecture Far cheaper than Oracle Widely used for large/enterprise size businesses Works with virtually any Server-Side Language Massive Object-Oriented Programming Scalability Java-Based Platform GUI is far easier to learn than other Enterprise DB tools Easier learning curve = more productivity Now has a “Freeware” limited version available Supports the widest variety of external database formats Extremely well-documented IBM has the strongest client support record in the industry Cons Modular architecture is more expensive in the long run Code intensive (lots and lots of programming) Far more expensive for than other scalable tools like MySQL and SQL Server Requires many additional tools for certain functionality. IBM DB2- Pros and Cons