building e-commerce applications and infrastructure

35
Building E-Commerce Applications And Infrastructure

Upload: nathaniel-ball

Post on 24-Dec-2015

231 views

Category:

Documents


1 download

TRANSCRIPT

Building E-Commerce Applications And Infrastructure

1. Discuss the major steps in developing an EC system.2. Describe the major EC development strategies and list

their major advantages and disadvantages.3. List the various EC application development methods

along with their benefits and limitations.4. Discuss various EC application outsourcing options,

including application service providers (ASPs), software as a service (SaaS), and utility computing.

5. Discuss the major EC software packages and EC application suites.

6. Discuss the value and technical foundation of Web Services and Web 2.0.

7. Understand service-oriented architecture (SOA) and virtualization and their relationship to EC application development.

8. Describe the criteria used in selecting software vendors and packages.

9. Describe various methods for connecting an EC application to back-end systems and databases.

10. Understand the value and uses of EC application log files.11. Discuss the importance of usage analysis and site

management.

Website development• The business type• The product line• The business’s organization • and the budget dictate what functionality the

Webstore should have and how the Web site should be developed

• STEP 1: IDENTIFYING, JUSTIFYING, AND PLANNING EC SYSTEMS

• STEP 2: CREATING AN EC ARCHITECTURE– EC architecture

A plan for organizing the underlying infrastructure and applications of a site

– scalabilityHow big a system can grow in various dimensions to provide more service; measured by total number of users, number of simultaneous users, or transaction volume

• STEP 3: SELECTING A DEVELOPMENT OPTION– Build the system in-house– Have a vendor build a customized system– Buy an existing application and install it– Lease standard software from an application service

provider (ASP), lease as a service (SaaS), or lease via utility computing

– Enter into a partnership or alliance – Join a third-party e-marketplace or an exchange– Use a combination of approaches

• STEP 4: INSTALLING, TESTING, INTEGRATING, AND DEPLOYING EC APPLICATIONS– unit testing

Testing application software modules one at a time– integration testing

Testing the combination of application modules acting in concert– usability testing

Testing the quality of the user’s experience when interacting with a Web site

– acceptance testingDetermining whether a Web site meets the original business objectives and vision

• STEP 5: OPERATIONS, MAINTENANCE, AND UPDATES

• MANAGING THE DEVELOPMENT PROCESS– The development process can be fairly complex and

must be managed properly– For medium-to-large applications, a project team is

usually created to manage the process and the vendors

– Collaboration with business partners also is critical• Three basic options for developing an EC Web

site:1.Develop the site in-house/outsource2.Buy a packaged application3.Lease the application

• Traditional project management methodologies still applied

• Light weight and require iterative planning• People vs. process• Inspect and adapt approach• Reduced time to market• Project manager as a leader• Types of Agile Methods

– Scrum (agile management methodology)

– Extreme Programming (XP) (agile engineering methodology)

• Love what you do• Business Acumen• Understanding of processes• Communication skills• Interpersonal skills• Coping skills• Technical skills• Project managers are Leaders not Taskmasters

• IN-HOUSE DEVELOPMENT: INSOURCING– insourcing

In-house development of applications– reusability

The likelihood a segment of source code can be used again to add new functionalities with slight or no modification

– interoperabilityConnecting people, data, and diverse systems; the term can be defined in a technical way or in a broad way, taking into account social, political, and organizational factors

– Insourcing Options• Build from scratch• Build from components• enterprise application integration (EAI)

Class of software that integrates large systems

• BUY THE APPLICATIONS (OFF-THE-SHELF APPROACH)– turnkey approach

Ready to use without further assembly or testing; supplied in a state that is ready to turn on and operate

• OUTSOURCING/LEASING EC APPLICATIONS– outsourcing

A method of transferring the management and/or day-to-day execution of an entire business function to a third-party service provider

– Outsourcing Options• Software houses• Outsourcers and others

• SOFTWARE ON DEMAND• utility (on-demand) computing

Unlimited computing power and storage capacity that can be used and reallocated for any application—and billed on a pay-per-use basis e.g cloud computing

• application service provider (ASP)A company that provides business applications to users for a small monthly fee e.g hosting companies leasing software

• software as a service (SaaS)A model of software delivery where the software company provides maintenance, daily technical operation, and support for the software provided to their client. E.g salesforce, Goto meeting, etc

• Platform as a service (PaaS)Evolutionary ASP model where developers can build/integrate custom solutions on managed applications. E.g Magento Go, Adobe Catalyst

• INTEGRATING WITH WEB SERVICES AND SERVICE-ORIENTED ARCHITECTURE– Technologies have made integration a difficult task

for a number of reasons:1. Platform-specific objects2. Dynamic environment3. Security barriers

– A universal standard has emerged to assist the process of integration

– Web ServicesSelf-contained, self-describing business and consumer modular applications, delivered over the Internet that users can select and combine through almost any device, ranging from personal computers to mobile phones

– Web 2.0Web Services that emphasize online collaboration and information sharing among users

• mashupCombination of two or more Web sites into a single Web site that provides the content of both sites (whole or partial) to deliver a novel product to consumers e.g use of google map to show store locations– widget

A Web page feature or a small Web toolbox often designed on top of Web applications

• If a company decides to buy or lease an EC application, the following representative selection criteria need to be considered:– Flexibility - Commercial packages need to be modified or adapted to the

specific requirements of an application.– Information requirements– User friendliness– Hardware and software resources– Installation - The installation effort required to implement the package is

another– important consideration.– Maintenance services

– Vendor quality and track record– Estimating costs– Personnel– Technological evolution – upgrade of EC applications– Scaling – Consider the total number of users, the number of simultaneous

users, and the transaction volume– Sizing – Size and performance of an a application– Performance - Performance is measured by two main metrics: latency and

throughput.– Latency: The time required to complete an operation, such as downloading a Web

page– Throughput: The number of operations completed in a given period of time;

indicates the number of users that a system can handle– Reliability – System failures and downtime are costly – Security – Technological, physical and procedural security measures

• AjaxA Web development technique for creating interactive Web applications e.g update content without page refresh

• Really Simple Syndication (RSS)A family of Web-feed formats used to publish frequently updated digital content– Atom

RSS Internet standard created by the Internet Engineering Task Force (IETF) and formally known as the Atom Syndication Format

• FILE-SHARING TOOLS– Mobile Phones and Social Networks e.g zapr.net,

yousendit.com

• SUPPORTING WEB 2.0 IN THE ENTERPRISE– Support for Enterprise Wikis and Blogs– Software to Support Viral Marketing

• viral videoVideo clip that gains widespread popularity through the process of Internet sharing, typically through e-mail or IM messages, blogs, and other media-sharing Web sites

• FUNCTIONAL SOFTWARE PACKAGES– electronic catalog

The virtual-world equivalent of a traditional product catalog; contains product descriptions and photos, along with information about various promotions, discounts, payment methods, and methods of delivery

– merchant server softwareSoftware for selling over the Internet that enables companies to establish selling sites relatively easily and inexpensively

• INFRASTRUCTURE SERVICES– virtualization

A technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources

– cloud computingInternet (cloud)–based development coupled with the use of computer technology (computing)

• STEP 1: IDENTIFY POTENTIAL VENDORS• STEP 2: DETERMINE THE EVALUATION

CRITERIA– request for proposal (RFP)

Notice sent to potential vendors inviting them to submit a proposal describing their software package and how it would meet the company’s needs

• STEP 3: EVALUATE VENDORS AND PACKAGES• STEP 4: CHOOSE THE VENDOR AND PACKAGE• STEP 5: NEGOTIATE A CONTRACT• STEP 6: ESTABLISH A SERVICE-LEVEL

AGREEMENT– service-level agreement (SLA)

A formal agreement regarding the division of work between a company and a vendor

• CONNECTING TO DATABASES– multi-tiered application architecture– EC architecture consisting of four tiers: Web browsers,

Web servers, application servers, and database servers• CONNECTING TO BACK-END SYSTEMS• CONNECTING TO BUSINESS PARTNERS– middleware

Separate products that serve as the glue between two applications; sometimes called plumbing because it connects two sides of an application and passes data between them

• LOG FILES– access log: A record kept by a Web server that shows when a

user accesses the server; kept in a common log file format, each line of this text file details an individual access

– Pageviews by time slot: Pageview statistics allow frequent review of the number of site accesses

– Pageviews by customers’ log-in status: This information helps determine whether requiring customers to log in is worthwhile.

– Pageviews by referrers. Track customers by referral links. .– Pageviews by visitor’s hardware platform, operating system,

browser, and/or browser version.

• HAML – HTML Abstraction Markup language• SASS – Syntactically Awesome Stylesheets• HTML5• AJAX - Asynchronous JavaScript and XML• Jquery – Most popular javascript library e.g JQTouch for mobile app

development• REST API (Representational State Transfer) - an increasingly popular,

powerful, and simple method of leveraging HTTP as a Web Service.• Micorsoft Silverlight – web application framework for multimedia• Mobile frameworks e.g PhoneGap, Titanium Mobile• Browsers: IE 9, Chrome, FireFox