EP1247203A2 - Procede pour un cadre de fournisseur de services applicatifs - Google Patents
Procede pour un cadre de fournisseur de services applicatifsInfo
- Publication number
- EP1247203A2 EP1247203A2 EP01901986A EP01901986A EP1247203A2 EP 1247203 A2 EP1247203 A2 EP 1247203A2 EP 01901986 A EP01901986 A EP 01901986A EP 01901986 A EP01901986 A EP 01901986A EP 1247203 A2 EP1247203 A2 EP 1247203A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- user
- information
- network
- recited
- customer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Definitions
- the present invention relates to application service providers (ASPs) and more particularly to improving existing application infrastructures of ASPs.
- ASPs application service providers
- the Internet is a worldwide interconnection of computer networks that communicate using a common protocol. Millions of computers, from low end personal computers to high-end super computers are coupled to the Internet.
- the Web World-Wide-Web
- CERN the European Particle Physics Laboratory
- the Web is a wide-area hypermedia information retrieval system aimed to give wide access to a large universe of documents.
- the Web was known to and used by the academic/research community only. There was no easily available tool which allows a technically untrained person to access the Web.
- Mosaic graphical user interface
- the architecture of the Web follows a conventional client-server model.
- client and server are used to refer to a computer's general role as a requester of data (the client) or provider of data (the server).
- client and Web documents reside in servers.
- Web clients and Web servers communicate using a protocol called "HyperText Transfer Protocol" (HTTP).
- HTTP HyperText Transfer Protocol
- a browser opens a connection to a server and initiates a request for a document.
- the server delivers the requested document, typically in the form of a text document coded in a standard Hypertext Markup Language (HTML) format, and when the connection is closed in the above interaction, the server serves a passive role, i.e., it accepts commands from the client and cannot request the client to perform any action.
- HTML Hypertext Markup Language
- the communication model under the conventional Web environment provides a very limited level of interaction between clients and servers.
- increasing the level of interaction between components in the systems often makes the systems more robust, but increasing the interaction increases the complexity of the interaction and typically slows the rate of the interaction.
- the conventional Web environment provides less complex, faster interactions because of the Web's level of interaction between clients and servers.
- a system, method and article of manufacture are provided for improving an existing application infrastructure of an application service provider.
- a user is prompted to identify at least one aspect of an existing application infrastructure utilizing a network.
- the identification of aspect of the existing application infrastructure is received utilizing the network.
- Such aspect of the existing application infrastructure is subsequently analyzed using a spreadsheet stored in a database. Further, improvements to the existing application infrastructure are suggested based on the analysis utilizing the network.
- the aspect of the existing application infrastructure includes an ability to deliver applications over the network.
- results of the analysis may be assessed after which the assessment may be provided the user with the assessment.
- the user may be prompted to identify the aspect of the existing application infrastructure by querying the user.
- the improvement may include adding components of the existing application infrastructure that are currently missing.
- Figure 1 is a schematic diagram of a hardware implementation of one embodiment of the present invention.
- Figure 1A illustrates the ASP framework components associated with the present invention along with the subcomponents of the infrastructure sub-component
- Figure IB illustrates various subcomponents of the ASP Organization component of Figure 1A;
- Figure 1C illustrates a process for improving an existing application infrastructure of an application service provider
- Figure 2 is a flow diagram illustrating a high level overview of an architecture
- Figure 3 shows the dependencies of three architecture frameworks
- Figure 4 illustrates a delivery vehicle matrix
- Figure 5 illustrates a Delivery Vehicle Cube
- Figure 6 is a flow diagram depicting considerations to be taken into consideration when identifying the core technologies to be used in an architecture
- Figure 7 is a chart that can be utilized to determine whether to use Netcentric technology
- Figure 8 is a chart that can be utilized to determine whether to use Client Server technology
- Figure 9 is a chart that can be utilized to determine whether to use Host technology
- Figure 10 illustrates an eCommerce Application Framework in a Development Architecture
- Figure 11 illustrates the relationship between the eCommerce Application Framework, possible eCommerce Selling Models, enabling technology, and enabling eCommerce Software Packages;
- Figure 12 illustrates a flowchart for a method for automated performance of services on a network in accordance with an embodiment of the present invention
- Figure 13 shows an agent of the eCommerce Application Framework in accordance with one embodiment of the present invention
- Figure 14 illustrates a flowchart for a method for suggesting products over a network in accordance with an embodiment of the present invention
- Figure 15 illustrates the merchandising component of the eCommerce Application Framework of the present invention
- Figure 16 illustrates a flowchart for a method for interacting with a user over a network for personalizing a website in accordance with an embodiment of the present invention
- Figure 17 depicts the Relationship Management section of the eCommerce Application Framework in accordance with one embodiment of the present invention.
- Figure 18 illustrates a conceptual personalization architecture for implementing the Relationship Management section of the eCommerce Application Framework
- Figure 19 illustrates a simple personalization process
- Figure 20 is a graphical depiction of extents of personalization
- Figure 21 illustrates a content catalog that can be used to manage an enterprise's content
- Figure 22 illustrates an exemplary template with three Dynamic Content Areas (DCAs) embedded within the template in accordance with a method of associating a rule and content to an interaction;
- DCAs Dynamic Content Areas
- Figure 23 depicts a ShARE (Selection, Acquisition, Retention, and Extension) customer relationship model which addresses the changes in a shift to interactive marketing
- Figure 24 illustrates a flowchart for a method for administrating an e-Commerce system on a network in accordance with an embodiment of the present invention
- Figure 25 illustrates components of the maintenance and administration portion of the of the eCommerce Application Framework in accordance with one embodiment of the present invention
- Figure 26 illustrates the Order Processing portion of the eCommerce Application Framework of the present invention
- Figure 27 illustrates a flowchart for a method for completing a transaction over a network in accordance with an embodiment of the present invention
- Figure 28 depicts an example flow of business capabilities needed for complete order processing on an eCommerce implementation
- Figure 29 illustrates a flowchart for a method for electronically serving a customer over a network in accordance with an embodiment of the present invention
- Figure 30 illustrates key customer services of the Customer Services portion of the eCommerce Application Framework
- Figure 31 illustrates the Security component of the eCommerce Application Framework in accordance with one embodiment of the present invention
- Figure 32 illustrates a flowchart for a method for ensuring security of an e-Commerce system on a network in accordance with an embodiment of the present invention
- Figure 33 shows a sample architecture in an online advertising scenario
- Figure 34 illustrates an exemplary security architecture in an online advertising scenario
- Figure 35 depicts a sample architecture providing direct network access to several of customers in order to share specifications, distribute engineering designs, and collaborate on works in progress;
- Figure 36 depicts another exemplary Security Architecture in the scenario of Figure 35;
- Figure 37 shows a sample architecture in an interactive customer support scenario;
- Figure 38 illustrates an exemplary security architecture in a customer support scenario
- Figure 39 depicts a sample architecture in an online banking scenario
- Figure 40 shows an exemplary security architecture in an online banking scenario
- Figure 41 illustrates a sample architecture in an online shopping scenario
- Figure 42 shows an exemplary security architecture in an online shopping scenario
- Figure 43 illustrates a flowchart for a method for manipulating data about a customer in an e- Commerce environment in accordance with an embodiment of the present invention
- Figure 44 illustrates the Decision Support component of the eCommerce Application Framework in accordance with one embodiment of the present invention
- Figure 45 illustrates the Integration component of the eCommerce Application Framework in accordance with one embodiment of the present invention.
- Figure 46 illustrates a flowchart for a method for integrating an e-Commerce component into an existing framework of an enterprise in accordance with an embodiment of the present invention.
- a preferred embodiment of a system in accordance with the present invention is preferably practiced in the context of a personal computer such as an IBM compatible personal computer, Apple Macintosh computer or UNIX based workstation.
- a representative hardware environment is depicted in Figure 1, which illustrates a typical hardware configuration of a workstation in accordance with a prefe ⁇ ed embodiment having a central processing unit 110, such as a microprocessor, and a number of other units interconnected via a system bus 112.
- the workstation shown in Figure 1 includes a Random Access Memory (RAM) 114, Read Only Memory (ROM) 116, an I/O adapter 118 for connecting peripheral devices such as disk storage units 120 to the bus 112, a user interface adapter 122 for connecting a keyboard 124, a mouse 126, a speaker 128, a microphone 132, and/or other user interface devices such as a touch screen (not shown) to the bus 112, communication adapter 134 for connecting the workstation to a communication network (e.g., a data processing network) and a display adapter 136 for connecting the bus 112 to a display device 138.
- a communication network e.g., a data processing network
- display adapter 136 for connecting the bus 112 to a display device 138.
- the workstation typically has resident thereon an operating system such as the Microsoft Windows NT or Windows/95 Operating System (OS), the IBM OS/2 operating system, the MAC OS, or UNIX operating system.
- OS Microsoft Windows NT or Windows/95 Operating System
- IBM OS/2 operating system the IBM OS/2 operating system
- MAC OS the MAC OS
- UNIX operating system the operating system
- a preferred embodiment is written using JAVA, C, and the C++ language and utilizes object oriented programming methodology.
- Object oriented programming has become increasingly used to develop complex applications. As OOP moves toward the mainstream of software design and development, various software solutions require adaptation to make use of the benefits of OOP.
- OOP is a process of developing computer software using objects, including the steps of analyzing the problem, designing the system, and constructing the program.
- An object is a software package that contains both data and a collection of related structures and procedures. Since it contains both data and a collection of structures and procedures, it can be visualized as a self-sufficient component that does not require other additional structures, procedures or data to perform its specific task.
- OOP therefore, views a computer program as a collection of largely autonomous components, called objects, each of which is responsible for a specific task. This concept of packaging data, structures, and procedures together in one component or module is called encapsulation.
- OOP components are reusable software modules which present an interface that conforms to an object model and which are accessed at run-time through a component integration architecture.
- a component integration architecture is a set of architecture mechanisms which allow software modules in different process spaces to utilize each others capabilities or functions. This is generally done by assuming a common component object model on which to build the architecture. It is worthwhile to differentiate between an object and a class of objects at this point.
- An object is a single instance of the class of objects, which is often just called a class.
- a class of objects can be viewed as a blueprint, from which many objects can be formed.
- OOP allows the programmer to create an object that is a part of another object.
- the object representing a piston engine is said to have a composition-relationship with the object representing a piston.
- a piston engine comprises a piston, valves and many other components; the fact that a piston is an element of a piston engine can be logically and semantically represented in OOP by two objects.
- OOP also allows creation of an object that "depends from” another object. If there are two objects, one representing a piston engine and the other representing a piston engine wherein the piston is made of ceramic, then the relationship between the two objects is not that of composition.
- a ceramic piston engine does not make up a piston engine. Rather it is merely one kind of piston engine that has one more limitation than the piston engine; its piston is made of ceramic.
- the object representing the ceramic piston engine is called a derived object, and it inherits all of the aspects of the object representing the piston engine and adds further limitation or detail to it.
- the object representing the ceramic piston engine "depends from" the object representing the piston engine. The relationship between these objects is called inheritance.
- the object or class representing the ceramic piston engine inherits all of the aspects of the objects representing the piston engine, it inherits the thermal characteristics of a standard piston defined in the piston engine class.
- the ceramic piston engine object overrides these ceramic specific thermal characteristics, which are typically different from those associated with a metal piston. It skips over the original and uses new functions related to ceramic pistons.
- Different kinds of piston engines have different characteristics, but may have the same underlying functions associated with it (e.g., how many pistons in the engine, ignition sequences, lubrication, etc.).
- a programmer would call the same functions with the same names, but each type of piston engine may have different/overriding implementations of functions behind the same name. This ability to hide different implementations of a function behind the same name is called polymorphism and it greatly simplifies communication among objects.
- composition-relationship With the concepts of composition-relationship, encapsulation, inheritance and polymorphism, an object can represent just about anything in the real world. In fact, logical perception of the reality is the only limit on determining the kinds of things that can become objects in object-oriented software. Some typical categories are as follows: • Objects can represent physical objects, such as automobiles in a traffic-flow simulation, electrical components in a circuit-design program, countries in an economics model, or aircraft in an air-traffic-control system.
- Objects can represent elements of the computer-user environment such as windows, menus or graphics objects.
- An object can represent an inventory, such as a personnel file or a table of the latitudes and longitudes of cities.
- An object can represent user-defined data types such as time, angles, and complex numbers, or points on the plane.
- OOP allows the software developer to design and implement a computer program that is a model of some aspects of reality, whether that reality is a physical entity, a process, a system, or a composition of matter. Since the object can represent anything, the software developer can create an object which can be used as a component in a larger software project in the future.
- OOP enables software developers to build objects out of other, previously built objects. This process closely resembles complex machinery being built out of assemblies and sub-assemblies. OOP technology, therefore, makes software engineering more like hardware engineering in that software is built from existing components, which are available to the developer as objects. All this adds up to an improved quality of the software as well as an increased speed of its development.
- C++ is an OOP language that offers a fast, machine-executable code.
- C++ is suitable for both commercial-application and systems-programming projects. For now, C++ appears to be the most popular choice among many
- OOP programmers but there is a host of other OOP languages, such as Smalltalk, Common Lisp Object System (CLOS), and Eiffel. Additionally, OOP capabilities are being added to more traditional popular computer programming languages such as Pascal.
- CLOS Common Lisp Object System
- Eiffel Additionally, OOP capabilities are being added to more traditional popular computer programming languages such as Pascal.
- Encapsulation enforces data abstraction through the organization of data into small, independent objects that can communicate with each other. Encapsulation protects the data in an object from accidental damage, but allows other objects to interact with that data by calling the object's member functions and structures.
- Subclassing and inheritance make it possible to extend and modify objects through deriving new kinds of objects from the standard classes available in the system. Thus, new capabilities are created without having to start from scratch.
- Polymorphism and multiple inheritance make it possible for different programmers to mix and match characteristics of many different classes and create specialized objects that can still work with related objects in predictable ways.
- class libraries allow programmers to use and reuse many small pieces of code, each programmer puts those pieces together in a different way.
- Two different programmers can use the same set of class libraries to write two programs that do exactly the same thing but whose internal structure (i.e., design) may be quite different, depending on hundreds of small decisions each programmer makes along the way.
- similar pieces of code end up doing similar things in slightly different ways and do not work as well together as they should.
- Class libraries are very flexible. As programs grow more complex, more programmers are forced to adopt basic solutions to basic problems over and over again.
- a relatively new extension of the class library concept is to have a framework of class libraries. This framework is more complex and consists of significant collections of collaborating classes that capture both the small scale patterns and major mechanisms that implement the common requirements and design in a specific application domain. ' They were first developed to free application programmers from the chores involved in displaying menus, windows, dialog boxes, and other standard user interface elements for personal computers.
- Frameworks also represent a change in the way programmers think about the interaction between the, code they write and code written by others.
- libraries provided by the operating system to perform certain tasks, but basically the program executed down the page from start to finish, and the programmer was solely responsible for the flow of control. This was appropriate for printing out paychecks, calculating a mathematical table, or solving other problems with a program that executed in just one way.
- event loop programs require programmers to write a lot of code that should not need to be written separately for every application.
- the concept of an application framework carries the event loop concept further. Instead of dealing with all the nuts and bolts of constructing basic menus, windows, and dialog boxes and then making these things all work together, programmers using application frameworks start with working application code and basic user interface elements in place. Subsequently, they build from there by replacing some of the generic capabilities of the framework with the specific capabilities of the intended application.
- Application frameworks reduce the total amount of code that a programmer has to write from scratch.
- the framework is really a generic application that displays windows, supports copy and paste, and so on, the programmer can also relinquish control to a greater degree than event loop programs permit.
- the framework code takes care of almost all event handling and flow of control, and the programmer's code is called only when the framework needs it (e.g., to create or manipulate a proprietary data structure).
- a programmer writing a framework program not only relinquishes control to the user (as is also true , • for event loop programs), but also relinquishes the detailed flow of control within the program to the framework.
- This approach allows the creation of more complex systems that work together in interesting ways, as opposed to isolated programs, having custom code, being created over and over again for similar problems.
- a framework basically is a collection of cooperating classes that make up a reusable design solution for a given problem domain. It typically includes objects that provide default behavior (e.g., for menus and windows), and programmers use it by inheriting some of that default behavior and overriding other behavior so that the framework calls application code at the appropriate times.
- default behavior e.g., for menus and windows
- Class libraries are essentially collections of behaviors that can call when those individual behaviors are desired in the program.
- a framework provides not only behavior but also the protocol or set of rules that govern the ways in which behaviors can be combined, including rules for what a programmer is supposed to provide versus what the framework provides.
- • Call versus override With a class library, the code the programmer instantiates objects and calls their member functions. It's possible to instantiate and call objects in the same way with a framework (i.e., to treat the framework as a class library), but to take full advantage of a framework's reusable design, a programmer typically writes code that overrides and is called by the framework.
- the framework manages the flow of control among its objects.
- Writing a program involves dividing responsibilities among the various pieces of software that are called by the framework rather than specifying how the different pieces should work together.
- a framework embodies the way a family of related programs or pieces of software work. It represents a generic design solution that can be adapted to a variety of specific problems in a given domain. For example, a single framework can embody the way a user interface works, even though two different user interfaces created with the same framework might solve quite different interface problems.
- a preferred embodiment of the invention utilizes HyperText Markup Language (HTML) to implement documents on the Internet together with a general-purpose secure communication protocol for a transport medium between the client and the Newco.
- HTTP or other protocols could be readily substituted for HTML without undue experimentation.
- HTML is a simple data format used to create hypertext documents that are portable from one platform to another.
- HTML documents are SGML documents with generic semantics that are appropriate for representing information from a wide range of domains. HTML has been in use by the World-Wide Web global information initiative since 1990. HTML is an application of ISO Standard 8879; 1986 Information Processing Text and Office Systems; Standard Generalized Markup Language (SGML).
- HTML has been the dominant technology used in development of Web-based solutions.
- HTML has proven to be inadequate in the following areas:
- UI User Interface
- Custom “widgets” e.g., real-time stock tickers, animated icons, etc.
- client-side performance is improved.
- Java supports the notion of client-side validation, offloading appropriate processing onto the client for improved performance.
- Dynamic, real-time Web pages can be created. Using the above-mentioned custom UI components, dynamic Web pages can also be created.
- Sun's Java language has emerged as an industry-recognized language for "programming the Internet.”
- Sun defines Java as: "a simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, high-performance, multithreaded, dynamic, buzzword-compliant, general-purpose programming language.
- Java supports programming for the Intemet in the form of platform-independent Java applets.”
- Java applets are small, specialized applications that comply with Sun's Java Application Programming Interface (API) allowing developers to add "interactive content" to Web documents (e.g., simple animations, page adornments, basic games, etc.).
- Applets execute within a Java-compatible browser (e.g., Netscape Navigator ®) by copying code from the server to client. From a language standpoint, Java's core feature set is based on C++. Sun's Java literature states that Java is basically, "C++ with extensions from Objective C for more dynamic method resolution.”
- ActiveX includes tools for developing animation, 3-D virtual reality, video and other multimedia content.
- the tools use Internet standards, work on multiple platforms, and are being supported by over 100 companies.
- the group's building blocks are called
- ActiveX Controls small, fast components that enable developers to embed parts of software in hypertext markup language (HTML) pages. ActiveX Controls work with a variety of programming languages including Microsoft Visual C++, Borland Delphi ®, Microsoft ® Visual Basic programming system and, in the future, Microsoft's development tool for Java, code named "Jakarta.” ActiveX Technologies also includes ActiveX Server Framework, allowing developers to create server applications. One of ordinary skill in the art readily recognizes that ActiveX could be substituted for JAVA without undue experimentation to practice the invention.
- the present invention addresses the potential impacts of the emerging Application Service Provider (ASP) industry on the operations of traditional packaged application software providers. This industry will have a significant impact on the majority of new and existing software providers, raising new opportunites while simultaneously bringing additional challenges.
- ASP Application Service Provider
- the research associated with the present invention is a part of a broader effort to develop a market offering for players in the ASP value chain (Network Services, Managed Services, Hardware and Software Infrastructure, and Applications) and is incorporated into the offering initial diagnostic.
- the discussion of business capabilities software companies need to develop to compete in this space is also applicable to other participants in the ASP value chain that are working or aligning with software providers.
- the Build Applications area concentrates on the characteristics application software needs to have to be successfully used and delivered through the ASP channel. It addresses the primary question: What software capabilities are required for an application to be successfully delivered through the ASP channel? Architectural characteristics are addressed at a high level, but coverage of specific technical details is covered in the Infrastructure portion of the diagnostic.
- the Build Application capability is subdivided into three main areas:
- Ensuring applications have a thin client option is the first step. Most applications delivered through ASP's should not require proprietary code to be manually installed on client machines. Client logic or other supporting applications should be delivered at point of need on a machine independent basis.
- cost effective delivery of these options implies use of a toolset that can generate multiple styles of client interfaces from a single set of business specifications.
- the key message is actually a "flexible client architecture” rather than "thin or no client architecture”.
- the software needs to have a metering engine that captures key usage metrics. Potential items include:
- the metering engine captures the information with logging and/or counting functions, support billable event reporting, and produce usage files that can be interfaced into the ASPs billing application. Given the variety of emerging pricing models that are being experimented with in the marketplace, flexibility is essential.
- security has two primary dimensions - ensuring only valid users have access to the application itself, then ensuring that once they get there, they can only perform authorized functions.
- the connection from the customer site to the ASP needs to be tightly secured.
- Security may also need to be managed across several complementary applications (i.e. ERP, CRM, and HR.)
- ERP enterprise resource planning
- CRM customer relationship management
- HR HR
- security is a "global" function, used to manage users and assign access rights throughout the system, hi a multi-company environment, security functions also need to be segmented at the customer level. Direct user access to the application's database for reporting, custom functions must be restricted. Secured APIs or "data marts" allowing access to only a single customer's data must be provided by software or ASP extensions.
- a key differentiation point for ASP's is the ability to offer solution "bundles" and to tie these bundles into clients existing applications.
- Current ASP's tend to offer only single vendor solutions, with limited options for interfacing external systems.
- Bundled offerings from ASPs need to leverage existing application APIs and middleware applications to provide integration to - other packages or systems.
- back office software applications will also need to interface easily into web-based marketplaces such as AribaNetwork and Commerce One's MarketSite.
- Multi-company processing is the ability to run multiple companies' on a single installation of an application (and by default, on a single server).
- ASP's can.configure the infrastructure for their customers in one of two ways:
- Shared Infrastructure Other companies may be willing to accept shared application service due to less complex business organization (not necessarily less complex business processes) or the desire of a lower priced service.
- multi-company support is less important, because each company's instance of an application service resides on dedicated infrastructure.
- the ability to support multi-company processing delivers economies of scale from a system administration and infrastructure set-up and maintenance perspective. Leveraging economies of scale at this level is critical for ASP's that target the mid to small-sized business market.
- Every data entity/object in the application must have a foreign key identifying the customer's organizational entity. This includes configuration tables and other tables controlling application processing and parameters.
- Scalability is an attribute of a software system that characterizes the degree to which an application can support an increase in processing volume or in number of users.
- software must be scalable to both the items mentioned in the statement above: transaction volume and number of users.
- transaction volume and number of users In a shared infrastructure, the system must also be scalable for several companies to use at once. Scalability, for the most, part resides within the infrastructure.
- the "one big box” model provides better economies of scale in regards to the cost and simpler sharing of resources.
- the "many smaller boxes” model is more expensive, but it allows more flexibility to serve the customer.
- the ASPs may be managing several applications for one end customer, brining together several applications.
- integration with other business applications is only one part of the "integration" necessary to deliver a solution. It is also critical that the application has standard hooks into systems administration software and tools covering areas such as:
- SAP's mySAP.com business scenarios provide preconfigured process templates for various industries and relationships, each of which can be customized to meet the needs of the organization.
- the functionality needed to execute tasks for each business scenario resides in discrete SAP and non-SAP software and service components, all of which are available through the mySAP.com Workplace.
- the ASP market causes a paradigm shift in how software is sold and distributed.
- the emergence of ASPs introduces another sales channel for software vendors and could eventually turn the use of application software into a commodity-like business, with the ASP as the prime distributor of the product.
- the ASP channel Utilize the ASP channel to extend reach into untapped markets or to provide existing customers additional options, h this model, the ASP channel is simply an additional channel for the vendors products, but not one that is necessarily more important than the other channels. Currently this is the predominant strategy. A key challenge for software companies adopting this strategy is managing inevitable channel conflict as the ASP market grows.
- ASPs need to be able to adjust their revenue/expense flow and match the payments to the software vendor with their customer receipts. If the ASP channel grows as expected, it is likely that the market will begin to force the new model, and the software vendors will then need to continue adapting their business and pricing approach to reflect this demand.
- SAP has recently made some interesting moves in this direction, proposing a mixed pricing model for mySAP.com based on a blend of user-types, transactions processed and access to SAP by external systems. They have also recently introduced a rental pricing option, where customers can rent the software over a contract period of 12 — 36 months. SAP indicated this move was driven mainly by demand from public sector clients and SAP's outsourcing/ASP partners.
- the ASP channel also impacts how software vendors support their customers. Adding to the already complex process of managing a customer base, the ASPs not only add additional customers for the software vendor to manage and serve, but they are also intertwined with the end customers creating complex customer relationships.
- Software vendors often have a consulting or professional services unit to assist in delivering value to their customers. Software vendors need to address the ASP marketplace like any other type of customer.
- the software vendor now has an additional set of customers that it must be able to serve from a Help Desk. In addition, they must have a technical capability to understand the configuration and challenges of an ASP's infrastructure. The additional layer of help desk customers also complicates the SLA agreements. Questions arise as to who should support the software: the vendor or the ASP?
- Vendors must develop a clear sfrategy for structuring service agreements in this environment.
- One object of the present invention is to provide an overview of the ASP Diagnostic, the organization and focus of the Diagnostic, insight into the unique capabilities required by ASPs, and reference to AC assets that can be leveraged for more detailed information.
- ASP Diagnostic including a Process Component, Infrastructure Component, Organization Component, and an ASP Diagnostic Checklist Overview.
- the purpose of the ASP Diagnostic is to assist an ASP in understanding the breadth and depth of the capabilities needed to successfully compete in the ASP marketplace identify the gaps that exist relative to the ASP's current capabilities.
- the ASP Diagnostic is comprised of three assets used to address this phase:
- ASP Framework Spans the organization, infrastructure, and business process competencies that an ASP must develop in order to be successful.
- ASP relevant insights, and references assets that can be leveraged when performing the diagnostic.
- ASP Diagnostic Worksheet Organized into categories based on the ASP Framework, this worksheet identifies ASP relevant questions that help to identify possible gaps in an ASP's current capabilities.
- Figure 1 A illustrates the ASP framework components associated with the present invention.
- Each component of the framework is comprised of questions, ideas, and points of view that are intended to help diagnose an ASP's capabilities.
- Each component can be further broken down into components that define the capabilities required.
- an organization component 150 includes organizational model and skills needed for the ASP to serve its customers, retain its employees, and perform in a fast moving and evolving marketplace.
- an infrastructure component 152 which includes network, data center, and environment characteristics necessary for the ASP to serve a large customer base, maintain security, and ensure high-availability.
- process component 154 including processes, alliances, and governance controls necessary for the ASP to develop focused products, sell to the customer, serve the customer, and manage its enterprise.
- the process component 154 has a plurality of subcomponents including:
- an ASP When interacting with customers, it is vitally important that an ASP present a unified message and a single point of contact across all of the partners that help market, sell, and service the product. ASPs must determine what channels to employ to sell to customers and identify how to leverage alliance partners for sales leads.
- target customer •
- Successful ASPs must define their value proposition (price-driven, value-driven, service-driven), based on the application packages and level of integration/customization they wish to support. •When defining service offerings, ASPs must determine what components of the offering can be supported in-house vs. sourced to a partner.
- Operations environment becomes part of product offering in ASP business model o Operation management tool and people become customer facing
- Development Environment o ASP could offer development environment as a product that clients use to create, customize, and test applications
- the Application Architecture component 168 contains items specific to common application components and services for integrating these components, independent of specific application implementations. They are as follows:
- the Application Architecture component 168 supports the ability to leverage an instance of the application across multiple customers, possesses modules whose function is to perform one and only one activity, and incorporates the application architecture tiers with the infrastructure.
- the Execution Architecture component 170 is a unified collection of run-time services and control structures that provide an environment in which business applications are executed. Some key components are listed below:
- Execution Architecture component 170 is adapted to support middleware that provides integration with legacy systems, multiple applications, and web access, and manage access to the applications while maintaining the proper customer authorization within the application.
- the Operations Architecture component 172 is a combination of tools and support services required to keep a production system up and running efficiently. Some key components of the Operations Architecture component 172 are listed below.
- the Operations Architecture component 172 provides the ASP with the method of delivering products to the customer, and must be sensitive, responsive, and proactive to customer needs and events that impact customer service
- the Development Architecture component 174 is a combination of standards, procedures and tools, which define an application design, construction and maintenance environment including, but not limited to Policies and Procedures, and Tools. In operation, the Development Architecture component 174 balances requirements of software standardization vs. customization and supports multiple, simultaneous, and inter-related efforts.
- the Data Center 176 is the physical site and support of the hardware and software required to operate the application.
- the Data Center 176 must maintain operability. If the Data Center fails, all service to the customer is lost. Further, the Data Center 176 offers the greatest opportunity for ventures and alliances.
- Figure IB illustrates various subcomponents of the ASP Organization component 150. They are listed as follows:
- the ASP Organization component 150 include various points-of-views including:
- Managing Customer Care o Maintaining a single point of contact for the customer to deliver seamless solutions in an organization with multiple vendors and alliances o Customized vs. standardized application packages/offerings will determine the level(s) of customer service provided by the ASP o Determining the amount of service offered to the customer
- the organization structure component 178 identifies participants and their hierarchical relationships which defines functional categories and relationships to each other, and who will be responsible for performance of work tasksNarious organization factors of the organization structure component 178 that are relevant to ASP's are as follows:
- the culture component 180 of an ASP is embodied in the values, beliefs, and behaviors of the organization.
- An organization's culture is the common bond among their processes, structure, and people.
- leader component 182 that are relevant to ASP's are as follows -.Risk Taking: Ability to constantly make decisions quickly and take calculated ⁇ s sCollaboration: Ability to work with alliances and cross-functional teams to meet customer needs
- Hiring and retaining the "right people" for an ASP organization may present a major challenge.
- the workforce is the people, talents, and skills comprising an organization.Narious challenges and implications of the workforce component 184 that are relevant to ASP's are as follows : Challenges
- Rapid Sfrategy ShiftsOrganization structure mandates cross-functional skills Cross training workforce in multiple skills and applications Scarce talent resources
- Figure 1C illusfrates one aspect of the present invention that is supported by the foregoing technology.
- the present invention includes a process for improving an existing application infrastructure, framework, or computer system of an application service provider.
- a user is prompted to identify at least one aspect or characteristics of an existing application infrastructure, framework, or computer system utilizing a network.
- the identification of aspect or characteristic is received utilizing the network.
- such aspect of the existing application infrastructure maybe subsequently analyzed using a spreadsheet stored in a database.
- Note operation 184 improvements to the existing application infrastructure are suggested based on the analysis utilizing the network, as indicated in operation 186.
- the characteristics of the framework maybe translated into a common structure before being analyzed to identify enhancements. It should be noted that the common structure may be any single type of commonly known framework which the present invention is capable of handling. The enhancements may then be subsequently displayed to the user with appropriate recommendations .
- the characteristics of the existing computer system may be inputted into a knowledge base prior to being analyzed utilizing pre-defined rules to identify upgrades to the application service provider.
- rules may resemble those set forth in Table 1 hereinabove.
- the upgrades may be subsequently displayed with instructions for upgrading the application service provider.
- the aspect or characteristic of the existing application infrastructure, framework, or computer system includes an ability to deliver applications over the network.
- results of the analysis may be assessed after which the assessment may be provided the user with the assessment.
- the user may be prompted to identify the aspect or characteristic of the existing application infrastructure, framework or computer system by querying the user.
- the improvement, enhancement or upgrade may include adding components that are currently missing.
- Architecture whether the word is applied to work with a city skyline or an information system — is both about designing something and about making, building, or constructing something.
- An architect is literally a "master builder” - from the Greek words archi (primary or master) and tekton (builder or carpenter). In good Greek fashion, however, it would be unthinkable for something to be built without a sound theoretical basis. So architecture involves theory, but there is nothing merely theoretical about it. Conversely, architecture is also eminently practical, but there is nothing merely practical about it. Ideas about form and structure lie behind architecture. Ultimately one must let go of a mindset that tries to separate the designing from the making; they exist together as a whole, and to extract one without the other is to kill the whole.
- Architecture also is an engineering discipline. It creates and also depends on a structured manner to analyze and design whatever is to be built. Like all living disciplines, architecture continues to grow and evolve. Engineering discoveries move the field forward. Certain design and engineering principles clearly show themselves to be successful in practice, and these then become repeatable components of additional work. The ability to continue to master each component, as well as the interrelations among components, is a distinguishing characteristic of architecture.
- So architecture is about designing and building something from a set of basic components, and also about the interrelations among the components. And it is a discipline whereby all these things come together - materials, space, people - to bring something into being that was not there before.
- architectural thinking implies that the work is about creating certain kinds of structures that can be engineered or at least influenced, and that the work can be organized and performed in a structured, systematic manner.
- use of architectural concepts implies that there is something repeatable about the work: architects can create a sfructure, then use components of that structure again in the future when they come across a similar situation.
- Step 1 Analyze 202. The architect must begin by listening to and researching the needs of the client. What is the function of the building? What is its environment? What are the limitations set by budget and use?
- Step 2 Design 204. This is a blueprint stage. The architect creates one or several designs showing the layout of the sfructure, how different spaces fit together, how everything looks from different views, what materials are to be used, and so forth.
- Step 3 Model & Test 206. Not every architectural project has this step, but in many cases, the architect will create a scale model/prototype of the finished product, allowing the client a clearer sense of what the ultimate solution will look like.
- a model is a kind of test stage, allowing everyone to test the design in a near-real-life setting.
- Step 4 Build 208. This is the actual construction of the building, in general accord with the blueprints and prototype.
- Step 5 Operate and Evolve 210.
- the building is to be lived in and used, of course, and so an important step is to ensure that the finished product is tended to and operated effectively. Architects themselves may not be involved in the operation of their building, but they certainly would be involved in future expansions or evolutions of the building. Stewart Brand's recent text, How Buildings Learn, argues that effective architecture takes into account the fact that buildings "learn”: as people live and work in them over time, those people will seek to alter the building in subtle, or not so subtle, ways.
- Development Architecture Framework (DAF) 300 provides access to one's thought leadership and architecture frameworks for Execution, Development and Operations environments 302,304,306.
- the execution architecture is a unified collection of run-time technology services, confrol structures, and supporting infrastracture upon which application software runs.
- the development architecture is a unified collection of technology services, tools, techniques, and standards for constructing and maintaining application software.
- a Framework should be thought of as a conceptual structure used to frame the work about to be done. It should be used as a thought trigger or as a completeness check. A framework cannot be built directly but instead should use it as a starting point for understanding and designing.
- Frameworks are used to help practitioners understand what components may be required and how the components fit together. Based on the inventory of components and the description of their relationships, practitioners will select the necessary components for their design. An architect extracts components from one or more Frameworks to meet a specific set of user or application requirements. Once an architecture has been implemented it is often referred to as an architecture or an infrastructure.
- framework addresses can vary widely.
- One framework may outline the components for a technical infrastructure in its entirety whereas another f amework may focus explicitly on the network.
- a thorough understanding of a framework's scope is crucial to its use during the design phase of a project.
- An architecture provides a completeness check, ensuring that all relevant components of a possible solution have been considered. It ensures consistent, reliable, high-quality applications. It gives everyone - the developers and their clients - a common framework and common language with which to talk about the work.
- Good architecture provides common set of application services. It removes application programmers from the complexities of the underlying technology and development tools, allowing less experienced developers to be more productive.
- a well-balanced architecture consists of the "right" components, where the components are tied together by simple interrelationships, since complex relationships increase the architecture's complexity faster than modularization can reduce it.
- Horizontal Scaling Architecture assists in optimal utilization of existing infrastructure resulting in increased application performance and stability
- An architecture can be used to isolate the applications from particular products. This ensures that products can more easily be replaced later. This characteristic can be important if there is risk associated with a product's or product vendor's future, or the rate of change in a particular technology area is particularly high. An evident example is provided by looking back at changes in user interface standards over the last 10 years. Applications that did not separate user interface logic from business logic, had to be completely rewritten to take advantage of new user interfaces, such as MS Windows and more recently Web browsers.
- a properly defined and intelligently developed architecture delivers an infrastructure on which a business can build and enhance applications that support their current and future business needs. This is how a business can manage change.
- a key benefit of an architecture is that it divides and conquers complexity. Simple applications benefit less from architecture than complex ones do; fewer decisions are needed in these cases, and fewer people need to know about them. During maintenance, a poorly architected small application is tolerable because it is still relatively easy to locate a fault and to anticipate the side effects of correcting it. Conversely, complex applications are more difficult to understand and to modify. Complexity is reduced by subdividing the application in layers and components, each layer having a specific functionality. The layers are strongly cohesive and de-coupled: A given layer does not need to know the internals of any other layer. Study of Large Complex Systems (LCS) reinforces the importance of a stable architectures in large systems. By way of example:
- the architecture should be a thin, well-defined layer that ensures development productivity, maintenance flexibility, performance and stability.
- Architecture logic can quickly become very absfract and hard to maintain by others than those who built it. A carefully designed architectures can quickly be destroyed by maintenance personnel that do not understand how it was designed and developed.
- the architecture should be made as light-weight as possible only addressing the requirements that drive it. Avoid “nice to have” flexibility and additional levels of abstractions that are intellectually interesting but not strictly required. Deliverv Vehicle Overview
- a Delivery Vehicle is an integrated collection of technology services that supports an application style, implemented on a distinct architecture generation.
- An application style defines a unique class of processing type, which is used by applications, and thus end-users.
- Current Delivery Vehicle Reference set of Application Styles include batch, on-line transaction processing, collaboration, data warehouse, knowledge management and integration.
- the Application Style is the primary dimension of a Delivery Vehicle, and most people use the terms Application Style and Delivery Vehicle to mean the same thing.
- a key goal with a delivery vehicle is that it can be reused across many applications. It is still part of the Technology Architecture, not involving application specific logic.
- An Application Architecture on the other hand, will be specific for a particular application.
- An architecture generation is a broad classification scheme for placing technology components within a technology era. Delivery Vehicles are physically implemented on a distinct architecture generation.
- the present invention is an advance in client/server generation.
- the technology generation discussion is intended to be a logical discussion that aims to highlight the new business capabilities enabled by new technologies. So for example, there could be a PowerBuilder application executing from a Web Browser using a plug-in.
- Delivery vehicle matrix Figure 4 illustrates a delivery vehicle matrix 400.
- One way of looking at a Delivery Vehicle is therefore as an intersection of a technology generation 402 and application style 404. This is the presentation method currently adopted for navigation in DAF.
- the Delivery Vehicle Cube 500 illustrated in Figure 5, represents the "full" picture of what a Delivery Vehicle is.
- the Application Styles and the Technology generations it introduces a distinction between Execution, Development and Operations Environments 502,504,506.
- the cube has the following dimensions, or cube "faces:
- These components extend the technology architecture with services that are specific for each distinct delivery vehicle. Some of the components may extend some of the core services, while others are completely new types of components.
- a mission-critical high- volume transaction delivery vehicle may require special performance tuning tools in the development architecture, as well as real-time monitoring tools in the operations architecture.
- Delivery Vehicles When Delivery Vehicles are implemented, they leverages technology across the business by: reducing operations and maintenance costs by limiting the number of different technologies and skills required to support these technologies.
- the Delivery Vehicle Framework presents a way to organize technology architecture information. When presenting this type of content to clients, one will need to tailor the information one presents based on the client's background and the terminology they are familiar with.
- the goal should be to understand the pros and cons of the different technology options available for each component and to select the most appropriate one based on the client's requirements.
- a typical scenario can involve mainframe legacy systems acting as servers in a client server architecture, application servers being accessed from both traditional GUI clients built in Powerbuilder and Visual Basic and from Web-based front ends accessing the application servers via a Web-server.
- Netcentric concepts include three- or multi-tier architectures with more business logic residing on server, flexible security architecture, and user interface concepts that can be ported to a Web Browser at a later stage.
- Netcentric architecture will usually still support development of client/server applications. The opposite is not often true since traditional client/server systems usually keep a substantial portion of the business logic on a fat client, while Netcentric architectures still favor keeping most business logic at the server side. Also Netcentric architectures tend to be more loosely coupled than (the still dominant two-tier) client/server systems.
- the client has significant technology skills within its IT department.
- the client has multiple hardware/operating system configurations for their client machines.
- the application will run on a device other than a PC.
- the momentum of the Internet is putting a lot of pressure on vendors of various devices to be web-enabled. Having the Internet infrastracture in place makes it more feasible for vendors to create new physical devices from which electronic information can be accessed. For example, Web televisions are gaining momentum. Now users can access the Internet from a television set. Network Computers, thin-client devices that download and ran appHcations from a centrally maintained server are generating a lot of interest. Also, users want to have access to the same information from multiple physical devices. For example, a user might want to have access to his/her e-mail from a cellular phone, from a Web TV or their portable PC.
- the client needs to reach a large or diverse internal audience with this application.
- Configuration management of traditional client/server applications which tend to be physically distributed across both the client and server, is a major issue for many corporations.
- the software distribution of such applications which are packaged as one large or a combination of a few large executables makes minor updates difficult for even a small scale user population. Every time an update is made, a process must be initiated to distribute new code to all client machines.
- the browser-centric application style offers an alternative to this traditional problem of distributing functionality to both internal and external users.
- the client is an early adopter of new technology.
- Non-expert users need a simple to use and familiar interface in order to be able to use the application. As people grow accustomed to Web-browsers, this will be their preferred user- interface. The consistent interface provided by the Web-browsers will help reduce the learning curve necessary for becoming familiar with new applications.
- Session performance is critical to the application or sub-second response times are required for successful use.
- Client server applications can provide response times necessary to support transaction intensive mission critical systems.
- Application logic and business data can be distributed between the client and server for optimal efficiency.
- Web-based interfaces still have an inherent overhead due to the connectionless communication and constant downloading of data, formatting information and applet code.
- the application needs to support off-line mobile users.
- a client server architecture allows for the distribution of application logic and/or data between the server and client. Replication of data and logic is usually necessary for applications that are run on portable computers.
- the client maintains their applications internally and the IT department has the necessary resources, organizations and processes to maintain a Client Server application.
- the client currently maintains and operates host based applications and the IT organization contains personnel familiar with the development and operation of these types of applications.
- a dedicated work force with low turnaround skilled in the use of character based 3270 applications, eliminates the need for a GUI interface.
- the application requires a high volume of repetitive transactions.
- mainframes The high degree of processing power provided by mainframes allows for the development of applications with very high performance requirements.
- End users can maintain a physical connection to the host at all times.
- the application will need to support a large number of users (>1000).
- the Client has the resources, organizations and processes necessary for the development and operation of a Host based application.
- a pure host based architecture eliminates the possibility of distributing data or business logic to the client. This removes some of the application performance benefits which can be seen by a distribution sfrategy, however, cenfralized access to the business logic and business data can improve operational stability and lower costs.
- DAF provides access to a thought process regarding leadership and architecture frameworks for Execution, Development and Operations environments. Very briefly, DAF covers:
- the Development Architecture Framework should help with the establishment and operation of a high-quality development environment.
- the Operations Architecture Framework should help with the establishment and operation of a high-quality operations environment.
- the eCommerce market is rapidly emerging. This is evidenced by the growing numbers of new eCommerce fransactional sites, the increasing number of 'exchange of value' transactions performed daily, the emergence of new entities and businesses focusing on the electronic marketplace, the convergence and partnering of existing businesses on the electronic marketplace, and the empowerment of the everyday user to satisfy their needs within the evolving electronic marketplace.
- One definition of eCommerce is: 'A commercial exchange of value between an enterprise and an external entity — either an upstream supplier, a partner, or a down-stream customer — over a universal, ubiquitous electronic medium. ' '
- the eCommerce Application Framework 1000 in DAF is illustrated in Figure 10.
- the eCommerce Application Framework (eCaf) identifies and describes the application capabilities useful or necessary to implementing eCommerce business solutions. It provides a framework to tie business process, application, and technology aspects of eCommerce together, and a basis for mapping and assessing the capabilities of the eCommerce packaged solutions. This framework should be used as a vehicle for communicating, and designing eCommerce business solutions.
- the eCommerce Application Framework has been created to provide an understanding of the types of services and applications needed to implement an eCommerce solution.
- Figure 11 illusfrates the , relationship between the eCommerce Application Framework 1000, the possible eCommerce Selling Models 1102, enabling technology 1104, and enabling eCommerce Software Packages 1106.
- the eCaf defines a supporting middle layer between basic Internet or Netcentric enabled products
- eCommerce Package Software and the technical infrastructure (Enabling Technology) needed to develop eCommerce-enabled web sites based on a business-specific selling model (eCommerce Selling Models). Note that eCaf just covers the middle layer.
- Each solution or site may have a different selling approach, architecture, utilization of technology, or applications.
- the eCaf includes the concepts, applications, and services common across the different solutions and has organized them into application capabilities.
- Technologically eCommerce business capability requires a logical grouping of services enabling a specific eCommerce functionality.
- the functionality may be a single technical service within the underlying architecture or an entire application.
- the capabilities have been derived from surveying multiple eCommerce software packages and eCommerce implementations. As eCommerce evolves, the categories and capabilities are apt to change.
- the capabilities are presented as framework components and subcomponents.
- the eCommerce capabilities illustrate the highest level categories of eCommerce capabilities: External Agents, Electronic Merchandising, Relationship Management, Maintenance & Administration, Order Processing, Customer Services, Security, Decision Support, Integration.
- the capabilities within a given category may cover the full range of potential selling models. Some components may be specific only to a business-to-business buyer-centric implementation.
- the enabling technology for an eCommerce implementation is the same underlying technology used to enable most Netcentric (and in some cases client server) implementations. In general, most implementations will utilize the Netcentric technologies. An understanding of the Netcentric framework will act as a building block for understanding the technology aspects of an eCommerce solution.
- Electronic - Any product delivered over an electronic medium may include content, information, audio and video, or software (for example, music, or financial products such as insurance or mutual funds).
- the seller-centric model is the most common. In its simplest form, a company typically provides information about their products and gives the customer the ability to place orders. More advanced implementations use electronic means for supporting the entire sales and support process including: marketing, product display, merchandizing, customer needs assessment, order processing, and many other activities. In most seller-centric solutions, the infrastracture is created and maintained by the merchant. The customer needs nothing more than a browser and/or access to the site.
- a buyer-centric site In a buyer-centric solution, the main focus is on customer or buyer trying to fulfill a need for a product. In contrast to Seller-Centric sites which offer products, a buyer-centric site displays items the buyer would like to purchase - in effect trying to lure sellers. Many of the same capabilities as seller-centric sites are needed such as order management and payment capabilities. In this case, the customer joins or creates an infrastructure focused on fulfilling his needs.
- the infrastracture typically provides an environment between the trading partners which promotes browsing and comparing products, ordering products , fulfillment, payment, and any needed customer support services. A concentration should be placed on the ease of fransactions and information flow. For this reason, sellers may customize their product line to the buyers' specific needs.
- Broker or auction type solutions are also emerging, albeit more slowly. Broker implementations don't typically sell their own goods, but rather provide an eCommerce environment to facilitate bringing multiple buyers and sellers together. Both buyers and sellers can utilize the broker's site and infrastructure rather than developing and maintaining their own eCommerce capabilities. In this - case, a broker has set up the infrastructure needed to buy and sell goods. The infrastructure will be very similar to a seller-centric solution with the addition of components needed to register goods to be sold (or in a buyer-centric twist - register RFQ's 'request for quote'), price negotiation and bidding, and reconciliation services.
- a Trading Network is an excellent business example of a broker site. Users of the TN can issue Request For Quote's (RFQ'S) on the trading network. The request could be for raw materials, components, or finished items. Suppliers are free to answer an RFQ providing they meet some basic guidelines and requirements. The network provides a true win-win relationship. Since the network can be global, suppliers the purchaser may never have known about are free to participate.
- RQ'S Request For Quote's
- a sales website offers a variety of computer, electronic and fitness goods as well as a general merchandise auction.
- Customers can browse items in order to view product information and their current bid prices.
- Interested buyers can place a bid online and see how their bid price compares with others.
- the auctions are time based and follow a detailed bidding process. As customers are out bid, they are notified via email and have the option to reply with a counter bid.
- the eCaf framework provides a basis for understanding and assessing the capabilities of the eCommerce packages.
- the current eCommerce software packages can be classified in the following categories:
- This category includes software geared toward providing an application for specific eCommerce business functions or processes. This product would be a template or is in itself a specific eCommerce-enabled application. An example would include products providing the ability for cataloging or help desk functions. This is often referred to as vertical solutions.
- a complex eCommerce solution potentially may utilize software from all three of these categories in addition to any custom code needed to integrate them.
- Figure 12 illustrates a flowchart for a method 1200 for automated performance of services on a network.
- a request for a service is received over a network in operation 1202
- information about a product on the network is searched in operation 1204 in order to perform the service.
- Data including the price of the product is selected from the information on the network and the service is performed utilizing the data in operations 1206 and 1208.
- the service may include making suggestions based on a user's profile and history.
- the service requested may also include retrieval of data.
- the service requested may include a product comparison.
- the data may further include detailed product attributes.
- the services of other agents may also be used to perform the service.
- an agent 1300 (also called an intelligent agent) is a program that gathers information or performs some other service without the immediate of a user. See Figures 10 and 13. Typically, an agent, using parameters provided by the user, searches all or some part of the Internet, gathers the requested information, and presents it back to the requesting user. Intelligent external agent technology will continue to grow as the eCommerce market develops. As the market saturates with products and information, the need for techniques or agents to filter this information will grow.
- An agent in accordance with an embodiment of the present invention has the ability to transport itself from one place in the network to another, filtering through relevant information in order to perform its task.
- the software can be designed to make suggestions based on the user's profile and history, and change its behavior as it leams from experience and interactions with other agents.
- Mobility the ability to move around an electronic network
- Adaptability an agent may be able to adjust itself to the habits, working methods and preferences of its user.
- An exemplary agent is a Bargain Finder.
- the Bargain Finder agent is an intelligent agent used for comparative shopping for music CDs. A user can request the agent to search based on a specific artist and album. The agent would search its known sources, gather the needed information, and return a comparison list with prices and specifications to the requester. If this concept is applied to the business world, the potential value increases dramatically.
- a business may utilize a similar concept but on a much grander scale, allowing the user to take advantage of the lowest available price. Providing there are ample suppliers, a business may create an agent to search for the best prices on constraction materials or assembly components. In this case, the agent could provide substantial savings in material costs and personnel.
- An outbound agent would be an agent a site sends out to gather information.
- a site selling digital goods may embed a specific digital watermark within its digital goods. It could then create an agent to search the Web for this digital watermark to determine if unauthorized uses exist.
- Another example would be competitive analysis.
- a site may create an agent for polling competing sites for current prices and product list in order to price the site's own items competitively.
- the site may deal with inbound agents.
- the emergence of the comprehensive intelligent shopping assistant is a prime example of inbound agents. Agents may enter a site in an attempt to gather information about products, availability and prices.
- an Internet shopper may use a 'shopping agent' to submit a request for a particular product.
- the shopping agent determines which sites may contain relevant information, interacts with the site in order to gather any needed information, and prepares a report for the user including detailed product information, product comparisons, and pricing lists. From the site selling goods, the agent maybe viewed as in inbound customer.
- an agent is both inbound and outbound, depending on the perspective of the site. If the site is the initiator of the agent, the agent is viewed as outbound. This same agent is viewed as inbound to the sites it interacts with to gather information.
- TCP/IP fulfills the necessary transport function
- RPC Remote Procedure Call
- socket libraries allow for the basic exchange of information and invocation of procedures on top of TCP/IP
- CORBA adds routing, names services and data type translation.
- Peer-to-peer computing allows work stations to concurrently send and host multiple requests for services. Security, reliability and integrity issues need to be explored, especially because the market has high expectations for these areas in client/server environments.
- Asynchronous distributed computing is best handled with mobile agents. Rather than coding a long-lasting, complex exchange of messages between a client and possibly multiple servers, a mobile agent carries a compact program with all the required procedures for the interaction to be executed remotely.
- Figure 14 illustrates a flowchart for a method 1400 for suggesting products over a network.
- Information of a product is displayed in operation 1402.
- the product information includes product specifications, graphics, video images, digital samples, and/or inventory availability.
- a search mechanism is provided for searching for items similar to the product over a network. Items found during the search similar to the product are suggested in operation 1406. Selection of the product and the items similar to the product is allowed for purchase over the network in operation 1408.
- a downloadable sample of the product may also be provided.
- user- created customization of the product may also be allowed.
- compatibility and/or equivalence of the product may be evaluated with regards to the items similar to the product.
- a price of the product or the items similar to the product may be generated based on a customer profile, a customer type, and or a geographic location. Additionally, one or more of a special offering and a sale of the product or the items similar to the product may be generated for a customer based on a customer profile, a customer type, and/or a geographic location.
- Electronic merchandising introduces a new medium, the Internet, for merchants to sell their products.
- the merchandising component consists of services needed to deliver product, pricing, and inventory information. These services may directly interact with the personalization services in order to deliver the information in a customized format. A traditional example of this would be window-shopping, merchandise browsing, or any informative interaction with the sales clerk.
- the site can be open for business 24 x 7.
- Catalog Sales Model migrates naturally to the Internet. Shoppers can click on a product to see a larger picture and more detailed information. An intelligent agent can suggest similar items or others matching the tastes of the individual. Special offerings and sales can be generated dynamically for each customer at the time of the visit. Catalogs could even be sent as email attachments once per month, with links back to the main site for more information.
- Convenience Services such as grocery shopping and virtual flower shops, are successful on the Internet. Busy consumers can choose a greeting card from a huge online catalog, add a personal message, and have it sent on any day they specify.
- Digital Goods such as news, research, or data and graphic media like art and photography, are ideal for eCommerce. Buyers can take immediate delivery at the time of purchase, providing instant gratification and peace of mind. The seller does not receive payment until the goods are received.
- the actual storage of the content is important.
- Product information stored using static HTML aside, the most common method is in an object or relational database.
- the system may involve storage and access to many non-discrete data types.
- the content may consist of non-discrete data types such as audio and video.
- the delivery mechanism will need to be able to deliver the data to different access devices.
- Systems will encounter the need to manage non-discrete data types such as audio and video data and alternative content in case the access type cannot handle the data types.
- the ability to deliver new products and information may be critical to stay ahead or match the competition.
- the speed at which the information can be updated and migrated to production is critical. Be sure to understand the relationship between the content changes and the correct procedures to migrate the changes to the production system.
- the ability to maintain and grow the site may prove to be key factors in the site's success.
- a content staging process should be put in place.
- the procedures for modifying and adding content, testing, validation of content and subject matter, authorization and migration to production should be documented.
- Buyer-Centric solutions may need to implement a method of evaluating compatibility and equivalence of products. If the buy site deals with multiple trading partners, these functions may provide additional cost savings. Getting buy-in from all the trading partners to agree upon a common model for product information is key for this to be successful.
- Dynamic pricing is the ability to display a different product price based on a customer profile, customer type, or any other logical possibility. Ties to personalization may be needed to handle pricing schemes based on relationships, terms, volumes, or other potential customer profile items. It is a good practice to base the information on database technologies that allow for quick retrieval and calculation (Note: This is definitely a performance-conscious area).
- the pricing mechanism should be tied to any sort of discounting or promotional ⁇ incentives.
- contracts and agreements may be in place to drive the specific pricing. Discounts may be applied on an incremental or time-oriented basis.
- a common concept used are electronic coupons or other types of discounts. The customers may have earned or acquired a coupon or other form of discount earlier in the interaction with the site. The coupon, usually stored on the user's machine, may be applied to the purchased products.
- Custom Product Configuration 1516 Some applications may require the ability for custom part creation or the combination of individual components the user can combine to fulfill a specific, hard-to-manage, need. Part compatibility and pricing can become very complex and unmanageable.
- Figure 16 illusfrates a flowchart for a method 1600 for interacting with a user over a network for personalizing a website.
- a user is identified and information about the user is collected in operations
- a profile of the user is built based on the collected information and a plurality of different contents are managed in operations 1606 and 1608.
- the profile and the contents are analyzed in order to match attributes of the profile of the user and attributes of the contents in operation 1610.
- the contents which have attributes that match the attributes of the profile of the user are then selected and delivered to the user in operations 1612 and 1614.
- the user is allowed to manually select which of the delivered contents are depicted on a display in operation 1616.
- the user is also allowed in operation 1618 to selectively position the delivered contents on the display.
- the analysis of the profile may occur in real time.
- the user may also be identified by using a cookie, receiving user input, and digital certificates.
- a time when the user last viewed the contents may also be identified with portions of the contents that have been modified or added since the time when the user last viewed the contents being indicated.
- the user may also be allowed to rate the contents.
- a potential customer may be selected from a plurality of users and an act may be performed to entice the potential customer to become a real customer. Also, an activity may further be conducted to retain a current customer and a demand generating application may be provided.
- Enterprises must respond by capitalizing on the new potential the interactive mediums offer; to reach, communicate, and interact with customers.
- the way enterprises interact with their customers continues to change due to demand for increased convenience, better access, higher levels of interactivity, and faster fulfillment.
- electronic means e.g., home PCs, automated teller machines, automated voice response, 800- numbers, and the Internet.
- future communications will be increasingly technology-enabled and information-intensive and will provide the foundation for a continuous, two-way dialogue with customers.
- the Relationship Management section of the Ecaf covers applications and architecture components geared toward capitalizing on the interaction with the customer. Within relationship management, there are two main driving forces: Interactive Marketing 1702 and Personalization 1700.
- Personalization is the continuous process of collecting, analyzing, and using information about the end-user in order to improve the productivity and value of their interaction with the organization.
- the purpose of personalization is to interact with the customer/user with the hopes of establishing and building a relationship, increasing sales by catering to the individual customer's needs, cross selling or up selling, and enticing users to return to the site.
- the Internet was designed for two-way interaction, hence providing the ability to narrow-cast or customize the interaction to the individual user.
- the enterprise complexity of the personalization approach will drive the architecture components and application required to implement and deliver this sfrategy. It is critical for the enterprise success to understand how the personalization strategy will affect the entire enterprise.
- the conceptual personalization architecture is independent of enterprise or industry.
- the statement may be a simple 'Welcome back ⁇ user name>! ' message or it may be more complex, drawing on information from the last interaction.
- the application or web site's user interface is customized for the individual.
- the actual page layout or page design is altered based on the individual interacting with the system.
- This category can be sub-divided based on who (the site or the user) controls how the interface is altered.
- Site Morphing Site Morphing. Site morphing is when the site alters the user's interface. The site may alter the page's layout, the subjects or types of content and information, or the site capabilities based on what is known about the user. A variety of different user attributes or algorithms can be used to customize the user's interface.
- Customer Sfrategy The site's interface may alter based on a customer status or customer strategy.
- a customer sfrategy might attempt to interact with new site visitors with an interface geared toward selection (what is the potential value of this customer?) and acquisition (how do we acquire this customer?) while gearing the interface and interaction for an existing customer to retention and extension (selling additional products, allowing the customer to be self serving, or making it easier to do business with the company).
- the site's interface can be altered based on the status of the customer. For example, a United Airline ® site could be customized based on the user's Mileage Plus ® status. Non-members would have a very generic site where they can perform the basic site functions. Mileage Plus members would have additional capabilities (such as flight history, mileage status or customer service chat) as well as different site layouts and attributes based on their exact status. 3. Intent Determination. This technique attempts to pre-determine the purpose of the user's visit to the site and customize the navigation and user interface to help the user quickly perform these actions. Based on the user's information and past actions, it can often be determined the most likely reason the user is logging on and thus make those functions or information immediately available - front and center.
- the United Airline site used intent determination to create a personalized interface. Over time, the site learns that the user regularly check their mileage status, the in-flight movie listings, food service listing, and airport maps. The site also notices that the last two interactions, the user has called to upgrade to First Class. The next time the user logs in, realizing the customer has an upcoming flight reservation to Chicago, an O'Hare terminal map, the in-flight movie, and dinner menu is automatically displayed as well as a prompt asking the user if they would like to upgrade to first class. The power of this concept becomes increasingly important as more functional web-sites are deployed that allow the user to do possibly hundreds of different things. Users are already complaining about the ability to navigate even relatively simple sites.
- Personalized intent determination seeks to "de-clutter” the company's site and demonstrate to the user that the company "knows” them and what is important to them. Good intent determination is not easy to implement, but holds real power for making customer-based applications easier, and more likely to be used.
- the user controls the site's configuration.
- the site provides a facility that allows the user to configure the page layout, and the subjects.; links or content that the page will contain. Once configured, the user has a customized page configured to their specification.
- the user-configured interface is loaded. Within the user-configured site, the user has the ability to configure their own site by selecting the layout, topics and content details that will be displayed by selecting items from defined menu of configuration options.
- This technique filters the information or content displayed to the user based on what is entered by, or known about the user. Many personalized sites use some form of content filtering. A variety of . different filtering techniques have emerged. Some are adaptations of fraditional client/server techniques adapted to the Web. In the first grouping of techniques presented here, the user confrols how the information is filtered. • User-controlled, explicit content filtering. Techniques in this category enable the user to filter data or content.
- Personalized Information Allows the user to see information specific to them.
- the content in this case may be information about the user's profile, about products they have or a past order history.
- This technique allows the user to filter the data by building 'where clause' statement or execute 'canned' queries. It is often used when the user is familiar with the data and wishes to organize or filter it in multiple ways.
- Collaborative filtering determines clusters of users with similar interests, either by asking users explicitly or by observing user selections and actions to determine those interests implicitly. This is an effective technique for creating recommendations for products.
- Contextual inference uses human-determined rules to select content based on behavior, interest or other profile attributes.
- the site determines what content has changed since the last time the user has interacted with the site and display a list of changes.
- This technique simplifies a complex process or repetitive task by storing the user's preferences and inputs required to complete the process. In most cases a series of pre-defined questions and preferences have to be set up in order to use this functionality. 1 -Click purchasing can be offered which allows a user to select an item with a single click and purchase the item — by-passing the order selection, order form, shipping and payment pages.
- a Fastpath approach can be used where the user has performed the function before and allowed the application or web site to retain more static information like shipping address.
- the site can use information that it currently has about the user to pre-fill the form. For example, the site may fill out the order form with the user's last address and order information or the site may fill out the list of items ordered last.
- This approach differs from Fastpathing in that the user still sees the pre-filled form and has the opportunity to change the data.
- the site provides an interactive assistant to deliver 'personalized help and assistance'. Its purpose is to help the user with difficult actions and site functionality. Based on observing and recording how often (if ever) the user has used a give function within the site, tips, suggestions, and other forms of assistance can be fine tuned to the user' s level of experience.
- Most of the personalization techniques described above are interactive personalization techniques. Content and information is personalized for the user in real time - while the user interacts with the application or site. Some forms of personalization can also be used in a non-interactive, or "push" mode
- Push (or “server-push”) is where the delivery of information to a user on the Web is triggered and initiated by the information server rather than by the user.
- the information pushed from a server to a user actually comes as the result of a subscriptionlike standing request created by the user and either stored on the server or on their local machine.
- This program captures and stores the user's profile locally and then periodically initiates requests for information on the user's behalf from the server.
- Push technologies enable an enterprise to reach and provide value to their customer outside of the traditional interactions.
- content filtering doesn't require that it be delivered though an interactive session.
- push does not necessarily mean personalized.
- a site may simple push the same information to all users or subscribers.
- Personalized push refers to information that is filtered based on a specific user's request or profile or where the delivery is scheduled for a specific user. There are a variety of different legitimate business reasons to push a users information. The following are some examples of personalized push:
- a user subscribes to receive information on a scheduled basis.
- the information that is pushed is either determined through user selection - the user selects the subjects and type of information that they wish to receive, or the site determines what information the user may be interested in receiving based on their profile information. For example, at an investment web site, users are allowed to subscribe to investment information feeds. The user decided to receive a daily feed of the stock quotes for the commodities they hold. The site pushes this information and additionally pushes news articles and stock recommendations based on the user's portfolio holdings.
- Event Reminders The user subscribes to receive event reminders from the web site.
- An event reminder might remind the user of specific dates of interest such as a birthday or anniversary, a bill reminder or that an action is required in the near future.
- a site may also push updates to a user.
- Microsoft's Expedia allows users to request fare updates. A user can choose a specific destination of interest. If the fare to this location changes, the user is notified of the fare update.
- Personalization is actually a catchall for several underlying technology capabilities needed to create a personalized interaction between an organization and a user. By breaking the underlying technology and logic into simpler components, one can build an understanding of the processes and technology needed to deliver personalized appHcations.
- Personalization is the continuous process of collecting, analyzing, and using end-user information in order to improve the productivity and value of their interaction with the organization. Implicit in this definition is the need to do a number of basic things. Simply put, there needs to be some method for identifying the user, collecting (or detecting) and storing user information, analyzing it, assessing what content or functionality is appropriate, and present it to the user.
- Figure 19 illusfrates a simple personalization process 1900. Most personalization techniques utilize this process in some fashion or another. The complexity and the details of the process may vary based on the technique. The following is a description of the different personalization process components.
- Identification 1902 The first step is to identify the user. This enables the rest of the personalization process components. One must know whom one is talking to, in order to personalize "personalize” the experience.
- the next step is to collect information about the user. This may be done with implicit or explicit techniques at the direction of the user, or controlled by the system. The goal is to capture information that will assist in determining and delivering a valuable interaction.
- Personalization Optimization 1910 - Personalization is a complex and evolutionary process. The ability to gather metrics and measurements on the personalization process in order to perform rule or data translations, model tuning and reporting is essential to maximizing the concept's potential.
- Each enterprise must assess their personalization opportunities from their own perspective and develop their own personalization sfrategy.
- the personalization sfrategy must be integrated with the enterprise's existing customer relationship, technology and eCommerce strategies.
- the opportunities where personalization typically delivers the most value in within the Interact domain This area consists of opportunities where the organization is interacting with the user or the user is attempting to engage in a dialog.
- the publishing slice and Knowledge Management aspects of the Interact slice are the areas which are typically the secondary areas of personalization opportunity with the transact slice being last.
- the value of the personalized interaction will be dependent on many factors such as the type of products and services (can they be personalized?) or the type of relationship with the customer or consumer and the ability to capture user information.
- a formal personalization sfrategy should be established that included the near term goals and future vision. Many companies jump right in without any guidance or realization on how they are growing or enhancing the enterprise. The strategy should begin with the big picture. Perform an examination of the critical forces affecting the enterprise and how these forces affect the business process. What are the drivers? Society, marketing, technology, business/industry? With the personalization market emerging, there are still with many unproven business cases and unproven technology. Firms should not engage in personalization simple because they can, nor should they fall prey to the unproven expectations generated by vendors or marketing hype. Firms considering personalization must frame personalization in the context of true enterprise goals (increasing customer retention or increase customer extension), then determine how personalization will help accomplish these goals.
- the personalization strategy should evaluate the complexity of the personalization, the cost and time to implement and the potential business impact. In many cases, a trae one-to-one personalized site may not make sense. Creating millions of varieties of a product will only complicate the interaction to the point that the user is overwhelmed. In some cases engaging in simple personalized dialogues may be the best near and midterm solutions.
- the type of dialog that the site engages with the user may vary based on the user. In some cases no personalization or customization should be performed. As more information is captured on the user, the correct type of dialog should be assessed. Determining the correct touch points and level of complexity of the personalization techniques is an important part of the enterprise's personalization sfrategy.
- Vendor Immaturity Many of the vendors offering the most sophisticated personalization software are small start-ups founded by academics. These companies are still developing their strategies and growth plans, and are liable to change course over the next few years. 4. Content Management - Content must be created and stored in such a way that it can be flexibly combined and frequently modified.
- the architecture components and processes will differ depending on the type of personalization technique implemented. For each technique, there are important considerations and differences that should be understood. Each technique will vary in approach, information required, and delivery.
- Triggering the Personalization Process What triggers the personalization process? Does the user control the process or does the site? Is the process triggered when the user requests a page or DCA within a page or is it triggered by a background process based on implicit information capture?
- the rale set may be well defined and the user is not even aware that it exists. There is also no way for the user to alter or customize the content.
- An example of the personal acknowledgment would be a simple greeting that says "Hello ⁇ User>, Good Afternoon”.
- the rule is based on time of day, as determined by the system time. Once the user enters the site, the rale is executed. Based on the result to the system would greet the user with a 'Good Morning, Good Afternoon, or Good Evening'. In this case, the rule is set and does not get altered.
- Content Filtering works very similar to personal acknowledgment, but it allows the user to alter the content they wish to see.
- the rule set is not as clearly defined as personal acknowledgment, rather a shell of the rules is in place and the user has the ability to customize the attributes to the rules.
- Content Filtering allows the user to define what it is they wish to see on their page. On a site, the user is able to select what information is important for them to view. Users can select whether or not they want to see information about sports, weather, U.S. news, World News, states, and many more. Whichever options the user selects, are the types of stories that will be displayed on their personalized page. The user should also be given the option to change their options at any time. In this case, the rule shell is defined, however the attributes are changeable by the user at any time.
- Custom Interface takes the concepts of Content Filtering one step farther.
- the user not only has the option of setting the content attributes, but they are also able to set the page attributes as well.
- By giving the user the ability to set the page attributes they set up the layout of their page so the items are what they want to see, and where they want to see them.
- the same form of the rule shell is used, but the user also gets many other options that allow them to set up the page as they desire.
- Personal Assistant The idea of a personal assistant has been popularized by Microsoft in their addition of the personal assistant to Microsoft Office. If one begins to have trouble or is unable to figure out what to do, the Personal Assistant is there to help. This type of interface is different from that of the other types mentioned.
- the system is designed to be a learning system and is situation based. That is, it is designed to monitor what actions the user is performing and trying to determine if the user is lost. If the system notices the user is continually returning to the section of the site designed to change their address, but has not been successful in getting their address changed, then the personal assistant would be launched. The assistant would try to help the user follow the needed steps to change their address successfully.
- This type of site is not built upon hard-set rales, but rather is designed to leam as much as possible about the user as it goes.
- the first task of the personalization engine is to identify the user. Unlike the everyday person to person interactions where a person relies on recognizing the another's face, voice or other attributes to identify the other person, identifying a user on-line can be a difficult process.
- the simple task of identifying users does not prove to be a simple task at all.
- a system may personalize an interaction based on the information captured during a single session or information gathered over the entire duration of the relationship. Regardless, the information that is captured needs to be associated with the user. In order to track a user, an identification or tracking mechanism needs to be created.
- cookie A variety of techniques can be used to identify the user. The technique may depend on the site's security requirement and privacy concerns. Today, the most common approaches are to either create a cookie on the client machine or to have an identification system on the server, such as a user login. In the future, digital certificates will be more prevalent, and should become the dominant identification method.
- a Cookie is a small text file placed on the client machine's hard drive by a Web server. It is essentially a user's identification card, and cannot execute code or deliver viruses. It is unique to the user and can only be used by the server that issued it. Although this is a common method for identifying a user, there are many risks associated with it.
- Cookie may expire or be deleted by the user.
- Identifying what user is on the machine may be very complex. This may result in multiple cookies or a complex cookie that can identify multiple users. Regardless, the cookie may not be able to determine what user is currently on the system.
- a user may use multiple machines.
- the new/other machine may not have the user's cookie and will not be able to identify the user.
- the user has the ability to disable the use of cookies within their browser. There is an option that the user can set that will tell their browser to reject all cookies. If the user does this, then he or she will be unidentifiable .
- This technique requires the user to log-in or sign on to the site. This requires the creation of a user ID and password to utilize the system and the resources needed to validate and store the ID and password. With this technique, the user must remember their log-in name and password. Additional services to lookup log-in names or request new passwords should also be provided.
- Modem cryptographic technology offers certificates or digital IDs that will serve as elecfronic forms of identification. Digital certificates are still evolving and the key players and details on how the pieces tie together are still falling into place.
- Firefly Passport One example of an effective use of a certificate is Firefly Passport.
- the certificate is tied to a list of user profile information. (Microsoft purchased Firefly for this technology. The name is apt to change over time.)
- the Firefly Passport gives users an application with which to confrol their personal information and payment details. The information can be dispensed selectively to third parties to use.
- the cookie may be used for the initial identification or the default ID for the Log-in process, while the server side log-in process would then be used to verify the identity of the user. It is important to make this process seamless and unobtrusive.
- the identification process should fade in the background. It should be present yet invisible and unobtrusive.
- Creating a log-in or sign-in process introduces the traditional problem of multiple log-ins, (or ID's) from a site or enterprise perspective. If a user forgets their login, they may simply create a new one. This may result in multiple logins for the user, and any information related to the previous login is not associated to the user's new one. To prevent this, a facility to look up existing login names or request a new password should be provided.
- the personalization process is data intensive and is driven by the information collected about the system's users. The more information the site collects and retains about a user, the more likely it can add value and interact on a personalized level. With out this crucial data, there is no basis to shape the interaction or drive the personalization techniques.
- the information collected about a user is considered the user's profile. Logically, this is everything the enterprise (site) knows about the user. Attributes from the user's profile will be the input to the personalization process and the driving data for the different personalization techniques. A profiling strategy should be developed by the enterprise that addresses what information to capture, the sources of this information, the methods to capture it, and how this information will be stored. If the customer is to be treated the same at all points of interaction, a common profile should be developed that is shared by all departments and applications.
- the profile will be based on the enterprise's personalization sfrategy, the personalization techniques to be implemented, the data required to implement them and a mix of any user information deemed usable that can be captured.
- the site needs to capture the information required to perform the analysis aspect of the personalization process for each of the personalization technique to be implemented. This information might include:
- User transaction or enterprise data such as purchase history.
- Each personalization technique may require a different set of attributes from the user's profile.
- the information needed to deliver a 'Site Controlled Contextual Inferences' will be very different than the information needed for 'pre-filled forms.
- Filtering requires the creation of rules and the necessary user information that satisfy the rales or 'Contextual Inferences'.
- the information required to satisfy a rule is referred to as Personalization Matching Factors (PMFs) and will be discussed in more detail in the Matching Logic component.
- PMFs Personalization Matching Factors
- the rule may be based on gender, age, purchase history or customer demographics.
- the information that is used to Pre-Fill forms may be a different set of user profile attributes. For example, this might be name, address, shipping information and payment information.
- Another personalization technique may use the same set of user information or may require another subset of user data.
- this data may come from many sources within the enterprise. Information may be gathered directly from the user's interaction with the personalized site through implicit or explicit information gathering techniques. Information may be used from other data sources such as existing application's fransactional data, the enterprises' data warehouse, or from other internal or external data sources.
- the situation should be analyzed to determine if the 'profile data' should be replicated and stored in additional profile tables or if it should remain within the existing data source.
- Some personalization techniques will require additional tables to store the user's profile attributes needed to deliver the personalization technique. This will be discussed in more detail within the Matching section of the paper.
- P3P The Internet Privacy Working Group (IPWG) began to develop the Platform for Privacy Preferences (P3P).
- P3P extends the Platform for Intemet Content Selection (PICS) standard with notice and consent capabilities to enable automatic negotiation of preferences, policies, and information exchange. If P3P settings are accurate, Web surfers should be able to surf at will and only see P3P notices when they stray out of bounds of what is already approved in the profile.
- PICS Platform for Intemet Content Selection
- OPS Open Profiling Standard
- Personal Profile contains their personal information, including their names, e-mail address, mailing address, and any other information they wish to provide. This profile will be stored on their personal computer (or securely stored in a corporate-wide or global directory). The first time that an individual visits a Web site that supports OPS, the Web site will request information from the Personal Profile. To protect their privacy, users can decide whether they want all or part of the information to be given to publishers, and which ones can see it. In addition, if the
- Web site collects additional information about the individual's preferences, it can (with the individual's permission) store that information in the Personal Profile for future use.
- OPS gives individuals both more flexibility and more confrol over personal information than cookies can.
- P3P and OPS have common goals and have unified their projects.
- the governing term is now P3P.
- the next step is capturing the information.
- the information comes from existing data sources. In these cases the data may require refinement or replication. The remaining information can be captured directly from the user's interaction with the site.
- the user will confrol the personalization process or technique.
- the user is aware of the personalization technique and chooses to use the interface that will deliver it.
- a configured interface such as My Yahoo! requires the user to select the layout and topics they wish to display on the personalized page.
- the configuration (or setup) interface captures the needed information and adds this to the user's logical profile.
- the site collects information about the interaction.
- the interactive information capture techniques can be categorized as explicit or implicit.
- Explicit information capture usually provides an interface to collect profile information. The site explicitly asks the user to provide the information. Examples of explicit information capture techniques are:
- Registration Forms A form that the user fills out to register to the site. This may include interests, demographics or any other profile attributes that site has defined and the user may be willing to provide.
- the site may prompt the user to answer questions.
- the questions may be based on the answer to the previous question.
- the registration form or a rating interface may also be an example of a questionnaire.
- the site might ask a user a question if there is a Personalization Knowledge Gap.
- a Personalization Knowledge Gap is the difference between the data required to deliver a specific personalized interaction and the amount of information the site has collected on the user.
- Another example might be a need assessment questionnaire. For example Progressive Insurance's site provides a list of questions used to analyze the user's insurance needs.
- the site may provide an interface that allows the user to rate content or products.
- a rating interface is often used with collaborative filtering.
- • Filter or Query Interface An interface that allows the user to directly manipulate or filter the content that is displayed.
- • Configuration Interface An interface that allows the user to configure the site or select the content to be displayed.
- Implicit Techniques gather information about the interaction without directly asking the user.
- the site is recording the interaction in search of useful information.
- the user may be unaware that the site is capturing information.
- the most common implicit technique is clickstream analysis.
- the site records the user's actions, what they clicked on or where they navigated to, the content displayed, time spent or the duration a graphic was displayed. The information gathered is then analyzed for patterns and trends.
- the goal of a personalized site is to increase the value of the interaction of the user with the organization. Unfortunately, the site has the potential to do the opposite. The personalization aspects of the site could actually offend or deter customers. The approach the site uses for information capture will play a large part in the personalized site's success. The following are some items to be aware of when capturing user profile information:
- Information may also change over time.
- the user's interests or their marital status may change over time. It may be necessary to occasionally verify information. If derived information is stored, these may also become inaccurate over time. For example, driver status may change over time due to the occurrence of moving violations or a change in marital status. The same risks apply to information captured implicitly.
- the Web content of most sites is unmanaged.
- the enterprise does not utilize a method of tracking the content or the attributes of the content. Instead, the enterprise has a pool of content that may span multiple directories, departments and web servers. When content is created it is added to this pool of content by simply adding it to the Web server's directory and adding the necessary link required to display it. The content within this pool may be duplicated, outdated or unused. In short, the enterprise has no idea of the extent of the content or information about the attributes of the content.
- Unmanaged content maybe an obstacle for personalization.
- the system In order to deliver personalized content or filtered content the system must know what content exists and the attributes of this content.
- a content catalog 2100 or content management system should be used to manage the enterprise's content.
- a simple definition of a content catalog is given below. What is deemed as content can take many forms. As illustrated in Figure 21, content may be Web pages (HTML pages) 2102, graphics (images) 2104, audio, video, or even information 2106 and messages. How this content is stored may also take many forms; it may be stored in table, files or directories.
- the content catalog needs to be aware of what content exists and where it is stored. This can be achieved by retaining attributes of the content and providing indexing to the content.
- Content attributes might be physical properties such as what type of content it is (HTML page, graphic, audio file, video file or textual message) or the size of the content.
- the difficulty is attempting to store the heuristic or analytical attributes and making these attributes available for personalization techniques.
- the indexing strategy should include full text and attribute indexing which provides efficient access for the enterprise's users and potentially any integrated members of the enterprise's value chain.
- This personalization component needs to provide the intelligence to match the user's profile attributes with the correct content and deliver this content to the user. Bridging the profile information to the content is truly the heart of the personalization architecture. A variety of different approaches can be implemented to accomplish this task. The complexity of this matching logic is directly proportional to how flexible, robust and dynamic the personalization aspects of the site are.
- the Match concept is the process of analyzing the information that is known about the user and determining the correct content to display to them. Once the user profile attributes have been identified , they must be applied against the rules or matching logic defined within the site in order to determine the appropriate content to display. Three inputs are required in order to complete the Match process:
- Content Available The content on the system includes any information displayed to the user.
- content includes; Images, Text, Personalized Statements, Applets, and Digital Information.
- PMFs Personalization Matching Factors
- PMFs Personalization Matching Factor
- a Personalization Matching Factor is the building block for a rule. It is the information required to perform the matching aspect of the personalization process. This is the demographic/psychographic/sociographic or any other information that will be needed to drive the personalization process.
- a PMF might be as simple as the user's gender or a complex attribute such as driver type that is derived from a group of data. Included in the definition of the PMF should be the definition necessary to create it.
- PMFs will require involvement of the Marketing department and other business entities that understand the customer strategy and the enterprise's customers. It is important to understand the customer needs, what the customer expects, and what makes a difference to them when determining and creating PMFs.
- PMFs should be restricted to information that can be realistically captured by the site as well as information that is reliable and accurate.
- a PMF can be any piece of derived or any conceived information.
- a PMF could be the user's gender, age, marital status, number of children, the number of years they have been a customer, their profession, driving record, interests such as sports, travel or other leisure activities, favorite color, a personality trait such as if they are detail oriented or pessimistic in nature, or any otherdemographic/psychographic/sociographic piece of information. How would this information be captured? What are the attributes that would be used to derive this? What is the accuracy of this information? Why is this PMF used to personalize?
- PMF Planar Biharmonic Function
- age classification is simple a logical group of users based on their age. The values would be:
- a PMF may also be a combination of low level data. If a PMF of 'Insurance Risk' were created, the required data would be far more than age. It would need to include age, driving history, vehicle, region and potentially other data.
- the PMFs are the building blocks for rules and matching logic. Unlike SQL extensions, there is no industry standard method for accessing 'Web' content and creating rules. Some approaches are detailed below.
- Simple Conditional Rules The simplest process is to define a clear-cut set of rules against which to evaluate the PMFs. These rules are generally simple and have only a few conditions to evaluate. A simple rale would follow this structure:
- the user variable is a specific user's profile attribute or value for the rule's PMF. In this case it is the user's age which may be derived from the user's birth date and the cunent date.
- the next element in the structure is a comparison operator.
- the final element is the PMF or the group or data the rale is based on. Based on the user's age and the granularity of the PMF the rule may have numerous results. Each result may point to a different set of defined content.
- the entire age rule may be something like this:
- a rale will be made more complex with the addition of a logical operator that allows a rule to have multiple PMFs. For example a rule may simply be 'AND' multiple PMFs together. In this example, the rule would look like this:
- This rule would now be the age-gender rale. It evaluates the user's age classification and gender. If the users age classification is 'Young Adult' and male, then statement evaluates to be true and action is taken or the specified content is delivered. At first glance, this may appear to be hard coded. If directly placed in a script this would be a true statement. Instead, the infrastructure should be created that can define rules, evaluate rales, assign a rule to a dynamic content area or page, and assign content to specific rule results. Instead of hard coding this with in the application or script, the rale component or dynamic content area (DCA) is placed in the script. When the DCA is encountered, the architecture handles evaluating the rule and matching the defined profile attributes to the rule in order to deliver the appropriate content.
- DCA dynamic content area
- Forward Chaining Rules still uses the fundamentals of simple rules, but facilitates building upon whatever user information may be available at the time. In this case, if only a small amount of information about the user is available, then the rules are determined based only upon that data. Once more information is gathered, the rales allow for more complex conditions to be evaluated against. The rales are set similar to this:
- the above rule will be evaluated differently according to the amount of information known about the user. For instance, If all that is known about the user is his/her age the rale will evaluate in one way, if his/her gender is known, then the rale will be evaluated in another way.
- Learning System (Neural Network)- The premise behind the learning system is that it will monitor the user's actions and perform differently depending upon what the system learns from the user actions. This technique is a complex combination of rules and relationships using the user's interactions with the site to increase the knowledge of the enterprise about the customer. The best way to describe this is with a definition of neural networks.
- a neural network is a system of programs and data structures approximating the operation of the human brain.
- a neural network is initially “trained” or fed large amounts of data and rales about data relationships (for example, A grandfather is older than a person's father is).
- a program can then instruct the network how to behave in response to an external stimulus, or it can initiate activity on its own based on the user's actions.
- Inductive reasoning/Collaborative Filtering - Firefly defines collaborative filtering as a technology that emulate the social processes of people making recommendations based on an understanding of one another's preferences. Individual agents track and choose items based on individuals' tastes and preferences.
- Firefly tools correlate individual users' preferences for specific items based on either explicit or implicit ratings of comparable items in other situations. These ratings may be stored entirely within a single Web site or compiled on the fly from information assembled from individual clients and shared servers.
- Collaborative Filtering assesses a single set of user preferences to identify an individual community of interest. Collaborative Filtering correlates the tastes on an individual user with the preferences of comparable users to develop a list of personalized recommendations. It is some times referred to as People-to-people matching, and is aimed at automating word-of- mouth kind of information.
- Canned Queries A system of canned queries allows the user to choose only certain actions that have been pre-determined for the user. The queries only give the user the options listed, and do not change over time.
- the examples above are mainly site controlled.
- the site either has a pre-defined rule or matching logic that will execute.
- the site is responsible for determining what has been learned from the interaction, what is enabled based on the knowledge gained, what additional information will provide additional insight.
- the users should be allowed to define the rules and matching logic or the content they wish to view. Provide the user the structure to create a rale or define a query.
- the rales for matching logic should be defined as stand alone entities so that they may be reused in multiple situations. Each situation may associate the same rale to a different interaction and a different set of content.
- the matching logic should be associated with a template or interaction and content should be associated with a rale result or condition of the matching logic.
- a DCA Dynamic Content Area
- a DCA is embedded with a template and points to a specific rule, and a rule results set will be associated with specific content. For example a page may be explaining a particular service to a current user. The site may wish to display on the page a graphic that the user can relate to along with a list of benefits that are personalized to the user and finally list discounts that the user might be qualified for.
- Figure 22 illustrates an exemplary template 2200 with three DCAs embedded within the template.
- DCA1 2202 might be a place holder for the graphic.
- the rule associated with DCA 1 might be bases on a set of PMFs such as Age and Gender. Depending on how the rale is evaluated, a different graphic might be displayed. (In this case a graphic is the content.)
- DCA2 2204 might represent a place holder for a list of benefits the user may receive from the service.
- This rule may be associated with different PMFs.
- the PMFs for this rule might be marital status, number and ages of children and income level.
- Different benefits would be displayed based on how this rale is evaluated. In this case a textual statement about benefits is considered the content.
- DC A3 2206 might represent a place holder for discounts. This area may reuse the rule created for DCA 2 but the content is different. In this case, the content is a list of discount based on the rule evaluation.
- the normal delivery method of the content is through the use of HTTP. This method will be used to deliver the majority of the content. There are other methods of delivery that may be considered depending upon the content to be delivered. Other delivery methods includes e-mail, FTP, Push or
- Personalization is a continuous process. It is not an application that is delivered and then left unmonitored or forgotten about. Personalization techniques will need to be added, removed and modified. Rules, content, and messages will change. Most enterprises fail to measure their return on investments, or to directly attribute customer behavior to certain initiatives. As a result, the enterprise often invests in initiatives, promotions and campaigns without understanding how they will affect product or customer profitability. Procedures, measurement and reporting devices, and metrics need to be created to allow for the enterprise to evaluate and improve their personalized interactions and deliver their customer sfrategy. The site may provide the customer a chance to make a purchasing decision. If they decide not to make this purchase, what is the reason why? The enterprise should attempt to gather information on why this result occurs and seek to prevent it in the future. The following optimization and administration components should be considered for a personalized site:
- Metrics Return On Investment/Information how can one determine if the personalization process is helping the enterprise? Metrics should be defined to measure the ROI. This might include reporting facilities to capture the information needed to provide these metrics.
- the ShARE (Selection 1730, Acquisition 1732, Retention 1736, and Extension 1734) customer relationship model 2300 is detailed in Figure 23. See also Figure 17. This model addresses the changes in the shift to interactive marketing. Due to the emergence of interactive mediums, today's systems now have the ability to address all areas of the ShARE model.
- the selection portion of the ShARE model deals with determining who within the general population will be a company's most profitable customers. Selection deals with determining who makes up a product's target audience, and allows a company to focus their attention more accurately. This is the area where demographic information, such as age, geography, and income are applied to produce a more finite list of likely customers. The selection process allows businesses to make strategic decisions such as NOT to market a snow shovel in Ecuador.
- advertising is often utilized on applications deployed on the Intemet.
- the use of frames or banners creates the possibility to dedicate a section of the display to advertising.
- the advertising model (services) can vary from simple static advertisements to a robust advertising integrated with the personalized system.
- the implementation methods may range from an advertisement Applet to advertising services integrated with the personalization system. Detailed below are possible services included in a complex advertising implementation.
- Storage Storage of the advertising content should be performed in the same fashion as the product and elecfronic merchandising content. The content should be so it integrates well with the personalization services and user profiles.
- the personalization services are separated and can be utilized by multiple applications.
- profile information will be gathered and the advertising content filtered , based on the profiles.
- a separate process will handle the merging and delivery of the content as well as changing the advertisements as the user navigates through the site.
- the advertising content may include rich content such as graphics and video.
- Usage Metering and Reconciliation There are different methods for billing for advertising space. The most common billing methods are usage which may include: the number of times displayed, the length the add is displayed or the number of users to which the ad is displayed. Services are needed to record the usage information in order to reconcile with the advertisement providers. Since many sites are funded by ad revenue, the accuracy of these services is crucial.
- Recommendation functions may take up multiple formats.
- the most common format are simple services to allow the site's users to provide direct feedback, positive or negative, and recommendations about the content or products on the site.
- the site may create a community where users can interact with each other, furthering the site's worth.
- a sict could allow for users to submit book reviews. The information is then available for consumption by the general public. While the technology to implement this is rather simple, the process may prove to be a little more complex. The process includes receiving input, reviewing recommendations, filtering and approving content, and then posting the review or recommendations. The lack of a filtration or review process could be devastating to a site.
- a more complex recommendation service makes suggestions to its user base. These services can range from simple to complex.
- a more complex recommendation service may utilize collaborative filtering.
- Collaborative filtering is the technique of using content or product ratings from the site's user base to predict the interest other potential users will have in the content or products.
- Correlation algorithms use the profile information, history, and/or input preferences to construct a correlation group of users whose ratings are effective predictors for the new user. Prediction algorithms then use the ratings and profile information of the users to make predictions of the content they most likely will find interesting. (Note: The collaborative filtering technique could be implemented within the personalization system.)
- Additional relationship building techniques are site announcements and reminders.
- the underlying services are again personalized.
- the site has created content which may range from new product announcements based on the customer's last visit or reminders of an upcoming event important to the specific customer. For example, an event reminder could point out an upcoming wedding, personal anniversary or holiday.
- the user once reminded, may then utilize the site to act on the event.
- additional services may be needed to provide calendar and scheduling functionality. These services may also be incorporated with the off-site subscription services to provide reminders to users not logged into the site.
- Creating an environment that promotes customers to return to the site is critical for the longevity of the site.
- Many of the seller-centric implementations will utilize membership services and other incentive programs to try and promote customers to return. For example, site members would receive discounts and additional privileges, thus building a better relationship with the site. Incentives like frequent shopper points or access to member only information are other common methods.
- the loyalty programs may require additional logic for permissions and content filtering. Most of this may be implemented by gathering and using profiles and integration with a complex personalization system.
- Return Programs are services geared toward enticing the customer to return to the site.
- the Intemet eliminates two main factors affecting customer loyalty. The first is proximity. In the brick and mortar medium, customers tend to shop (or browse) close to where they live or work. The second factor is time or how long a store is open. With the Internet being 7 by 24 and geographically independent, these items are no longer relevant. For this reason, considerable effort may be geared toward creating return programs. The most common forms are elecfronic version of current methods, although they may be more effective due to personalization and realtime delivery.
- This section includes merchandising using email to push information to a user. (Note: Subscriptions to sites and information are covered in the Order Processing - Fulfillment component.) Many of the common services for storage, filtering, formatting and approving content would be utilized. Additional services would be needed to push the content to the desired mailing list. Details and considerations for using push technology is included in application discussing the Netcentric Framework, referenced above. Below are some basic services.
- Cross Selling and Up Selling are similar to recommendation services.
- Cross selling uses some knowledge of the consumer to suggest complimentary or similar products in which the consumer may be interested - "Would you like fries with that?"
- Up selling is an effort to sell more of the same thing, or a better version of what the consumer may cunently be considering - "Would you like that Super Sized?”
- Cross selling and up selling are considered an application or service enabled by complex personalization. Although very important from a marketing perspective, once the underlying services for complex personalization are in place, many of the demand generating applications are now possible.
- Cross selling or up selling could be implemented by product relationships in a database.
- Figure 24 illustrates a flowchart for a method 2400 for administrating an e-Commerce system on a network.
- Operation of entities is monitored in operation 2402.
- Entities include server processes, disk space, memory availability, CPU utilization, access time to a server, and/or a number of connections in an e-Commerce system.
- items including merchandising content, currency exchange rates, tax rates, and/or pricing in the e-Commerce system are updated at predetermined intervals.
- external data stored separately from the e-Commerce system is synchronized in operation 2406 with internal data stored on the e-Commerce system.
- Contact information received from users of the e-Commerce system is also managed in operation 2408. The items are altered based on profiles of the users of the e-Commerce system in operation 2410.
- One of the items altered based on the profiles of the users may include price, which may be altered to reflect a discount assigned to the user.
- a search may also be performed for the internal data in the e-Commerce system prior to the synchronization of the external data.
- load balancing services may also be performed that initiate and stop processes as utilization levels vary in the e-Commerce system.
- managing of the contact information may further include tracking responses to the users of the e-Commerce system.
- the health of a system can be easily maintained by putting in place monitoring facilities and procedures for capturing the system's electronic vital signs. Far too often the users of a system are the first to know of system problems while the administrators are the last to know. This can be prevented by creating automated monitoring facilities for server processes, disk space, memory, CPU utilization, access time, number of connections, and other elecfronic vital signs. The complexity of these facilities is open for debate. In addition to online monitoring facilities, robust logging, audit trails, and archiving capabiHties should be included. These will aid in analysis and forecasting of system needs.
- system administration is a vague term used to categorize the actions needed to support a system. This may include starting, stopping, or restarting servers or processes, scheduling backups and loads of databases or files, recovery procedures or anything else needed to maintain the system.
- Traditional system administration also includes updates to system software, packages, and operating systems. Listed below are additional system administration considerations an eCommerce system may encounter.
- the merchandising aspect may introduce additional administration and maintenance.
- Procedures should be put in place to handle sold out merchandise and back order items. Updating merchandising content, cunency, tax, and pricing may need to be performed on a regular basis.
- the merchandise administration facility should be able to handle pricing and discount items and have the ability to allow automatic updating and manual override capabilities for authorized administrators.
- this information will need to be indexed and integrated with the search technology implemented at the site.
- Other items such as customer service chat discussions or review would also need to be purged on a regular basis.
- Maintenance and Administration of the system is often wrongfully overlooked. It is a key component in improving customer satisfaction and building customer relationships. Having robust maintenance and administration facilities should increase the system's overall stability by reducing the time and cost to identify and fix issues, automating processes, and enabling system administers.
- the ability to deliver new products and information may be critical to stay ahead or match the competition.
- the speed at which the information can be updated and migrated to production is critical. Be sure to understand the relationship between the content changes and the correct procedures to migrate the changes to the production system.
- the ability to maintain and grow the site may prove to be key factors in the site's success.
- a content staging process should be put in place.
- the procedures for modifying and adding content, testing, validation of content and subject matter, authorization and migration to production should be documented.
- Figure 26 illustrates the Order Processing portion 1010 of the eCommerce Application Framework 1000. Subsections include Merchandise Selection 2600, Check Out 2602, Payment 2604, and Fulfillment 2606.
- Figure 27 illusfrates a flowchart for a method 2700 for completing a transaction over a network.
- Information is displayed information about a product for sale in operation 2702.
- a price of the product for sale is dynamically generated in operation 2706 based on the actual price of the product and discounts, taxes, fulfillment costs and/or delivery costs. Save and recall of the product and price of the order are also allowed in operation 2708.
- a method of payment is determined in operation 2710. When payment is received, the order is fulfilled (see operations 2712 and 2714).
- a medium for receiving the payment may be via credit based payment, debit based payment, and/or elecfronic cash. Additionally, verification of export restrictions with respect to a selected product may also be allowed.
- the ability to review, update, and cancel the order at any time may be allowed.
- elecfronic rights may also be managed.
- order tracking information about a status of the order may also be provided.
- Allowing customers the ability to not just browse and interact but complete the purchased is crucial for a successful eCommerce solution.
- This section includes many of the capabilities needed to negotiate and perform the entire transaction.
- the transaction begins when the user takes action to purchase the item(s). From a seller-centric view, the transaction is initiated once the 'purchase' button is selected.
- the 'buy transaction' may include sub-transactions such as totaling, payment selection, inventory management and purchase authorization.
- Open Market's OM-Transact does not provide a catalog interface or any of the infrastructure for interaction with the potential customer. Instead, it will provide an interface for communicating with its transactional infrastracture.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Computer Security & Cryptography (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
L'invention concerne un système, un procédé et un article de fabrication permettant de perfectionner une infrastructure d'application existante d'un fournisseur de services applicatifs. Premièrement, un utilisateur est sollicité pour qu'il identifie au moins un aspect d'une infrastructure d'application existante au moyen d'un réseau. Ensuite, l'identification de l'aspect de l'infrastructure d'application existante est reçue au moyen du réseau. Cet aspect de l'infrastructure d'application existante est ensuite analysé au moyen d'un tableur stocké dans une base de données. Par ailleurs, les perfectionnements apportés à l'infrastructure d'application existante sont suggérés sur la base de l'analyse au moyen du réseau.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US483062 | 1990-02-21 | ||
US483486 | 1990-02-22 | ||
US48359300A | 2000-01-14 | 2000-01-14 | |
US48348600A | 2000-01-14 | 2000-01-14 | |
US483593 | 2000-01-14 | ||
US09/483,062 US6904449B1 (en) | 2000-01-14 | 2000-01-14 | System and method for an application provider framework |
PCT/US2001/000921 WO2001052095A2 (fr) | 2000-01-14 | 2001-01-12 | Procede pour un cadre de fournisseur de services applicatifs |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1247203A2 true EP1247203A2 (fr) | 2002-10-09 |
Family
ID=27413634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP01901986A Ceased EP1247203A2 (fr) | 2000-01-14 | 2001-01-12 | Procede pour un cadre de fournisseur de services applicatifs |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1247203A2 (fr) |
AU (1) | AU2001227836A1 (fr) |
WO (1) | WO2001052095A2 (fr) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274822B2 (en) | 2013-04-30 | 2016-03-01 | Empire Technology Development Llc | Reactive loop sensing in multi-datacenter deployments |
IN2014DE01801A (fr) | 2014-07-03 | 2015-07-17 | Evalueserve Com Pvt Ltd | |
US10178149B2 (en) * | 2015-05-14 | 2019-01-08 | Adobe Inc. | Analysis for framework assessment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5809282A (en) * | 1995-06-07 | 1998-09-15 | Grc International, Inc. | Automated network simulation and optimization system |
-
2001
- 2001-01-12 EP EP01901986A patent/EP1247203A2/fr not_active Ceased
- 2001-01-12 WO PCT/US2001/000921 patent/WO2001052095A2/fr active Application Filing
- 2001-01-12 AU AU2001227836A patent/AU2001227836A1/en not_active Abandoned
Non-Patent Citations (1)
Title |
---|
See references of WO0152095A3 * |
Also Published As
Publication number | Publication date |
---|---|
AU2001227836A1 (en) | 2001-07-24 |
WO2001052095A3 (fr) | 2002-02-28 |
WO2001052095A2 (fr) | 2001-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6904449B1 (en) | System and method for an application provider framework | |
US6697824B1 (en) | Relationship management in an E-commerce application framework | |
US9922345B2 (en) | Increased visibility during order management in a network-based supply chain environment | |
US6629081B1 (en) | Account settlement and financing in an e-commerce environment | |
US7610233B1 (en) | System, method and article of manufacture for initiation of bidding in a virtual trade financial environment | |
US7069234B1 (en) | Initiating an agreement in an e-commerce environment | |
US7167844B1 (en) | Electronic menu document creator in a virtual financial environment | |
US7957991B2 (en) | Technology sharing during demand and supply planning in a network-based supply chain environment | |
US7716077B1 (en) | Scheduling and planning maintenance and service in a network-based supply chain environment | |
US8032409B1 (en) | Enhanced visibility during installation management in a network-based supply chain environment | |
US6671818B1 (en) | Problem isolation through translating and filtering events into a standard object format in a network based supply chain | |
US7788212B2 (en) | System and method for personalization implemented on multiple networks and multiple interfaces | |
US20020178087A1 (en) | Internet-based instant messaging hybrid peer-to-peer distributed electronic commerce system and method | |
EP1259916A2 (fr) | Procede de mise en oeuvre d'un processus de demande de credit en reseau | |
EP1222587A2 (fr) | Marchandisage electronique dans le cadre d'une application de commerce electronique, systeme et article manufacture a cet effet | |
EP1287458A2 (fr) | Planification en collaboration des capacites et gestion anticipee des stocks lors de la planification de l'offre et de la demande dans un environnement de chaine d'approvisionnement fondee sur le reseau et procede associe | |
EP1244974A1 (fr) | Procede de mise a disposition d'une interface d'espace de marche entre une pluralite de fabricants et des fournisseurs de services et gestion d'une installation via une interface d'espace de marche | |
EP1252581A2 (fr) | Procede destine a un schema financier de commerce virtuel | |
WO2001016851A2 (fr) | Systeme, procede et article manufacture d'aide a la decision dans le cadre d'une application de commerce electronique | |
EP1247203A2 (fr) | Procede pour un cadre de fournisseur de services applicatifs | |
WO2001039030A2 (fr) | Gestion d'actifs durant le cycle de vie et en reseau dans un environnement de commerce electronique et procede associe | |
WO2001016843A2 (fr) | Systeme, procede et article manufacture de gestion d'agents externes dans un cadriciel d'applications de commerce electronique | |
Gloor | Key e-business technologies | |
Malik | Enforcing Trade Secrets among Competitors on the Semantic Web | |
Hussin | PTA: Personal Trust Agent for e-Commerce |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20020712 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
17Q | First examination report despatched |
Effective date: 20061031 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20090428 |