System and method for designing and deploying independent application to platform host
Through the IADD system, the hard connection between applications and hosts is broken, and the framework package and application package are used for integration and deployment, solving the problem of inefficient application integration and deployment in the existing technology, achieving efficient and low-cost application deployment and shortening downtime.
Patent Information
- Application Number
- CN202380054213.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-25
- Filing Date
- 2023-05-25
- Publication Date
- 2025-03-04
AI Technical Summary
The prior art has problems of inefficiency and high cost when integrating and deploying applications to cloud platform hosts, especially in the process of application development and host deployment, requiring frequent communication and long Internet connections.
An independent application design and deployment system (IADD) is proposed. By breaking the hard connection between the development platform and the platform host, integrating and deploying it in the form of framework packages and application packages, application development and deployment can be carried out without the need for continuous Internet connection.
It realizes an independent application creation process at the core level of the platform host, efficiently deploying applications to the platform host, minimizing downtime, improving the speed and reliability of application creation, and reducing deployment costs.
Smart Images

Figure CN119563162A_ABST
Abstract
Description
[0001] Priority Document
[0002] This application claims priority to U.S. patent application No. US17 / 824,563, filed May 25, 2022, the entire contents of which are incorporated herein by reference in their entirety. Technical Field
[0003] The present invention relates to a method and standard for application packaging and integration, and more specifically to integrating and deploying application resources into a cloud. Background Art
[0004] Computer systems present certain challenges in developing and installing updates and patches for hosted web applications. Vendors integrate Software as a Service (SaaS) web applications into systems using special delivery installation packages. However, if the vendor needs to integrate / deploy their application (Application) into the cloud, all integration operations must be repeated multiple times for each host or hosting platform. Both the host and hosting platforms have applications that control the host or hosting platform. These applications make it difficult and costly to integrate external (third-party) applications or web services.
[0005] Currently, the integration of applications into hosts and hosting platforms is achieved through controls. In the case of cloud systems, the cloud (or cloud server) is a combination of hardware and software from a hosting provider that provides the functionality of external applications in a client account.
[0006] In the field of cloud computing platforms, there are inefficiencies in the creation and deployment of client applications combined with platform-based operations. For example, cloud computing platforms may face issues related to effective application development and / or host deployment. Software as a Service (SaaS) web application development is usually closely related to the platform host. All related processes for developing new applications are closely linked to the platform host stack deployment. This approach also has to solve application-related background issues at the core level, which brings inconvenience and time loss.
[0007] The main disadvantage of conventional techniques is that in the process of creating and deploying new applications, the platform host needs to communicate with the package during application development, and the package contains an uncertain test environment. In addition, conventional techniques require excessively long deployment times and require a continuous Internet connection during application creation. In view of this, there is an urgent need in the art for an efficient and low-cost method to integrate the application itself, application updates and patches into the cloud platform host. Summary of the invention
[0008] The embodiment of the present invention proposes independent application design and deployment to the platform host.
[0009] According to an embodiment of the present invention, a system and method for independent application design and deployment to platform host (IADD) is provided to improve the application development process. The IADD technical solution effectively solves the above technical problems, provides an independent application creation process at the core level of the platform host, and efficiently deploys the application to the platform host, thereby minimizing downtime.
[0010] The present invention provides an IADD system and method for creating, sharing, and integrating supplier applications. The application development and deployment system and method may include: a host platform communicates with a framework package corresponding to an application framework, the framework package including software abstraction for providing common functions when developing supplier applications; the host platform receives an application package corresponding to the supplier application, the application package including multiple metadata files, control method descriptions, and content files; and integrates the application packages to generate an integration of supplier applications based on the application framework.
[0011] According to some embodiments, the IADD system and method are different from the prior art in that, when developing an application, the rigid connection between the application and the host is broken. The host "adopts" an application that is already able to run and is easy to deploy to the host. In this case, there is no need for a continuous Internet connection even when developing an application. Due to the operation of the host, conventional systems and methods require several hours just to develop a new application. According to an exemplary embodiment, the platform host is separated from the application development process, which brings many technical effects. New applications can be created and tested before the host is deployed, so that reliable applications can be generated when deployed. In addition, during application development, there is no need to repair faults caused by the host core layer, thereby solving other problems in traditional technologies. The IADD system and method can achieve efficient application creation in terms of speed, reliability and resource conservation. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 An example operating environment is depicted in which a standalone application is designed and deployed to a system of a platform host in accordance with some embodiments.
[0013] Figure 2 A system is depicted in which standalone applications are designed and deployed to a platform host in accordance with some embodiments.
[0014] Figure 3 A method of deploying to a platform host in an IADD system according to some embodiments is described.
[0015] Figure 4 Depicted is the integration of rendering applications by a platform host in an IADD system according to some embodiments.
[0016] Figure 5 Depicted is the integration of rendering applications by a platform host in an IADD system according to some embodiments.
[0017] Figure 6 A handshake method between a platform host and an application rendered by the platform host in an IADD system is described according to some embodiments.
[0018] Figure 7 An example computing device is shown in accordance with an example embodiment. DETAILED DESCRIPTION
[0019] In order to promote the understanding of the principles of the present disclosure, the following embodiments are described in specific language in conjunction with the embodiments shown in the drawings, but it should be understood that this is not intended to limit the scope of protection of the present disclosure.
[0020] The embodiments of the present disclosure may be implemented by hardware, firmware, software, or any combination thereof. The embodiments of the present disclosure may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable medium may include a read-only memory (ROM); a random access memory (RAM); a disk storage medium; an optical storage medium; a flash memory device, etc. In addition, firmware, software, routines, and instructions may be described herein as performing certain actions. However, it should be understood that such descriptions are only for the sake of narrative convenience, and such actions are actually due to a computing device, processor, controller, or other device executing firmware, software, routines, instructions, etc.
[0021] It should be understood that the operations shown in the exemplary method are not exhaustive, and other operations may be performed before, after, or between any of the operations shown. In some embodiments of the present disclosure, operations may be performed in different orders and / or in different ways.
[0022] APPLICATION CREATION
[0023] To solve the above technical problems, the present invention provides an IADD system and method. The IADD system and method provide a dedicated layer for supplier applications, which is a local layer and independent of the platform host. In this way, application development can be achieved even in a non-persistent Internet connection mode.
[0024] Figure 1 FIG. 2 shows an IADD system according to some embodiments. Figure 1 As shown, the IADD system 100 provides a multi-project ecosystem, and the projects can be separated based on functions, responsibilities, teams, etc. The IADD system 100 includes a development platform 110 , a bundle 120 , and a platform host (hosting cloud) 130 .
[0025] As shown, the application creation in the development platform 110 is separate from the platform host 130 itself. According to an exemplary embodiment, one or more frameworks associate the applications of the development platform 110 with the (production) applications of the platform host 130. That is, the framework interconnects the respective applications. The framework includes the basic templates required for the application and testing on the development platform 110. The framework also includes the necessary specific means for integrating and deploying the application in the platform host (hosting cloud) 130.
[0026] In an exemplary embodiment, the development platform 110 includes an application 102 and a framework 104. The application 102 may include code written by a developer. The framework 104 (e.g., VUE) may provide software abstractions for providing common functions that may be selectively adapted and implemented by the application 102, thereby providing application-specific software for building user interfaces, etc. The framework 104 may provide such abstractions based on standard programming languages (e.g., HTML, CSS, JavaScript, etc.), thereby providing a component-based declarative programming model, allowing efficient development of application-specific software (such as user interfaces, whether simple or complex).
[0027] When the IADD 100 is configured to deploy the application 102, the development platform 110 can generate an application bundle 120 that implements the application 102 and the framework 104 as independent applications packaged into a container. According to an exemplary embodiment, a developer (e.g., a cloud application provider, etc.) can bundle the application 102 and the framework 104 according to the APS. The format of the bundle depends on the receiver, such as the platform host 130. If the receiver is a standard WINDOWS desktop, the software can be packaged using a standard installer with a file extension of *.exe or *.msi. The installer includes unpacking rules, including user dialog boxes, writing to the registry, checking for updates, etc. In the case of APS, the bundle extension may be app.zip, including metadata, scripts, and the software code itself.
[0028] The exemplary development application 102 is transferred to the platform host 130 via the application bundle 120. The platform host 130 internally generates an application 132. The platform host 130 includes the application 132 and a framework 134, an adapter 136, and an Application Packaging Standard (APS) module 138.
[0029] The adapter 136 connects the framework 104 / 134 to the platform host at runtime, thereby rendering the interpreted application 132 and the framework 134 as a web application, providing an interface to the client via the APS module 138 .
[0030] The APS module 138, also known as a control or an application packaging control, is a runtime module configured to distribute the application 132 to the client 140. Figure 1 As shown, an application can be delivered to one client or multiple clients. APS is a specification that defines the life cycle of an application 132 in the cloud. The life cycle of an application includes packaging, delivery to the cloud, integration (and unpacking / deployment) to the cloud, distribution to clients, licensing, functionality, updates, and deletions. APS may include an application programming interface (API) for accessing APS functions based on program code or through http / https requests. APS provides efficient integration of SaaS web applications (such as application 132) into the cloud. According to an exemplary embodiment, in order for the application to run according to APS, the APS module 138 (i.e., a control) is integrated into the software hosting platform (platform host 140) that hosts the cloud.
[0031] The APS module 138 acts as a connector for controlling the application 132. The APS module 138 receives application control requests, and the APS module 138 distributes the requests to the appropriate scripts of the application APS package 120. The response of the application 132 to the client 140 (outside the cloud 100) is also processed by the control module 110 and provided to the client 125. In order to integrate the application, the APS module 138 applies the framework 134, and can verify the format and structure of the application package (e.g., the bundle 120), the metadata of the metadata file, and at least one application programming interface (API) function of the vendor application one by one.
[0032] Figure 2 The communication between the application and the platform host is shown. Figure 2 As shown, system 200 includes a local development application 210 and a platform host 230. Local development application 210 includes an adaptive layout framework 220 (skeleton) and a preset module 222, and preset module 222 may include a rapid development system preset. A preset may, for example, include one or more plug-ins and some optional configurations. For example, a preset may include plug-ins / options bundled with other configuration options, so that selecting a preset means selecting all of these options.
[0033] For example, the default preset may include plugins (e.g., Babel, Typescript, Vuex, ESLint, Unit-Jest, etc.) as options / features. If the developer selects the default preset, a local development application 210 may be created and utility modules may be installed during project creation. Additionally or alternatively, the developer may also manually select the desired options and plugins. Presets allow for faster project creation. The preset module 222 is operable to communicate with the adaptive layout framework 220 (skeleton).
[0034] As mentioned above, environment preparation is supplemented by a framework as a layer. The framework includes everything needed for a new application isolated from the production stack and can also be used for testing. As detailed below, the application can be compiled into a bundle file to dynamically communicate to the platform host, thereby optimizing the communication and implementation with the platform host. The bundle file can be prepared as a set of asynchronous web components that can communicate part by part when opening a new application page representation.
[0035] According to some embodiments, the platform host 230 may include a UX (User Experience) framework module 240, a UX-UI (UX User Interface) toolkit module 250, and a UX-UI theme module 260. The UX framework module 240 includes runtime components for runtime operation, local development, and testing. For example, the platform host 230 may be an embodiment of the platform host 130. In some embodiments, the platform host 230 may include a UX-UI toolkit module 250, which includes a tool for creating ready-made forms via a mockup using a set of components (UI blocks) as a private part integrated into the UX framework module 240. The repository provided by the UX-UI theme module 260 includes design tokens, global styles, and override styles, i.e., elements representing design decisions and values.
[0036] Different from the conventional deployment process, a Hot Module Replacement (HMR) process can be performed to allow the application 210 to be developed using a framework environment (e.g., corresponding to the UX framework 240). Thus, the developer can evaluate changes to the application 210 without causing the application to be deployed to the platform host 230.
[0037] Platform host 230 may receive the first indicator from IADD system 200. According to some embodiments, platform host 230 may be triggered to request the status of native development application 210 in response to a prompt from IADD system 200, a request from a native development platform, a pre-scheduled event, or the like, for example.
[0038] In response to receiving the first indicator, the platform host 210 performs an operation of receiving the development application 210. In some embodiments, the platform host may request the transfer of the development application 210 and wait for the transfer. In some embodiments, the transfer is performed asynchronously.
[0039] After the platform host 230 receives the transmission containing the development application 210, it can then execute the process of integrating the application. In some embodiments, the platform host 230 continues the runtime of the current version of the application (which can be the APS runtime) and integrates the application to minimize downtime. For example, in some embodiments, the platform host 230 can synchronize application web components to integrate applications. In some embodiments, the platform host 230 can provide a supplementary layer (e.g., framework 240) for the development platform. Framework 240 can include basic abstractions of the operating environment, enabling the development platform to be configured as needed to develop applications in the form of isolated stacks. Framework 240 provides basic support for application architectures used for application development and testing.
[0040] A compiled bundle file may be provided that can be dynamically downloaded to the platform host. This allows for optimized file downloads to the platform host. The bundle file may be prepared as one or more asynchronous web components that can be incrementally downloaded when the APS adapter renders a new page (i.e., route or application representation).
[0041] At the same time, the final bundle file does not contain the code of the main vendor library. The code is downloaded directly from the framework 240 to the host. In this way, the deployment of the application can minimize the size of the bundle file, where the bundle file only contains specific business layer code. The IADD system and method allow the organization of web components to optimize platform host deployment. The web components provide a new isolated application layer independent of the platform host.
[0042] Accordingly, the new application configured by the IADD system and method exists in parallel with the old application, and these applications do not affect each other. In other words, under the optimal platform host load, the new and old applications coexist.
[0043] Providing supplementary features in a framework for native application development (eg, adaptive layout framework 220) enables a convenient debugging process, which may include using specific real-time means, such as utilities (eg, VUE DEVTOOLS) that help developers develop applications.
[0044] Due to the independent application creation mode, there is no need to send the code to the stack for inspection every time, which can speed up the application creation and achieve the set business goals faster, which is not possible with existing technologies. Such process organization makes the process more convenient and saves time. Other advantages include the deployment of more reliable applications and patches. The same environment is prepared for runtime, testing and local development through the framework. At the framework level, development work can be concentrated on specific business layers considering each potential runtime use case. In this way, a smooth transition from the old workflow to the new workflow can be achieved, allowing incremental development while minimizing unnecessary downtime.
[0045] Integration
[0046] Figure 3 The IADD method 300 for deploying new workloads to the integration while the APS is running is shown. Using specific description parameters, new applications can be deployed using a framework including the APS integration means. According to an embodiment of the present invention, the IADD method 300 allows new and old applications to work in parallel.
[0047] like Figure 3 As shown, at operation 310, the platform host 230 can receive application metadata corresponding to an application (such as an APS application). At operation 320, the platform host 230 determines whether to load the framework. Based on the determination, the platform host (e.g., in the UX framework module 240) can retrieve and start the framework as a supplementary layer, which can include basic abstractions of the operating environment. Thus, the platform host 320 is configured to maintain supplementary support at runtime, including support for application architectures in development. These supplementary features enable a convenient troubleshooting and debugging process and minimize downtime for production applications (such as APS runtimes).
[0048] Figure 4 The IADD system 400 is shown, which includes a container as a control, and uses a set of web components to represent the application. Figure 4 As shown, in order to render application 410 to a client (eg, client 130 ), application 410 itself is represented as a set of web components, such as routing 420 .
[0049] System 400 includes one or more containers, which are used as controls 415 of application 410. Control 415 acts as an upper layer of one or more web components, and is configured to organize the processes and operations of other web components (i.e., routing 420). Routing 420 is a web component that can be provided, and its organizational structure can be implemented by control 415. Routing array 420 includes one or more routes, and provides a page navigation (routing) library in an application (e.g., a web application). Each route 420 is another view that web application 410 can render (e.g., current route 422) or hide according to a request such as user navigation. Application 410 can include a specific representation with an internal physical structure. Therefore, application 410 itself represents a web component configured to control other web components, i.e., routing 420.
[0050] Figure 5 5 shows a browser application deployment process 500. Figure 5 As shown, the browser application deployment process 500 may include an operation 501 of initializing a localization scheme 505 to configure a web component.
[0051] In operation 502 , the control 510 integrates the web component configured by the localization scheme 501 into the container 515 . For example, the initial (ie, home page) route may be integrated into the container 515 .
[0052] Operation 503, application deployment may include an operation of splitting the bundle into application bundle blocks 520. Operation 503 may include integrating each bundle block 520, and each bundle block 520 may include or correspond to a specific network routing component.
[0053] After adding each web component to the browser, the initial application lifecycle may continue at operation 504. Operation 504 may include rendering the configured application for a client (eg, client 140).
[0054] PLATFORM HOST HAND-SHAKING
[0055] Figure 6 Flow 600 of executing a newly deployed application (for example, application 102 deployed as application 132, application 210, application 410, etc.) is shown. Flow 600 may include a handshake between an application provided by a local development platform (for example, platform 110) and a platform host (for example, platform host 130) to deploy the application to the runtime. Figure 6 As shown, after developing the application, you can deploy the application to the platform host.
[0056] In operation 605 , the platform host 601 may perform operations corresponding to the creation of the web component, for example, transferring the connected web component to an application (eg, a container, such as a main container).
[0057] Operation 610 , installing the connected web component to the container 602 . Operation 610 may include initiating a handshake between the container 602 and the platform host 601 .
[0058] At operation 615 , the container 602 and the platform host 601 may communicate data including a first indicator (eg, a flag) to indicate that the application is ready for deployment.
[0059] At operation 620 , the platform host 601 waits for communication of the first indicator. After receiving the first indicator, the platform host 601 may be configured to start a deployment process, which may be an embodiment of the deployment process 500 or the like.
[0060] At operation 625 , upon receiving the first indicator, the platform host 601 may be configured to integrate the corresponding application parameters, as described above.
[0061] At operation 630 , after configuring the application parameters, the platform host 601 may communicate data including a second indicator to indicate that the application has been deployed.
[0062] At operation 635, the application waits for communication of a second indicator. Upon receiving the second indicator, at operation 640, container 602 sets parameters (e.g., "public" parameters) of the application to allow the application to be rendered through the runtime process. Operation 640 may, for example, include setting parameters to allow platform host 130 to render the APS runtime for client 140.
[0063] Event System
[0064] According to an exemplary embodiment, the present invention provides an event-based system interaction method that allows collaboration between a vendor application development platform and a platform host. For example, the event-based system interaction method includes one or more processes to create a specific event-controllable system, which can be an embodiment of system 100. The event-based system interaction method can achieve collaboration between the vendor application development platform and the platform host without rigid communication, thereby allowing independent changes to vendor applications. This event-based method has advantages over conventional processes that rigidly require interdependence between the development platform and the platform host, while allowing local development and host runtime environments to be managed as predictable operations.
[0065] According to some embodiments, the interaction between the host platform and the vendor application development platform also allows for collaboration of one or more platform frameworks between the platform host and the development platform. According to exemplary embodiments, these interactions may include: (A) the vendor application development platform sends events involving one or more frameworks to the platform host; (B) the vendor application development platform subscribes to platform host events. In some embodiments, (1) private events involving one or more frameworks may be transmitted from the application to the host platform, such as internal use events; (2) private events may be transmitted from the platform host to the application, such as internal use; (3) public events involving one or more frameworks may be transmitted from the application to the platform host, such as public use by UX1 framework developers; (4) public events may be transmitted from the platform host to the vendor application development platform, such as abstractions for providing common functions that may be selectively adapted and implemented by application 102.
[0066] This event-based approach can be configured to perform basic system communications. For example, such communications can include information for routing, notifications, sending analytical data (such as GOOGLE analytical data), etc. This event-based approach can be configured to perform shared components involving application features.
[0067] The above technical solution is very flexible and can be extended to any number of new features (system communication) without restriction. A proprietary framework system is used between the platform host and the application for two-way system interaction, which may include providing one or more web components configured to organize the interaction at the local browser level. According to some embodiments, the IADD event system allows independent changes to the application and platform host in development without rigid bundling or dependency.
[0068] For example, various embodiments may be implemented using one or more computer systems, such as Figure 7 The computer system 700 shown in FIG. 1 may be used to implement any of the embodiments described herein and any combinations and sub-combinations thereof. For example, the computer system 700 may be used to implement the system 100 (including Figure 1 Framework 104 / framework 134), method 600 for communication handshake between platform host and application, and / or any other implementation of the embodiments of the present disclosure.
[0069] Computer system 700 may include one or more processors (also called central processing units or CPUs), such as processor 704. Processor 704 may be connected to a communication infrastructure or bus 706.
[0070] The computer system 700 may also include user input / output devices 708 , such as a monitor, keyboard, pointing device, etc., which may communicate with the communication infrastructure 706 through the user input / output interface 702 .
[0071] One or more processors 704 may be a graphics processor. In some embodiments, a GPU may be a processor, i.e., a specialized electronic circuit designed to process mathematically intensive applications. A GPU may have a parallel structure, efficiently processing large blocks of data (such as mathematically intensive data commonly found in computer graphics applications), images, videos, etc. in parallel.
[0072] The computer system 700 may also include a main memory or primary storage 708, such as a random access memory (RAM). The main memory 708 may include one or more levels of cache. The main memory 708 may store control logic (ie, computer software) and / or data.
[0073] The computer system 700 may also include one or more secondary storage devices or memories 710. The secondary storage 710 may include, for example, a hard disk drive 712 and / or a removable storage device or drive 714. The removable storage drive 714 may be a floppy disk drive, a magnetic tape drive, an optical disk drive, an optical storage device, a tape backup device, and / or any other storage device / drive.
[0074] The removable storage drive 714 can interact with the removable storage unit 718. The removable storage unit 718 may include a computer usable or readable storage device that stores computer software (control logic) and / or data. The removable storage unit 718 may be a floppy disk, a magnetic tape, an optical disk, a DVD, an optical storage disk, and / or any other computer data storage device. The removable storage drive 714 can read and / or write to the removable storage unit 718.
[0075] Secondary memory 710 may include other means, devices, components, tools, or other approaches that allow computer system 700 to access computer programs and / or other instructions and / or data. Such means, devices, components, tools, or other approaches may include, for example, a removable storage unit 722 and an interface 720. Examples of removable storage unit 722 and interface 720 may include a program cartridge and a cartridge interface (such as a program cartridge and cartridge interface in a video game device), a removable memory chip (such as an EPROM or PROM) and an associated socket, a memory stick and a USB port, a memory card and an associated memory card slot, and / or any other removable storage unit and an associated interface.
[0076] The computer system 700 may also include a communication or network interface 724. The communication interface 724 may enable the computer system 700 to communicate and interact with any combination of external devices, external networks, external entities, etc. (individually and collectively labeled with reference numeral 728). For example, the communication interface 724 may allow the computer system 700 to communicate with an external or remote device 728 via a communication path 726, which may be wired and / or wireless (or a combination thereof) and may include any combination of a LAN, a WAN, the Internet, etc. Control logic and / or data may be transferred to / from the computer system 700 via the communication path 726.
[0077] The computer system 700 may also be any personal digital assistant (PDA), desktop workstation, laptop or notebook computer, netbook, tablet computer, smart phone, smart watch or other wearable device, appliance, local Internet of Things and / or embedded system (to name a few non-limiting examples), or any combination thereof.
[0078] Computer system 700 can be a client or server accessing or hosting any application and / or data through any delivery paradigm, including but not limited to remote or distributed cloud computing solutions; local or internal software ("internal" cloud solutions); "as a service" models (e.g., content as a service (CaaS), digital content as a service (DCaaS), software as a service (SaaS), hosted software as a service (MSaaS), platform as a service (PaaS), desktop as a service (DaaS), framework as a service (FaaS), backend as a service (BaaS), mobile backend as a service (MBaaS), infrastructure as a service (IaaS), etc.); and / or hybrid models, including any combination of the foregoing examples or other services or delivery paradigms.
[0079] Any available data structures, file formats, and schemas in computer system 700 may be derived from standards including, but not limited to, JavaScript Object Notation (JSON), Extensible Markup Language (XML), another markup language (YAML), Extensible Hypertext Markup Language (XHTML), Wireless Markup Language (WML), message packages, XML User Interface Language (XUL), or any other functionally similar representation (alone or in combination). Alternatively, proprietary data structures, formats, or schemes may be used alone or in combination with known or open standards.
[0080] In some embodiments, a tangible non-transitory device or article of manufacture including a tangible non-transitory computer-usable or readable medium storing control logic (software) may also be referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system 700, main memory 708, secondary memory 710, and removable storage units 718 and 722, and tangible articles of manufacture implementing any combination of the foregoing. Such control logic, when executed by one or more data processing devices (such as computer system 700), may cause such data processing devices to operate as described herein.
[0081] It should be understood that the operations shown in the exemplary method are not exhaustive, and other operations may be performed before, after, or between any of the operations shown. In some embodiments of the present disclosure, operations may be performed in different orders and / or in different ways.
[0082] It should be understood that the detailed description section, rather than the summary and abstract sections, is intended to be used to interpret the claims. The summary and abstract sections may set forth one or more but not all exemplary embodiments of the invention contemplated by the inventor, and are not intended to limit the invention and the appended claims in any way.
[0083] The present invention is described above by means of functional building blocks that illustrate implementation of specified functions and relationships thereof. For ease of description, the boundaries of these functional building blocks are arbitrarily defined herein. Alternative boundaries may be defined as long as the specified functions and relationships thereof are appropriately performed.
[0084] The above description of specific embodiments will fully reveal the overall nature of the present invention. Without departing from the overall concept of the present invention, others can easily modify and / or rectify various applications (such as specific embodiments) by applying common sense of those skilled in the art without excessive experimentation. Therefore, based on the teachings and guidance proposed herein, such rectifications and modifications are intended to fall within the meaning and scope of the equivalent schemes of the disclosed embodiments. It should be understood that the wording or terminology herein is for descriptive rather than restrictive purposes, so that the terms or wording of this specification should be interpreted by the technician according to teaching and guidance.
[0085] The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments but should be defined only in accordance with the following claims and their equivalents.
Claims
1. A method for creating, sharing, and integrating a vendor application into a host platform, comprising: A framework package corresponding to the application framework communicated by the host platform, wherein the framework package includes software abstractions for providing common functions when developing vendor applications; receiving, by the host platform, an application package corresponding to a vendor application, wherein the application package includes a plurality of metadata files, a control method description, and a content file; and The application packages are integrated to generate an integration of the vendor applications based on the application framework.
2. The method according to claim 1, further comprising: The application packaging control updates one or more integrated applications corresponding to the application package.
3. The method according to claim 1, wherein: The integration includes providing one or more update services from the application package to extend integration functionality associated with the application package of the vendor application.
4. The method according to claim 1, wherein: The integration includes applying one or more presets using one or more plug-in components.
5. The method according to claim 1, further comprising: A handshake is performed between the vendor application provided by the application package and the host platform, wherein the handshake includes installing one or more web components and setting public parameters of the application to allow access to the one or more web components.
6. The method according to claim 1, wherein: The integration includes generating one or more routes as a web component having an organizational structure implemented by a control of the host platform, wherein the host platform is configured to render each of the one or more routes.
7. The method according to claim 1, further comprising: An application bundle implementing a vendor application in a container is generated, wherein the receiving includes receiving the application bundle and splitting the application bundle into one or more bundle blocks, each bundle block including a specific web routing component.
8. A system for creating, sharing, and integrating applications, comprising a processing system having one or more processors executing computer executable instructions, the computer executable instructions causing the processing system to: The framework package corresponding to the application framework communicated by the host platform, where: The framework package includes software abstractions for providing common functionality when developing vendor applications; receiving, by the host platform, an application package corresponding to a vendor application, wherein the application package includes a plurality of metadata files, a control method description, and a content file; as well as The application packages are integrated to generate an integration of the vendor applications based on the application framework.
9. The system according to claim 8, further comprising: The application packaging control updates one or more integrated applications corresponding to the application package.
10. The system according to claim 8, wherein: The integration includes providing one or more update services from the application package to extend integration functionality associated with the application package of the vendor application.
11. The system according to claim 8, wherein: The integration includes applying one or more presets using one or more plug-in components.
12. The system of claim 8, further comprising: A handshake is performed between the vendor application provided by the application package and the host platform, wherein the handshake includes installing one or more web components and setting public parameters of the application to allow access to the one or more web components.
13. The system according to claim 8, wherein: The integration includes generating one or more routes as a web component having an organizational structure implemented by a control of the host platform, wherein the host platform is configured to render each of the one or more routes.
14. The system of claim 8, further comprising: An application bundle implementing a vendor application in a container is generated, wherein the receiving includes receiving the application bundle and splitting the application bundle into one or more bundle blocks, each bundle block including a specific web routing component.
15. A computer program product for creating, sharing, and integrating applications, comprising computer readable program code executable by at least one processor when retrieved from a non-transitory computer readable medium, the program code comprising instructions configured to: The framework package corresponding to the application framework communicated by the host platform, where: The framework package includes software abstractions for providing common functionality when developing vendor applications; receiving, by the host platform, an application package corresponding to a vendor application, wherein the application package includes a plurality of metadata files, a control method description, and a content file; as well as The application packages are integrated to generate an integration of the vendor applications based on the application framework.
16. The computer program product of claim 15, further comprising: The application packaging control updates one or more integrated applications corresponding to the application package.
17. The computer program product of claim 15, wherein: The integration includes providing one or more update services from the application package to extend integration functionality associated with the application package of the vendor application.
18. The computer program product of claim 15, further comprising: A handshake is performed between the vendor application provided by the application package and the host platform, wherein the handshake includes installing one or more web components and setting public parameters of the application to allow access to the one or more web components.
19. The computer program product of claim 15, wherein: The integration includes generating one or more routes as a web component having an organizational structure implemented by a control of the host platform, wherein the host platform is configured to render each of the one or more routes.
20. The computer program product of claim 15, further comprising: An application bundle implementing a vendor application in a container is generated, wherein the receiving includes receiving the application bundle and splitting the application bundle into one or more bundle blocks, each bundle block including a specific web routing component.