EP1395900A1 - Method and apparatus for providing custom configurable business applications from a standardized set of components - Google Patents
Method and apparatus for providing custom configurable business applications from a standardized set of componentsInfo
- Publication number
- EP1395900A1 EP1395900A1 EP00955455A EP00955455A EP1395900A1 EP 1395900 A1 EP1395900 A1 EP 1395900A1 EP 00955455 A EP00955455 A EP 00955455A EP 00955455 A EP00955455 A EP 00955455A EP 1395900 A1 EP1395900 A1 EP 1395900A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- business
- data
- server
- applications
- server device
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
Definitions
- the Internet is a public, cooperative, and self-sustaining facility accessible to hundreds of millions of people worldwide.
- the Internet is thereby providing a low-cost medium for the exchange of information between certain authorized parties.
- a large number of merchants are using the Internet to directly offer goods and services to users or customers.
- the Internet is being used as a transport medium for information between merchants and other related parties, particularly on the demand-side.
- a merchant might, for example, interact with certain Original Equipment Manufacturers (OEMs), distributors, direct retailers, and/or Value Added Resellers (VARs) through Internet links back to the merchant's website. Such interactions would likely decrease the number of phone calls, Fax interactions, and/or person-to-person interactions, thereby saving time and money for both parties involved.
- OEMs Original Equipment Manufacturers
- VARs Value Added Resellers
- An example of an indirect channel is a VAR, which might include a retail store, or the like. Still other tasks might include the customer support, storage and recall of marketing leads, and the administration of sales promotions. By automating more of such tasks, the sales force for any given manufacturer can be made more efficient, thereby reducing the overall cost of selling. Automating business processes like selling, customer support, marketing/sales promotions etc. in a demand-chain can provide significant cost savings for manufacturers.
- Internet transactions can also generally be divided into two categories: 1) business- to-business transactions, and 2) business-to-consumer transactions.
- Most solutions to automate transactions have dealt with business-to-consumer interactions. As such, these interactions are much more straightforward than business-to-business transactions.
- the merchant supplies a "storefront" or web site that offers products to any number of diversified consumers who might wish to view this web site. The consumer then purchases a product via a selection and payment method, and the product is thereafter shipped to the consumer.
- business deals with another business there is a much greater amount of business processes and customization in the transactions that occur.
- in-house systems i.e. developed internally
- the in-house system is configured to handle the various interactions necessitated by different customers desiring different transactions.
- Such in-house systems can prove to be very expensive to develop and maintain, and also may lead to integration of products rather than an integrated product.
- a customized system might take years to develop, and require many hours of employee time to implement.
- Most small businesses do not have the necessary resources. Additionally, small businesses cannot justify the risk (or time) involved in developing such an in-house system, wherein the risk involves potential delays in time-to-market with a particular product. As a result, such businesses must continue to operate under older models and practices, and therefore no savings can be realized from such automated services.
- the ACS is designed for vendors that want to dramatically improve their indirect selling efficiency, in addition to developing channel loyalty to capture a greater percentage of sales.
- ACS enables manufacturers to better manage their distribution channels and key relationships with channel partners — i.e. distributors and dealers ⁇ by optimizing high overhead channel management functions such as order entry, product configuration, order status, promotional campaigns, customer service, technical support, and warranty/claims services.
- One resulting goal of the ACS is to provide an e-business platform for manufacturers and dealers, by providing transaction, marketing, pre sales, post sales, and community services.
- ACS changes the nature of channel relationships by facilitating the development of fully automated transactions. Such transactions were previously conducted manually through implementations of self-service concepts.
- the ACS substantially reduces entry costs and eliminates the opportunity costs.
- the present system assembles best-of-breed components into a seamless outsourced service.
- the ACS provides improved management of the manufacturer-distributor relationship in high technology market sectors where indirect distribution channels add significant value to the sales process.
- the net results of using ACS are improved competitive positioning for a company in the near term, and higher return on assets in the long term.
- the ACS includes a Commerce Server that provides a core set of technology (or application) services.
- a unique architecture and framework are provided by the Commerce Server, and which facilitates the methods described herein. All interactions with external systems or users are managed as business objects.
- the service application code is maintained separate from the data, thereby enabling the system to quickly include or change new business processes or technology components without having to write substantial amounts of new code.
- the business result is more rapid customer deployments and/or modifications that are customized to the level of including (if desired) the proprietary or competitive business practices of a contracting company.
- modules or steps
- the steps can be moved, or the connections modified.
- An initial person-to- person (or other type of) interview with the business (or customer) can be used to produce the framework for arranging the steps according to the needs of that particular business (i.e. customized routines).
- the modular aspect of the present system allows this to be done ⁇ and modifications made — in a relatively quick fashion. For instance, if a process has been created, but the customer wants it to behave in two different manners, then certain rules can be applied to provide the desired results, depending on conditional triggers that can be associated with the underlying business objects.
- the underlying commerce server provides certain functional components.
- a suite of best-of-breed components and underlying applications are chosen to comprise, or run on top of, the commerce server. These components can be selected as the best technologies to provide certain desired efficiencies, cost reductions, and the like.
- the best-of-breed components are thereafter incorporated (or interfaced) with the business applications through APIs.
- a catalog of APIs can be provided for developers of applications. If any underlying best-of-breed components change, then the commerce server configuration can be changed without interfering with any user interfaces.
- Community aspects are also offered between the various developed applications, and server functions. Community features allow access to data and information from different functional components of ACS and other external data, thereby providing more information to the channel participants.
- Users can generally jump back and forth between data on the system, without having to connect to another server or site. Usage of such data might also be made context sensitive to speed through various tasks, and eliminate unwanted information. For instance, a person might be in an application that would lead to the purchase of security products. A context sensitive ability would switch the user to a community area in order to see industry reviews, magazine reviews, competitor comments, and/or latest trends, etc. about such security products. Examples of community features might include message boards, live chat links, new links, new product promotions, research links, etc.
- Still another aspect of the present invention includes at least a method for providing custom configurable business service applications to a user through a server device, the method comprising: configuring the server device as comprised of best-of- breed components; configuring the server device with best-of-breed server applications for interacting with the best-of-breed components and providing server functionalites; constructing a business service application from a modular set of components that can be dynamically arranged according to user requirements, the business service application interacting with the server applications to provide the user with the server functionalities; and interfacing with systems external to the server device via adapters configured to communicate with the external system.
- Another aspect of the present invention includes at least an apparatus for providing custom configurable service applications from a standardized set of components associated with a server device, the apparatus comprising: a server device configured from best-of-breed components, and running best-of-breed server applications to provide certain server functionalities, the server device having server data including data representations for interacting with systems external to the server device, the data representations being managed as objects; a graphical design tool used for constructing at least one service application from a modular set of application steps and application rules, the service application performing services according to user requirements, the service application being capable of interfacing with the best-of-breed components and server applications, the server data further including data representations for interacting with users, the data representations being managed as objects; at least one adapter device for interfacing with the systems external to the server device; and a repository for storing and retrieving server data, the repository facilitating centralized storage, retrieval, and sharing of server data between all the server device components, server applications, and service applications.
- Still another aspect of the present invention includes at least an apparatus for providing custom configurable business service applications to a user through a server device, the apparatus comprising: a server device as comprised of best-of-breed components; the server device configured with best-of-breed server applications for interacting with the best-of-breed components and providing server functionalites; a construction tool for developing a business service application from a modular set of components that can be arranged according to user requirements, the business service application interacting with the server applications to provide the user with the server functionalities; and an interface between the server device and systems external to the server device which utilizes adapters configured to communicate with the external systems.
- Still another aspect of the present invention includes a business method for providing a user with a centralized framework for developing and customizing a business service application from a modular set of components associated with a centralized device, the method comprising: configuring the centralized device with best-of-breed components for communicating with sources external to the centralized device; capturing the particularized business processes of a user; providing certain modular components that can be arranged to form a business service application; and customizing the arrangement of the modular components to form a business service application according to the particularized business processes of the user.
- Still another aspect of the present invention includes A business method for providing a plurality of standardized business service applications and customized business service applications through a central server device, the method including: configuring the server device from best-of-breed components; configuring the best-of- breed components to communicate with data sources external to the server device via application interfaces (APIs); determining the business processes of a user business that contacts the central service device; forming a customized business service application from existing standardized business service applications as modified by modular components provided by the central server device; and providing for community interaction between business service applications, and the central server device.
- APIs application interfaces
- FIG. 1 is a prior art block diagram of certain representative elements for an extended value chain.
- FIG. 2 is a prior art plot showing the trends in IT spending as enterprise businesses move towards automating customer relationships.
- FIG. 4 is a block diagram, according to one aspect of the present invention, which illustrates the ACS architecture.
- FIG. 4A is a block diagram, according to one aspect of the present invention, which illustrates the back-button feature.
- FIG. 4C is a block diagram, according to one aspect of the present invention, which illustrates certain vertical application and community features in relation to the server.
- FIGS. 4D-1 and 4D-2 illustrate, according to one aspect of the present invention, an example of community feature screens.
- FIG. 8 is a block diagram, according to one aspect of the present invention, which illustrates an example business object flow.
- a prior art plot 200 is shown of a typical ente ⁇ rise IT agenda. This chart reveals that as the move is made more towards automating customer relationships, the IT spending for the ente ⁇ rise will reach levels which most companies cannot sustain. This is true even if there is a large value returned for such development efforts.
- the present invention offers automated customer solutions that have been developed, and are maintained, external to the customer. This allows the customer to acquire these value added services, but without the IT expense.
- FIG. 3 a block diagram 300 is shown of certain representative elements used to host the architecture of the present system.
- a set of dealers 302 are shown using browsers (or the like) 304 to interact with the Internet (or other similar network) 306.
- the hosted service 308 of the present invention includes at least one router 310 that interacts through firewalls 312 with redundant authentication servers 314. These servers 314 are then in communication with redundant Asera Commerce Servers (ACS).
- ACS Asera Commerce Servers
- the servers would use co-location services such as UUNet, Exodus, or Qwest to transport data between devices.
- a replicated data center 318 is shown for redundancy pu ⁇ oses.
- An administrator 320 interacts with the hosted service 308.
- the application server uses certain best-of-breed components, and makes use of standard interfaces to utilize the server framework.
- a server might then be built, using off-the-shelf components or otherwise, which can run multiple applications on the server.
- the applications can be customized (or developed particularly) for the ente ⁇ rise business user, as described in further detail below.
- Still another feature of the present system includes scalability.
- Known systems operating in a web environment cannot generally scale their architecture down to a desktop environment. To achieve full functionality (and scalability), virtually any full blown applications server might be used.
- a party might also choose to use a personalized server, which they can run on desktop or remote machine, in a disconnected mode without any networking. In such a mode, the present invention can still be implemented using virtually the same architecture.
- the applications might be developed as stand alone products within the present system. Preferably, applications will be developed to integrate with the overall system, and thereby facilitate the flow of data information between the various applications.
- a user might enter one application after another, with the sequence comprising a meaningful transaction not readily offered by other systems.
- CORE SERVICES Certain core services 410 are provided which are necessary for the operation of the components and applications running on the server. Any of a variety of core services might be provided, and the following example core services are not meant to be limiting in any way.
- One core service would include session management capabilities 412 for handling ente ⁇ rise (or other types of) users that might contact the server device configuration 401.
- the session management service would take into account the general capabilities of the server to handle incoming session traffic, and allocating resources accordingly.
- Another service would include data/metadata caching 414. Such caching would provide enhanced performance and connectivity. For instance, if an application were to request data from a back-end system, that application could continue to perform (while the cache had information to provide) without further requesting more information from the back-end. Additionally, if the flow of information were to lag, then the application might still perform based on the various cached data.
- the back-end system will generally reside, for instance, behind the firewalls of various manufacturers (and the like), and a constant data flow is often beyond the immediate control of the present system. Continued operation might be achieved if throughput rates start to fluctuate, or if any data was misdirected or lost.
- Yet another core service includes batch/queue management 416.
- Certain information might be queued (or batched) for forwarding to another device at a later time. Additionally, non-time critical information can be queued to provide more bandwidth for higher priority traffic. The system might thereby continue to operate in an efficient manner if a corresponding device were to cease functioning, or receiving data.
- Still another core service includes XML services 418.
- a core language is generally needed in order to communicate with the various back-end devices.
- XML Extensible Markup Language
- XML Extensible Markup Language
- computer makers might agree on a standard or common way to describe the information about a computer product (processor speed, memory size, and so forth) and then describe the product information using XML.
- HTML Hypertext Markup Language
- Such broad (and re-occurring) templates are often referred to as master-templates.
- Other templates are used to provide the visual display for areas that dynamically vary according to certain data inputs. Notably, the data inputs might come from many different sources (i.e. graphical pictures from one area, statistical data from another area). Templates of this nature are referred to as micro-templates.
- a collection of micro-templates grouped to make a meaningful application is called a wireframe.
- a master-template in combination with certain wireframes can form a macro-template.
- the Activity manager 434 manages all incoming requests into the commerce server, and makes sure a user is guided in the appropriate direction.
- Each object has an associated API. Developers use the various APIs in the formation of applications. A corresponding catalog of APIs is provided for developers to use in linking together various objects, and communicating with the ACS. A layer of APIs 431 therefore exists between the set of developed applications 404 and the functional server components. The customizable aspect of each developed application is therefore made available to the developers through the use of this known set of APIs.
- Still another functional component includes the security (or entitlement) manager 436.
- security (or entitlement) manager 436 Traditionally, various systems being aggregated under a single configuration required an individual log-on (using passwords and/or certificates) for each system. This proves to be cumbersome and difficult to administer. Under the present system, a common sign-on (i.e. single sign-on, or log-on) is provided, and common unified security is offered for all systems accessible through the configuration. Moreover, once a user is authenticated, the system can entitle a user to be able to perform (or not) certain tasks. This is done through a set of defined security rules (or entitlement authorization rules) which are applied to the objects/operations in the developed workflow.
- the security model is also integrated with the overall organizational model.
- security models are oriented towards protecting one particular item in a model.
- the present system integrates well with such things as customer hierarchies and the like, including the various manager components and how they interact with each other.
- a sales representative might use the single sign-on ability to access the system. That sales representative might be responsible for (and have access to) a particular geographical area. Such geographical information might be accessed through an ERP device in one database area. The security information might be kept in yet another database. In the present system, all these components are brought together and integrated in a seamless fashion.
- the product catalog information serves as an anchor point for all the other applications to refer to such product information.
- the catalog manager serves, in many respects, like a product information database. In past configurations, product catalog information was simply used as that — a product catalog. The present system, however, makes the information available for all the other applications, to use as anchor points.
- FIG. 6 a block diagram 600 is shown of certain representative elements that comprise (and are associated with) the catalog configuration manager.
- a central catalog information database 602 is shown. This database 602 interacts with any of a variety of other databases, including for instance a marketing database 604, or a technical support database 606, or other ERP systems 608.
- a cataloging application 610 refers to the database 602 to form displays 612.
- a configuration operation 614 might thereafter be performed (or selected) using product configuration information from the catalog information database 602.
- the configuration will likely be associated with an identifiable name 618, such as "3Com Ethernet 500 combo", or the like.
- An order entry operation 616 might thereafter be performed to produce an order 620 that interacts with information for the database 602, and the name 618.
- a user might view a particular page, and select line items in order to configure a desired product.
- the line items serve as anchor points back into the catalog information database to retrieve the desired information (via use of the alternative ID).
- other functional components might also tap into the catalog information database via the alternative IDs.
- FIGS 6A-6D screen shots are shown of example pages relating to the Product Catalog Configuration Manager, including the following: a catalog search page (Figure 6A), a product configuration page (Figure 6B), and quote pages ( Figures 6C- 6D).
- a set of back-end systems or databases are shown as element 406.
- Such systems or databases might include the shown examples of a: Baan database 462, Oracle database 464, SAP 466, and Legacy database 468. Additionally, it might be desired to send a message to another type of system through an interface such as Front Office 470 (i.e. Siebel, Vantive), an EDI (Electronic Data Interchange) Gateway 472.
- the adaptors are capable of taking the business object information — as related to the business steps forming the various business application(s) — and interfacing it with the various back-end systems.
- the business object information is transferred to the adapters 407 via link 474.
- the preferred language medium includes XML and/or HTTP. Other languages might similarly be used.
- an ERP system can traditionally involve considerable business process analyses, employee re-training, and new work procedures.
- the object i.e. an order
- Adapters 407 are provided between the access manager 444 and the ERP devices 406.
- an Active Software adapter serves as an intermediary between the Access Manager and the ERP systems. Integration is also provided with EAI (Ente ⁇ rise Application Integration) vendor products.
- FIG. 7 a block diagram 700 is shown of certain representative elements of an object data flow.
- An example application 702 is shown sending a business object 704, which in turn might be an order object 706.
- a feature of the present invention is to provide ERP access via a foreign source adaptor, or the like.
- the ERP systems are integrated with the various databases, using the aggregate business environment.
- the order object 706 is shown being divided into a first object part 708 and a second object part 710.
- the object parts can then be mapped onto different back- end ERP databases, or the like.
- the first object part is shown being mapped to a first database 712
- the second object part is shown being mapped to a second database 714.
- Such “plug and play” modularity allows for the data aggregation and implementation of applications to communicate with a variety of foreign sources (ERP or otherwise).
- COMMUNITY INTERFACE The community interfacing feature allows the various channels to work more efficiently and in-sync with each other. In order for a channel to be successful, it becomes important for the channel to understand (and/or have access to) a variety of information that might affect business transactions. This is particularly true for channels that work in groups. In particular, the Internet has facilitated more community interaction than ever before. Through the use of this medium, channels might share information through chat rooms and such, in the context of certain transactional areas. Such sharing of information might be done through message boards, chat rooms, discussion forums, auctions, and the like. Accordingly, the ACS can provide an aggregate of desired information to the user on one page or area (or a series of pages, as desired).
- the community feature can be oriented towards various vertical types of operations. For instance, a group of ente ⁇ rises might all be involved in a particular area such as chemicals. Business transactions relating to the particular chemicals will tend to have similarities. Such chemical producers might also tend to publish information pertaining to certain chemicals, including product reviews, analyses, criticisms, etc.
- the channel effectiveness is thereby increased by providing (and facilitating) the flow of information between the various channel participants.
- the community interface can enhance a variety of features, including the following: Trust and Loyalty.
- the community feature is intended to improve trust and loyalty among the channel participants. Community aspects to facilitate such improvements would include the fact that users of the system are providing their own content to the pool of channel information. Trust and loyalty are further encouraged by making a channel participant more successful. One way to provide more success is by empowering the channel participant with more information.
- the present centralized system would greatly enhance research capabilities through community links. For instance, if a party had some interest in security or firewalls, a search on a common portal website would result in a large amount of "unfiltered" information. However, there are many existing (best-of-breed) companies that filter such content and can supply such information to the present system. It is also important that a researching party be subjected to unbiased, objective information regarding a product in order to build trust and loyalty. Because a variety of sources regarding a particular product can be readily accessed with the community feature, a product merchant is less able to tout the virtues of their product in an advertising type manner. Instead, objective messages from industry sources (and the like) are provided. This further builds trust and loyalty for the system from the buyer (and ente ⁇ rise merchant) of such a product.
- Up-selling would include the marketing of a peripheral item to a buyer of a main component, (i.e. up-selling a scanner to a buyer of a computer).
- Cross-selling would include targeting other types of selling (for different products, and the like) to the customer.
- the present invention readily provides this capability, as all such transactions flow through one system. This implicit one-to-one marketing cannot be achieved by other systems, which might require a user to switch between different servers to complete different transactions.
- Context Sensitivity provides for information to be pulled up from the different information sources in a context sensitive manner. For example, if a user is researching routers, and security issues related thereto, the system will pull up other information relating to this topic, as well as products which need to be sold, in a context sensitive manner. The user will therefore not have to move from one site to another site in order to research various aspects of router security ⁇ instead the community capability of the present system provide all the information on one convenient page (or pages).
- the community aspect might also be used to assist a variety of participants in providing customer service assistance.
- the community aspect might also assist in keeping up-to-date on inventories. For example, tools can analyze various schedules and problems associated with such schedules. If a car owner wanted to bring a car in for service, he might log onto the system and schedule an appointment. If any problems existed with the car, he might describe the same. A rule based analysis of these problems might generate a list of possible parts that might be needed in order to fix the car. Other routines might go check the dealer's inventory for such parts. If any of the parts did not exist in that dealer's inventory, then this problem would be flagged for attention of the dealer.
- Figure 4C shows a block diagram having various example vertical applications 1600. Certain community functions 1602 are illustrated, including message boards/chat functions 1604, industry news 1606, auctions 1608, ratings 1610, technical forums 1612, career development 1614, and complimentary services 1616. Figures 4D-1 and 4D-2 show further features offered via example community screen(s).
- PROFILE MANAGER The profile manager is provided to track user behavior and recommend strategies for improvement of sales efficiency (e.g. cross-sell and upsell).
- the content aggregator (or manager) 440 aggregates content from the many different information sources associated with the overall system. For instance, the system will produce (or possess, or acquire) certain knowledge. Such knowledge might be transaction related information, such as the level of sales completed in any given month. Additionally, such knowledge might include (but is not limited to) any of the following: marketing information stored in an appropriate database; product information, data sheets. The knowledge might also include user information, such as frequently asked questions and their corresponding answers. Hence, this example knowledge base might be generalized to include operational knowledge, transactional knowledge, marketing knowledge, and customer support information. The various content is stored in an appropriate location (or database) for such information. With the present invention, such content can be aggregated from diversified sources and presented to the user.
- a repository 450 is used to store a variety of information, including the various metadata which is necessary to support the present architecture.
- the repository might consist of databases, data stores, and the like, for storing information such as rules, data, and objects.
- a lock manager 422 is further included in the core services to manage the flow of data — in a consistent and secure manner — to and from the repository sources (or devices). Any time multiple people are using the data in the repository, it then becomes important to synchronize such activities.
- the business objects associated with the formation of the business applications have rules, stored as commerce business rules 451.
- the template manager uses rules, stored as template domain rules 461.
- Such rules might pertain to where an ente ⁇ rise logo is placed, as well as storage of the logo itself.
- Security data 459 relates to identification and/or password information for each user that might log onto the present system.
- Profile and configuration data 455 relates, in part, to the community feature 408. Also, certain products might be offered on different machines, and the data must be configured between these machines.
- a set of log data 457 is stored.
- This transaction data might later be used by a business intelligence application (419) — through the profile manager - in order to perform data mining and the like. For instance, the data might be mined in order to discover certain selling trends, buying trends, etc. Such data can later prove to be very valuable, and the present invention offers development and tracking of such data across many different (customized) applications.
- the business objects (and steps) are stored as element 453. Such steps include simple, interactive, and composite steps.
- the business objects (and steps) 453 are closely associated with the commerce business rules 451. In certain instances these two elements might be configured (or illustrated) as one single storage element, as the objects, steps, and rules are closed related.
- FIG. 8 a block diagram 800 is shown of certain representative elements relating to the development of a business process (or application). This development will generally involve three elements: business objects, business steps, and business rules.
- a business object can be defined as a logical representation of business data. Examples of such business objects include a sales order, a purchase order, a customer, and the like.
- an application 802 When an application 802 is written, it will access the data as a business object 804.
- Line 806 represents a separation between the logical representation of data (on the left) and the physical representation of data (on the right).
- the business object 804 will undergo a mapping from the logical representation to the physical representation of such data, or a physical data source.
- a data source might be any device or resource that generates data. In the present architecture, this might be a database table, an ERP system, or some other third-party software. An example in the present system might include the product configuration device, and/or any system or software that can generate data.
- the present system maps that data into the business object representation, and the application will manipulate the data through these business objects.
- a series of adaptors (or plug-in adaptors), shown as 808, 810, and 812, are thereafter used to map the data into the data source (e.g. an ERP source) 820.
- the business object can pull data from multiple adaptors.
- the adaptor will be responsible for converting any such data into a representation, or schema, for use by the data source.
- the business object might also be mapped partially to several different adaptors.
- the business object can be comprised of an upper set of 5 fields 814, and a lower set of 5 fields 816.
- the first 5 fields can map to adaptor 808, and the bottom 5 fields can map to another adaptor 812.
- the business object data can be mapped to a second (underlying) adaptor 810 for communication with a second data source 822.
- Each adaptor can be designed to communicate with a different data source.
- Step 904 is a price calculation
- step 906 inquires whether the product is available. If "yes”, then step 908 shows the allocation of inventory. While each step has input and output ports, step 908 illustrates an example input port 910 and the output port 912. Step 914 shows a simple step of calculating the tax after the allocation of inventory. Step 916 is meant to indicate that any of a variety of other steps might also exist in this particular flow. If the inquiry in step 906 produces a response of "no”, then a cross-sell/upsell step 918 is shown.
- Step 918 is shown as a composite step 920, wherein a series of other steps comprise the overall composite result.
- Each step might be a hierarchical composite of other steps, hence referred to as a composite step.
- a functional box that performs only a simple calculation is hence referred to as a simple step.
- Each of the steps can have multiple input and output ports, and each of the ports can have multiple parameters. The parameters can also be different for each of the respective input and output ports. Accordingly, each functional box (or step) can have multiple functions, with each function operating on a different set of parameters. Alternatively, a box might perform only one function, but perform it differently depending upon the value of the parameters. Even a simple step will have multiple ports and parameters.
- the input/output ports and parameters for a composite step are determined as part of the interface design for that composite step.
- An Interactive Step 911 is analogous to an input/output workflow application to the external world. It might generally involve a prompt to the user, i.e. a query about whether the user wants to buy a certain product. Such a prompt might be done via a browser 912 or the like that interfaces with the user.
- An interactive step is replaceable. For instance, one configuration might support talking to a browser. However, a later configuration might replace the interactive step with an EDI (or similar) enabled capability. This latter configuration would thereby be able to start communicating with the workflow through an EDI interface.
- the business rules are next applied to the workflow or process by consumer (or customer) service personnel.
- Each of the rules has a name, and this name is generally used to identify particular functions that the rule will perform.
- a rule might serve as a callout to a particular application.
- a rule might also serve as an in-memory trigger on the business object.
- the product available inquiry (906) might warrant a callout 930 for the warehouse 932 to be checked for such inventory.
- the consumer service personnel would use an appropriate rule, as applied to the existing workflow, in order to produce this result.
- the use of the rule as a memory trigger involves affecting (or moving) the associated trigger points.
- the business object itself represents a unit of data.
- the developer or user might want to perform data validation, or conversion, or perform some side effect on the business object.
- the process thereby identifies certain well known points where the business object is manipulated. For instance, the professional service person might desire to set a common attribute of the business object. Alternatively, the professional service person can change the relationship between the business objects. These well defined points will serve as triggers.
- Generically rules can comprise any other customer specific function. For example, if an order is submitted, but the status of the purchase order is changed, an email message might be sent to a managing party regarding the status change.
- a rule can be created and applied to achieve this (or other) specific functionality.
- one rule specification exists per business object, and then graphical developer tools are used to implement the rule.
- Templates can be used to display certain information about the ente ⁇ rise business, in a repetitive manner across many screens via a macro-template. Micro-templates can also be used to display information which might dynamically change. Still other wire frames might be used to dynamically link a function (or result) into a page.
- a catalog display step is shown, wherein this step is a composite step 1101.
- the user desires to perform a search of catalogued steps (or objects), with a list of results being shown thereafter (as per element 1102).
- a keyword 1104 is entered, which queries a database 1106.
- a set of results 1108 is displayed 1110 to the user/requester. The user then selects 1112 a particular entry, in this instance an "order entry" 1114.
- a composite step 1202 is further comprised of simple steps 1203.
- an inquiry for information 1204 is sent to a database 1206.
- the results 1208 are thereafter sent back to the requester, and formatted using HTML, or the like.
- the formatted data is then sent to the client/user, who is likely viewing the data via a browser 1210.
- the persons using the browser can click-on (or select) some feature presented on the display, and then a request 1212 is sent back to the server.
- the server might desire to perform validation of the data. Also, unmarshalling of name value pairs might be performed.
- a micro-template is, by definition, a place holder for an HTML snippet within an
- micro-template to dynamically embed and generate data coming from any data source, irrespective of protocols, and can be rendered in a language independent manner.
- a micro-template might be considered as "real estate" on the HTML page.
- the micro- templates can be made drag-and-droppable using a standard editor.
- the micro-template is declared in a macro-template as a group (a wireframe), and the macro-template can be instantiated using an master-template.
- a master-template will be supplied by the ente ⁇ rise business that desires to present a consistent look-and-feel across many pages. If (for instance) a website had many pages, the master-template would be propagated across those many pages.
- Each macro-template can have a group of micro-templates that will be used to compile information from different sources during run-time.
- the interactive step 1214 is broken down into “pre” "main” and "post” processing segments.
- the "pre” segment involves certain JAVA code, which tells the step how to pre-populate certain data areas.
- the "main” area is where data is actually shipped and persons can declare what goes where, and the "post” segment contains JAVA code to process user input.
- One advantage of the present invention is that some of the static parts of a template are generated from pre deployment environment, wherein a dynamic part might come from any type of independent dynamic source.
- the templates can also be rendered using any type of language.
- present applications use the JSP/ASP model.
- JSP a programmer can use only JAVA.
- ASP a programmer can use only virtual basic, or JAVA script.
- creativity is separated from programmability.
- a web page is created by an artist. The programming however is done by a technical (IT) person. If ASP is used, the same person must be skilled in both respects.
- IT technical
- the creative person can concentrate on creating the macro- template, wherein the technical person can concentrate on creating the micro-templates. During runtime, both of the results will be merged.
- the various templates might be rendered in JAVA, or XSL, or straight URLs. Implementations might also be provided for use of "C" or visual basic or other such languages.
- a request step is a callout to another step, and is analogous to a "goto" programming step.
- the first three types of artifacts are encoded in XML files, and the last two are in HTML. In addition to being XML files, such objects, configurations, and steps can also refer to each other, hence an XML file may not be independent.
- An application engineer (or professional services engineer, or consumer service person) can create and edit XML files using a text or XML editor.
- This process can often be tedious, error-prone, and time consuming.
- certain types of artifacts such as composite business steps (which are used to create workflows) are most naturally described in a graphical (diagrammatic) manner.
- even relatively simple artifacts such as business objects can be relatively complex to describe in XML, but can be more easily described using a customized graphical editor.
- An ACS application designer/builder (henceforth referred to as the tool) is an integrated development environment (IDE) for creating and manipulating ACS artifacts, and consists of a general extensible framework and a set of custom plug-in "editors" — one for each type of artifact.
- IDE integrated development environment
- the tool performs additional input validation when loading XML artifacts, thereby identifying errors very early in the design process.
- each custom editor to a large extent, also prevents the user from creating ill-defined or invalid artifacts.
- the tool architecture is configured so that new object types can easily be added through the menu structure.
- Object repositories can be both local (file system) and remote (HTTP).
- the tool can run stand alone in a computer, or in a web browser.
- the plug-in editor framework also uses an extensible tabbed view metaphor. For example, new objects might easily be added, with each new object carrying a set of edit tabs.
- the composite workflow editor displays complex business application process flows in a simple manner. This allows users to compose new workflow logic from existing components.
- the business object configuration includes a set of editors that allow a user to quickly customize business objects for specific customer deployments. Also included are default filter editors, custom filter editors, and named rules.
- Integrated tools include the ability to compile and build a feature on the fly. A wire-frame can also be merged onto the resulting application so that it can be invoked from a display screen (see template discussion).
- Figure 1300 shows a window 1302 with a project tree window 1304, a message window 1306, and a tabbed editor window 1308.
- the project tree window 1304 lists all of the items in the project.
- Unique icons and a folder hierarchy are used to identify and group different types of artifacts. These artifacts might include business objects, business object configurations, business steps, wireframes, and master-templates.
- the message window 1306 lists the various warning messages, error messages, and status messages, etc. These warning messages assist the developer in stitching together the various steps to form an application.
- the various parameters associated with the input and output ports might be constrained by types (i.e. real or integer values).
- types i.e. real or integer values.
- the flow of data across the various parameters associated with each step must also coincide.
- the ports must also be validated as compatible (i.e. not every port can be connected to some other port). For instance, one port might expect three integers, whereas another port might expect three string variables.
- the graphical tool allows new ports to be added or deleted, and similarly new parameters to be defined for any given step.
- Window 1308 shows a tabbed editor which allows for graphical implementation and placement of the various steps. The steps are stored and listed according to a catalog of such steps, wherein the catalog can be searched. A collection of pre-defined steps exists for performing certain standardized tasks. For instance, displaying certain information, or tabulating certain data involves the same basic logic.
- the processor type i.e. JAVA, XSL, URL, etc.
- the processor type can also be specified, by developer choice, for each micro-template of an interactive step. This allows for added flexibility when dealing with different development languages, across many different systems.
- routines can be called upon by other routines (or steps).
- a catalog, or palette, of pre-defined and tested steps can be used by a developer to build business routines. This makes forming new routines much easier and accessible, especially for non-technical professionals.
- FIG. 13 A a screen is shown where an example "product" object is selected in the project tree window 1304.
- a set of tabs 1322 i.e. implementation, attributes, relations, and access operations
- Other types of objects might utilize a different set of tabs.
- the implementation tab 1324 is shown selected. This results in main window 1325 showing JAVA code for a method which is defined in association with that object.
- Figure 13B next shows the "attributes" tab 1326 being selected.
- the attributes are listed by name and the properties are shown.
- An attribute typically has domain, a cardinality, and key. The attribute might be flagged as required or not. The attribute might also be persistent or not.
- a comment section 1327 is shown which might show descriptive comments to further document why/how each field is used.
- Figure 13C shows the "relations" tab 1328 being selected.
- This screen allows the present invention to show relations between various objects. For example, an employee object would have a relation to a manager object, and so forth.
- a business object configuration is generally used to customize business object for each customer.
- the business object configuration has three parts: default filter, custom filters, and named rules.
- Figure 13D shows an example business object configuration for "Product" 1332. This configuration is stored in a configuration catalog 1330 as viewed on the project tree list.
- the default filter selection 1335 shows a set of attributes/relations 1334 which are in use for each selected object configuration.
- a set of unused attributes/relations 1336 are also shown. The attributes can be moved from used to unused states via the add/remove filter buttons.
- the attributes of the selected "Price 1" 1338 are shown as a named pair including format 1340 and currency 1342.
- Dates (not shown as a selection) might carry long or short date formats, etc.
- the edit rules button 1344 allows a user to create and modify implicit rules associated with an attribute/relation, (as similar to Figure 13H, below).
- Figure 13E shows the "custom filters" tab 1346 being selected.
- a list of custom filters is shown in the main window, with the "Productfeatures” filter selected.
- the buttons 1349 allow filters to be added, removed, edited, and renamed.
- Figure 13F shows selection of the edit filter button 1350.
- Window 1352 shows the attributes/relations in this particular filter. The up/down buttons can be used to toggle through the listing.
- Window 1354 shows the attributes/relations not in the filter.
- Window 1358 shows properties/values associated with the selected item.
- Special (non-attribute) items e.g. 1360
- Items 1360 can generally be used to control a subset of attributes.
- Figure 13M shows the result of the main implementation step being selected.
- a macro template name 1392 is listed, along with a list of associated micro-templates 1394.
- the micro-template "MTProductFeatures" 1396 has been selected, and shows the associated type and object name fields. This micro-template is associated with a processor name 1395 and processor value 1396.
- Figure 13N shows the post implementation tab 1398 selected.
- JAVA code is displayed in the main window for handling the result of the main interactive step. For example, this code would handle the placement of data on an output port in response to the prior user input (if user input has been so provided).
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US547161 | 1983-10-31 | ||
US440326 | 1995-05-12 | ||
US16402199P | 1999-08-23 | 1999-08-23 | |
US164021P | 1999-08-23 | ||
US43976499A | 1999-11-15 | 1999-11-15 | |
US44032699A | 1999-11-15 | 1999-11-15 | |
US439764 | 1999-11-15 | ||
US54716100A | 2000-04-11 | 2000-04-11 | |
PCT/US2000/022032 WO2001014962A1 (en) | 1999-08-23 | 2000-08-11 | Method and apparatus for providing custom configurable business applications from a standardized set of components |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1395900A1 true EP1395900A1 (en) | 2004-03-10 |
Family
ID=27496587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP00955455A Withdrawn EP1395900A1 (en) | 1999-08-23 | 2000-08-11 | Method and apparatus for providing custom configurable business applications from a standardized set of components |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1395900A1 (ja) |
JP (1) | JP2004527805A (ja) |
AU (1) | AU6765900A (ja) |
WO (1) | WO2001014962A1 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2001234919A1 (en) * | 2000-02-08 | 2001-08-20 | Appschannel, Inc. | Object oriented system, method and article of manufacture for developing and integrating computer application processes |
US20040260601A1 (en) | 2000-03-13 | 2004-12-23 | Victor Brief | System and method for internet based procurement of goods and services |
FR2809513B1 (fr) | 2000-05-23 | 2003-09-12 | Bull Sa | Controle de qualite de service, notamment de telecommunication |
US20030217333A1 (en) * | 2001-04-16 | 2003-11-20 | Greg Smith | System and method for rules-based web scenarios and campaigns |
JP2004533047A (ja) * | 2001-04-16 | 2004-10-28 | ビーイーエイ システムズ, インコーポレイテッド | ウェブに基づいた個性化とeコマース管理システム及びその方法 |
US6567272B1 (en) * | 2001-11-09 | 2003-05-20 | Dell Products L.P. | System and method for utilizing system configurations in a modular computer system |
US20030212604A1 (en) | 2002-05-09 | 2003-11-13 | Cullen Andrew A. | System and method for enabling and maintaining vendor qualification |
US7558745B2 (en) | 2002-09-30 | 2009-07-07 | Volt Information Sciences, Inc. | Method of and system for enabling and managing sub-contracting entities |
US7698146B2 (en) | 2002-04-24 | 2010-04-13 | Volt Information Sciences Inc. | System and method for collecting and providing resource rate information using resource profiling |
US7725560B2 (en) | 2002-05-01 | 2010-05-25 | Bea Systems Inc. | Web service-enabled portlet wizard |
US20060117294A1 (en) * | 2002-08-29 | 2006-06-01 | Crossmarx B.V. | System and method for executing and building a software application |
CA2511090A1 (en) * | 2003-01-23 | 2004-08-05 | Electronic Data Systems Corporation | System and method for automated code generation using language neutral software code |
US20040148370A1 (en) * | 2003-01-23 | 2004-07-29 | Electronic Data Systems Corporation | System and method for composing, configuring, deploying, and managing services using a graphical user interface |
US7591000B2 (en) | 2003-02-14 | 2009-09-15 | Oracle International Corporation | System and method for hierarchical role-based entitlements |
US7653930B2 (en) | 2003-02-14 | 2010-01-26 | Bea Systems, Inc. | Method for role and resource policy management optimization |
US7810036B2 (en) | 2003-02-28 | 2010-10-05 | Bea Systems, Inc. | Systems and methods for personalizing a portal |
US7783499B2 (en) | 2003-03-03 | 2010-08-24 | International Business Machines Corporation | Framework for dynamic composition of web services |
CA2558404A1 (en) * | 2004-03-02 | 2005-09-15 | Volt Information Sciences Inc. | Method of and system for consultant re-seller business information transfer |
US7774601B2 (en) | 2004-04-06 | 2010-08-10 | Bea Systems, Inc. | Method for delegated administration |
US7904348B2 (en) * | 2004-05-05 | 2011-03-08 | Eplus Systems, Inc. | System and method for eCatalog supplier portal |
US8132225B2 (en) | 2004-09-30 | 2012-03-06 | Rockwell Automation Technologies, Inc. | Scalable and flexible information security for industrial automation |
AU2006213709A1 (en) * | 2005-02-11 | 2006-08-17 | Volt Information Sciences Inc. | Project work change in plan/scope administrative and business information synergy system and method |
AU2008229743A1 (en) * | 2007-10-03 | 2009-04-23 | Britesoft Solutions (M) Sdn Bhd | Cutomizable Application System |
CA2770843A1 (en) | 2009-08-12 | 2011-02-17 | Volt Information Sciences, Inc. | System and method for productizing human capital labor employment positions/jobs |
US9563617B2 (en) | 2013-09-23 | 2017-02-07 | Oracle International Corporation | Custom validation of values for fields of submitted forms |
US20160063416A1 (en) * | 2014-08-28 | 2016-03-03 | Rajesh Sharma | Web-based, electronic system and method for providing business automation information exchange services |
WO2019171155A1 (en) * | 2018-03-09 | 2019-09-12 | Pratik Sharma | Data center planner |
WO2020179833A1 (ja) * | 2019-03-07 | 2020-09-10 | 株式会社エネルギア・コミュニケーションズ | Api提供システム及びapi提供方法 |
CN111776579B (zh) * | 2020-06-24 | 2022-09-27 | 苏州市启献智能科技有限公司 | 一种具有物品寄存功能的社区智能单元门及物品存取方法 |
CN113778542B (zh) * | 2020-08-31 | 2024-08-16 | 北京沃东天骏信息技术有限公司 | 业务配置表生成方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5418957A (en) * | 1992-03-09 | 1995-05-23 | Narayan; Rom | Network data dictionary |
JPH06149554A (ja) * | 1992-11-09 | 1994-05-27 | Matsushita Electric Ind Co Ltd | プログラム動作仕様自動合成装置及びその方法 |
US5915115A (en) * | 1993-02-11 | 1999-06-22 | Talati; Kirit K. | Control system and method for direct execution of software application information models without code generation |
US5638539A (en) * | 1994-02-28 | 1997-06-10 | International Business Machines Corporation | Tool for defining complex systems |
GB2320111A (en) * | 1996-12-06 | 1998-06-10 | Jba Holdings Plc | Data processing system and method for software development/configuration |
-
2000
- 2000-08-11 AU AU67659/00A patent/AU6765900A/en not_active Abandoned
- 2000-08-11 WO PCT/US2000/022032 patent/WO2001014962A1/en not_active Application Discontinuation
- 2000-08-11 EP EP00955455A patent/EP1395900A1/en not_active Withdrawn
- 2000-08-11 JP JP2001519260A patent/JP2004527805A/ja active Pending
Non-Patent Citations (1)
Title |
---|
See references of WO0114962A1 * |
Also Published As
Publication number | Publication date |
---|---|
AU6765900A (en) | 2001-03-19 |
WO2001014962A1 (en) | 2001-03-01 |
WO2001014962A9 (en) | 2002-07-11 |
JP2004527805A (ja) | 2004-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1395900A1 (en) | Method and apparatus for providing custom configurable business applications from a standardized set of components | |
JP2004527805A5 (ja) | ||
US6904449B1 (en) | System and method for an application provider framework | |
Muther | Customer relationship management: Electronic customer care in the new economy | |
US7167844B1 (en) | Electronic menu document creator in a virtual financial environment | |
US7069234B1 (en) | Initiating an agreement in an e-commerce 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 | |
US20090192854A1 (en) | Method and apparatus for facilitating electronic acquisition and maintenence of goods and services via the internet | |
Manes | Web Services: A Manager's Guide | |
Ray | Integrated management from e-business perspective: Concepts, architectures and methodologies | |
WO2000073928A2 (en) | Business alliance identification | |
WO2000073955A9 (en) | Methods, concepts and technology for a virtual shopping system capable of assessing needs of a customer and recommending a product or service based on such assessed needs | |
WO2000073958A2 (en) | Methods, concepts and technology for dynamic comparison of product features and customer profile | |
WO2001046889A2 (en) | A method for executing a network-based credit application process | |
EP1287458A2 (en) | Collaborative capacity planning and reverse inventory management during demand and supply planning in a network-based supply chain environment and method thereof | |
WO2001039082A2 (en) | Scheduling and planning before and proactive management during maintenance and service in a network-based supply chain environment | |
EP1222587A2 (en) | System, method, and article of manufacture for electronic merchandising in an e-commerce application framework | |
WO2000073957A2 (en) | A system, method, and article of manufacture for providing commerce-related web application services | |
WO2001046846A2 (en) | A method for a virtual trade financial framework | |
US20020087412A1 (en) | Method for post-sales customer retention | |
Keen et al. | Patterns: Soa with an enterprise service bus | |
Ferguson et al. | WebSphere as an e-business server | |
WO2001016851A2 (en) | System, method, and article of manufacture for decision support in an e-commerce application framework | |
Fong et al. | A virtual electronic trading system for business‐to‐business 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: 20020322 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
AX | Request for extension of the european patent |
Extension state: AL LT LV MK RO SI |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
R18D | Application deemed to be withdrawn (corrected) |
Effective date: 20040302 |