US20180158003A1 - Web-based visual representation of a structured data solution - Google Patents
Web-based visual representation of a structured data solution Download PDFInfo
- Publication number
- US20180158003A1 US20180158003A1 US15/807,209 US201715807209A US2018158003A1 US 20180158003 A1 US20180158003 A1 US 20180158003A1 US 201715807209 A US201715807209 A US 201715807209A US 2018158003 A1 US2018158003 A1 US 2018158003A1
- Authority
- US
- United States
- Prior art keywords
- data
- web
- business application
- solution
- based structured
- 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.)
- Abandoned
Links
Images
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/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- 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
-
- G06F17/243—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
Definitions
- Small and large businesses, educational systems, leisure systems and many other entities often operate computer-based information management systems that integrate many types of data across many facets of operation, such as, business planning, marketing and sales, manufacturing, inventory control, finance, human resources, student records management, faculty and personnel management, and the like.
- Such entities typically have to communicate with a variety of other entities, including sending, receiving and processing data.
- a manufacturing business may need to communicate and pass data to and from vendors, customers, professional services organizations, and the like.
- In order to pass data and information to and from such disparate entities such a business or entity often must develop and operate an elaborate operation of communications personnel, data processors and computing systems for sending, receiving, entry and processing of such information that is important to the operation of the business or entity.
- ERP Enterprise resource planning
- Many businesses utilize an integrated computer-based system to implement ERP in business activities such as inventory control, order tracking, customer service, finance, and human resources, and the like.
- ERP software systems are becoming an integral part of how many businesses and organizations conduct business, current ERP software systems do not provide a way for ERP software systems users to connect with potential or existing customers, partners and vendors from within the application.
- Embodiments of the present invention solve the above and other problems by enabling a user of a business application (herein referred to as a business application user) to connect with an end user using a web page to display information published from the business application and associated data repositories and to collect information and make it available for download into the business application.
- a structured data solution in the form of a grouping of metadata referred to as a solution, defines data, data presentation, and data binding for enabling a scenario.
- An example solution scenario may include a web page for allowing an end user to enter purchase order data for use by a manufacturing business sales function.
- the data may describe types of entities that may be published from the business application.
- the presentation metadata may define templates that describe a layout, theme, and controls that may be displayed in a page.
- the presentation metadata may also define how pages may be linked together to form a series of connected solution scenarios.
- the binding metadata may define the association of data to controls.
- the metadata may ensure that web-based structured data solutions in the form of web pages displayed to an end user conform to relationships and constraints established by a structured solution file.
- the business application user-entered data, the data controlling the presentation of the data, and the data associated with binding business application user-entered data to the presentation of the web-based structured data solution may be utilized for receiving end user-entered data from the web page and for publishing the received end user-entered data back into the business application.
- the storage metadata, presentation metadata, and the binding metadata may all be structured in a way that allows a business or organization to efficiently utilize the data received through the web-based solution.
- the web-based structured data solutions may be enabled through data binding between business applications and associated data repositories and web-based structured data solutions (web pages/sites). Data binding allows establishing relationships between the business application and associated data repositories (e.g., ERP system).
- Web-based structured data solutions may be presented as web pages or sites based on the roles of end users accessing the web pages or sites. That is, the presentation of the web pages or sites for allowing end user interaction with the business applications and associated data may be tailored to the roles of the end users (e.g., salespersons, purchasers, human resources managers, etc.).
- FIG. 1 is a simplified block diagram of a system architecture for generating, binding, publishing, and synchronizing a web-based structured data solution with a business application system.
- FIG. 2 is a data model of relational data storage.
- FIG. 3 is a data model of site hierarchy.
- FIG. 4 is a data model of page layout.
- FIG. 5 is a data model of page data binding.
- FIG. 6A is simplified block diagram illustrating page workflow.
- FIG. 6B is a simplified block diagram illustrating process workflow.
- FIG. 7 is a more detailed simplified block diagram of the system architecture of FIG. 1 .
- FIG. 8 is an illustration of a UI within which a business application user may select a page template.
- FIG. 9 is an illustration of a UI wherein a business application user may enter page details.
- FIG. 10 is an illustration of a page template within which a business application user may enter data and presentation data and bind fields.
- FIG. 11 is an illustration of an email containing a link to a business application user-created web-based structured data solution.
- FIG. 12 is an illustration of a page of a published web-based structured data solution.
- FIG. 13 is an illustration of a page of a published web-based structured data solution within which an end user may input data which will be synchronized with a business application system.
- FIG. 14 is an illustration of a UI within a business application system showing statuses of various solution scenarios.
- FIG. 15 is a logical flow diagram illustrating a method for generating, binding, publishing, and synchronizing a web-based structured data solution with a business application system.
- FIG. 16 is a simplified block diagram of a system including a computing device with which embodiments of the invention may be practiced.
- Embodiments of the present invention solve the above and other problems by providing for information connection between businesses or other entities and their customers, vendors or other information exchange partners.
- Connection between business applications and associated data repositories operated by the businesses or other entities and their customers, vendors and other information exchange partners is provided through web pages bound to the business applications and associated data repositories via a distributed computing and communications system (also known as the “cloud”).
- a web page may be published with data entry fields that are bound back to a manufacturing company data management application that allows a vendor of the manufacturing company to enter raw material supply data into the web page so that the entered supply data is passed directly back to the manufacturing company's data management application without the need for the manufacturing company to utilize data entry personnel or to write specialized data management code for the example data exchange.
- information helpful to the relationship between the entities may also be exchanged such as advertising information, contact information, help content and the like.
- a transformation of metadata from a business application and associated data repository and a visual representation in the form of a published web page allows for a receiving of data collected via the published web page, and a transformation of received data back into a format for synchronization with the business application and associated data repository.
- Templates may be provided for creating and managing web pages and web sites within a business application system (e.g., ERP system).
- a business application user may create such pages or sites as a landing page for a marketing campaign, a dedicated request for quote site to receive quotes from business partners, a page or site for product registration information and customer feedback, a page or site for human resources information for job recruiting and/or pages or sites for communicating and connecting with community or other end users.
- Information from a business application system may be published to a business application user-generated web page for display to an end user, and for collecting information from an end user to make available for download into the business application system.
- the user-generated web page may be defined as a web-based structured data solution, which may define data, web page presentation, and data binding metadata for enabling a given solution scenario.
- An example solution scenario may include a web page for allowing an end user to enter purchase order data for use by a manufacturing business sales function.
- the data, web page presentation, and data binding metadata may be structured in a way that allows an organization to efficiently utilize information received through the web-based structured data solution.
- a business application user may enable a connected scenario on the web without information technology (IT) dependency. That is, the web-based structured data solutions may be created without the user having to write code.
- Business application users may connect with potential and existing customers, partners, and vendors from within the business application system and may capture interactions directly into the business application system.
- the web-based structured data solutions may be enabled through data binding between business applications and associated data repositories and web-based structured data solutions (web pages/sites).
- Data binding allows establishing relationships between the business application and associated data repositories (e.g., ERP system) and corresponding data objects or fields in the web-based structured data solution.
- Data binding can be grouped into both instance binding and metadata binding.
- Instance binding involves binding the web page to data associated with the business application dynamically as data associated with the business application is created or changed.
- Metadata binding establishes a set of relationships that dictates the behavior of the instance binding. Metadata binding thus is targeted to the solution developers, while the instance binding is targeted to the end users of the business application.
- data binding also enables a synchronization interface for maintaining binding between two disparate systems.
- web-based structured data solutions may be presented as web pages or sites based on the roles of end users accessing the web pages or sites. That is, the presentation of the web pages or sites for allowing end user interaction with the business applications and associated data may be tailored to the roles of the end users (e.g., salespersons, purchasers, human resources managers, etc.).
- Business application e.g., ERP systems
- ERP systems enterprise resource planning systems
- the business application user needs flexibility with respect to defining what data to display and how to display the data to their customers, vendors, partners or the like.
- users have complete control over the data to be displayed and the presentation of the data to their end users. This enables information to be displayed and presented in a format that is tailored to the end user.
- a solution such as a web-based employment application
- HR human resources
- the web-based job application may be comprised of a web-based presentation that may have fields for allowing an applicant to enter specified data, such as his/her name, address, phone number, qualifications, years of experience, attach a resume, etc.
- the web-based job application may have a variety of images or other company information, such as a company logo, information about the company, a link to the company's website, etc., that may be of value to an applicant.
- the web-based job application may have various selectable functionality controls for allowing potential applicants to submit entered data back to the organization or for otherwise manipulating entered data.
- the foregoing example is but one of a vast number of solutions for which embodiments of the present invention may be utilized.
- program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
- program modules may be located in both local and remote memory storage devices.
- FIG. 1 is a simplified block diagram of a system architecture within which embodiments of the present invention may be implemented.
- a business application 105 is illustrated.
- Many organizations and businesses integrate multiple facets of their organization/business into a single computer-based system, such as an enterprise resource planning (ERP) system.
- ERP enterprise resource planning
- An organization/business may utilize an ERP system for various business activities across the various workloads of a business (e.g., manufacturing, supply chain management, financials, procurement, project management, human resources, customer relationship management, data services, access control, as well as other business activities, etc.).
- ERP enterprise resource planning
- a business application 105 may consolidate business operations of an organization/business, such as manufacturing, supply chain management, financial systems/data, project management, human resources, customer relationship management, data services, and access control, into a uniform and enterprise-wide system environment.
- a business application 105 such as an ERP system, may reside on a centralized server, or may be distributed across remote processing devices that are linked through a communications network.
- the cloud 110 may be generally described as a set of services and technologies that enable a delivery of computing services over the Internet.
- An example of a cloud services operating system is WINDOWS AZURE by MICROSOFT CORPORATION of Redmond, Wash.
- Business applications 105 may be extended from on-premise to the cloud 110 .
- E-commerce is an example of a transaction that may go through one or more intermediate companies in the cloud 110 to be completed.
- a merchant may showcase a product intended to be sold on a website.
- a customer may visit the website, choose the product, and add the product to a shopping cart.
- a connection to a transaction server may be made, wherein the customer may give credit card or other payment information to purchase the product.
- the merchant's transaction server may connect with a third party credit card processing server to check if the customer has sufficient funds to pay for the purchased product.
- the transaction may be transparent to the end customer who only knows that his/her transaction has taken place.
- Each of the various transactions, processing steps and data storage actions may take place at one or more remote sites together or remote from each other where the collection of the remote computing activities may be referred to as existing and/or operating in the “cloud.”
- Embodiments of the present invention provide for business application users 102 to enable connected solution scenarios on the web that do not require IT dependency.
- Examples of types of solution scenarios that may be enabled include, but are not limited to, vendor enrollment, sourcing, time entry, job listings, vendor managed inventory, sales lead data capture, purchase order/invoicing, service contract renewal, and customer support requests.
- the connected solution scenarios may enable business application users 102 to connect, share, and capture business information from customers, vendors, and partners. Connection and sharing may be accomplished by creation and publication of web-based visual representations of a structured data solution (hereafter “web pages”) 115 that publicly expose information stored and utilized by an organization and made available via a business application 105 .
- web pages structured data solution
- This may be done by transforming metadata from a business application 105 to a visual representation (web page 115 ) of a structured data solution 120 on the cloud 110 . Information may then be captured via the web-based visual representation 115 of the structured data solution 120 , and made subsequently available within the business application 105 for immediate processing and follow ups.
- the published visual representation of the structured data solution (web page) 115 would be the job application web page.
- Metadata may be required to enable a solution scenario, such as an online job application.
- a structured grouping of metadata required for a solution scenario may be referred to as a solution 120 .
- a solution 120 may be generally described as a packaging of declarative constructs, encompassing metadata, data, and visual elements.
- a solution 120 may declare a consummation of metadata, a binding of the metadata to a visual element 115 , and how the data is presented as well as brought back into a business application system 105 .
- a solution 120 may be comprised of data metadata 125 , which is a structured description of the types of entities that may be published.
- a solution 120 also may be comprised of presentation metadata 130 , which may be a structured description of the presentation of the data 125 in the form of the web page 115 and may address how information may appear visually and contextually.
- the solution 120 also may be comprised of data binding metadata 135 which may allow for establishing relationships between a business application system 105 (and associated data repositories) and associated data and functionalities presented in a web page 115 via the cloud 110 .
- Data binding 135 may include instance binding and metadata binding. While instance binding involves binding a web page 115 to business application data dynamically as data is created and/or changed, metadata binding may establish a set of relationships that may dictate the behavior of instance binding. Metadata binding may be described as the transformation of metadata from a business application 105 to a web page 115 via the cloud 110 , which may be described declaratively through a solution 120 .
- the data binding metadata 135 may declare not only how data is presented to an end user 104 , but also how data is brought back into a business application system 105 .
- a generic framework may be utilized to implement model-based applications on the cloud, which may satisfy three primary requirements of a business application using abstract models, including relational data storage, data presentation workflow, and data synchronization with other systems 105 (e.g. backend ERP system).
- Each model may be described using declarative metadata structures (e.g., representational XML), wherein the metadata may be organized in layers in the form of self-contained packages, referred to as a solution 120 .
- the relational data storage may be expressed as an entity relationship (ER) model based on entities and relationships, wherein certain business logic semantics may be expressed through implicit structural constraints (e.g., attribute constraint and first-order relational constraint).
- ER entity relationship
- the relational data storage model may provide for storage and retrieval of binary large objects (BLOBs), which may be used for storing documents and images.
- BLOBs binary large objects
- the relational data storage model may support variable length collections in attributes and relationships.
- the data presentation workflow 130 may address what information may be presented to an end user, as well as how the information appears visually and contextually.
- Data presentation 130 may be comprised of four sub-areas: layout, data-binding 135 , workflow, and site hierarchy.
- site hierarchy may address how information is organized within a context of various business flows, and may be broken into four concepts: web page 115 , page group, page type, and page template 170 .
- a web page 115 is a browsable endpoint that may display pre-determined information and that may be used to collect inputs from an end user 104 .
- Web pages 115 are the leaves in the site hierarchy 300 .
- a page group 310 is a specific grouping of pages 115 which gives some contextual semantic to the collection. Page groups 310 may be part of other page groups, allowing a nested hierarchical structure. For example, page groups 310 may be different business flow areas (e.g., procurement, marketing, etc.).
- a page type 315 is another grouping of pages 115 based on web page behavior canonicalization or standardization where data that may have more than one possible visual representation may be standardized to on page type 315 . Page types 315 may define a general presentation behavior (e.g., a Sales Lead Capture page or a Contact Us page) and thus enforce certain design constraints.
- Each web page 115 may belong to one and only one page type 315 , and thus conforms to the constraints of the type.
- a page template 170 is a starting point for creating a web page 115 .
- Page templates 170 may define the same presentation behavior as the web page 115 ; however, they are not browsable endpoints, and may only be used while creating a new page.
- the page layout 400 addresses how data is presented inside a web page 115 , and may be defined by three building blocks: controls, container controls, and composite controls.
- a control 405 is a presentation entity with specific rendering and user-interaction behavior (e.g., textbox, labels, dropdowns, etc.).
- a container control 410 is an organized collection of child controls with various layouts, and a composite control 415 is a reusable presentation segment (e.g., address block).
- the page layout 400 may support nested containers, stack layouts 420 and grid layouts 425 , and theme-based styling.
- page data binding 135 may address what data is presented inside a web page 115 , and may be described in terms of entity data source(s) 505 , attribute binding 510 , and relationship binding 515 .
- entity data source 505 is a page-design-time abstraction of the entity record that the web page 115 will be bound to at run-time.
- a web page 115 may have more than one data source, and may form an acyclic graph through the relationships.
- a data binding graph 135 may conform to the defined entity metadata structure.
- Attribute binding 510 may establish a linkage between the controls 505 and the nodes in the data source graph. Attribute binding 510 may specify which properties of a bound record to be displayed and captured in a control 505 .
- Relationship binding 515 is a relational edge between two data source nodes in the data binding graph 135 . Relationship binding 515 may define how bound records are related with each other. A data binding engine may load the binding graph 135 dynamically when the web page 115 renders in a specific binding context, and the modified part of the graph (i.e., the records) may be committed back into the database upon user submission.
- a workflow is a chain of presentation states and the controller logic governing transitions between the states.
- Workflows may be described using declarative structures. Workflows may be exposed in two levels of complexity with shared knowledge from one to the other.
- a simple form of a workflow is illustrated in FIG. 6A , and may be contained inside a single web page 115 .
- a web page 115 may have one or more presentation states called views 605 .
- Each view 605 may be defined using the layout 500 and data binding 135 structures described above.
- a view 605 may describe how a web page 115 looks and what data is shown in a particular web page state.
- the page controller 610 is the workflow inside the web page 115 , and may define a chaining of views 605 using an event-driven and/or rule-based transition model.
- a process 615 may be composed of pages 115 chained in a similar way as views 605 in the respective web pages 115 (i.e., rule-based or event-driven).
- a process controller 625 is a chaining logic in the process 615 , and may enable advanced solution scenarios, such as master-details navigation, portals (hub-like navigation to multiple pages), etc.
- Both page and process controllers 610 , 625 may expose many internal and/or external events in each state.
- Process internal events may be bound by components inside the process 615 (e.g., process controller 625 , page views 605 , page controllers 610 , etc.).
- Page internal events may similarly be bound by the components inside the web page 115 .
- External events may be bound to the outside of the process 615 or web page 115 .
- an external event may be bound to a communication channel (e.g., Service Bus) to be triggered when a remote calculation completes and the results are made available.
- a communication channel e.g., Service Bus
- Embodiments of the present invention may provide for a data synchronization model, wherein every storage entity record may have an auto-generated version number, and any change to the record may increment the version number.
- the synchronization model may be change list-based, wherein a list of all changes from a specified marker version number may be provided.
- bidirectional data synchronization is provided and includes conflict detection and resolution in order to keep the backend data in the business application 105 (e.g., ERP system) and the web page 115 published via the cloud 110 in synchronization.
- data When data is modified in the business application 105 , it may be automatically received by a synchronization channel and may be pushed out to the cloud 110 and solution 120 for synchronizing the modified data with the web page 115 .
- the modified data may be automatically received by a synchronization channel for synchronizing the modified data with the business application 105 .
- a conflict may result because it may not be possible to determine which of the business application or solution 120 or web page 115 is the master source for determining which modification should control, and thus, a conflict may result.
- a user 102 , 104 may cause automatic resolution by establishing one of the sides as a master source of the conflicting modifications and automatically resolving the conflict according to the data modification made to the established master source.
- the user may check a synchronization log and resolve the conflicts manually by merging data from both sides appropriately.
- change tracking at both sides may be performed for comparing versions of data at each side and for performing the conflict detection and resolution described herein.
- users at both ends of the system including developers of the solution 120 , may be automatically notified of modifications and/or polled for input as to change or conflict resolution.
- a metadata-driven application model may be exposed.
- the metadata may be large.
- solution scenarios may be developed by various providers, but may be installed together to work as a single end-to-end solution.
- embodiments provide for a way to package metadata into solutions 120 .
- a solution package 120 may include an identity, a public contract, and metadata.
- a solution 120 may have a valid identification, including a name, unique identifier, version, provider name, optional public key, and optional description.
- a public contract may describe how a solution interacts with other components (e.g., other solutions) in a system.
- a public contract may include a schema contract, which may describe what other entity metadata may be required in a data-storage model in order to make a solution functional. The schema-contracts from other installed solutions 120 may be combined by the platform, and may be propagated to the synchronization interfaces.
- a solution public contract may also include a dependency contract, which may describe other solutions 120 that the particular solution is referencing.
- a solution 120 may be disabled if a current state of a system does not satisfy its public contract.
- the metadata component may contain all the metadata structures defining the presentation components (e.g., site hierarchy 300 , page templates 170 , workflows, etc.) and behavior of a solution 120 .
- the metadata may be required to adhere to a public contract as previously declared by a solution.
- a solution 120 may be digitally singed by a public key infrastructure (PKI)-based certificate to avoid tampering and to preserve integrity. If a solution 120 is signed, the identity of the solution may be required to include a public key of a signer certificate.
- PKI public key infrastructure
- embodiments provide for a data binding abstraction platform, wherein data from a business application system 105 may be transformed into a format utilizing a structured definition, such as an extensible markup language (XML) data structure.
- An XML binding schema may interpret the data in terms of presenting the data to an end user 104 , so that data may be transformed from a business application system 105 to a visual representation 115 on the cloud.
- XML is just one way of representing the transformation of data and metadata between a business application system 105 and the cloud 110 .
- the transformation of data allows for binding the data as context, and the transformation of metadata allows for determining the type of data that can be bound for the presentation aspects.
- embodiments of the present invention provide for data entered into a web-based visual representation of a structured data solution 115 to be synchronized back into a business application 105 .
- Data within an organization's business application system 105 may be transformed into a visual representation 115 within which end user-entered data may be received and then correspondingly transformed into a format so that the end user-entered data may be synchronized with the business application system and utilized as needed.
- Data binding metadata 135 may define directional binding; that is, defining what data may be incoming or outgoing, how a data graph should be populated with data from a business application 105 , as well as how populated data on a web page 115 may go back into the data graph.
- a workload may be a facet or operation of a business, such as, but not limited to, manufacturing 705 , supply chain management 710 , financials 715 , procurement 720 , project management 725 , human resources 730 , customer relationship management 735 , data services 740 , access control 745 , as well as other business activities 750 .
- a business such as, but not limited to, manufacturing 705 , supply chain management 710 , financials 715 , procurement 720 , project management 725 , human resources 730 , customer relationship management 735 , data services 740 , access control 745 , as well as other business activities 750 .
- each workload 705 , 710 , 715 , 720 , 725 , 730 , 735 , 740 , 745 , 750 various information may be stored.
- the example business workloads are for purposes of example only and are not limiting of the vast number of organization functions or processes that may associated with a web based solution page 115 as described
- a procurement 720 workload may comprise such data such as vendor information 755 , request for quotes (RFQs) 760 , purchase requisitions 765 , etc.
- a business application user 102 such as a procurement agent, may wish to generate a scenario, where he/she may wish to publish a new RFQ for requests for quotes or proposals from various vendors via an RFQ web page 115 .
- various templates 170 may be provided for creating a new page.
- a preview and description 815 of each provided template 170 may be displayed.
- a template 170 may be provided by a solution developer such as an independent software vendor (ISV), from a software publisher, or from any user able write code to generate a template.
- a page template 170 may be utilized as a starting point for creating a web page 115 .
- a page template 170 may define presentation behavior, may display predetermined information, and may collect inputs from an end user 104 .
- the procurement agent may select and upload an RFQ template 170 for building a web-based RFQ page.
- the business application user 102 may be prompted to enter page details, such as a page name 905 and a page URL 910 . That is, the user 102 may use page 900 , illustrated in FIG. 9 , to start the process of building a web page 115 by providing a name and page locator for the web page 115 .
- a user interface 1000 may be provided with which a business application user 102 may declare which data associated with a business application 105 to include in the web page and to bind to various data elements within the page.
- data elements such as the RFQ number 1005 , RFQ contact 1010 , RFQ submission end date 1015 , delivery date 1020 , and delivery address 1025 , etc., may be bound to data elements within the business application/system 105 .
- Declared data bindings may be saved as data binding metadata 135 .
- Data may be transformed using a structured definition of the data (e.g., XML) from the business application system 105 to a visual representation 115 on the cloud 110 .
- data 125 such as a company logo, information about a company, as well as other data within a company's database, may be bound to a web page 115 .
- Various functionalities may be provided for allowing a business application user 102 to customize the presentation appearance of a web page 115 . For example, various backgrounds, headers, footers, colors, or layout choices may be available from which a business application user 102 may select.
- a business application user 102 may edit data, add additional fields to a template, as well as remove fields. Visual aspects of the page may be saved as presentation metadata 130 .
- One or more end users (e.g., vendors) 104 to whom the business application user 102 may want to share a web-based visual representation of a structured data solution 115 may be selected or entered.
- An end user 104 may be an individual or company who may be an existing vendor, customer, applicant, or other entity whose information may already be in the business application 105 .
- a web page 115 may be sent to potential vendors, applicants, customers, or may be published publicly for an undefined end user 104 to access.
- the solution 120 may published to the cloud 110 .
- a URL to the web page 115 may be generated, wherein end users 104 may access the web-based visual representation of the structured data solution (web page 115 ).
- a message e.g., email
- a link 1105 to the visual representation 115 may be sent to an end user 104 , which may contain a link 1105 to the visual representation 115 .
- a web-based visual representation of the structured data solution 115 may contain fields 1205 in which an end user 104 may enter information.
- a page may contain fields in which to enter contact information 1205 .
- Each field 1205 may be bound to a field in the business application 105 .
- a field 1305 may be provided for uploading a document, which may be submitted to a business application user 102 .
- a number of solutions 120 and associated web pages 115 may be developed and published for and used from a given business application 105 .
- a given business application user 102 may have developed and may be running tens of web pages 115 at any given time covering tens of facets of his/her business or organization workloads and/or functions.
- a user interface 1400 may be provided in which a business application user 102 may view statuses of various solutions 120 .
- a notification e.g., email, pop-up message, etc.
- a pop-up message 1405 may be displayed.
- a business application user 102 may view submitted data, and may make a status change.
- a procurement agent may accept or reject an RFQ, or may return it and ask for additional information.
- the change of status may be published to the web-based visual representation of the structured data solution 115 so that the end user 104 may view the status and may react accordingly.
- presentation views may be based on a status of the entity. That is, presentation of a page may be designed by a business application user 102 so that for a given status, the page may be presented in a specific way. For example, if an RFQ has been accepted, the web-based visual representation of the structured data solution 115 may be displayed to the end user 104 with a “Congratulations!” text included.
- FIG. 15 is a logical flow diagram illustrating a method for providing a transformation of metadata between a business application 105 to a web page 115 via the cloud 110 , a receiving of data collected as a part of that web page, and a transformation of received data back into a format for synchronization with the business application.
- the method 1500 starts at OPERATION 1505 , and proceeds to OPERATION 1510 , where a request for generating a web-based structured data solution 120 that will be presented as a web-based structured data solution and associated web page presentation 115 is received.
- a request for generating a solution 120 may occur when a selection to enable a new scenario is made by a business application user 102 .
- a scenario that may be enabled by a business application user 102 may include, but is not limited to, vendor enrollment, sourcing, time entry, job listings, vendor managed inventory, lead capture, purchase order/invoicing, service contract renewal, and customer support requests.
- a variety of selectable functionalities for creating a new scenario may be provided within a UI from which a business application user 102 may select.
- one or more templates 170 may be provided for generating a web-based structured data solution 120 .
- a developer of the web-based structured data solution may identify one or more data types (e.g., name, education, experience data types for an employment application solution) associated with the business application where each of the one or more data types will be associated with an end user input data type. Identifying one or more data types associated with the business application may include identifying one or more data types for which data is required in association with a designated structured data solution, for example, an employment application structured data solution.
- a template 170 may be defined by presentation metadata 130 .
- a template may provide a set of data, semantics, for example textual statements (e.g., “Enter Your Name Here”), and visual elements that a business application user 102 may manipulate.
- Various templates 170 may be provided for various solution scenarios. For example, referring back to FIG. 8 , a page type may be selected based on a scenario for which a business application user 102 may be creating. As illustrated in FIG. 8 , the business application user 102 has selected to create a new vendor request for quote 305 . Accordingly, various template 170 selections are provided to the user 102 from which to choose. An image and description 815 of provided templates 170 may be displayed to help the user 102 select a desired template.
- the method 1500 Upon selection of a template 170 , the method 1500 proceeds to OPERATION 1520 , where business application user-entered data 125 , presentation data 130 , data-binding data 135 is received.
- the one or more data types identified by the developer of the solution may be associated with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields in a displayed form of the web-based structured data solution will be associated with corresponding one or more identified data types associated with the business application.
- Association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template may include receiving the association of the one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields may be received by the business application and may be integrated with the business application in association with the one or more identified data types.
- a data field may appear inside a repeater or a grid. Accordingly, the data field may be replicated multiple times on a web page presentation depending on the actual number of data entities to which it may be bound. That is, data may be shown to the end user 104 via the web page 115 in a tabular format which binds to a collection of same type of records in the business application 105 instead of just one record.
- An example would be a web page to show all the job listings in a company job site.
- the binding may be described for a repeater in terms of a template row which contains a representative set of controls and their respective bindings to the fields of a backend data entity.
- a determination may be made as to how many instances of the data entity are to be loaded on the web page. Based on that determination, a table may be generated with each row of the table representing one data entity instance.
- Information specified in the template 170 may be customized and edited. Fields may be added, deleted, or modified according to the business application user's 102 needs. Data elements may be selected, and binding data 135 may be defined by the user 102 . Various fields may be defined for receiving information from an end user 104 . According to embodiments the template 170 associated with the designated web-based structured data solution may have one or more fields for associating with the one or more identified data types associated with the business application. The template may have one or more visual elements to be displayed in a displayed form of the web page 115 presentation.
- the template may have one or more textural semantics (e.g., “Enter Education Information Here”) for aiding an end user of a displayed form of the web page presentation to provide end user data to the structured data solution for one or more of the identified one or more data types.
- the template 170 may also provide a visual image of the template to allow a developer of the web-based structured data solution to preview how a displayed form of the web page presentation will be presented when displayed to one or more end users.
- a simplistic UI may be provided for page creation so that business application users 102 may create structured data solutions 120 quickly and easily.
- a business application user 102 may declare which data elements from within a business application 105 he/she would like to bind to elements within the web-based visual representation of the structured data solution 120 .
- Embodiments of the present invention provide for declarations to be made by a business application user 102 , without the business application user understanding how to write code.
- the user 102 may declare which elements to bind, and may declare how he/she would like to be presented.
- the data binding process may include generating an instance of the web-based structured data solution and binding the instance of the web-based structured data solution to the associated business application so that any changes to any of the one or more identified data types associated with the business application are reflected in corresponding one or more data fields in the instance of the web-based structured data solution.
- One or more relationships may be generated between each of the one or more data fields in the instance of the web-based structured data solution and corresponding data types in the associated business application for causing a reflection of any changes to any of the one or more identified data types associated with the business application in corresponding one or more data fields in the instance of the web-based structured data solution.
- a metadata may be associated with the one or more relationships between each of the one or more data fields in the instance of the web-based structured data solution and corresponding data types in the associated business application for binding the one or more relationships between the instance of the web-based structured data solution and corresponding data types in the associated business application.
- a transformation of data received via the instance of the web-based structured data solution may be performed from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application.
- data received via the web page 115 may be received according to one format or structuring language (e.g., HTML), but the data may need to be transformed to another format or structuring language (e.g., XML) for use by the associated business application.
- the established transformation may be described with a transformation metadata, and the transformation metadata may be bound to the associated business application for dictating the transformation of data received via the instance of the web-based structured data solution from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application.
- a data binding metadata may be associated with the web-based structured data solution for declaring how a displayed form of the web-based structured data solution (i.e., a web page 115 ) will be presented to an end user.
- a data binding metadata may also be associated with the web-based structured data solution for declaring how data entered into any of the one or more data fields in the instance of the web-based structured data solution is transported to the associated business application.
- the method 1500 Upon receiving a request from the business application user 102 to publish the structured data solution 120 at OPERATION 1525 , the method 1500 proceeds to OPERATION 1530 , a web-based structured data solution is generated where relationships and constraints defined by the structured solution file 120 are established, data are transformed from the business application system 105 and are bound according to defined declarations and presentation metadata 130 , and are displayed as a web-based visual representation of a structured data solution in the form of a web page 115 to an end user 104 .
- Generating the web-based structured data solution may include generating the designated structured data solution such that data may be received for each of the identified data types, and generating the designated structured data solution may be performed at a computing system remote from the business application (e.g., the cloud 110 ) for allowing one or more end users to access the generated designated structured data solution via the remote computing system
- end user-entered data such as one or more data entries entered into one or more data fields in the web page 115 , may be received via the web page 115 .
- various fields may be provided to receive end user-entered data.
- end user-entered data may be passed to the business application and stored in association with corresponding data types associated with the business application. That is the user-entered data may be synchronized with the business application system 105 as defined by binding metadata 135 .
- the end user-entered data may be transformed so that the data may be utilized and uploaded to the business application system 105 and utilized as needed by the associated organization.
- the web page presentation 115 may be republished reflecting the changes or updates.
- a notification of a change or update to a solution scenario may be provided to business application users 102 and/or end users 104 .
- the web page 115 may be utilized as a communication portal by which a business application user 102 and an end user 104 may receive and transmit business data.
- Embodiments of the invention as described above may be implemented via local and remote computing and data storage systems, including the systems illustrated and described with reference to FIG. 1 .
- the aforementioned memory storage and processing unit may be implemented in a computing device, such as computing device 1600 of FIG. 16 . Any suitable combination of hardware, software, or firmware may be used to implement the memory storage and processing unit.
- the memory storage and processing unit may be implemented with computing device 1600 or any other computing devices 1618 , in combination with computing device 1600 , wherein functionality may be brought together over a network in a distributed computing environment, for example, an intranet or the Internet, to perform the functions as described herein.
- computing device 1600 may comprise operating environment 100 as described above. Operating environment 100 is not limited to computing device 1600 .
- a system consistent with embodiments of the invention may include a computing device, such as computing device 1600 .
- computing device 1600 may include at least one processing unit 1602 and a system memory 1604 .
- system memory 1604 may comprise, but is not limited to, volatile (e.g. random access memory (RAM)), non-volatile (e.g. read-only memory (ROM)), flash memory, or any combination.
- System memory 1604 may include operating system 1605 , one or more programming modules 1606 , and may include a business application system 105 , wherein the business application system is a software application having sufficient computer-executable instructions, which when executed, performs functionalities as described herein.
- Operating system 1605 may be suitable for controlling computing device 1600 's operation. Furthermore, embodiments of the invention may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated in FIG. 16 by those components within a dashed line 1608 .
- Computing device 1600 may have additional features or functionality.
- computing device 1600 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape.
- additional storage is illustrated in FIG. 16 by a removable storage 1609 and a non-removable storage 1610 .
- Computing device 1600 may also contain a communication connection 1616 that may allow device 1600 to communicate with other computing devices 1618 , such as over a network in a distributed computing environment, for example, an intranet or the Internet.
- Communication connection 1616 is one example of communication media.
- program modules 1606 may include the business application system 105 , wherein the business application system may contain sufficient computer-executable instructions, which when executed, perform functionalities as described herein.
- processing unit 1602 may perform other processes.
- Other programming modules that may be used in accordance with embodiments of the present invention may include electronic mail and contacts applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided application programs, etc.
- program modules may include routines, programs, components, data structures, and other types of structures that may perform particular tasks or that may implement particular abstract data types.
- embodiments of the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
- Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices.
- embodiments of the invention may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors.
- Embodiments of the invention may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies.
- embodiments of the invention may be practiced within a general purpose computer or in any other circuits or systems.
- Embodiments of the invention may be implemented as a computer process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media.
- the computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process.
- the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.).
- embodiments of the present invention may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system.
- a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- Computer readable media may include computer storage media.
- Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
- System memory 1604 , removable storage 1609 , and non-removable storage 1610 are all computer storage media examples (i.e., memory storage.)
- Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information and which can be accessed by computing device 1600 . Any such computer storage media may be part of device 1600 .
- Computing device 1600 may also have input device(s) 1612 such as a keyboard, a mouse, a pen, a sound input device, a touch input device, etc.
- Output device(s) 1614 such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are examples and others may be used.
- Computer readable media may also include communication media.
- Communication media may be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media.
- modulated data signal may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal.
- communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
- RF radio frequency
- Embodiments of the present invention are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the invention.
- the functions/acts noted in the blocks may occur out of the order as illustrated in any flowchart.
- two blocks illustrated in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Operations Research (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Information from a business application system, such as an ERP system, may be published to a business application user-generated web page for display to an end user and for collecting information from an end user to make available for download into the business application system. The user-generated web page may be defined as a web-based visual representation of a structured data solution, which may define data, data presentation, and data binding metadata for enabling a solution scenario, such as vendor enrollment, sourcing, time entry, job listings, vendor-managed inventory, sales lead capture, purchase order/invoicing, service contract renewal, and customer support requests, and the like. Business application users may be enabled to connect with potential and existing customers, partners, and vendors from within the business application system via the web-based visual representation, and additionally, may capture interactions directly into the business application system without IT dependency.
Description
- This application is a continuation of U.S. patent application Ser. No. 12/969,310, filed Dec. 15, 2010, entitled “Web-Based Visual Representation of a Structured Data Solution,” which application claims benefit under 35 U.S.C. § 119(e) of U.S. Provisional Patent application Ser. No. 61/307,054, filed Feb. 23, 2010, entitled “Sites,” and is related to U.S. patent application Ser. No. 12/969,170, filed Dec. 15, 2010, entitled “Data Binding For A Web-Based Visual Representation Of A Structured Data Solution,” and U.S. patent application Ser. No. 12/969,397, filed Dec. 15, 2010, entitled “Presentation Of A Web-Based Visual Representation Of A Structured Data Solution,” the entirety of each of which is incorporated by reference herein.
- Small and large businesses, educational systems, leisure systems and many other entities often operate computer-based information management systems that integrate many types of data across many facets of operation, such as, business planning, marketing and sales, manufacturing, inventory control, finance, human resources, student records management, faculty and personnel management, and the like. Such entities typically have to communicate with a variety of other entities, including sending, receiving and processing data. For example, a manufacturing business may need to communicate and pass data to and from vendors, customers, professional services organizations, and the like. In order to pass data and information to and from such disparate entities, such a business or entity often must develop and operate an elaborate operation of communications personnel, data processors and computing systems for sending, receiving, entry and processing of such information that is important to the operation of the business or entity.
- Enterprise resource planning (ERP) is a business management system that integrates multiple facets of a business. Many businesses utilize an integrated computer-based system to implement ERP in business activities such as inventory control, order tracking, customer service, finance, and human resources, and the like. While ERP software systems are becoming an integral part of how many businesses and organizations conduct business, current ERP software systems do not provide a way for ERP software systems users to connect with potential or existing customers, partners and vendors from within the application.
- It is with respect to these and other considerations the present invention has been made.
- Embodiments of the present invention solve the above and other problems by enabling a user of a business application (herein referred to as a business application user) to connect with an end user using a web page to display information published from the business application and associated data repositories and to collect information and make it available for download into the business application. A structured data solution in the form of a grouping of metadata, referred to as a solution, defines data, data presentation, and data binding for enabling a scenario. An example solution scenario may include a web page for allowing an end user to enter purchase order data for use by a manufacturing business sales function. The data may describe types of entities that may be published from the business application. The presentation metadata may define templates that describe a layout, theme, and controls that may be displayed in a page. The presentation metadata may also define how pages may be linked together to form a series of connected solution scenarios. The binding metadata may define the association of data to controls. At run time, the metadata may ensure that web-based structured data solutions in the form of web pages displayed to an end user conform to relationships and constraints established by a structured solution file.
- According to embodiments, the business application user-entered data, the data controlling the presentation of the data, and the data associated with binding business application user-entered data to the presentation of the web-based structured data solution (web page) may be utilized for receiving end user-entered data from the web page and for publishing the received end user-entered data back into the business application. The storage metadata, presentation metadata, and the binding metadata may all be structured in a way that allows a business or organization to efficiently utilize the data received through the web-based solution. The web-based structured data solutions may be enabled through data binding between business applications and associated data repositories and web-based structured data solutions (web pages/sites). Data binding allows establishing relationships between the business application and associated data repositories (e.g., ERP system). Web-based structured data solutions may be presented as web pages or sites based on the roles of end users accessing the web pages or sites. That is, the presentation of the web pages or sites for allowing end user interaction with the business applications and associated data may be tailored to the roles of the end users (e.g., salespersons, purchasers, human resources managers, etc.).
- The details of one or more embodiments are set forth in the accompanying drawings and description below. Other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that the following detailed description is explanatory only and is not restrictive of the invention as claimed.
- This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.
- The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments of the present invention. In the drawings:
-
FIG. 1 is a simplified block diagram of a system architecture for generating, binding, publishing, and synchronizing a web-based structured data solution with a business application system. -
FIG. 2 is a data model of relational data storage. -
FIG. 3 is a data model of site hierarchy. -
FIG. 4 is a data model of page layout. -
FIG. 5 is a data model of page data binding. -
FIG. 6A is simplified block diagram illustrating page workflow. -
FIG. 6B is a simplified block diagram illustrating process workflow. -
FIG. 7 is a more detailed simplified block diagram of the system architecture ofFIG. 1 . -
FIG. 8 is an illustration of a UI within which a business application user may select a page template. -
FIG. 9 is an illustration of a UI wherein a business application user may enter page details. -
FIG. 10 is an illustration of a page template within which a business application user may enter data and presentation data and bind fields. -
FIG. 11 is an illustration of an email containing a link to a business application user-created web-based structured data solution. -
FIG. 12 is an illustration of a page of a published web-based structured data solution. -
FIG. 13 is an illustration of a page of a published web-based structured data solution within which an end user may input data which will be synchronized with a business application system. -
FIG. 14 is an illustration of a UI within a business application system showing statuses of various solution scenarios. -
FIG. 15 is a logical flow diagram illustrating a method for generating, binding, publishing, and synchronizing a web-based structured data solution with a business application system. -
FIG. 16 is a simplified block diagram of a system including a computing device with which embodiments of the invention may be practiced. - Embodiments of the present invention solve the above and other problems by providing for information connection between businesses or other entities and their customers, vendors or other information exchange partners. Connection between business applications and associated data repositories operated by the businesses or other entities and their customers, vendors and other information exchange partners is provided through web pages bound to the business applications and associated data repositories via a distributed computing and communications system (also known as the “cloud”). For example, a web page may be published with data entry fields that are bound back to a manufacturing company data management application that allows a vendor of the manufacturing company to enter raw material supply data into the web page so that the entered supply data is passed directly back to the manufacturing company's data management application without the need for the manufacturing company to utilize data entry personnel or to write specialized data management code for the example data exchange. In addition to exchange of data between the entities, information helpful to the relationship between the entities may also be exchanged such as advertising information, contact information, help content and the like.
- According to one embodiment, a transformation of metadata from a business application and associated data repository and a visual representation in the form of a published web page allows for a receiving of data collected via the published web page, and a transformation of received data back into a format for synchronization with the business application and associated data repository. Templates may be provided for creating and managing web pages and web sites within a business application system (e.g., ERP system). A business application user may create such pages or sites as a landing page for a marketing campaign, a dedicated request for quote site to receive quotes from business partners, a page or site for product registration information and customer feedback, a page or site for human resources information for job recruiting and/or pages or sites for communicating and connecting with community or other end users.
- Information from a business application system, such as an ERP system, may be published to a business application user-generated web page for display to an end user, and for collecting information from an end user to make available for download into the business application system. The user-generated web page may be defined as a web-based structured data solution, which may define data, web page presentation, and data binding metadata for enabling a given solution scenario. An example solution scenario may include a web page for allowing an end user to enter purchase order data for use by a manufacturing business sales function. The data, web page presentation, and data binding metadata may be structured in a way that allows an organization to efficiently utilize information received through the web-based structured data solution.
- A business application user may enable a connected scenario on the web without information technology (IT) dependency. That is, the web-based structured data solutions may be created without the user having to write code. Business application users may connect with potential and existing customers, partners, and vendors from within the business application system and may capture interactions directly into the business application system.
- According to another embodiment, the web-based structured data solutions may be enabled through data binding between business applications and associated data repositories and web-based structured data solutions (web pages/sites). Data binding allows establishing relationships between the business application and associated data repositories (e.g., ERP system) and corresponding data objects or fields in the web-based structured data solution. Data binding can be grouped into both instance binding and metadata binding. Instance binding involves binding the web page to data associated with the business application dynamically as data associated with the business application is created or changed. Metadata binding establishes a set of relationships that dictates the behavior of the instance binding. Metadata binding thus is targeted to the solution developers, while the instance binding is targeted to the end users of the business application. According to embodiments, data binding also enables a synchronization interface for maintaining binding between two disparate systems.
- According to another embodiment, web-based structured data solutions may be presented as web pages or sites based on the roles of end users accessing the web pages or sites. That is, the presentation of the web pages or sites for allowing end user interaction with the business applications and associated data may be tailored to the roles of the end users (e.g., salespersons, purchasers, human resources managers, etc.). Business application (e.g., ERP systems) users often work with data intensive user interfaces, and the information that they collect from their vendors/suppliers or other partners may be a subset of the data that they typically work with. As a result, the business application user needs flexibility with respect to defining what data to display and how to display the data to their customers, vendors, partners or the like. Thus, users have complete control over the data to be displayed and the presentation of the data to their end users. This enables information to be displayed and presented in a format that is tailored to the end user.
- For purposes of illustration, consider an example business desiring to publish a web-based page for allowing individuals to apply for a position within the business. The organization may have data within its business application system (e.g., ERP system) associated with the specified position, such as a job title, job description, minimum qualifications, etc. According to an embodiment of the present invention, a solution, such as a web-based employment application, may be constructed by a business application user, such as a human resources (HR) agent of the organization. Selected data within the business application system may be bound to the solution, such that when the employment application web page(s) is/are published, the selected data from the business application system may be presented. Potential applicants may access the web-based employment application, view the published selected data from the business application system, and may apply for the specified position online. The web-based job application may be comprised of a web-based presentation that may have fields for allowing an applicant to enter specified data, such as his/her name, address, phone number, qualifications, years of experience, attach a resume, etc. The web-based job application may have a variety of images or other company information, such as a company logo, information about the company, a link to the company's website, etc., that may be of value to an applicant. Additionally, the web-based job application may have various selectable functionality controls for allowing potential applicants to submit entered data back to the organization or for otherwise manipulating entered data. As should be appreciated, the foregoing example is but one of a vast number of solutions for which embodiments of the present invention may be utilized.
- The following description refers to the accompanying drawings. Whenever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. While embodiments of the invention may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.
- Referring now to the drawings, in which like numerals represent like elements through the several figures, aspects of the present invention and the exemplary operating environment will be described. While the invention will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other program modules.
- Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
-
FIG. 1 is a simplified block diagram of a system architecture within which embodiments of the present invention may be implemented. Referring now toFIG. 1 , abusiness application 105 is illustrated. Many organizations and businesses integrate multiple facets of their organization/business into a single computer-based system, such as an enterprise resource planning (ERP) system. An organization/business may utilize an ERP system for various business activities across the various workloads of a business (e.g., manufacturing, supply chain management, financials, procurement, project management, human resources, customer relationship management, data services, access control, as well as other business activities, etc.). For example, abusiness application 105, such as an ERP system, may consolidate business operations of an organization/business, such as manufacturing, supply chain management, financial systems/data, project management, human resources, customer relationship management, data services, and access control, into a uniform and enterprise-wide system environment. Abusiness application 105, such as an ERP system, may reside on a centralized server, or may be distributed across remote processing devices that are linked through a communications network. - Organizations and businesses may connect with customers and/or other remote entities over a distributed computing and communications network/system, such as the Internet and/or via one or more third party hosted services. Such third party hosted services are referred to herein as the “cloud” 110. The
cloud 110 may be generally described as a set of services and technologies that enable a delivery of computing services over the Internet. An example of a cloud services operating system is WINDOWS AZURE by MICROSOFT CORPORATION of Redmond, Wash.Business applications 105 may be extended from on-premise to thecloud 110. Oftentimes in the course of doing business, there may be various logical processes in which communication with other entities, such as other people, companies, organizations, as well as information data interchange networks, etc., is necessary. Some of the logical processes may start within abusiness application 105, but may end in thecloud 110 or may be communicated through the cloud. - E-commerce is an example of a transaction that may go through one or more intermediate companies in the
cloud 110 to be completed. For example, a merchant may showcase a product intended to be sold on a website. A customer may visit the website, choose the product, and add the product to a shopping cart. A connection to a transaction server may be made, wherein the customer may give credit card or other payment information to purchase the product. The merchant's transaction server may connect with a third party credit card processing server to check if the customer has sufficient funds to pay for the purchased product. The transaction may be transparent to the end customer who only knows that his/her transaction has taken place. Each of the various transactions, processing steps and data storage actions may take place at one or more remote sites together or remote from each other where the collection of the remote computing activities may be referred to as existing and/or operating in the “cloud.” - Embodiments of the present invention provide for business application users 102 to enable connected solution scenarios on the web that do not require IT dependency. Examples of types of solution scenarios that may be enabled include, but are not limited to, vendor enrollment, sourcing, time entry, job listings, vendor managed inventory, sales lead data capture, purchase order/invoicing, service contract renewal, and customer support requests. The connected solution scenarios may enable business application users 102 to connect, share, and capture business information from customers, vendors, and partners. Connection and sharing may be accomplished by creation and publication of web-based visual representations of a structured data solution (hereafter “web pages”) 115 that publicly expose information stored and utilized by an organization and made available via a
business application 105. This may be done by transforming metadata from abusiness application 105 to a visual representation (web page 115) of astructured data solution 120 on thecloud 110. Information may then be captured via the web-basedvisual representation 115 of the structureddata solution 120, and made subsequently available within thebusiness application 105 for immediate processing and follow ups. Referring again to the example described above of an online job application, the published visual representation of the structured data solution (web page) 115 would be the job application web page. - According to embodiments, metadata may be required to enable a solution scenario, such as an online job application. A structured grouping of metadata required for a solution scenario may be referred to as a
solution 120. Asolution 120 may be generally described as a packaging of declarative constructs, encompassing metadata, data, and visual elements. As a declarative statement, asolution 120 may declare a consummation of metadata, a binding of the metadata to avisual element 115, and how the data is presented as well as brought back into abusiness application system 105. Asolution 120 may be comprised ofdata metadata 125, which is a structured description of the types of entities that may be published. Asolution 120 also may be comprised ofpresentation metadata 130, which may be a structured description of the presentation of thedata 125 in the form of theweb page 115 and may address how information may appear visually and contextually. - In addition, the
solution 120 also may be comprised ofdata binding metadata 135 which may allow for establishing relationships between a business application system 105 (and associated data repositories) and associated data and functionalities presented in aweb page 115 via thecloud 110. Data binding 135 may include instance binding and metadata binding. While instance binding involves binding aweb page 115 to business application data dynamically as data is created and/or changed, metadata binding may establish a set of relationships that may dictate the behavior of instance binding. Metadata binding may be described as the transformation of metadata from abusiness application 105 to aweb page 115 via thecloud 110, which may be described declaratively through asolution 120. Thedata binding metadata 135 may declare not only how data is presented to an end user 104, but also how data is brought back into abusiness application system 105. - According to embodiments, a generic framework may be utilized to implement model-based applications on the cloud, which may satisfy three primary requirements of a business application using abstract models, including relational data storage, data presentation workflow, and data synchronization with other systems 105 (e.g. backend ERP system). Each model may be described using declarative metadata structures (e.g., representational XML), wherein the metadata may be organized in layers in the form of self-contained packages, referred to as a
solution 120. As illustrated inFIG. 2 , the relational data storage may be expressed as an entity relationship (ER) model based on entities and relationships, wherein certain business logic semantics may be expressed through implicit structural constraints (e.g., attribute constraint and first-order relational constraint). The relational data storage model may provide for storage and retrieval of binary large objects (BLOBs), which may be used for storing documents and images. The relational data storage model may support variable length collections in attributes and relationships. - According to embodiments, the
data presentation workflow 130 may address what information may be presented to an end user, as well as how the information appears visually and contextually.Data presentation 130 may be comprised of four sub-areas: layout, data-binding 135, workflow, and site hierarchy. As illustrated inFIG. 3 , site hierarchy may address how information is organized within a context of various business flows, and may be broken into four concepts:web page 115, page group, page type, andpage template 170. According to embodiments, aweb page 115 is a browsable endpoint that may display pre-determined information and that may be used to collect inputs from an end user 104. -
Web pages 115 are the leaves in thesite hierarchy 300. Apage group 310 is a specific grouping ofpages 115 which gives some contextual semantic to the collection.Page groups 310 may be part of other page groups, allowing a nested hierarchical structure. For example,page groups 310 may be different business flow areas (e.g., procurement, marketing, etc.). Apage type 315 is another grouping ofpages 115 based on web page behavior canonicalization or standardization where data that may have more than one possible visual representation may be standardized to onpage type 315.Page types 315 may define a general presentation behavior (e.g., a Sales Lead Capture page or a Contact Us page) and thus enforce certain design constraints. Eachweb page 115 may belong to one and only onepage type 315, and thus conforms to the constraints of the type. Apage template 170 is a starting point for creating aweb page 115.Page templates 170 may define the same presentation behavior as theweb page 115; however, they are not browsable endpoints, and may only be used while creating a new page. - Referring now to
FIG. 4 , thepage layout 400 addresses how data is presented inside aweb page 115, and may be defined by three building blocks: controls, container controls, and composite controls. Acontrol 405 is a presentation entity with specific rendering and user-interaction behavior (e.g., textbox, labels, dropdowns, etc.). Acontainer control 410 is an organized collection of child controls with various layouts, and acomposite control 415 is a reusable presentation segment (e.g., address block). Thepage layout 400 may support nested containers, stacklayouts 420 andgrid layouts 425, and theme-based styling. - Referring now to
FIG. 5 , page data binding 135 may address what data is presented inside aweb page 115, and may be described in terms of entity data source(s) 505, attribute binding 510, and relationship binding 515. Theentity data source 505 is a page-design-time abstraction of the entity record that theweb page 115 will be bound to at run-time. Aweb page 115 may have more than one data source, and may form an acyclic graph through the relationships. Adata binding graph 135 may conform to the defined entity metadata structure. Attribute binding 510 may establish a linkage between thecontrols 505 and the nodes in the data source graph. Attribute binding 510 may specify which properties of a bound record to be displayed and captured in acontrol 505. Relationship binding 515 is a relational edge between two data source nodes in thedata binding graph 135. Relationship binding 515 may define how bound records are related with each other. A data binding engine may load thebinding graph 135 dynamically when theweb page 115 renders in a specific binding context, and the modified part of the graph (i.e., the records) may be committed back into the database upon user submission. - A workflow is a chain of presentation states and the controller logic governing transitions between the states. Workflows may be described using declarative structures. Workflows may be exposed in two levels of complexity with shared knowledge from one to the other. A simple form of a workflow is illustrated in
FIG. 6A , and may be contained inside asingle web page 115. Aweb page 115 may have one or more presentation states calledviews 605. Eachview 605 may be defined using the layout 500 and data binding 135 structures described above. Aview 605 may describe how aweb page 115 looks and what data is shown in a particular web page state. Thepage controller 610 is the workflow inside theweb page 115, and may define a chaining ofviews 605 using an event-driven and/or rule-based transition model. - As illustrated in
FIG. 6B , a higher level and more powerful workflow is illustrated as aprocess 615. Aprocess 615 may be composed ofpages 115 chained in a similar way asviews 605 in the respective web pages 115 (i.e., rule-based or event-driven). Aprocess controller 625 is a chaining logic in theprocess 615, and may enable advanced solution scenarios, such as master-details navigation, portals (hub-like navigation to multiple pages), etc. - Both page and
process controllers process controller 625,page views 605,page controllers 610, etc.). Page internal events may similarly be bound by the components inside theweb page 115. External events may be bound to the outside of theprocess 615 orweb page 115. For example, an external event may be bound to a communication channel (e.g., Service Bus) to be triggered when a remote calculation completes and the results are made available. - Embodiments of the present invention may provide for a data synchronization model, wherein every storage entity record may have an auto-generated version number, and any change to the record may increment the version number. The synchronization model may be change list-based, wherein a list of all changes from a specified marker version number may be provided. The model may be type-agnostic, wherein the change list uses the metadata structure to describe the changes to the entities. Synchronization behaviors or contracts (e.g., frequency, record selection filter, etc.) may be described to connected clients through synchronization policies. A client may be required to adhere to the synchronization policies while performing a synchronization operation with the platform of the present invention.
- According to embodiments, bidirectional data synchronization is provided and includes conflict detection and resolution in order to keep the backend data in the business application 105 (e.g., ERP system) and the
web page 115 published via thecloud 110 in synchronization. When data is modified in thebusiness application 105, it may be automatically received by a synchronization channel and may be pushed out to thecloud 110 andsolution 120 for synchronizing the modified data with theweb page 115. In the reverse, when data is modified at thesolution 120 orweb page 115, the modified data may be automatically received by a synchronization channel for synchronizing the modified data with thebusiness application 105. When the same data element is modified both in thebusiness application 105 and thesolution 120 orweb page 115, a conflict may result because it may not be possible to determine which of the business application orsolution 120 orweb page 115 is the master source for determining which modification should control, and thus, a conflict may result. In some cases (e.g., for certain data-types) a user 102, 104 may cause automatic resolution by establishing one of the sides as a master source of the conflicting modifications and automatically resolving the conflict according to the data modification made to the established master source. In other cases, the user may check a synchronization log and resolve the conflicts manually by merging data from both sides appropriately. As should be appreciated, change tracking at both sides may be performed for comparing versions of data at each side and for performing the conflict detection and resolution described herein. In addition, users at both ends of the system, including developers of thesolution 120, may be automatically notified of modifications and/or polled for input as to change or conflict resolution. - According to embodiments, a metadata-driven application model may be exposed. As can be appreciated, as application solution scenarios may become complicated, the metadata may be large. Oftentimes, solution scenarios may be developed by various providers, but may be installed together to work as a single end-to-end solution. Accordingly, embodiments provide for a way to package metadata into
solutions 120. Asolution package 120 may include an identity, a public contract, and metadata. Asolution 120 may have a valid identification, including a name, unique identifier, version, provider name, optional public key, and optional description. - A public contract may describe how a solution interacts with other components (e.g., other solutions) in a system. A public contract may include a schema contract, which may describe what other entity metadata may be required in a data-storage model in order to make a solution functional. The schema-contracts from other installed
solutions 120 may be combined by the platform, and may be propagated to the synchronization interfaces. A solution public contract may also include a dependency contract, which may describeother solutions 120 that the particular solution is referencing. Asolution 120 may be disabled if a current state of a system does not satisfy its public contract. The metadata component may contain all the metadata structures defining the presentation components (e.g.,site hierarchy 300,page templates 170, workflows, etc.) and behavior of asolution 120. The metadata may be required to adhere to a public contract as previously declared by a solution. Asolution 120 may be digitally singed by a public key infrastructure (PKI)-based certificate to avoid tampering and to preserve integrity. If asolution 120 is signed, the identity of the solution may be required to include a public key of a signer certificate. - As described above, embodiments provide for a data binding abstraction platform, wherein data from a
business application system 105 may be transformed into a format utilizing a structured definition, such as an extensible markup language (XML) data structure. An XML binding schema may interpret the data in terms of presenting the data to an end user 104, so that data may be transformed from abusiness application system 105 to avisual representation 115 on the cloud. As should be appreciated, XML is just one way of representing the transformation of data and metadata between abusiness application system 105 and thecloud 110. The transformation of data allows for binding the data as context, and the transformation of metadata allows for determining the type of data that can be bound for the presentation aspects. - As described above, embodiments of the present invention provide for data entered into a web-based visual representation of a
structured data solution 115 to be synchronized back into abusiness application 105. Data within an organization'sbusiness application system 105 may be transformed into avisual representation 115 within which end user-entered data may be received and then correspondingly transformed into a format so that the end user-entered data may be synchronized with the business application system and utilized as needed.Data binding metadata 135 may define directional binding; that is, defining what data may be incoming or outgoing, how a data graph should be populated with data from abusiness application 105, as well as how populated data on aweb page 115 may go back into the data graph. - Referring now to
FIG. 7 , various workloads are illustrated within abusiness application system 105, such as an ERP system. A workload may be a facet or operation of a business, such as, but not limited to, manufacturing 705,supply chain management 710,financials 715,procurement 720,project management 725,human resources 730,customer relationship management 735,data services 740,access control 745, as well asother business activities 750. Within eachworkload solution page 115 as described herein. - For example, a
procurement 720 workload may comprise such data such asvendor information 755, request for quotes (RFQs) 760, purchase requisitions 765, etc. A business application user 102, such as a procurement agent, may wish to generate a scenario, where he/she may wish to publish a new RFQ for requests for quotes or proposals from various vendors via anRFQ web page 115. As illustrated inFIG. 8 , according to embodiments,various templates 170 may be provided for creating a new page. As illustrated, a preview anddescription 815 of each providedtemplate 170 may be displayed. Atemplate 170 may be provided by a solution developer such as an independent software vendor (ISV), from a software publisher, or from any user able write code to generate a template. Apage template 170 may be utilized as a starting point for creating aweb page 115. Apage template 170 may define presentation behavior, may display predetermined information, and may collect inputs from an end user 104. Referring back to the example, the procurement agent may select and upload anRFQ template 170 for building a web-based RFQ page. - As illustrated in
FIG. 9 , the business application user 102 may be prompted to enter page details, such as apage name 905 and apage URL 910. That is, the user 102 may usepage 900, illustrated inFIG. 9 , to start the process of building aweb page 115 by providing a name and page locator for theweb page 115. Referring toFIG. 10 , auser interface 1000 may be provided with which a business application user 102 may declare which data associated with abusiness application 105 to include in the web page and to bind to various data elements within the page. For example, data elements, such as theRFQ number 1005,RFQ contact 1010, RFQsubmission end date 1015,delivery date 1020, anddelivery address 1025, etc., may be bound to data elements within the business application/system 105. - Declared data bindings may be saved as
data binding metadata 135. Data may be transformed using a structured definition of the data (e.g., XML) from thebusiness application system 105 to avisual representation 115 on thecloud 110. As illustrated inFIG. 10 ,data 125, such as a company logo, information about a company, as well as other data within a company's database, may be bound to aweb page 115. Various functionalities may be provided for allowing a business application user 102 to customize the presentation appearance of aweb page 115. For example, various backgrounds, headers, footers, colors, or layout choices may be available from which a business application user 102 may select. A business application user 102 may edit data, add additional fields to a template, as well as remove fields. Visual aspects of the page may be saved aspresentation metadata 130. - One or more end users (e.g., vendors) 104 to whom the business application user 102 may want to share a web-based visual representation of a
structured data solution 115 may be selected or entered. An end user 104 may be an individual or company who may be an existing vendor, customer, applicant, or other entity whose information may already be in thebusiness application 105. Alternatively, aweb page 115 may be sent to potential vendors, applicants, customers, or may be published publicly for an undefined end user 104 to access. When a business application user 102 has finished entering the data he/she wants included on the page, selecting fields in thebusiness application 105 to which he/she would like to be bound to fields in the page, customizing the appearance of the page, and selecting or entering to whom he/she would like to send thevisual representation 115, thesolution 120 may published to thecloud 110. - According to embodiments, a URL to the
web page 115 may be generated, wherein end users 104 may access the web-based visual representation of the structured data solution (web page 115). As illustrated inFIG. 11 , a message (e.g., email) 1100 may be sent to an end user 104, which may contain a link 1105 to thevisual representation 115. - Once a
solution 120 is published, an abstract representation of data that is bound between abusiness application system 105 and a web-basedstructured data solution 115 may be presented to an end user 104. As illustrated inFIGS. 12 and 13 , a web-based visual representation of the structureddata solution 115 may containfields 1205 in which an end user 104 may enter information. For example, as illustrated inFIG. 12 , a page may contain fields in which to entercontact information 1205. Eachfield 1205 may be bound to a field in thebusiness application 105. Upon submission by the end user 104, the information entered into eachfield 1205 in a web-based visual representation of the structured data solution (web page) 115 may be published into thebusiness application 105 via data binding between thefields 1205 and associated data objects in or associated with thebusiness application 105. According to embodiments, as illustrated inFIG. 13 , afield 1305 may be provided for uploading a document, which may be submitted to a business application user 102. - As should be appreciated, a number of
solutions 120 and associatedweb pages 115 may be developed and published for and used from a givenbusiness application 105. For example, a given business application user 102 may have developed and may be running tens ofweb pages 115 at any given time covering tens of facets of his/her business or organization workloads and/or functions. As illustrated inFIG. 14 , auser interface 1400 may be provided in which a business application user 102 may view statuses ofvarious solutions 120. A notification (e.g., email, pop-up message, etc.) may be provided when a status of asolution 120 changes. For example, if an end user 104 responds to an RFQ, a pop-upmessage 1405 may be displayed. A business application user 102 may view submitted data, and may make a status change. For example, a procurement agent may accept or reject an RFQ, or may return it and ask for additional information. The change of status may be published to the web-based visual representation of the structureddata solution 115 so that the end user 104 may view the status and may react accordingly. According to embodiments, presentation views may be based on a status of the entity. That is, presentation of a page may be designed by a business application user 102 so that for a given status, the page may be presented in a specific way. For example, if an RFQ has been accepted, the web-based visual representation of the structureddata solution 115 may be displayed to the end user 104 with a “Congratulations!” text included. - Having described an operating architecture for and various aspects of embodiments of the present invention,
FIG. 15 is a logical flow diagram illustrating a method for providing a transformation of metadata between abusiness application 105 to aweb page 115 via thecloud 110, a receiving of data collected as a part of that web page, and a transformation of received data back into a format for synchronization with the business application. - The method 1500 starts at
OPERATION 1505, and proceeds toOPERATION 1510, where a request for generating a web-basedstructured data solution 120 that will be presented as a web-based structured data solution and associatedweb page presentation 115 is received. A request for generating asolution 120 may occur when a selection to enable a new scenario is made by a business application user 102. As described above, a scenario that may be enabled by a business application user 102 may include, but is not limited to, vendor enrollment, sourcing, time entry, job listings, vendor managed inventory, lead capture, purchase order/invoicing, service contract renewal, and customer support requests. A variety of selectable functionalities for creating a new scenario may be provided within a UI from which a business application user 102 may select. - Upon receiving a request to create a new scenario, at
OPERATION 1515, one ormore templates 170 may be provided for generating a web-basedstructured data solution 120. Using a selected template, a developer of the web-based structured data solution may identify one or more data types (e.g., name, education, experience data types for an employment application solution) associated with the business application where each of the one or more data types will be associated with an end user input data type. Identifying one or more data types associated with the business application may include identifying one or more data types for which data is required in association with a designated structured data solution, for example, an employment application structured data solution. - As described above, a
template 170 may be defined bypresentation metadata 130. A template may provide a set of data, semantics, for example textual statements (e.g., “Enter Your Name Here”), and visual elements that a business application user 102 may manipulate.Various templates 170 may be provided for various solution scenarios. For example, referring back toFIG. 8 , a page type may be selected based on a scenario for which a business application user 102 may be creating. As illustrated inFIG. 8 , the business application user 102 has selected to create a new vendor request for quote 305. Accordingly,various template 170 selections are provided to the user 102 from which to choose. An image anddescription 815 of providedtemplates 170 may be displayed to help the user 102 select a desired template. - Upon selection of a
template 170, the method 1500 proceeds toOPERATION 1520, where business application user-entereddata 125,presentation data 130, data-bindingdata 135 is received. The one or more data types identified by the developer of the solution may be associated with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields in a displayed form of the web-based structured data solution will be associated with corresponding one or more identified data types associated with the business application. Association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template may include receiving the association of the one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields may be received by the business application and may be integrated with the business application in association with the one or more identified data types. - According to embodiments, a data field may appear inside a repeater or a grid. Accordingly, the data field may be replicated multiple times on a web page presentation depending on the actual number of data entities to which it may be bound. That is, data may be shown to the end user 104 via the
web page 115 in a tabular format which binds to a collection of same type of records in thebusiness application 105 instead of just one record. An example would be a web page to show all the job listings in a company job site. The binding may be described for a repeater in terms of a template row which contains a representative set of controls and their respective bindings to the fields of a backend data entity. During runtime, a determination may be made as to how many instances of the data entity are to be loaded on the web page. Based on that determination, a table may be generated with each row of the table representing one data entity instance. - Information specified in the
template 170 may be customized and edited. Fields may be added, deleted, or modified according to the business application user's 102 needs. Data elements may be selected, andbinding data 135 may be defined by the user 102. Various fields may be defined for receiving information from an end user 104. According to embodiments thetemplate 170 associated with the designated web-based structured data solution may have one or more fields for associating with the one or more identified data types associated with the business application. The template may have one or more visual elements to be displayed in a displayed form of theweb page 115 presentation. Additionally, the template may have one or more textural semantics (e.g., “Enter Education Information Here”) for aiding an end user of a displayed form of the web page presentation to provide end user data to the structured data solution for one or more of the identified one or more data types. Thetemplate 170 may also provide a visual image of the template to allow a developer of the web-based structured data solution to preview how a displayed form of the web page presentation will be presented when displayed to one or more end users. A simplistic UI may be provided for page creation so that business application users 102 may createstructured data solutions 120 quickly and easily. - A business application user 102 may declare which data elements from within a
business application 105 he/she would like to bind to elements within the web-based visual representation of the structureddata solution 120. Embodiments of the present invention provide for declarations to be made by a business application user 102, without the business application user understanding how to write code. The user 102 may declare which elements to bind, and may declare how he/she would like to be presented. - According to embodiments, the data binding process may include generating an instance of the web-based structured data solution and binding the instance of the web-based structured data solution to the associated business application so that any changes to any of the one or more identified data types associated with the business application are reflected in corresponding one or more data fields in the instance of the web-based structured data solution. One or more relationships may be generated between each of the one or more data fields in the instance of the web-based structured data solution and corresponding data types in the associated business application for causing a reflection of any changes to any of the one or more identified data types associated with the business application in corresponding one or more data fields in the instance of the web-based structured data solution. A metadata may be associated with the one or more relationships between each of the one or more data fields in the instance of the web-based structured data solution and corresponding data types in the associated business application for binding the one or more relationships between the instance of the web-based structured data solution and corresponding data types in the associated business application.
- In addition, a transformation of data received via the instance of the web-based structured data solution may be performed from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application. For example data received via the
web page 115 may be received according to one format or structuring language (e.g., HTML), but the data may need to be transformed to another format or structuring language (e.g., XML) for use by the associated business application. The established transformation may be described with a transformation metadata, and the transformation metadata may be bound to the associated business application for dictating the transformation of data received via the instance of the web-based structured data solution from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application. - A data binding metadata may be associated with the web-based structured data solution for declaring how a displayed form of the web-based structured data solution (i.e., a web page 115) will be presented to an end user. A data binding metadata may also be associated with the web-based structured data solution for declaring how data entered into any of the one or more data fields in the instance of the web-based structured data solution is transported to the associated business application.
- Upon receiving a request from the business application user 102 to publish the structured
data solution 120 atOPERATION 1525, the method 1500 proceeds toOPERATION 1530, a web-based structured data solution is generated where relationships and constraints defined by the structuredsolution file 120 are established, data are transformed from thebusiness application system 105 and are bound according to defined declarations andpresentation metadata 130, and are displayed as a web-based visual representation of a structured data solution in the form of aweb page 115 to an end user 104. Generating the web-based structured data solution may include generating the designated structured data solution such that data may be received for each of the identified data types, and generating the designated structured data solution may be performed at a computing system remote from the business application (e.g., the cloud 110) for allowing one or more end users to access the generated designated structured data solution via the remote computing system - At
OPERATION 1530, end user-entered data, such as one or more data entries entered into one or more data fields in theweb page 115, may be received via theweb page 115. As was illustrated inFIGS. 12 and 13 , various fields may be provided to receive end user-entered data. - At
OPERATION 1535, end user-entered data may be passed to the business application and stored in association with corresponding data types associated with the business application. That is the user-entered data may be synchronized with thebusiness application system 105 as defined by bindingmetadata 135. The end user-entered data may be transformed so that the data may be utilized and uploaded to thebusiness application system 105 and utilized as needed by the associated organization. As changes or updates are made by a business application user 102, theweb page presentation 115 may be republished reflecting the changes or updates. A notification of a change or update to a solution scenario may be provided to business application users 102 and/or end users 104. Thus, theweb page 115 may be utilized as a communication portal by which a business application user 102 and an end user 104 may receive and transmit business data. - Embodiments of the invention as described above may be implemented via local and remote computing and data storage systems, including the systems illustrated and described with reference to
FIG. 1 . Consistent with embodiments of the invention, the aforementioned memory storage and processing unit may be implemented in a computing device, such ascomputing device 1600 ofFIG. 16 . Any suitable combination of hardware, software, or firmware may be used to implement the memory storage and processing unit. For example, the memory storage and processing unit may be implemented withcomputing device 1600 or anyother computing devices 1618, in combination withcomputing device 1600, wherein functionality may be brought together over a network in a distributed computing environment, for example, an intranet or the Internet, to perform the functions as described herein. The aforementioned system, device, and processors are examples and other systems, devices, and processors may comprise the aforementioned memory storage and processing unit, consistent with embodiments of the invention. Furthermore,computing device 1600 may compriseoperating environment 100 as described above.Operating environment 100 is not limited tocomputing device 1600. - With reference to
FIG. 16 , a system consistent with embodiments of the invention may include a computing device, such ascomputing device 1600. In a basic configuration,computing device 1600 may include at least oneprocessing unit 1602 and asystem memory 1604. Depending on the configuration and type of computing device,system memory 1604 may comprise, but is not limited to, volatile (e.g. random access memory (RAM)), non-volatile (e.g. read-only memory (ROM)), flash memory, or any combination.System memory 1604 may includeoperating system 1605, one ormore programming modules 1606, and may include abusiness application system 105, wherein the business application system is a software application having sufficient computer-executable instructions, which when executed, performs functionalities as described herein.Operating system 1605, for example, may be suitable for controllingcomputing device 1600's operation. Furthermore, embodiments of the invention may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated inFIG. 16 by those components within a dashedline 1608. -
Computing device 1600 may have additional features or functionality. For example,computing device 1600 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated inFIG. 16 by aremovable storage 1609 and anon-removable storage 1610.Computing device 1600 may also contain acommunication connection 1616 that may allowdevice 1600 to communicate withother computing devices 1618, such as over a network in a distributed computing environment, for example, an intranet or the Internet.Communication connection 1616 is one example of communication media. - As stated above, a number of program modules and data files may be stored in
system memory 1604, includingoperating system 1605. While executing onprocessing unit 1602,programming modules 1606 may include thebusiness application system 105, wherein the business application system may contain sufficient computer-executable instructions, which when executed, perform functionalities as described herein. The aforementioned process is an example, andprocessing unit 1602 may perform other processes. Other programming modules that may be used in accordance with embodiments of the present invention may include electronic mail and contacts applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided application programs, etc. - Generally, consistent with embodiments of the invention, program modules may include routines, programs, components, data structures, and other types of structures that may perform particular tasks or that may implement particular abstract data types. Moreover, embodiments of the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
- Furthermore, embodiments of the invention may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. Embodiments of the invention may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, embodiments of the invention may be practiced within a general purpose computer or in any other circuits or systems.
- Embodiments of the invention, for example, may be implemented as a computer process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. Accordingly, the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). In other words, embodiments of the present invention may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system. A computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- The term computer readable media as used herein may include computer storage media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.
System memory 1604,removable storage 1609, andnon-removable storage 1610 are all computer storage media examples (i.e., memory storage.) Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information and which can be accessed bycomputing device 1600. Any such computer storage media may be part ofdevice 1600.Computing device 1600 may also have input device(s) 1612 such as a keyboard, a mouse, a pen, a sound input device, a touch input device, etc. Output device(s) 1614 such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are examples and others may be used. - The term computer readable media as used herein may also include communication media. Communication media may be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.
- Embodiments of the present invention, for example, are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the invention. The functions/acts noted in the blocks may occur out of the order as illustrated in any flowchart. For example, two blocks illustrated in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
- While certain embodiments of the invention have been described, other embodiments may exist. Furthermore, although embodiments of the present invention have been described as being associated with data stored in memory and other storage mediums, data can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or a CD-ROM, a carrier wave from the Internet, or other forms of RAM or ROM. Further, the disclosed methods' stages may be modified in any manner, including by reordering stages and/or inserting or deleting stages, without departing from the invention.
- All rights including copyrights in the code included herein are vested in and the property of the Applicant. The Applicant retains and reserves all rights in the code included herein, and grants permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.
- While the specification includes examples, the invention's scope is indicated by the following claims. Furthermore, while the specification has been described in language specific to structural features and/or methodological acts, the claims are not limited to the features or acts described above. Rather, the specific features and acts described above are disclosed as example for embodiments of the invention.
Claims (20)
1. A method of generating a web-based structured data solution for communicating data to and from an associated business application; comprising:
receiving a request for generating a web-based structured data solution with which data may be communicated to a business application from a remote end user;
identifying one or more data types associated with the business application, each of the one or more data types being associated with an end user input data type;
receiving an association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields in a displayed form of the web-based structured data solution will be associated with corresponding one or more identified data types associated with the business application; and
generating a web-based presentation of the web-based structured data solution for presenting to one or more end users via a web page.
2. The method of claim 1 , further comprising receiving one or more data entries into one or more data fields displayed in the web-based presentation of the web-based structured data solution.
3. The method of claim 2 , further comprising passing the one or more data entries from the data fields displayed in the web-based presentation of the web-based structured data solution to the business application and storing the one or more data entries in association with one or more of the identified one or more data types associated with the business application.
4. The method of claim 3 , wherein passing the one or more data entries from the data fields displayed in the web-based presentation of the web-based structured data solution to the business application includes transforming the one or more data entries from a first data format associated with the web-based presentation of the web-based structured data solution to a second data format associated with the business application.
5. The method of claim 3 , wherein passing the one or more data entries from the data fields displayed in the web-based presentation of the web-based structured data solution to the business application includes passing the one or more data entries from the data fields displayed in the web-based presentation of the web-based structured data solution to the business application according to a data binding between the web-based structured data solution and the business application.
6. The method of claim 1 , wherein identifying one or more data types associated with the business application includes identifying one or more data types for which data is required in association with the web-based structured data solution.
7. The method of claim 6 , further comprising generating the web-based structured data solution such that data may be received for each of the identified data types.
8. The method of claim 7 , further comprising generating the web-based structured data solution at a computing system remote from the business application for allowing one or more end users to access the generated web-based structured data solution via the remote computing system.
9. The method of claim 1 , wherein receiving an association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template further comprises receiving the association of the one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields may be received by the business application and may be integrated with the business application in association with the one or more identified data types.
10. The method of claim 1 , wherein receiving a request for generating a web-based structured data solution with which data may be communicated to a business application from a remote end user includes receiving a request for generating a web-based structured data solution with which data may be communicated to an enterprise resource planning (ERP) system from a remote end user.
11. The method of claim 2 , further comprising synchronizing the one or more data fields in the displayed form of the web-based structured data solution with the one or more data types associated with the business application, and determining whether any of the received one or more data entries conflicts with one or more of the corresponding one or more identified data types.
12. The method of claim 11 , further comprising, upon a determination that any of the received one or more data entries conflicts with one or more of the corresponding one or more identified data types, establishing one of the business application or web-based structured data solution as a master data source and automatically resolving any data conflicts between the business application and the web-based structured data solution according to the established master data source.
13. The method of claim 12 , further comprising providing a notification of any data conflicts between the business application and the web-based structured data solution.
14. A computer readable medium containing computer executable instructions which when executed by a computer perform a method of generating a web-based structured data solution for communicating data to and from an associated business application; comprising:
receiving a request for generating a web-based structured data solution with which data may be communicated to a business application from a remote end user;
identifying one or more data types associated with the business application, each of the one or more data types being associated with an end user input data type;
receiving an association of the one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields of the web-based structured data may be received by the business application and may be integrated with the business application in association with the one or more identified data types;
generating a web-based presentation of the web-based structured data solution for presenting to one or more end users via a web page;
receiving one or more data entries into one or more data fields displayed in the web-based presentation of the web-based structured data solution; and
receiving the one or more data entries from the data fields displayed in the web-based presentation of the web-based structured data solution at the business application and storing the one or more data entries in association with one or more of the identified one or more data types associated with the business application.
15. The computer readable medium of claim 14 , wherein passing the one or more data entries from the data fields displayed in the web-based presentation of the web-based structured data solution to the business application includes transforming the one or more data entries from a first data format associated with the web-based presentation of the web-based structured data solution to a second data format associated with the business application.
16. The computer readable medium of claim 15 , wherein receiving the one or more data entries from the data fields displayed in the web-based presentation of the web-based structured data solution at the business application includes receiving the one or more data entries from the data fields displayed in the web-based presentation of the web-based structured data solution at the business application according to a data binding between the web-based structured data solution and the business application.
17. The computer readable medium of claim 14 , further comprising:
synchronizing the one or more data fields in the displayed form of the web-based structured data solution with the one or more data types associated with the business application;
determining whether any of the received one or more data entries conflicts with one or more of the corresponding one or more identified data types; and
upon a determination that any of the received one or more data entries conflicts with one or more of the corresponding one or more identified data types, establishing one of the business application or web-based structured data solution as a master data source and automatically resolving any data conflicts between the business application and the web-based structured data solution according to the established master data source.
18. The computer readable medium of claim 17 , further comprising providing a notification of any data conflicts between the business application and the web-based structured data solution.
19. A system for generating a web-based structured data solution for communicating data to and from an associated business application; comprising:
a distributed cloud computing system operative
to receive a request for generating a web-based structured data solution with which data may be communicated to a business application from a remote end user;
to identify one or more data types associated with the business application, each of the one or more data types being associated with an end user input data type;
to receive an association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields in a displayed form of the web-based structured data solution will be associated with corresponding one or more identified data types associated with the business application; and
to generate a web-based presentation of the web-based structured data solution for presenting to one or more end users via a web page.
20. The system of claim 19 , the distributed cloud computing system being further operative
to receive one or more data entries entered into one or more data fields displayed in the web-based presentation of the web-based structured data solution;
to transform the one or more data entries from a first data format associated with the web-based presentation of the web-based structured data solution to a second data format associated with the business application; and
to pass the transformed one or more data entries from the data fields displayed in the web-based presentation of the web-based structured data solution to the business application.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/807,209 US20180158003A1 (en) | 2010-02-23 | 2017-11-08 | Web-based visual representation of a structured data solution |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30705410P | 2010-02-23 | 2010-02-23 | |
US12/969,310 US9852384B2 (en) | 2010-02-23 | 2010-12-15 | Web-based visual representation of a structured data solution |
US15/807,209 US20180158003A1 (en) | 2010-02-23 | 2017-11-08 | Web-based visual representation of a structured data solution |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/969,310 Continuation US9852384B2 (en) | 2010-02-23 | 2010-12-15 | Web-based visual representation of a structured data solution |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180158003A1 true US20180158003A1 (en) | 2018-06-07 |
Family
ID=44477389
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/969,397 Abandoned US20110208786A1 (en) | 2010-02-23 | 2010-12-15 | Presentation of a web-based visual representation of a structured data solution |
US12/969,170 Abandoned US20110209049A1 (en) | 2010-02-23 | 2010-12-15 | Data binding for a web-based visual representation of a structured data solution |
US12/969,310 Active US9852384B2 (en) | 2010-02-23 | 2010-12-15 | Web-based visual representation of a structured data solution |
US15/807,209 Abandoned US20180158003A1 (en) | 2010-02-23 | 2017-11-08 | Web-based visual representation of a structured data solution |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/969,397 Abandoned US20110208786A1 (en) | 2010-02-23 | 2010-12-15 | Presentation of a web-based visual representation of a structured data solution |
US12/969,170 Abandoned US20110209049A1 (en) | 2010-02-23 | 2010-12-15 | Data binding for a web-based visual representation of a structured data solution |
US12/969,310 Active US9852384B2 (en) | 2010-02-23 | 2010-12-15 | Web-based visual representation of a structured data solution |
Country Status (5)
Country | Link |
---|---|
US (4) | US20110208786A1 (en) |
EP (3) | EP2539858A4 (en) |
CN (3) | CN102763126B (en) |
CA (2) | CA2788119A1 (en) |
WO (3) | WO2011106150A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11087279B2 (en) * | 2018-09-06 | 2021-08-10 | Sap Se | Database code execution |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009000553B4 (en) * | 2009-02-02 | 2012-12-06 | Schott Ag | Active optoceramics with cubic crystal structure, their production and uses |
US9507870B2 (en) * | 2009-05-05 | 2016-11-29 | Suboti, Llc | System, method and computer readable medium for binding authored content to the events used to generate the content |
US20110208786A1 (en) * | 2010-02-23 | 2011-08-25 | Microsoft Corporation | Presentation of a web-based visual representation of a structured data solution |
WO2021099839A1 (en) * | 2019-11-18 | 2021-05-27 | Roy Mann | Collaborative networking systems, methods, and devices |
US20120215701A1 (en) | 2010-10-20 | 2012-08-23 | Mehta Kaushal N | Flexible monetization service apparatuses, methods and systems |
US8521655B2 (en) * | 2011-06-06 | 2013-08-27 | Bizequity Llc | Engine, system and method for providing cloud-based business intelligence |
US10438176B2 (en) | 2011-07-17 | 2019-10-08 | Visa International Service Association | Multiple merchant payment processor platform apparatuses, methods and systems |
US10318941B2 (en) | 2011-12-13 | 2019-06-11 | Visa International Service Association | Payment platform interface widget generation apparatuses, methods and systems |
KR101086620B1 (en) * | 2011-08-23 | 2011-11-23 | 정대영 | Smart office system and server for managing the sames and method for managing the sames |
US9185513B1 (en) * | 2011-12-02 | 2015-11-10 | Google Inc. | Method and system for compilation with profiling feedback from client |
US9953378B2 (en) * | 2012-04-27 | 2018-04-24 | Visa International Service Association | Social checkout widget generation and integration apparatuses, methods and systems |
US10096022B2 (en) * | 2011-12-13 | 2018-10-09 | Visa International Service Association | Dynamic widget generator apparatuses, methods and systems |
US10146742B1 (en) | 2012-03-19 | 2018-12-04 | Apttex Corporation | Social media integration and collaboration tools in a system for linking structured database management systems with document creation and word processing tools |
US9262420B1 (en) | 2012-04-23 | 2016-02-16 | Google Inc. | Third-party indexable text |
US9176720B1 (en) | 2012-04-23 | 2015-11-03 | Google Inc. | Installation of third-party web applications into a container |
US9195840B2 (en) | 2012-04-23 | 2015-11-24 | Google Inc. | Application-specific file type generation and use |
US9148429B2 (en) | 2012-04-23 | 2015-09-29 | Google Inc. | Controlling access by web applications to resources on servers |
US20130346849A1 (en) * | 2012-06-06 | 2013-12-26 | Minds + Machines | Automatic uploading and synchronization of media assets |
US9317709B2 (en) | 2012-06-26 | 2016-04-19 | Google Inc. | System and method for detecting and integrating with native applications enabled for web-based storage |
US9244900B2 (en) * | 2012-08-08 | 2016-01-26 | AutoVitals, Inc. | Template based website development and management |
US9516088B2 (en) * | 2012-08-29 | 2016-12-06 | Ebay Inc. | Systems and methods to consistently generate web content |
US9009615B2 (en) | 2012-10-17 | 2015-04-14 | Microsoft Technology Licensing, Llc | Portal for submitting business metadata for services |
US9430578B2 (en) | 2013-03-15 | 2016-08-30 | Google Inc. | System and method for anchoring third party metadata in a document |
US9727577B2 (en) * | 2013-03-28 | 2017-08-08 | Google Inc. | System and method to store third-party metadata in a cloud storage system |
US8738629B1 (en) * | 2013-05-03 | 2014-05-27 | Splunk Inc. | External Result Provided process for retrieving data stored using a different configuration or protocol |
US8793225B1 (en) * | 2013-05-03 | 2014-07-29 | Splunk Inc. | Processing a system search request including external data sources and mixed modes |
US9916367B2 (en) | 2013-05-03 | 2018-03-13 | Splunk Inc. | Processing system search requests from multiple data stores with overlapping data |
US20140359557A1 (en) * | 2013-05-31 | 2014-12-04 | Microsoft Corporation | Creating applications |
US20150006732A1 (en) * | 2013-06-28 | 2015-01-01 | Sap Ag | Generic exposure of enterprise resource planning data using a cloud-based, on-demand service |
US9280319B2 (en) | 2013-10-18 | 2016-03-08 | Microsoft Technology Licensing, Llc | Integrated visualization for modeled customizations |
US9787597B1 (en) * | 2013-12-12 | 2017-10-10 | Untuit Inc. | Methods, systems, and articles of manufacture for implementing model definition and constraint enforcement and validation |
US10182102B1 (en) | 2013-12-12 | 2019-01-15 | Intuit Inc. | Methods, systems, and articles of manufacture for configuration-based client-side flow control framework for customizable user experience |
US9451006B1 (en) | 2013-12-12 | 2016-09-20 | Intuit Inc. | Methods, systems, and articles of manufacture for configuration-based client-side resource resolution framework for customizable user experience |
CN104778189A (en) * | 2014-02-24 | 2015-07-15 | 贵州电网公司信息通信分公司 | XML (Extensible Markup Language)-based log management method and system |
US9639263B2 (en) | 2014-08-05 | 2017-05-02 | Weebly, Inc. | Native overlay for rapid editing of web content |
US10139998B2 (en) | 2014-10-08 | 2018-11-27 | Weebly, Inc. | User interface for editing web content |
US11216468B2 (en) | 2015-02-08 | 2022-01-04 | Visa International Service Association | Converged merchant processing apparatuses, methods and systems |
US9772822B2 (en) | 2015-03-16 | 2017-09-26 | Microsoft Technology Licensing, Llc | Visualization framework for customizable types in a development environment |
US10380519B2 (en) * | 2015-03-26 | 2019-08-13 | Accenture Global Services Limited | Ticket solver system |
US10019238B2 (en) | 2015-06-23 | 2018-07-10 | Open Text Sa Ulc | Compositional entity modeling systems and methods |
CN107203521B (en) * | 2016-03-16 | 2020-09-04 | 阿里巴巴集团控股有限公司 | Information processing method and device |
US20170322716A1 (en) | 2016-05-04 | 2017-11-09 | Open Text Sa Ulc | Reusable entity modeling systems and methods |
US20180096358A1 (en) * | 2016-09-30 | 2018-04-05 | Wipro Limited | Methods and Systems for Managing User Experience Design |
CN107070858B (en) | 2016-12-21 | 2021-09-21 | 创新先进技术有限公司 | Service processing method and device |
US10681172B2 (en) * | 2017-03-15 | 2020-06-09 | Sap Se | Secure data sharing through a network application |
US10657152B2 (en) * | 2017-05-31 | 2020-05-19 | Microsoft Technology Licensing, Llc | Synchronization of diagrams and associated structured data |
US11036476B2 (en) * | 2018-08-03 | 2021-06-15 | Vmware, Inc. | Systems and methods for building an application from a console |
US11544346B2 (en) * | 2018-10-19 | 2023-01-03 | Oracle International Corporation | System and method for generation of starter websites |
US11409948B2 (en) | 2018-12-10 | 2022-08-09 | Block, Inc. | Centralized brand asset management |
US20210097456A1 (en) * | 2019-09-30 | 2021-04-01 | Rockwell Automation Technologies, Inc. | Progressive contextualization and analytics of industrial data |
WO2021223174A1 (en) * | 2020-05-07 | 2021-11-11 | Citrix Systems, Inc. | Task shifting between computing devices |
US11475235B2 (en) | 2020-05-15 | 2022-10-18 | Equifax Inc. | Clustering techniques for machine learning models |
CN111625746B (en) * | 2020-05-27 | 2024-01-30 | 咪咕文化科技有限公司 | Application page display method, system, electronic device and storage medium |
CN114911466B (en) * | 2022-05-24 | 2023-03-21 | 中国人民解放军国防科技大学 | Data quality control system of acquisition terminal |
US12095764B2 (en) * | 2022-08-23 | 2024-09-17 | Truv, Inc. | Authentication interface rendering and mirroring in a distributed architecture |
CN115543323B (en) * | 2022-11-29 | 2023-03-17 | 共道网络科技有限公司 | Page development method and device |
Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253228B1 (en) * | 1997-03-31 | 2001-06-26 | Apple Computer, Inc. | Method and apparatus for updating and synchronizing information between a client and a server |
US20020165724A1 (en) * | 2001-02-07 | 2002-11-07 | Blankesteijn Bartus C. | Method and system for propagating data changes through data objects |
US20040068554A1 (en) * | 2002-05-01 | 2004-04-08 | Bea Systems, Inc. | Web service-enabled portlet wizard |
US20040148367A1 (en) * | 2002-12-20 | 2004-07-29 | Hideki Takano | Method for integration edition of setting file and setting file integration base |
US6854120B1 (en) * | 2000-01-14 | 2005-02-08 | International Business Machines Corporation | Accessing a ERP application over the internet using strongly typed declarative language files |
US20050044164A1 (en) * | 2002-12-23 | 2005-02-24 | O'farrell Robert | Mobile data and software update system and method |
US20050120299A1 (en) * | 2003-11-28 | 2005-06-02 | International Business Machines Corporation | System and method for creation of a network server application page |
US20060015619A1 (en) * | 2004-06-30 | 2006-01-19 | Siebel Systems, Inc. | Access and synchronization with enterprise applications using remote hosted solution |
US20060095435A1 (en) * | 2004-10-22 | 2006-05-04 | Bellsouth Intellectual Property Corporation | Configuring and deploying portable application containers for improved utilization of server capacity |
US20060095447A1 (en) * | 2004-02-19 | 2006-05-04 | Microsoft Corporation | Offline multi-table data editing and storage |
US20060212846A1 (en) * | 2005-03-21 | 2006-09-21 | Dexterra, Inc. | Data management for mobile data system |
US20070214064A1 (en) * | 2003-03-24 | 2007-09-13 | Paramjit Kahlon | Inventory location common object |
US20070260475A1 (en) * | 2006-04-18 | 2007-11-08 | Sandeep Bhanote | Method and apparatus for mobile data collection and management |
US20070282869A1 (en) * | 2006-06-05 | 2007-12-06 | Microsoft Corporation | Automatically generating web forms from database schema |
US20070282616A1 (en) * | 2006-05-30 | 2007-12-06 | Frank Brunswig | Systems and methods for providing template based output management |
US7363248B2 (en) * | 2000-12-22 | 2008-04-22 | Invenda Corporation | Pre-filling order forms for transactions over a communications network |
US20080126396A1 (en) * | 2006-06-26 | 2008-05-29 | Perceptive Software, Inc. | System and method for implementing dynamic forms |
US20080263142A1 (en) * | 2007-04-20 | 2008-10-23 | Computer Associates Think, Inc. | Meta Data Driven User Interface System and Method |
US20080319983A1 (en) * | 2007-04-20 | 2008-12-25 | Robert Meadows | Method and apparatus for identifying and resolving conflicting data records |
US20090063661A1 (en) * | 2001-11-14 | 2009-03-05 | At&T Intellectual Property I, L.P. | Method, system and apparatus for presenting forms and publishing form data |
US20090193107A1 (en) * | 2008-01-25 | 2009-07-30 | Microsoft Corporation | Synchronizing for Directory Changes Performed While Offline |
US20090198787A1 (en) * | 2008-02-06 | 2009-08-06 | Oracle International Corporation | Data streaming to multiple browser windows |
US7711607B2 (en) * | 2005-12-30 | 2010-05-04 | Sap Ag | Method and system for deploying a business application |
US20100228721A1 (en) * | 2009-03-06 | 2010-09-09 | Peoplechart Corporation | Classifying medical information in different formats for search and display in single interface and view |
US20110151837A1 (en) * | 2009-12-23 | 2011-06-23 | Winbush Iii Amos | Mobile communication device user content synchronization with central web-based records and information sharing system |
US20110258345A1 (en) * | 2006-04-18 | 2011-10-20 | Sandeep Bhanote | Method and apparatus for mobile data collection and management |
US20140250062A1 (en) * | 2008-11-14 | 2014-09-04 | Adobe Systems Incorporated | Systems and Methods for Facilitating the Development of an Application that Accesses Data |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6684369B1 (en) | 1997-06-19 | 2004-01-27 | International Business Machines, Corporation | Web site creator using templates |
US6917962B1 (en) * | 1997-10-22 | 2005-07-12 | Brokercom Inc. | Web-based groupware system |
US6061059A (en) * | 1998-02-06 | 2000-05-09 | Adobe Systems Incorporated | Providing a preview capability to a graphical user interface dialog |
US20020029207A1 (en) * | 2000-02-28 | 2002-03-07 | Hyperroll, Inc. | Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein |
JP3974407B2 (en) | 2001-01-19 | 2007-09-12 | 日本電信電話株式会社 | Recommended item introduction method, recommended item introduction server, recording medium recording recommended item introduction program, recommended item introduction program, and recommended item introduction service provision method |
US6741996B1 (en) * | 2001-04-18 | 2004-05-25 | Microsoft Corporation | Managing user clips |
JP2002342360A (en) | 2001-05-18 | 2002-11-29 | Sharp Corp | Device, method and computer program for providing information and recording medium with the program recorded thereon |
US7099885B2 (en) * | 2001-05-25 | 2006-08-29 | Unicorn Solutions | Method and system for collaborative ontology modeling |
US20020184170A1 (en) * | 2001-06-01 | 2002-12-05 | John Gilbert | Hosted data aggregation and content management system |
US7013312B2 (en) * | 2001-06-21 | 2006-03-14 | International Business Machines Corporation | Web-based strategic client planning system for end-user creation of queries, reports and database updates |
US6920474B2 (en) | 2002-03-25 | 2005-07-19 | Data Quality Solutions, Inc. | Method and system for enterprise business process management |
AU2003239326A1 (en) * | 2002-05-01 | 2003-11-17 | Bea Systems, Inc. | Enterprise application platform |
US7286999B2 (en) * | 2002-05-09 | 2007-10-23 | International Business Machines Corporation | Integrated project management and development environment for determining the time expended on project tasks |
JP4149199B2 (en) * | 2002-06-05 | 2008-09-10 | 富士通株式会社 | Mobile terminal auxiliary device, data synchronization method, and mobile terminal device |
US9171049B2 (en) * | 2002-06-13 | 2015-10-27 | Salesforce.Com, Inc. | Offline simulation of online session between client and server |
US6946715B2 (en) * | 2003-02-19 | 2005-09-20 | Micron Technology, Inc. | CMOS image sensor and method of fabrication |
KR20040031899A (en) | 2002-10-07 | 2004-04-14 | (주)싱크블루테크놀로지 | WebSynergy , Web Services Integration Platform as EAI solution with MOM and Web Services technologies |
US7650276B2 (en) | 2003-02-26 | 2010-01-19 | Bea Systems, Inc. | System and method for dynamic data binding in distributed applications |
US7269795B2 (en) * | 2003-03-07 | 2007-09-11 | Microsoft Corporation | Dynamically generated user interface for business application integration |
US7162473B2 (en) * | 2003-06-26 | 2007-01-09 | Microsoft Corporation | Method and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users |
KR20050027820A (en) | 2003-09-16 | 2005-03-21 | 비이스퀘어주식회사 | Apparatus for processing data of mainstay system on using personal digital assistant |
US20050119910A1 (en) * | 2003-12-01 | 2005-06-02 | International Business Machines Corporation | Content update notification |
CN1606015A (en) | 2004-11-10 | 2005-04-13 | 李兵 | Safety mobile enterprise office system and mobile office program |
US8122346B2 (en) * | 2005-08-05 | 2012-02-21 | Sap Ag | Methods and systems for merging software-level objects with document-level objects in a document publishing environment |
US20070061371A1 (en) * | 2005-09-14 | 2007-03-15 | Bodin William K | Data customization for data of disparate data types |
US7546312B1 (en) * | 2005-09-23 | 2009-06-09 | Emc Corporation | System and methods for modeling a report query database |
CN1758274A (en) | 2005-09-26 | 2006-04-12 | 郭军 | Universal service processing method and its computer system |
US7599934B2 (en) * | 2005-09-27 | 2009-10-06 | Microsoft Corporation | Server side filtering and sorting with field level security |
US20070156731A1 (en) * | 2005-12-23 | 2007-07-05 | Sap Ag | Automatic project management application |
EP1835397A1 (en) * | 2006-02-27 | 2007-09-19 | Software Ag | Application framework |
KR101552914B1 (en) | 2007-01-30 | 2015-10-01 | 에스케이커뮤니케이션즈 주식회사 | Web server application framework web application processing method using the framework and computer readable medium processing the method |
US8639708B2 (en) * | 2007-08-31 | 2014-01-28 | Microsoft Corporation | Fact-based indexing for natural language search |
US20090164493A1 (en) * | 2007-12-24 | 2009-06-25 | Johnsgard Todd J | Apparatus and methods for editing content on a wireless device |
JP5154975B2 (en) | 2008-02-26 | 2013-02-27 | 日本電信電話株式会社 | Interest system graph forming apparatus, interest system graph forming method, and interest system graph forming program |
EP2257931A4 (en) * | 2008-06-06 | 2011-03-16 | Divx Inc | Systems and methods for font file optimization for multimedia files |
US20110179049A1 (en) * | 2010-01-19 | 2011-07-21 | Microsoft Corporation | Automatic Aggregation Across Data Stores and Content Types |
US9052908B2 (en) * | 2010-01-22 | 2015-06-09 | The Regents Of The University Of California | Web application development framework |
US20110208786A1 (en) * | 2010-02-23 | 2011-08-25 | Microsoft Corporation | Presentation of a web-based visual representation of a structured data solution |
-
2010
- 2010-12-15 US US12/969,397 patent/US20110208786A1/en not_active Abandoned
- 2010-12-15 US US12/969,170 patent/US20110209049A1/en not_active Abandoned
- 2010-12-15 US US12/969,310 patent/US9852384B2/en active Active
-
2011
- 2011-02-08 CN CN201180010461.1A patent/CN102763126B/en not_active Expired - Fee Related
- 2011-02-08 WO PCT/US2011/024101 patent/WO2011106150A2/en active Application Filing
- 2011-02-08 EP EP11747852.9A patent/EP2539858A4/en not_active Withdrawn
- 2011-02-21 EP EP11747913.9A patent/EP2539860A4/en not_active Withdrawn
- 2011-02-21 CA CA2788119A patent/CA2788119A1/en not_active Abandoned
- 2011-02-21 EP EP11747912.1A patent/EP2539859A4/en not_active Withdrawn
- 2011-02-21 CA CA2788282A patent/CA2788282A1/en not_active Abandoned
- 2011-02-21 CN CN2011800105597A patent/CN102763127A/en active Pending
- 2011-02-21 WO PCT/US2011/025600 patent/WO2011106279A2/en active Application Filing
- 2011-02-21 WO PCT/US2011/025601 patent/WO2011106280A2/en active Application Filing
- 2011-02-21 CN CN201180010593.4A patent/CN102770877B/en not_active Expired - Fee Related
-
2017
- 2017-11-08 US US15/807,209 patent/US20180158003A1/en not_active Abandoned
Patent Citations (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253228B1 (en) * | 1997-03-31 | 2001-06-26 | Apple Computer, Inc. | Method and apparatus for updating and synchronizing information between a client and a server |
US6854120B1 (en) * | 2000-01-14 | 2005-02-08 | International Business Machines Corporation | Accessing a ERP application over the internet using strongly typed declarative language files |
US7363248B2 (en) * | 2000-12-22 | 2008-04-22 | Invenda Corporation | Pre-filling order forms for transactions over a communications network |
US20020165724A1 (en) * | 2001-02-07 | 2002-11-07 | Blankesteijn Bartus C. | Method and system for propagating data changes through data objects |
US20090063661A1 (en) * | 2001-11-14 | 2009-03-05 | At&T Intellectual Property I, L.P. | Method, system and apparatus for presenting forms and publishing form data |
US20040068554A1 (en) * | 2002-05-01 | 2004-04-08 | Bea Systems, Inc. | Web service-enabled portlet wizard |
US20040148367A1 (en) * | 2002-12-20 | 2004-07-29 | Hideki Takano | Method for integration edition of setting file and setting file integration base |
US20050044164A1 (en) * | 2002-12-23 | 2005-02-24 | O'farrell Robert | Mobile data and software update system and method |
US20070214064A1 (en) * | 2003-03-24 | 2007-09-13 | Paramjit Kahlon | Inventory location common object |
US20050120299A1 (en) * | 2003-11-28 | 2005-06-02 | International Business Machines Corporation | System and method for creation of a network server application page |
US20060095447A1 (en) * | 2004-02-19 | 2006-05-04 | Microsoft Corporation | Offline multi-table data editing and storage |
US20060015619A1 (en) * | 2004-06-30 | 2006-01-19 | Siebel Systems, Inc. | Access and synchronization with enterprise applications using remote hosted solution |
US20060095435A1 (en) * | 2004-10-22 | 2006-05-04 | Bellsouth Intellectual Property Corporation | Configuring and deploying portable application containers for improved utilization of server capacity |
US20060212846A1 (en) * | 2005-03-21 | 2006-09-21 | Dexterra, Inc. | Data management for mobile data system |
US7711607B2 (en) * | 2005-12-30 | 2010-05-04 | Sap Ag | Method and system for deploying a business application |
US20070260475A1 (en) * | 2006-04-18 | 2007-11-08 | Sandeep Bhanote | Method and apparatus for mobile data collection and management |
US20110258345A1 (en) * | 2006-04-18 | 2011-10-20 | Sandeep Bhanote | Method and apparatus for mobile data collection and management |
US20070282616A1 (en) * | 2006-05-30 | 2007-12-06 | Frank Brunswig | Systems and methods for providing template based output management |
US20070282869A1 (en) * | 2006-06-05 | 2007-12-06 | Microsoft Corporation | Automatically generating web forms from database schema |
US20080126396A1 (en) * | 2006-06-26 | 2008-05-29 | Perceptive Software, Inc. | System and method for implementing dynamic forms |
US20080263142A1 (en) * | 2007-04-20 | 2008-10-23 | Computer Associates Think, Inc. | Meta Data Driven User Interface System and Method |
US20080319983A1 (en) * | 2007-04-20 | 2008-12-25 | Robert Meadows | Method and apparatus for identifying and resolving conflicting data records |
US20090193107A1 (en) * | 2008-01-25 | 2009-07-30 | Microsoft Corporation | Synchronizing for Directory Changes Performed While Offline |
US20090198787A1 (en) * | 2008-02-06 | 2009-08-06 | Oracle International Corporation | Data streaming to multiple browser windows |
US20140250062A1 (en) * | 2008-11-14 | 2014-09-04 | Adobe Systems Incorporated | Systems and Methods for Facilitating the Development of an Application that Accesses Data |
US20100228721A1 (en) * | 2009-03-06 | 2010-09-09 | Peoplechart Corporation | Classifying medical information in different formats for search and display in single interface and view |
US20110151837A1 (en) * | 2009-12-23 | 2011-06-23 | Winbush Iii Amos | Mobile communication device user content synchronization with central web-based records and information sharing system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11087279B2 (en) * | 2018-09-06 | 2021-08-10 | Sap Se | Database code execution |
Also Published As
Publication number | Publication date |
---|---|
WO2011106279A3 (en) | 2011-11-10 |
CN102763126B (en) | 2017-06-09 |
CN102770877A (en) | 2012-11-07 |
WO2011106280A2 (en) | 2011-09-01 |
US20110208786A1 (en) | 2011-08-25 |
WO2011106280A3 (en) | 2011-11-10 |
CN102763127A (en) | 2012-10-31 |
WO2011106150A3 (en) | 2011-11-10 |
US20110209049A1 (en) | 2011-08-25 |
EP2539858A2 (en) | 2013-01-02 |
US20110209045A1 (en) | 2011-08-25 |
WO2011106150A2 (en) | 2011-09-01 |
CA2788282A1 (en) | 2011-09-01 |
EP2539860A4 (en) | 2015-01-07 |
US9852384B2 (en) | 2017-12-26 |
CN102763126A (en) | 2012-10-31 |
EP2539859A4 (en) | 2015-01-07 |
EP2539860A2 (en) | 2013-01-02 |
WO2011106279A2 (en) | 2011-09-01 |
EP2539859A2 (en) | 2013-01-02 |
EP2539858A4 (en) | 2015-01-07 |
CN102770877B (en) | 2015-11-25 |
CA2788119A1 (en) | 2011-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180158003A1 (en) | Web-based visual representation of a structured data solution | |
US11836817B2 (en) | System for an electronic document with state variable integration to external computing resources | |
US20180365201A1 (en) | System and method for compound data-driven contracts and documentation | |
EP1868087B1 (en) | System and method for configuration application programs | |
Tranquillini et al. | Modeling, enacting, and integrating custom crowdsourcing processes | |
US20120066663A1 (en) | Modeling A Governance Process Of Establishing A Subscription To A Deployed Service In A Governed SOA | |
US20120066671A1 (en) | Automating A Governance Process Of Creating A New Version Of A Service In A Governed SOA | |
Hall et al. | The, enterprise architecture, process modeling, and simulation tools report | |
US10387816B2 (en) | Automating a governance process of optimizing a portfolio of services in a governed SOA | |
US20120066145A1 (en) | Automating A Governance Process Of Reviewing Service Artifacts In A Governed SOA | |
da Silva et al. | SPReaD: service-oriented process for reengineering and DevOps: Developing microservices for a Brazilian state department of taxation | |
US20120066146A1 (en) | Automating A Governance Process Of Investigating Service Reuse In A Governed SOA | |
Chen et al. | A practical guide to managing reference data with IBM InfoSphere master data management reference data management hub | |
Ferrua | The “Delta” Case: New AWS Data Platform Implementation | |
Chessell et al. | Common information models for an open, analytical, and agile world | |
Niblett et al. | Event Processing in Action | |
Ferreira | Gestão de Empreitadas-Aplicação para o processo de gestão de obra | |
Setya et al. | The Application of Reservation Based on Web at Mbah Koboy Cafe | |
Ranathunga | Inventory and Transaction Management System for Weerawardana Family Super | |
AMEERDEEN | Electronic Trading and Retail System for Freshpixl Creative Agency | |
Langer et al. | Website design and architecture | |
Goodyear et al. | Designing Your Electronic Form Processes | |
Walsh | An empirical study: the methodologies, techniques, and tools used in the development of web applications and web sites in Ireland | |
Polgar | Do You Need Content Management System? | |
Miró Omella | Tipping offers e-commerce web project |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |