US20170097749A1 - Integrating applications in a portal - Google Patents
Integrating applications in a portal Download PDFInfo
- Publication number
- US20170097749A1 US20170097749A1 US15/385,801 US201615385801A US2017097749A1 US 20170097749 A1 US20170097749 A1 US 20170097749A1 US 201615385801 A US201615385801 A US 201615385801A US 2017097749 A1 US2017097749 A1 US 2017097749A1
- Authority
- US
- United States
- Prior art keywords
- computing device
- application
- object type
- user interface
- portal
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Definitions
- FIGS. 1A and 1B are drawings of a networked environment according to various embodiments of the present disclosure.
- FIG. 2 is a drawing of an example of a user interface rendered by a client in the networked environment of FIG. 1A according to an embodiment of the present disclosure.
- FIG. 3 is a flowchart illustrating one example of functionality implemented as portions of a portal executed in a computing device in the networked environment of FIG. 1A according to various embodiments of the present disclosure.
- FIG. 4 is a schematic block diagram that provides one example illustration of a computing device employed in the networked environment of FIG. 1A according to various embodiments of the present disclosure.
- FIG. 5 is a schematic block diagram that provides one example illustration of a client computing device employed in the networked environment of FIG. 1B according to various embodiments of the present disclosure.
- the present disclosure relates to integrating applications in a portal where the interface between the applications is generated by the portal.
- a first application may have a configuration that indicates that the first application provides views and/or actions for an object type.
- a second application may have a user interface that identifies an instance of that object type.
- the portal may be configured to facilitate navigation from the user interface of the second application to the views and/or actions provided by the first application and other applications for the instance of the object type.
- the networked environment 100 includes one or more computing devices 103 in data communication with one or more clients 106 by way of a network 109 .
- the network 109 includes, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, or other suitable networks, etc., or any combination of two or more such networks.
- the computing device 103 may comprise, for example, a server computer or any other system providing computing capability. Alternatively, a plurality of computing devices 103 may be employed that are arranged, for example, in one or more server banks, computer banks, or other arrangements. For example, a plurality of computing devices 103 together may comprise, for example, a cloud computing resource, a grid computing resource, and/or any other distributed computing arrangement. Such computing devices 103 may be located in a single installation or may be dispersed among many different geographical locations. For purposes of convenience, the computing device 103 is referred to herein in the singular. Even though the computing device 103 is referred to in the singular, it is understood that a plurality of computing devices 103 may be employed in the various arrangements as described above.
- Various applications and/or other functionality may be executed in the computing device 103 according to various embodiments.
- various data is stored in a data store 112 that is accessible to the computing device 103 .
- the data store 112 may be representative of a plurality of data stores 112 as can be appreciated.
- the data stored in the data store 112 is associated with the operation of the various applications and/or functional entities described below.
- the components executed on the computing device 103 include a plurality of applications 115 , a portal 118 , a network page server 121 , and other applications, services, processes, systems, engines, or functionality not discussed in detail herein.
- the applications 115 are executed, for example, to render views of, and perform manipulation of, data.
- Each application 115 may comprise one or more views 124 , one or more actions 127 , one or more user interfaces 130 , and/or other features.
- Each view 124 is configured to render information for a type of data object, as is understood, for example, according to the model-view-controller architectural design pattern in software engineering. To this end, a view 124 may comprise a user interface.
- Each action 127 represents functionality that may be applied to a data object.
- Each user interface 130 corresponds to other user interfaces for the application, which may or may not comprise a view 124 for a data object.
- the portal 118 is executed to integrate the applications 115 with one another by providing a common interface for the applications 115 .
- the portal 118 is configured to generate network pages 133 , such as web pages or other network content, to integrate views generated by the various applications 115 .
- the network page server 121 is executed to serve up the network pages 133 to the clients 106 over the network 109 by way of hypertext transfer protocol (HTTP) or other protocols.
- HTTP hypertext transfer protocol
- the network page server 121 may comprise a commercially available HTTP server application, such as Apache® HTTP Server, Microsoft® Internet Information Services (IIS), or other applications.
- the data stored in the data store 112 includes, for example, application data 136 , application configurations 139 , an object dictionary 142 , network page data 145 , and potentially other data.
- the application data 136 comprises instances of data objects that are used by one or more of the applications 115 .
- the instances may be serialized in a format such as, for example, Java Script Object Notation (JSON), YAML, Java object serialization, extensible markup language (XML), Abstract Syntax Notation One (ASN.1), or other serialization formats that may be stored in the application data 136 .
- JSON Java Script Object Notation
- YAML YAML
- Java object serialization extensible markup language
- XML extensible markup language
- ASN.1 Abstract Syntax Notation One
- the application configurations 139 comprise files or documents that may be associated with each of the applications 115 for purposes of integration with the other applications 115 by way of the portal 118 .
- an application 115 may declare that it provides one or more views 124 for a type of data object or that it is capable of performing one or more actions 127 for a type of data object.
- An application configuration 139 may relate to a multitude of data object types if desired.
- the object dictionary 142 is used by the portal 118 to parse the application configurations 139 .
- a certain type of object may be referred to in the application configurations 139 by one or more strings from the object dictionary 142 .
- the object dictionary 142 may also contain code or other configurations to enable the parsing and/or recognition of identifications of particular instances of data object types so that they may be located within the application data 136 .
- the network page data 145 may include, for example, templates, hypertext markup language (HTML) data, XML data, images, audio, video, and/or other data used in the generation of the network pages 133 .
- HTML hypertext markup language
- the client 106 is representative of a plurality of client devices that may be coupled to the network 109 .
- the client 106 may comprise, for example, a processor-based system such as a computer system.
- a computer system may be embodied in the form of a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, set-top box, music players, web pads, tablet computer systems, or other devices with like capability.
- the client 106 may include a display 148 .
- the display 148 may comprise, for example, one or more devices such as cathode ray tubes (CRTs), liquid crystal display (LCD) screens, gas plasma-based flat panel displays, LCD projectors, or other types of display devices, etc.
- CTRs cathode ray tubes
- LCD liquid crystal display
- LCD liquid crystal display
- LCD projectors or other types of display devices, etc.
- the client 106 may be configured to execute various applications such as a browser 151 and/or other applications.
- the browser 151 may be executed in a client 106 , for example, to access and render network pages 133 , such as web pages or other network content served up by the computing device 103 and/or other servers.
- a user interface 154 may be displayed on the display 148 .
- the client 106 may be configured to execute applications beyond the browser 151 such as, for example, email applications, instant message applications, and/or other applications.
- a user at a client 106 may request a network page 133 from the portal 118 that enables the selection of a particular application 115 .
- the applications 115 may be registered with the portal 118 by way of the application configurations 139 so that the portal 118 has a list of applications 115 that are available.
- the user may then select an application 115 and request a user interface 130 associated with the application 115 .
- the user interface 130 may be integrated within a network page 133 generated by the portal 118 by using frames, tables, and/or other techniques.
- an identification of an instance of a data object type in the user interface 130 is provided by way of XML or other markup code that may be interpreted by the portal 118 .
- no markup is used to identify an instance of a data object type in the user interface 130 .
- the portal 118 may be configured to determine based on rules or heuristics whether an instance of a data object type is present. Such a determination may be based, for example, on a predefined format for the instance of the data object type that is distinguishable from ordinary text.
- the data objects may be of varying types. Non-limiting examples of data object types may include items, vendors, orders, and other data object types.
- the identifications may be made in accordance with a format specified in the object dictionary 142 .
- the portal 118 processes the user interface 130 to determine whether identifications of instances of object types are present. Upon determination that an identification of an instance of an object type is present, the portal 118 will include one or more user interface components as a navigational aid to select views 124 or actions 127 provided by the current application 115 or other applications 115 . Thus, the portal 118 determines from the application configurations 139 which views 124 and/or actions 127 are applicable for the object type. In one embodiment, the portal 118 configures an existing component of the user interface 130 for selecting or launching the navigational aid.
- the navigational aid may comprise a pop-up menu, pop-over menu, side bar, pop-up window, list of links, list of buttons, or any other combinations of components to allow a user to indicate a selection of a view 124 or action 127 .
- the navigational aid may be hidden until a user performs an action within the user interface 130 , such as, for example, clicking on the identification of the instance, hovering over the identification of the instance, or another action.
- the views 124 and/or actions 127 in the navigational aid may be tied to the particular instance identified in the user interface 130 so that a selection of the view 124 will launch the view 124 for that particular instance or that a selection of the action 127 will execute the action 127 for that particular instance.
- the navigational aid comprises code that is stored within the network page 133 .
- the navigational aid may include client-side code that obtains further data over the network 109 , using simple object access protocol (SOAP), Ajax, Java Script, and/or other technologies.
- SOAP simple object access protocol
- the views 124 and/or actions 127 are not obtained by the client 106 until the navigational aid is triggered for the identification of the object type.
- the view 124 may take the place of the user interface 130 within the user interface 154 comprising the rendered network page 133 .
- the view 124 may be launched in a separate browser 151 window or in a separate frame, viewport, or display region within the user interface 154 .
- each of the applications 115 has no code-based linkage to any other one of the applications 115 .
- Such an approach may simplify development of the applications 115 , which may be developed by different teams or entities. The different teams or entities may need to agree only on what objects are called, such as what is specified in the object dictionary 142 .
- the integration of the applications 115 is thereby provided by the portal 118 by interpreting the application configurations 139 and the user interfaces 130 .
- the portal 118 is executed on the client 106 .
- the portal 118 comprises code (e.g., Java Script or other client-side code) that is executed within a browser 151 .
- the portal 118 comprises code (e.g., Flash or other client-side code) that is executed outside of the browser 151 .
- the portal 118 may be configured to preprocess and, in some embodiments, request network pages 133 served up by the network page server 121 .
- the portal 118 is executed on the client 106 , the functionality provided by the portal 118 may be substantially similar.
- the portal 118 may be configured to allow navigation between applications 115 based on views 124 and/or actions 127 declared in application configurations 139 and identification of object instances within a user interface 130 .
- the application configurations 139 may be retrieved by the portal 118 , for example, from the computing device 103 whenever needed or may be cached in a local cache on the client 106 .
- FIG. 2 shown is an example of a user interface 154 rendered by a client 106 ( FIG. 1A ) in the networked environment 100 ( FIG. 1A ) according to one embodiment.
- the user interface 154 may comprise one or more network pages 133 ( FIG. 1A ) being rendered in a browser 151 .
- the user interface 154 has two primary display regions 203 , 206 , which may comprise frames, table cells, etc. within a network page 133 .
- the display region 203 includes a menu of links to the various applications 115 ( FIG. 1A ) registered with the portal 118 ( FIG. 1A ). Such a menu may be generated dynamically by the portal 118 based on the current status of the applications 115 as being registered with the portal 118 . Such a menu may also be generated by the portal 118 in response to a registration or deregistration event received by the portal 118 regarding one or more applications 115 . Each of the links is to a user interface 130 ( FIG. 1A ) generated by the respective application 115 . In this example, links are provided to an inventory manager, a product manager, a retail viewer, and to network page server logs.
- the display region 206 corresponds to a user interface 130 generated by an application 115 .
- the user interface 130 is provided for a network page server logs application 115 .
- the display region 206 includes a list of network page requests 209 .
- Each request in the depicted list of network page requests 209 corresponds to an identification of an instance of a data object type.
- each request is a request for a network page 133 related to an item, which may be an object type as defined in the object dictionary 142 .
- the XML or other markup language used to specify the display region 206 may include code that indicates the association of each request in the list of network page requests 209 with an identification of an item, if applicable.
- a request may be associated with an internet protocol (IP) address object type, a browser 151 ( FIG. 1A ) object type, a network page 133 resource object type, or any other appropriate object type.
- IP internet protocol
- a cursor 212 has selected one request from the list of network page requests 209 .
- the selected object identification 215 is used to provide a navigational aid 218 for the applications 115 in the portal 118 .
- the navigational aid 218 is illustrated in the form of a pop-over menu, but any other type of user interface component allowing for user selection from multiple items may be used instead.
- the navigational aid 218 may include a description 221 of the object instance, which in this example includes the name of the object type (“Item”) and the identifier of the instance (“2048”).
- the navigational aid 218 may also include a list of views 224 associated with the object type and a list of actions 227 associated with the object type.
- the list of views 224 and list of actions 227 may be generated automatically by the portal 118 after reading the application configurations 139 to determine which applications 115 provide views 124 ( FIG. 1A ) and/or perform actions 127 ( FIG. 1A ) for the given object type.
- a request may be sent to the portal 118 or respective application 115 for the selected view 124 or action 127 to be generated or performed for the corresponding instance of the item.
- the three views 124 comprise an inventory manager view, a product manager view, and a retail view.
- the inventory manager view may be associated with an inventory manager application and may, for example, enable a user to see the quantities of items currently in inventory.
- the product manager view may be associated with a product manager application and may, for example, enable a user to modify attributes associated with the item, such as title, descriptions, price, shipping weight, hazardous material classification, and so on.
- the retail view may be associated with a retail viewer application and may, for example, enable a user to view an item as it would be rendered within a detail network page 133 served up on a retail network site. It is understood that not every application 115 may offer views 124 for a particular object type, and an application 115 may offer multiple views 124 for a particular object type in other examples.
- links to three actions 127 for an item are rendered in the list of actions 227 .
- the three actions 127 comprise a send order to vendor action, a mark as sale item action, and a copy link to detail page action.
- the send order to vendor action may be associated with an inventory manager application and may, for example, enable a user to generate and send an order for the item to a vendor.
- the mark as sale item action may be associated with a product manager application and may, for example, enable a user to mark the item as a sale item, which may include a price adjustment, product highlighting adjustment, and other adjustments.
- the copy link to detail page action may be associated with a retail viewer application and may, for example, enable a user to copy a uniform resource locator (URL) to the detail network page 133 of the item from the retail network site to the system clipboard. It is understood that not every application 115 may offer actions 127 for a particular object type, and an application 115 may offer multiple actions 127 for a particular object type in other examples.
- URL uniform resource locator
- FIG. 3 shown is a flowchart that provides one example of the operation of a portion of the portal 118 according to various embodiments. It is understood that the flowchart of FIG. 3 provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the portal 118 as described herein. As an alternative, the flowchart of FIG. 3 may be viewed as depicting an example of steps of a method implemented in the computing device 103 ( FIG. 1A ) or a client 106 ( FIG. 1B ) according to one or more embodiments.
- the portal 118 determines whether to use a cached copy of the application configurations 139 ( FIG. 1A ).
- the application configurations 139 indicate views 124 ( FIG. 1A ) and/or actions 127 ( FIG. 1 ) supported by applications 115 ( FIG. 1A ). If a cached copy is not to be used, the portal 118 moves to box 303 and obtains the application configurations 139 that indicate supported views 124 and/or actions 127 from the computing device(s) 103 .
- the portal 118 may obtain the application configurations 139 from the respective applications 115 directly. In other embodiments, the portal 118 may obtain the application configurations 139 from the data store 112 or from one or more data files.
- the portal 118 proceeds to box 304 and obtains the application configurations 139 from a cache, either on the computing device 103 or on the client 106 ( FIG. 1B ).
- the portal 118 obtains a request for a user interface 130 ( FIG. 1A ) to an application 115 from a client 106 ( FIG. 1A ) or a user at a user interface 154 ( FIG. 1B ).
- the portal 118 proceeds to obtain the requested user interface 130 from the respective application 115 .
- the portal 118 parses the user interface 130 and determines whether there are any views 124 or actions 127 for identified instances of objects in the user interface 130 . In other words, for each object type, views 124 and actions 127 supported by various applications 115 are determined.
- the portal 118 may examine the user interface 130 for predefined markup that designates instances of an object type.
- the portal 118 may examine the user interface 130 and determine by way of heuristics or rules whether an instance of an object type is present. An instance of a certain object type may use, for example, a certain format that is distinguishable from other text.
- the portal 118 may include menus of views 124 and/or actions 127 as appropriate for the instances of the object type in the user interface 130 .
- the portal 118 then sends the modified user interface 130 to the client 106 in box 318 . Thereafter, the portion of the portal 118 ends.
- the portal 118 determines that there are no views 124 and/or actions 127 for any object instances in the user interface 130 . If, instead, in box 312 , the portal 118 determines that there are no views 124 and/or actions 127 for any object instances in the user interface 130 , the portal 118 proceeds directly to box 318 and sends the unmodified user interface 130 to the client 106 . Thereafter, the portion of the portal 118 ends.
- the computing device 103 includes at least one processor circuit, for example, having a processor 403 and a memory 406 , both of which are coupled to a local interface 409 .
- the computing device 103 may comprise, for example, at least one server computer or like device.
- the local interface 409 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.
- Stored in the memory 406 are both data and several components that are executable by the processor 403 .
- stored in the memory 406 and executable by the processor 403 are the applications 115 , the portal 118 , the network page server 121 , and potentially other applications.
- Also stored in the memory 406 may be a data store 112 and other data.
- an operating system may be stored in the memory 406 and executable by the processor 403 .
- the client 106 includes at least one processor circuit, for example, having a processor 503 and a memory 506 , both of which are coupled to a local interface 509 .
- the client 106 may comprise, for example, a client computer or like device.
- the local interface 509 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.
- a display 148 may be coupled to the local interface 509 .
- Stored in the memory 506 are both data and several components that are executable by the processor 503 .
- stored in the memory 506 and executable by the processor 503 are the browser 151 , the portal 118 , and potentially other applications.
- An operating system may also be stored in the memory 506 and executable by the processor 503 .
- any one of a number of programming languages may be employed such as, for example, C, C++, C#, Objective C, Java, Java Script, Perl, PHP, Visual Basic, Python, Ruby, Delphi, Flash, or other programming languages.
- a number of software components are stored in the memories 406 , 506 and are executable by the respective processors 403 , 503 .
- the term “executable” means a program file that is in a form that can ultimately be run by the processors 403 , 503 .
- Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memories 406 , 506 and run by the respective processors 403 , 503 , source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memories 406 , 506 and executed by the respective processors 403 , 503 , or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memories 406 , 506 to be executed by the respective processors 403 , 503 , etc.
- An executable program may be stored in any portion or component of the memories 406 , 506 including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
- RAM random access memory
- ROM read-only memory
- hard drive solid-state drive
- USB flash drive solid-state drive
- memory card such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
- CD compact disc
- DVD digital versatile disc
- the memories 406 , 506 are defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memories 406 , 506 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components.
- RAM random access memory
- ROM read-only memory
- hard disk drives solid-state drives
- USB flash drives USB flash drives
- memory cards accessed via a memory card reader floppy disks accessed via an associated floppy disk drive
- optical discs accessed via an optical disc drive magnetic tapes accessed via an appropriate tape drive,
- the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices.
- the ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
- the processors 403 , 503 may represent multiple processors 403 , 503 and the memories 406 , 506 may represent multiple memories 406 , 506 that operate in parallel processing circuits, respectively.
- the local interfaces 409 , 509 may be an appropriate network 109 ( FIGS. 1A & 1B ) that facilitates communication between any two of the multiple processors 403 , 503 , between any processor 403 , 503 and any of the memories 406 , 506 , or between any two of the memories 406 , 506 , etc.
- the local interfaces 409 , 509 may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing.
- the processors 403 , 503 may be of electrical or of some other available construction.
- the applications 115 , the portal 118 , the network page server 121 , and other various systems described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
- each block may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s).
- the program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor 403 , 503 in a computer system or other system.
- the machine code may be converted from the source code, etc.
- each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
- FIG. 3 shows a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be scrambled relative to the order shown. Also, two or more blocks shown in succession in FIG. 3 may be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the blocks shown in FIG. 3 may be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.
- any logic or application described herein, including the applications 115 , the portal 118 , and the network page server 121 , that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor 403 , 503 in a computer system or other system.
- the logic may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system.
- a “computer-readable medium” can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system.
- the computer-readable medium can comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM).
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- MRAM magnetic random access memory
- the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
- ROM read-only memory
- PROM programmable read-only memory
- EPROM erasable programmable read-only memory
- EEPROM electrically erasable programmable read-only memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- This application claims priority to co-pending U.S. patent application entitled, “Integrating Applications in a Portal”, filed May 27, 2010, and assigned application Ser. No. 12/788,485, which is incorporated herein by reference in its entirety.
- Merchants who sell products online may have vast amounts of data related to the operation of their enterprise. Various individuals may access such data for various purposes using predefined applications that are configured to provide the desired access to the data. Unfortunately, as a merchant grows in size, the number of applications needed to access all of the various types of data relating to the enterprise can also grow. Consequently, it may be difficult to manage the development of the applications so that each application may coordinate with one another.
- Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
-
FIGS. 1A and 1B are drawings of a networked environment according to various embodiments of the present disclosure. -
FIG. 2 is a drawing of an example of a user interface rendered by a client in the networked environment ofFIG. 1A according to an embodiment of the present disclosure. -
FIG. 3 is a flowchart illustrating one example of functionality implemented as portions of a portal executed in a computing device in the networked environment ofFIG. 1A according to various embodiments of the present disclosure. -
FIG. 4 is a schematic block diagram that provides one example illustration of a computing device employed in the networked environment ofFIG. 1A according to various embodiments of the present disclosure. -
FIG. 5 is a schematic block diagram that provides one example illustration of a client computing device employed in the networked environment ofFIG. 1B according to various embodiments of the present disclosure. - The present disclosure relates to integrating applications in a portal where the interface between the applications is generated by the portal. As a non-limiting example, a first application may have a configuration that indicates that the first application provides views and/or actions for an object type. As another non-limiting example, a second application may have a user interface that identifies an instance of that object type. The portal may be configured to facilitate navigation from the user interface of the second application to the views and/or actions provided by the first application and other applications for the instance of the object type. In the following discussion, a general description of the system and its components is provided, followed by a discussion of the operation of the same.
- With reference to
FIG. 1A , shown is anetworked environment 100 according to various embodiments. Thenetworked environment 100 includes one ormore computing devices 103 in data communication with one ormore clients 106 by way of anetwork 109. Thenetwork 109 includes, for example, the Internet, intranets, extranets, wide area networks (WANs), local area networks (LANs), wired networks, wireless networks, or other suitable networks, etc., or any combination of two or more such networks. - The
computing device 103 may comprise, for example, a server computer or any other system providing computing capability. Alternatively, a plurality ofcomputing devices 103 may be employed that are arranged, for example, in one or more server banks, computer banks, or other arrangements. For example, a plurality ofcomputing devices 103 together may comprise, for example, a cloud computing resource, a grid computing resource, and/or any other distributed computing arrangement.Such computing devices 103 may be located in a single installation or may be dispersed among many different geographical locations. For purposes of convenience, thecomputing device 103 is referred to herein in the singular. Even though thecomputing device 103 is referred to in the singular, it is understood that a plurality ofcomputing devices 103 may be employed in the various arrangements as described above. - Various applications and/or other functionality may be executed in the
computing device 103 according to various embodiments. Also, various data is stored in adata store 112 that is accessible to thecomputing device 103. Thedata store 112 may be representative of a plurality ofdata stores 112 as can be appreciated. The data stored in thedata store 112, for example, is associated with the operation of the various applications and/or functional entities described below. - The components executed on the
computing device 103, for example, include a plurality ofapplications 115, aportal 118, anetwork page server 121, and other applications, services, processes, systems, engines, or functionality not discussed in detail herein. Theapplications 115 are executed, for example, to render views of, and perform manipulation of, data. Eachapplication 115 may comprise one ormore views 124, one ormore actions 127, one ormore user interfaces 130, and/or other features. Eachview 124 is configured to render information for a type of data object, as is understood, for example, according to the model-view-controller architectural design pattern in software engineering. To this end, aview 124 may comprise a user interface. Eachaction 127 represents functionality that may be applied to a data object. Eachuser interface 130 corresponds to other user interfaces for the application, which may or may not comprise aview 124 for a data object. - The
portal 118 is executed to integrate theapplications 115 with one another by providing a common interface for theapplications 115. To this end, theportal 118 is configured to generatenetwork pages 133, such as web pages or other network content, to integrate views generated by thevarious applications 115. Thenetwork page server 121 is executed to serve up thenetwork pages 133 to theclients 106 over thenetwork 109 by way of hypertext transfer protocol (HTTP) or other protocols. In various embodiments, thenetwork page server 121 may comprise a commercially available HTTP server application, such as Apache® HTTP Server, Microsoft® Internet Information Services (IIS), or other applications. - The data stored in the
data store 112 includes, for example,application data 136, application configurations 139, anobject dictionary 142,network page data 145, and potentially other data. Theapplication data 136 comprises instances of data objects that are used by one or more of theapplications 115. The instances may be serialized in a format such as, for example, Java Script Object Notation (JSON), YAML, Java object serialization, extensible markup language (XML), Abstract Syntax Notation One (ASN.1), or other serialization formats that may be stored in theapplication data 136. - The application configurations 139 comprise files or documents that may be associated with each of the
applications 115 for purposes of integration with theother applications 115 by way of theportal 118. In an application configuration 139, anapplication 115 may declare that it provides one ormore views 124 for a type of data object or that it is capable of performing one ormore actions 127 for a type of data object. An application configuration 139 may relate to a multitude of data object types if desired. - In one embodiment, the
object dictionary 142 is used by theportal 118 to parse the application configurations 139. A certain type of object may be referred to in the application configurations 139 by one or more strings from theobject dictionary 142. Theobject dictionary 142 may also contain code or other configurations to enable the parsing and/or recognition of identifications of particular instances of data object types so that they may be located within theapplication data 136. Thenetwork page data 145 may include, for example, templates, hypertext markup language (HTML) data, XML data, images, audio, video, and/or other data used in the generation of thenetwork pages 133. - The
client 106 is representative of a plurality of client devices that may be coupled to thenetwork 109. Theclient 106 may comprise, for example, a processor-based system such as a computer system. Such a computer system may be embodied in the form of a desktop computer, a laptop computer, a personal digital assistant, a cellular telephone, set-top box, music players, web pads, tablet computer systems, or other devices with like capability. Theclient 106 may include adisplay 148. Thedisplay 148 may comprise, for example, one or more devices such as cathode ray tubes (CRTs), liquid crystal display (LCD) screens, gas plasma-based flat panel displays, LCD projectors, or other types of display devices, etc. - The
client 106 may be configured to execute various applications such as abrowser 151 and/or other applications. Thebrowser 151 may be executed in aclient 106, for example, to access and rendernetwork pages 133, such as web pages or other network content served up by thecomputing device 103 and/or other servers. Auser interface 154 may be displayed on thedisplay 148. Theclient 106 may be configured to execute applications beyond thebrowser 151 such as, for example, email applications, instant message applications, and/or other applications. - Next, a general description of the operation of the various components of the
networked environment 100 is provided. To begin, a user at aclient 106 may request anetwork page 133 from the portal 118 that enables the selection of aparticular application 115. To this end, theapplications 115 may be registered with the portal 118 by way of the application configurations 139 so that the portal 118 has a list ofapplications 115 that are available. The user may then select anapplication 115 and request auser interface 130 associated with theapplication 115. Theuser interface 130 may be integrated within anetwork page 133 generated by the portal 118 by using frames, tables, and/or other techniques. - Within the
user interface 130 may be one or more identifications of instances of data objects. In one embodiment, an identification of an instance of a data object type in theuser interface 130 is provided by way of XML or other markup code that may be interpreted by the portal 118. In another embodiment, no markup is used to identify an instance of a data object type in theuser interface 130. In such a case, the portal 118 may be configured to determine based on rules or heuristics whether an instance of a data object type is present. Such a determination may be based, for example, on a predefined format for the instance of the data object type that is distinguishable from ordinary text. The data objects may be of varying types. Non-limiting examples of data object types may include items, vendors, orders, and other data object types. The identifications may be made in accordance with a format specified in theobject dictionary 142. - The portal 118 processes the
user interface 130 to determine whether identifications of instances of object types are present. Upon determination that an identification of an instance of an object type is present, the portal 118 will include one or more user interface components as a navigational aid to selectviews 124 oractions 127 provided by thecurrent application 115 orother applications 115. Thus, the portal 118 determines from the application configurations 139 which views 124 and/oractions 127 are applicable for the object type. In one embodiment, the portal 118 configures an existing component of theuser interface 130 for selecting or launching the navigational aid. - The navigational aid may comprise a pop-up menu, pop-over menu, side bar, pop-up window, list of links, list of buttons, or any other combinations of components to allow a user to indicate a selection of a
view 124 oraction 127. The navigational aid may be hidden until a user performs an action within theuser interface 130, such as, for example, clicking on the identification of the instance, hovering over the identification of the instance, or another action. Theviews 124 and/oractions 127 in the navigational aid may be tied to the particular instance identified in theuser interface 130 so that a selection of theview 124 will launch theview 124 for that particular instance or that a selection of theaction 127 will execute theaction 127 for that particular instance. - In one embodiment, the navigational aid comprises code that is stored within the
network page 133. However, the navigational aid may include client-side code that obtains further data over thenetwork 109, using simple object access protocol (SOAP), Ajax, Java Script, and/or other technologies. In one embodiment, theviews 124 and/oractions 127 are not obtained by theclient 106 until the navigational aid is triggered for the identification of the object type. - When a
view 124 is launched from the portal 118, theview 124 may take the place of theuser interface 130 within theuser interface 154 comprising the renderednetwork page 133. Alternatively, theview 124 may be launched in aseparate browser 151 window or in a separate frame, viewport, or display region within theuser interface 154. - In various embodiments, each of the
applications 115 has no code-based linkage to any other one of theapplications 115. Such an approach may simplify development of theapplications 115, which may be developed by different teams or entities. The different teams or entities may need to agree only on what objects are called, such as what is specified in theobject dictionary 142. The integration of theapplications 115 is thereby provided by the portal 118 by interpreting the application configurations 139 and theuser interfaces 130. - Moving now to
FIG. 1B , shown is another example of anetworked environment 100. InFIG. 1B , the portal 118 is executed on theclient 106. In one non-limiting example, the portal 118 comprises code (e.g., Java Script or other client-side code) that is executed within abrowser 151. In another non-limiting example, the portal 118 comprises code (e.g., Flash or other client-side code) that is executed outside of thebrowser 151. - In
FIG. 1B , the portal 118 may be configured to preprocess and, in some embodiments,request network pages 133 served up by thenetwork page server 121. Although the portal 118 is executed on theclient 106, the functionality provided by the portal 118 may be substantially similar. For example, the portal 118 may be configured to allow navigation betweenapplications 115 based onviews 124 and/oractions 127 declared in application configurations 139 and identification of object instances within auser interface 130. The application configurations 139 may be retrieved by the portal 118, for example, from thecomputing device 103 whenever needed or may be cached in a local cache on theclient 106. - Turning now to
FIG. 2 , shown is an example of auser interface 154 rendered by a client 106 (FIG. 1A ) in the networked environment 100 (FIG. 1A ) according to one embodiment. Theuser interface 154 may comprise one or more network pages 133 (FIG. 1A ) being rendered in abrowser 151. In this example, theuser interface 154 has twoprimary display regions network page 133. - The
display region 203 includes a menu of links to the various applications 115 (FIG. 1A ) registered with the portal 118 (FIG. 1A ). Such a menu may be generated dynamically by the portal 118 based on the current status of theapplications 115 as being registered with the portal 118. Such a menu may also be generated by the portal 118 in response to a registration or deregistration event received by the portal 118 regarding one ormore applications 115. Each of the links is to a user interface 130 (FIG. 1A ) generated by therespective application 115. In this example, links are provided to an inventory manager, a product manager, a retail viewer, and to network page server logs. - The
display region 206 corresponds to auser interface 130 generated by anapplication 115. In this example, theuser interface 130 is provided for a network pageserver logs application 115. Thedisplay region 206 includes a list of network page requests 209. Each request in the depicted list of network page requests 209 corresponds to an identification of an instance of a data object type. In particular, each request is a request for anetwork page 133 related to an item, which may be an object type as defined in theobject dictionary 142. The XML or other markup language used to specify thedisplay region 206 may include code that indicates the association of each request in the list of network page requests 209 with an identification of an item, if applicable. In other examples, a request may be associated with an internet protocol (IP) address object type, a browser 151 (FIG. 1A ) object type, anetwork page 133 resource object type, or any other appropriate object type. - In the example of
FIG. 2 , acursor 212 has selected one request from the list of network page requests 209. The selectedobject identification 215 is used to provide anavigational aid 218 for theapplications 115 in the portal 118. Thenavigational aid 218 is illustrated in the form of a pop-over menu, but any other type of user interface component allowing for user selection from multiple items may be used instead. Thenavigational aid 218 may include adescription 221 of the object instance, which in this example includes the name of the object type (“Item”) and the identifier of the instance (“2048”). - The
navigational aid 218 may also include a list ofviews 224 associated with the object type and a list ofactions 227 associated with the object type. The list ofviews 224 and list ofactions 227 may be generated automatically by the portal 118 after reading the application configurations 139 to determine whichapplications 115 provide views 124 (FIG. 1A ) and/or perform actions 127 (FIG. 1A ) for the given object type. When a user selects a link to aview 124 or a link to anaction 127, a request may be sent to the portal 118 orrespective application 115 for the selectedview 124 oraction 127 to be generated or performed for the corresponding instance of the item. - In the non-limiting example of
FIG. 2 , links to threeviews 124 for an item are rendered in the list ofviews 224. The threeviews 124 comprise an inventory manager view, a product manager view, and a retail view. The inventory manager view may be associated with an inventory manager application and may, for example, enable a user to see the quantities of items currently in inventory. The product manager view may be associated with a product manager application and may, for example, enable a user to modify attributes associated with the item, such as title, descriptions, price, shipping weight, hazardous material classification, and so on. The retail view may be associated with a retail viewer application and may, for example, enable a user to view an item as it would be rendered within adetail network page 133 served up on a retail network site. It is understood that not everyapplication 115 may offerviews 124 for a particular object type, and anapplication 115 may offermultiple views 124 for a particular object type in other examples. - In the non-limiting example of
FIG. 2 , links to threeactions 127 for an item are rendered in the list ofactions 227. The threeactions 127 comprise a send order to vendor action, a mark as sale item action, and a copy link to detail page action. The send order to vendor action may be associated with an inventory manager application and may, for example, enable a user to generate and send an order for the item to a vendor. The mark as sale item action may be associated with a product manager application and may, for example, enable a user to mark the item as a sale item, which may include a price adjustment, product highlighting adjustment, and other adjustments. The copy link to detail page action may be associated with a retail viewer application and may, for example, enable a user to copy a uniform resource locator (URL) to thedetail network page 133 of the item from the retail network site to the system clipboard. It is understood that not everyapplication 115 may offeractions 127 for a particular object type, and anapplication 115 may offermultiple actions 127 for a particular object type in other examples. - Referring next to
FIG. 3 , shown is a flowchart that provides one example of the operation of a portion of the portal 118 according to various embodiments. It is understood that the flowchart ofFIG. 3 provides merely an example of the many different types of functional arrangements that may be employed to implement the operation of the portion of the portal 118 as described herein. As an alternative, the flowchart ofFIG. 3 may be viewed as depicting an example of steps of a method implemented in the computing device 103 (FIG. 1A ) or a client 106 (FIG. 1B ) according to one or more embodiments. - Beginning with
box 301, the portal 118 determines whether to use a cached copy of the application configurations 139 (FIG. 1A ). The application configurations 139 indicate views 124 (FIG. 1A ) and/or actions 127 (FIG. 1 ) supported by applications 115 (FIG. 1A ). If a cached copy is not to be used, the portal 118 moves tobox 303 and obtains the application configurations 139 that indicate supportedviews 124 and/oractions 127 from the computing device(s) 103. In one embodiment, the portal 118 may obtain the application configurations 139 from therespective applications 115 directly. In other embodiments, the portal 118 may obtain the application configurations 139 from thedata store 112 or from one or more data files. Otherwise, if a cached copy of the application configurations 139 is to be used, the portal 118 proceeds tobox 304 and obtains the application configurations 139 from a cache, either on thecomputing device 103 or on the client 106 (FIG. 1B ). - Next, in
box 306, the portal 118 obtains a request for a user interface 130 (FIG. 1A ) to anapplication 115 from a client 106 (FIG. 1A ) or a user at a user interface 154 (FIG. 1B ). Inbox 309, the portal 118 proceeds to obtain the requesteduser interface 130 from therespective application 115. - In
box 312, the portal 118 parses theuser interface 130 and determines whether there are anyviews 124 oractions 127 for identified instances of objects in theuser interface 130. In other words, for each object type, views 124 andactions 127 supported byvarious applications 115 are determined. In one non-limiting example, the portal 118 may examine theuser interface 130 for predefined markup that designates instances of an object type. In another non-limiting example, the portal 118 may examine theuser interface 130 and determine by way of heuristics or rules whether an instance of an object type is present. An instance of a certain object type may use, for example, a certain format that is distinguishable from other text. - For each identification of an instance of the object type, the portal 118 may include menus of
views 124 and/oractions 127 as appropriate for the instances of the object type in theuser interface 130. The portal 118 then sends the modifieduser interface 130 to theclient 106 inbox 318. Thereafter, the portion of the portal 118 ends. - If, instead, in
box 312, the portal 118 determines that there are noviews 124 and/oractions 127 for any object instances in theuser interface 130, the portal 118 proceeds directly tobox 318 and sends theunmodified user interface 130 to theclient 106. Thereafter, the portion of the portal 118 ends. - With reference to
FIG. 4 , shown is a schematic block diagram of thecomputing device 103 according to an embodiment of the present disclosure. Thecomputing device 103 includes at least one processor circuit, for example, having aprocessor 403 and amemory 406, both of which are coupled to alocal interface 409. To this end, thecomputing device 103 may comprise, for example, at least one server computer or like device. Thelocal interface 409 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated. - Stored in the
memory 406 are both data and several components that are executable by theprocessor 403. In particular, stored in thememory 406 and executable by theprocessor 403 are theapplications 115, the portal 118, thenetwork page server 121, and potentially other applications. Also stored in thememory 406 may be adata store 112 and other data. In addition, an operating system may be stored in thememory 406 and executable by theprocessor 403. - Referring next to
FIG. 5 , shown is a schematic block diagram of theclient 106 according to an embodiment of the present disclosure. Theclient 106 includes at least one processor circuit, for example, having aprocessor 503 and amemory 506, both of which are coupled to alocal interface 509. To this end, theclient 106 may comprise, for example, a client computer or like device. Thelocal interface 509 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated. Adisplay 148 may be coupled to thelocal interface 509. - Stored in the
memory 506 are both data and several components that are executable by theprocessor 503. In particular, stored in thememory 506 and executable by theprocessor 503 are thebrowser 151, the portal 118, and potentially other applications. An operating system may also be stored in thememory 506 and executable by theprocessor 503. - Referring now to both
FIGS. 4 and 5 , it is understood that there may be other applications that are stored in thememories respective processors - A number of software components are stored in the
memories respective processors processors memories respective processors memories respective processors memories respective processors memories - The
memories memories - Also, the
processors multiple processors memories multiple memories local interfaces FIGS. 1A & 1B ) that facilitates communication between any two of themultiple processors processor memories memories local interfaces processors - Although the
applications 115, the portal 118, thenetwork page server 121, and other various systems described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits having appropriate logic gates, or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein. - The flowchart of
FIG. 3 shows the functionality and operation of an implementation of portions of the portal 118. If embodied in software, each block may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s). The program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as aprocessor - Although the flowchart of
FIG. 3 shows a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be scrambled relative to the order shown. Also, two or more blocks shown in succession inFIG. 3 may be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the blocks shown inFIG. 3 may be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure. - Also, any logic or application described herein, including the
applications 115, the portal 118, and thenetwork page server 121, that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, aprocessor - It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/385,801 US20170097749A1 (en) | 2010-05-27 | 2016-12-20 | Integrating applications in a portal |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/788,485 US9552123B1 (en) | 2010-05-27 | 2010-05-27 | Integrating applications in a portal |
US15/385,801 US20170097749A1 (en) | 2010-05-27 | 2016-12-20 | Integrating applications in a portal |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/788,485 Continuation US9552123B1 (en) | 2010-05-27 | 2010-05-27 | Integrating applications in a portal |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170097749A1 true US20170097749A1 (en) | 2017-04-06 |
Family
ID=57794946
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/788,485 Active 2035-10-26 US9552123B1 (en) | 2010-05-27 | 2010-05-27 | Integrating applications in a portal |
US15/385,801 Abandoned US20170097749A1 (en) | 2010-05-27 | 2016-12-20 | Integrating applications in a portal |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/788,485 Active 2035-10-26 US9552123B1 (en) | 2010-05-27 | 2010-05-27 | Integrating applications in a portal |
Country Status (1)
Country | Link |
---|---|
US (2) | US9552123B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2976373B1 (en) * | 2011-06-10 | 2013-06-14 | Sagemcom Broadband Sas | METHOD FOR DEVELOPING A WEB PORTAL, AN IMPLEMENTING SYSTEM AND COMPUTER PROGRAM PRODUCT THEREFOR |
US11907496B2 (en) * | 2013-02-08 | 2024-02-20 | cloudRIA, Inc. | Browser-based application management |
US10579238B2 (en) | 2016-05-13 | 2020-03-03 | Sap Se | Flexible screen layout across multiple platforms |
US10353534B2 (en) | 2016-05-13 | 2019-07-16 | Sap Se | Overview page in multi application user interface |
US11599369B1 (en) * | 2018-03-08 | 2023-03-07 | Palantir Technologies Inc. | Graphical user interface configuration system |
US11269889B1 (en) * | 2018-05-09 | 2022-03-08 | Christopher James Aversano | Graphical user interface driven programming development environment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7406664B1 (en) * | 2001-06-15 | 2008-07-29 | Microsoft Corporation | System for integrating HTML Web site views into application file dialogs |
US20060129935A1 (en) * | 2004-12-15 | 2006-06-15 | Honeywell International, Inc. | Integrated information management system and method |
US20110154187A1 (en) * | 2009-12-21 | 2011-06-23 | Domainer Inc. | Methods, software and devices for providing server hosted web applications |
-
2010
- 2010-05-27 US US12/788,485 patent/US9552123B1/en active Active
-
2016
- 2016-12-20 US US15/385,801 patent/US20170097749A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US9552123B1 (en) | 2017-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170097749A1 (en) | Integrating applications in a portal | |
US11882180B2 (en) | Dynamic content and cloud based content within collaborative electronic content creation and management tools | |
CN112800370B (en) | Processing method and device of business document, computer equipment and storage medium | |
US8682964B1 (en) | Progressively loading network content | |
US11579902B2 (en) | User interface rendering performance | |
US8843360B1 (en) | Client-side localization of network pages | |
US9552600B1 (en) | Generating and updating recommendations for merchants | |
US7984170B1 (en) | Cross-domain communication in domain-restricted communication environments | |
US20090085921A1 (en) | Populate Web-Based Content Based on Space Availability | |
US9396053B2 (en) | Error handling in a network resource generation environment | |
US8898580B2 (en) | Definition for service interface | |
US10068283B2 (en) | Localization of merchant data | |
US8959426B1 (en) | Loading customer-supplied network page generation code | |
JP2013528859A (en) | Integration of client application and web page | |
US9633386B1 (en) | Display of items from search | |
US20140229533A1 (en) | Client-side network page generation | |
US9270727B1 (en) | Facilitating access to data in network page generation code | |
CN110968314B (en) | Page generation method and device | |
US8862984B1 (en) | Data contracts for network page generation code | |
US9779070B2 (en) | Providing aggregated data to page generation code for network page generation | |
US9734160B1 (en) | Virtual file system for hosted network sites | |
US9734529B1 (en) | Method, system, and computer readable medium for selection of catalog items for inclusion on a network page | |
US11553029B2 (en) | Method and apparatus for HTML construction using the widget paradigm | |
US8538826B1 (en) | Applying restrictions to items | |
US11113461B2 (en) | Generating edit suggestions for transforming digital documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AMAZON TECHNOLOGIES, INC., WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JOHNSTON, SIMON K.;REEL/FRAME:042634/0662 Effective date: 20100526 |
|
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 |
|
STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
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: NON FINAL ACTION MAILED |
|
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: FINAL REJECTION MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: NOTICE OF APPEAL FILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |