US20040187140A1 - Application framework - Google Patents

Application framework Download PDF

Info

Publication number
US20040187140A1
US20040187140A1 US10/657,726 US65772603A US2004187140A1 US 20040187140 A1 US20040187140 A1 US 20040187140A1 US 65772603 A US65772603 A US 65772603A US 2004187140 A1 US2004187140 A1 US 2004187140A1
Authority
US
United States
Prior art keywords
business
framework
composite application
business object
operable
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
Application number
US10/657,726
Inventor
Werner Aigner
Joerg Beringer
Stefan Mueller
Shai Agassi
Dennis Moore
Juergen Hagedorn
Udo Waibel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/657,726 priority Critical patent/US20040187140A1/en
Priority to PCT/EP2004/002990 priority patent/WO2004084067A1/en
Priority to EP04721895A priority patent/EP1606710A1/en
Priority to EP04722268A priority patent/EP1625468A2/en
Priority to PCT/EP2004/003047 priority patent/WO2004083984A2/en
Priority to US10/550,446 priority patent/US8069437B2/en
Assigned to SAP AKTIENGESELLSCHAFT reassignment SAP AKTIENGESELLSCHAFT ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MOORE, DENNIS B., WAIBEL, UDO, AGASSI, SHAI, AIGNER, WERNER, BERINGER, JOERG, HAGEDORN, JUERGEN, MUELLER, STEFAN
Publication of US20040187140A1 publication Critical patent/US20040187140A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Definitions

  • a framework for a composite application that is, an application built on other applications—includes an object access layer, a service layer, and a user interface layer.
  • the object access layer is operable to exchange data with a plurality of enterprise base systems and to present the data to a composite application through a uniform interface.
  • the service layer is operable to provide services to the composite application.
  • the user interface layer is operable to provide user interface patterns that facilitate information exchange between the composite application and a user.
  • a composite application may include business objects, business services, and business processes.
  • a business service may be an action performed on a business object, and a business process may be a combination of business services.
  • a composite application framework includes a database for composite application data, wherein an object access layer is operable to provide local persistency in the database.
  • the object access layer may be operable to provide data synchronization and replication of enterprise base system data in the database.
  • a service layer includes a collaboration services module operable to provide a collaboration service to a composite application and a workflow services module operable to provide a workflow to a composite application.
  • a collaboration services module may be operable to link a semantic object to a business object of a composite application.
  • a workflow may include templates, workflow patterns, and actions, a template describing a workflow, workflow patterns describing portions of the template, and actions executing functions to carry out the workflow patterns.
  • a service layer further includes a container for composite application services, the container operable to provide interfaces for non-framework-generated code.
  • a user interface layer includes a user interface framework that separates the user interface elements from the composite application so that the user interface is decoupled from the logic.
  • a composite application framework includes a business object modeler and a business object generator.
  • the business object modeler may be operable to provide a user interface for constructing a business object
  • the business object generator may be operable to generate an executable version of the modeled business object.
  • a business object modeler may include an object modeler and a relation modeler.
  • a business object generator may include a generator framework and a persistency generator. Additionally, the business object generator may be operable to code a business object template with metadata and relation data for a business object to generate an executable version of the modeled business object. Furthermore, a business object generator may be operable to generate tables and proxies for a business object.
  • Another general aspect includes a method for implementing a composite application in a framework.
  • the method may include generating executable code for a composite application, exchanging data with a plurality of enterprise base systems, presenting the enterprise base system data to the composite application through a uniform interface, and facilitating a user's interaction with the composite application through user interface patterns.
  • a composite application may include business objects, business services, and business processes, wherein a business service is an action performed on a business object, and a business process is a combination of business services.
  • the method may be implemented by hand, machine, an article including a machine-readable medium storing instructions, or otherwise.
  • generating executable code for a composite application includes coding a template with business object metadata and relation data. In some of these implementations, generating executable code further includes generating tables and proxies for a business object.
  • Certain implementations may include providing local persistency in a database for composite application data. These implementations may include providing data synchronization and replication of enterprise base system data in the database.
  • Particular implementations may include providing a collaboration service to a composite application and providing a workflow to a composite application.
  • Certain implementations may include providing a container for composite application services, the container operable to provide interfaces for non-framework-generated code portions.
  • Some implementations may include providing user interfaces to model a composite application, the user interfaces allowing specification of attributes and relations for a business object of the composite application. These implementations may further include generating metadata for the business object and relations based on the specifications.
  • a framework for developing and implementing a composite application includes a database, an object access layer, a service layer, a user interface layer, a business object modeler, and a business object generator.
  • the database is operable to store composite application data
  • the object access layer is operable to exchange data with a plurality of enterprise base systems, present the data to a composite application through a uniform interface, provide local persistency in the database, and provide data synchronization and replication of enterprise base system data in the database.
  • the service includes a collaboration services module operable to provide a collaboration service to the composite application and a guided procedure services module operable to provide a guided procedure to the composite application.
  • the user interface layer is operable to provide user interface patterns for displaying information relating to the composite application, and includes a user interface framework that separates the user interface elements from the composite application so that the user interface is decoupled from the logic.
  • the business object modeler is operable to provide a user interface for constructing a business object of the composite application, and the business object generator is operable to generate an executable version of the modeled business object.
  • a composite application may include business objects, business services, and business processes, wherein a business service includes an action performed on a business object, and a business process includes a combination of business services.
  • a business object modeler may include an object modeler and a relation modeler.
  • a business object generator may include a generator framework and a persistency generator.
  • a business object generator may be operable to code a business object template with metadata and relation data for a business object to generate an executable version of the modeled business object and to generate tables and proxies for a business object.
  • a collaboration services module is operable to link a semantic object to a business object of the composite application.
  • a guided procedure includes templates, workflow patterns, and actions, a template describing a guided procedure, workflow patterns describing portions of the template, and actions executing functions to carry out the workflow patterns.
  • a service layer further includes a container for composite application services, the container operable to provide interfaces for non-framework-generated code.
  • FIGS. 1 A-B are block diagrams illustrating an example integrated enterprise management system.
  • FIG. 2 is a block diagram illustrating an example framework for a composite application.
  • FIG. 3 is a block diagram illustrating another example framework for a composite application.
  • FIG. 4 is a block diagram illustrating design-time components for a composite application framework.
  • FIGS. 5 A-I are user interfaces that illustrate an implementation of a business object modeler.
  • FIG. 6 is a block diagram illustrating run-time components for a composite application framework.
  • FIGS. 7 A-B are block diagrams illustrating components for guided procedures for a composite application framework.
  • FIGS. 8 A-K are user interfaces that illustrate an implementation of a guided procedure.
  • FIG. 9 is a user interface illustrating collaboration services.
  • FIG. 10 is a block diagram of a user interface framework for a composite application framework.
  • a framework may be used to develop and implement a composite application, which overlays an enterprise IT platform and uses it to implement processes that are not the core enterprise transactional processes. That is, a composite application may orchestrate a business process in synchronization with existing processes (e.g., native processes of enterprise base systems) and leverage existing investments in the IT platform. Furthermore, composite applications may be run on a heterogeneous IT platform. In doing so, composite applications may be cross-functional. That is, they may drive business processes across different applications, technologies, and organizations. Accordingly, composite applications may drive end-to-end business processes across heterogeneous systems.
  • composite applications may be combined with each other in order to enlarge the process coverage.
  • Composite applications may also support semi-structured processes, tackle event-driven and knowledge-based scenarios, and support a high degree of collaboration in teams. In teams, for example, people may work on specific tasks in specific roles in specific teams.
  • Composite applications may relate knowledge, structured information, and/or unstructured information within the context of a business process and may be triggered by events, aggregate and contextualize information, and drive collaboration and transactions.
  • Different applications supported by different frameworks may have any combination of these characteristics. Thus, different implementations of the framework may be used for developing and implementing various types of applications.
  • FIGS. 1 A-B illustrate an example integrated enterprise management system 100 .
  • clients 110 access data over a communication network 120 through a portal 130 .
  • Network 120 may be any appropriate type of communication network, such as, for example, a local area network (LAN), a wide area network (WAN), an enterprise network, a virtual private network (VPN), the Internet, and/or the Public Switched Telephone Network (PSTN).
  • Clients 110 may be any machines or processes capable of communicating over network 120 .
  • clients 110 may be Web Browsers and, optionally, may be communicatively coupled with network 120 through a proxy server.
  • Portal 130 provides a common interface to program management services.
  • portal 130 receives requests from clients 110 and generates information views 131 (e.g., Web pages) in response.
  • the portal may implement a user-role based system to personalize the common interface and the information views 131 for a user of one of clients 110 .
  • a user may have one or more associated roles that allow personalized tailoring of a presented interface through the generated information views 131 .
  • the portal may includes a security component, a content directory component, a view builder, a content management component, and one or more service interfaces to an enterprise management consolidation system 140 .
  • the security component may protect data transmission using encryption (e.g., Secure Socket Layers (SSL)), digital signatures, and/or watermarking.
  • the view builder may create role-based interactive views (e.g., Web pages) for presentation to users.
  • the content management component may include a retrieval and classification component (e.g., Text Retrieval and Extraction (TREX) component) and a collaboration component.
  • the retrieval and classification component may automatically analyze unstructured components to identify know-how.
  • the service interfaces could include an Internet Transaction Server (ITS) component, various connectors, such as a Java Connector, and a Business Intelligence platform.
  • ITS Internet Transaction Server
  • Portal 130 communicates with enterprise management consolidation system 140 , which consolidates multiple application services.
  • Portal 130 receives information 141 from enterprise management consolidation system 140 for use in fulfilling the requests from clients 110 .
  • Enterprise management consolidation system 140 provides integrated application services to manage business objects and processes in a business enterprise.
  • the business objects and processes may be resources (e.g., human resources), development projects, business programs, inventories, clients, accounts, business products, and/or business services.
  • Enterprise management consolidation system 140 communicates with enterprise base systems 150 to obtain multiple types of information 151 .
  • Enterprise base systems 150 may include various existing application services, such as customer relationship management (CRM) systems, human resources management (HRM) systems, financial management (FM) systems, project management (PM) systems, knowledge management (KM) systems (e.g., documents attached to a business object), business warehouse (BW) systems, time management (TM) systems, and/or electronic file and mail systems.
  • CRM customer relationship management
  • HRM human resources management
  • FM financial management
  • PM project management
  • KM knowledge management
  • the enterprise base systems may also include an integration tool, such as an exchange infrastructure (XI), which provides another level of integration among base systems.
  • XI exchange infrastructure
  • Enterprise management consolidation system 140 may consolidate and integrate the data and functionality of enterprise base systems 150 into a single enterprise management tool.
  • This enterprise management tool may include systems and techniques to facilitate creation and execution of new applications within the enterprise management consolidation system.
  • These new applications may be composite applications and may readily draw on the resources of enterprise base systems 150 to cross over traditional enterprise application boundaries and to handle new business scenarios in a flexible and dynamic manner, allowing rapid and continuous innovation in business process management.
  • a virtual business cycle may be created using such cross-functional applications, where executive-level business strategy may feed management-level operational planning, which may feed employee-level execution, which may feed management-level evaluation, which may feed executive-level enterprise strategy.
  • the information generated at each of these stages in the enterprise management cycle may be readily consolidated and presented by the enterprise management consolidation system 140 using customized composite applications.
  • the stages may provide and consume determined services that may be integrated across multiple disparate platforms.
  • Portal 130 , enterprise management consolidation system 140 , and enterprise base systems 150 may reside in one or more programmable machines, which may communicate over a network or one or more communication busses.
  • base systems 150 may reside in multiple servers connected to an enterprise network
  • portal 130 and enterprise management consolidation system 140 may reside in a server connected to a public network.
  • system 100 may include customized, Web-based, composite applications, and a user of the system may access and manage enterprise programs and resources using these customized, Web-based, composite applications from anywhere that access to a public network is available.
  • FIG. 1B further illustrates enterprise management consolidation system 140 for the example.
  • System 140 includes a persistence layer 142 and one or more base system connectors 145 .
  • Base system connectors 145 enable data exchange and integration with enterprise base systems.
  • Base system connectors 145 may include an Enterprise Connector (EC) interface, an Internet Communication Manager/Internet Communication Framework (ICM/ICF) interface, an Encapsulated PostScript® (EPS) interface, and/or other interfaces that provide Remote Function Call (RFC) capability.
  • EC Enterprise Connector
  • ICM/ICF Internet Communication Manager/Internet Communication Framework
  • EPS Encapsulated PostScript®
  • RRC Remote Function Call
  • Persistence layer 142 provides enterprise management consolidation system 140 with its own database 143 and data object model 144 .
  • Database 143 and object model 144 provide a consolidated knowledge base to support multiple enterprise management functions, such as portfolio management, project execution, risk assessment, budgeting, scheduling, workforce planning, skills management, business forecasting, and capacity modeling, which could all be could be created as composite applications 149 .
  • Active communication between persistence layer 142 and the base systems may provide a tight linkage between real-time operational data from multiple base systems and an integrated enterprise analysis tool to allow strategic enterprise management and planning.
  • Data object model 144 may represent a subset of data objects managed by the base systems. That is, not all of the data aspects tracked in the base systems need to be recorded in data object model 144 .
  • Data object model 144 may have defined relationships with data objects stored in the base systems; for example, certain objects in data object model 144 may have read-only or read-write relationships with corresponding data objects in the base systems. These types of defined relationships may be enforced through the communication system built between persistence layer 142 and the base systems. Thus, persistence layer 142 may be used to effectively decouple application development and execution from the underlying base systems.
  • Applications 149 take advantage of this decoupling from back-end systems to flexibly integrate existing systems and new functional components into business processes. Furthermore, the applications may drive business processes across different platforms, technologies, and organizations. Additionally, applications 149 may support semi-structured processes, aggregate and contextualize information, handle event-driven and knowledge-based scenarios, and support a high degree of collaboration in teams, including driving collaboration and transactions.
  • Applications 149 may be created using a set of tools that enable efficient application development.
  • the tools may enable efficient application development by providing application patterns that support model-driven composition of applications in a service-oriented architecture.
  • An object modeling tool 146 enables creation of new business objects in the persistence layer 142 by providing a mechanism to extend data object model 144 dynamically according to the needs of an enterprise.
  • a process modeling tool 147 enables creation of new business workflow and ad hoc collaborative workflow.
  • a user interface (UI) tool 148 provides UI patterns that may be used to link new objects and workflow together and generate standardized views into results generated by applications 149 .
  • Object modeling tool 146 , process modeling tool 147 , and UI tool 148 thus, may be used to build the components of applications 149 to implement new enterprise management functions without requiring detailed coding activity.
  • Process modeling tool 147 may include guided procedure templates with pre-configured work procedures that reflect best practices of achieving a work objective that is part of a larger cross-functional application scenario. Such a work procedure may include contributions from several people, creation of multiple deliverables, and milestones/phases. Moreover, whenever an instantiated business object or work procedure has lifetime and status, the progress and status of the object or work procedure may be made trackable by the process owner or by involved contributors using a dashboard that displays highly aggregated data. A dashboard and a page that provides access to status information about ongoing work, such as a personalized work place, may be two UI patterns that are provided by UI tool 148 .
  • UI personalizations there may be other UI personalizations. For example, if there is a concept of personalized items, such as, for example, objects, recent objects, related objects, or preferred objects, then an object picker UI pattern, provided by UI tool 148 , may be included to let users pick their favorite object directly.
  • an object picker UI pattern provided by UI tool 148 , may be included to let users pick their favorite object directly.
  • a people finder concept may be applied.
  • a key aspect of searching for a person may be described as an attribute within the user's activity, qualification, interest, and/or collaboration profile.
  • people collections may be stored as personal or shared collections using the people finder to make them available for further operations later on.
  • analytics of the overall portfolio may be made available in the form of a collection of UI components.
  • a view selector may be used to display/hide components, and a component may be toggled between graphical and numerical display and may include a drop-down list or menu to select sub-categories or different views.
  • Composite application scenarios may provide related information to the user when possible, and some parts within a larger application scenario may define what kind of related information is to be offered. Heuristics may be used to identify such relatedness, such as follows: (1) information that is related to the user due to explicit collaborative relationships such as team/project membership or community membership; (2) information that is similar to a given business object in a semantic space based on text retrieval and extraction techniques; (3) recent objects/procedures of a user; (4) other people performing the same or similar activity (e.g., using same object or procedure template having the same workset); (5) instances of the same object class; (6) next abstract or next detailed class; (7) explicit relationships on the organizational or project structure; (8) proximity on the time scale; (9) information about the underlying business context; and/or (10) information about the people involved in a collaborative process.
  • Heuristics may be used to identify such relatedness, such as follows: (1) information that is related to the user due to explicit collaborative relationships such as team/project membership or community membership; (2) information that is similar to a
  • Composite applications also may include generic functionality in the form of ControlCenter Pages that represent generic personal resources for each user. These may refer to the following pages where appropriate: (1) MyOngoingWork page: provides access to status information about ongoing work of a user (Ongoing work may refer to the state of business objects as well as guided procedures); (2) MyDay page: lists today's time-based events that are assigned or related to a user; (3) MyMessageCenter page: displays pushed messages and work triggers using a universal inbox paradigm with user selected categorical filters; and/or (4) Myinfo: provides access to personal information collections (e.g., documents, business objects, contacts) including those located in shared folders of teams and communities of which the user is a member. The page may also provide targeted search in collaborative information spaces such as team rooms, department home pages, project resource pages, community sites, and/or personal guru pages.
  • MyOngoingWork page provides access to status information about ongoing work of a user (Ongoing work may refer to the state of business objects as well as guided procedures); (2) MyDay page: lists today's time-based events
  • FIG. 2 illustrates a framework 200 for a composite application.
  • framework 200 leverages and enhances underlying enterprise base systems 290 , which could include an XI, supporting business transaction systems such as CRM, HCM, and PLM, Knowledge Management Warehouse (KW), and BW, with tools, content, and guidelines to provide a foundation for developing and executing composite applications.
  • enterprise base systems 290 could include an XI, supporting business transaction systems such as CRM, HCM, and PLM, Knowledge Management Warehouse (KW), and BW, with tools, content, and guidelines to provide a foundation for developing and executing composite applications.
  • composite applications typically implement new or additional processes, as opposed to the core transactional processes, in an existing IT landscape.
  • Composite applications may also support semi-structured processes, tackle event-driven and knowledge-based business scenarios, and support collaboration in teams.
  • composite applications may support the Java stack.
  • framework 200 includes an object access layer (OAL) 210 , a service layer 220 , a user interface (UI) layer 230 , and a metadata repository 240 .
  • OAL 210 manages interaction between composite applications and enterprise base systems 290 . In doing so, OAL 210 provides a uniform interface for composite applications. Thus, OAL 210 reduces the knowledge needed for a composite application developer about the source of data because OAL 210 sits on top of and embraces different connectivity technologies. Coding and configuration data for OAL 210 may be automatically generated, at least in part, by business object metadata in repository 240 . Furthermore, OAL 210 allows for local persistency (e.g., connectivity to a local database such as an application database 250 to store data).
  • local persistency e.g., connectivity to a local database such as an application database 250 to store data.
  • OAL 210 includes extensions to document management or content management that allow business objects to use the functionality for documents.
  • Service layer 220 provides services for business objects in layer 210 .
  • services for business objects are common procedures that users need to interact effectively with the objects.
  • Service layer 220 may include generic services, collaboration services, guided procedure services, and/or a container for application services. By separating the services from the business objects, the services may be more readily reused across business objects.
  • UI layer 230 provides user interfaces that allow a user to interact with composite applications.
  • UI layer 230 provides pattern components, such as, for example, a dashboard, a search bar, a browse and collect function, an object editor, and phases for a guided procedure, as building blocks for user interfaces.
  • UI layer 230 may also decouple application logic from the UI. As shown, UI layer 230 accomplishes this by having a separation of the business objects, which are in the object access layer 210 , and application services, which are in service layer 220 , from the user interface elements, which are in UI layer 230 . This allows UI components to be reused in different application contexts.
  • UI layer 230 may also leverage the metadata information on business objects and services through metadata-driven UI-generation and configuration. The metadata approach allows for ready adaptability to alternative screens depending on the end users needs (e.g., in different industries).
  • UI layer 230 may additionally allow integration (e.g., binding) into OAL 210 to access business objects, business services, and metadata. Thus, UI components may be connected to business objects in OAL 210 .
  • UI layer 230 may support any appropriate type of user interfaces, such as, for example, a user interface composed of pattern-based components and/or freestyle components with interfaces to the user interface components—this user interface will discussed in more detail below—or Java Server Pages (JSPs) from Sun Java Server Pages (JSPs) from Sun.
  • JSPs Java Server Pages
  • JSPs Sun Java Server Pages
  • Metadata repository 240 stores the content of the composite application (e.g., specific business objects, information about services, and, eventually, processes) and makes the metadata information available at run-time, if needed.
  • the repository may allow different metamodels to be created (the model for business objects being one of them) and to persist the metadata.
  • Database 250 provides a central repository for available business objects.
  • An example of data in repository 250 includes database tables for a business object. The data may be added to, changed, and/or deleted. Data may also be stored in KW, BW, or an XI system.
  • framework 200 provides a set of standard services that enables application developers to make use of the data. The origin of the data and/or its persistency may be transparent to the application developer, not to mention the composite application.
  • Metadata data about objects is stored in metadata repository 240 .
  • This metadata enables generic services like automatic generation of default UIs, object access interface, data access methods, persistency, and mappings.
  • Framework 200 may be implemented using readily available technology.
  • the framework may be implemented using mySAP technology components.
  • the components may include an SAP Web Application Sever (WAS) to run the applications, an SAP Enterprise Portal to render the applications, an SAP KW to handle unstructured information sources, pattern-based components and/or freestyle components with interfaces to the UI components to design UIs and to provide J2EE and ABAP run-time integration, an SAP BW to provide reporting and analytics, data mining, and planning and simulation, SAP Business Process Management (BPM), an SAP Exchange Infrastructure (XI) to provide shared integration knowledge separate from applications, and SAP Web services to offer business functionality over the Internet.
  • WAS SAP Web Application Sever
  • SAP Enterprise Portal to render the applications
  • SAP KW to handle unstructured information sources
  • SAP BW to provide reporting and analytics, data mining, and planning and simulation
  • framework 200 allows composite applications to work with existing system landscapes.
  • the framework accomplishes this by decoupling composite applications from the underlying enterprise platform, which includes enterprise base systems.
  • This decoupling may involve providing communication to back-end systems via a central interface and providing a back-end-independent object model.
  • the latter may be implemented so that the data from the source systems may be transformed into a unified structure. This may also allow successive installation, activation, and use of different applications, which may reduce entry costs.
  • Enterprise change management may support enterprises when merging, splitting, acquiring, spinning off, or reorganizing.
  • Product innovation may support the life cycle of a product, including the prenatal phase of collecting ideas and consolidating them into concepts, the market launch phase, and the end of life. In doing so, the resources of a PLM and CRM may be drawn upon.
  • Employee productivity aims to increase employee productivity, decrease costs, and increase employee satisfaction.
  • Key functions may include manager self services, employee self services, expert finders, e-procurement, and e-learning.
  • ERM and B2E resources may be drawn upon to accomplish these tasks.
  • Enterprise service automation provides administration and monitoring functions as well as evaluation tools to facilitate project success. An example of this is the setting up of projects and the staffing with people with the required skills and availability. Additional application families may also be created.
  • FIG. 3 is a block diagram of a composite application framework 300 illustrating details of one potential implementation.
  • framework 300 includes design-time components 310 , run-time components 320 , and a metadata repository 360 , which is shared by the design-time components and the run-time components.
  • design-time components 310 are responsible for developing composite applications that are executed by run-time components 320 .
  • design-time components 310 provide a repository and user interface for modeling and generating business objects, business services, business processes, user interfaces, and/or any other appropriate portions of a composite application.
  • a business object for example, may be an employee, a product, a plant, or any other semantic representation of a real-world entity.
  • a business service is an action taken on a business object. Changing the price or category of a product are examples of services for a business object that represents a product.
  • gathering input from employees and customers, who may themselves be represented by business objects, for a new product idea are examples of business services. Putting services together in a proper combination produces a business process.
  • a composite application is typically composed of business objects, business services, and/or business processes.
  • design-time components 310 include application modeling tools 312 , application generators 314 , and, in part, metadata repository 360 .
  • Modeling tools 312 may be used for modeling business objects, business services, business processes, user interfaces, and the like. A separate modeling tool may be used for each of the composite application portions.
  • modeling tools 312 may be used for integrating business objects, business services, business processes, user interfaces, and the like.
  • framework 300 may support model-driven composition of composite applications, allowing for development with little or no programming effort.
  • Metadata about business objects, business services, business processes, and/or other application portions is stored in metadata repository 360 .
  • an application portion may be modeled as well as the origin of the data, whether in a local database, remote database, or mixture.
  • the content of metadata repository 360 may not be associated with a specific implementation of the things a repository describes.
  • other repositories that describe a specific implementation may be filled from repository 360 .
  • Generators 314 are used for generating actual code from the portions modeled by modeling tools 312 .
  • the generators may use templates that are stored in metadata repository 360 .
  • the generators may automatically create Java classes (e.g., for use in run-time components 320 ) and also configuration files (e.g., to adjust UI patterns to a certain business object).
  • Java classes e.g., for use in run-time components 320
  • configuration files e.g., to adjust UI patterns to a certain business object.
  • the generators may also generate interfaces for application services, data access logic, and persistency.
  • Run-time components 320 provide the run-time environment for business objects, business services, business processes, user interfaces, and the like, as well as data access abstraction. As illustrated, run-time components 320 include an object access layer 330 , a service layer 340 , a UI layer 350 , and, in part, metadata repository 360 . Run-time components 320 also use an application database 370 , which stores data tables for executing applications.
  • Object access layer 330 manages interaction between composite applications and enterprise base systems 390 . In doing so, layer 330 reduces the knowledge needed for the application developer about the source of data because layer 330 sits on top of and embraces different connectivity technologies. Thus, layer 330 provides a uniform interface for composite applications. As such, layer 330 may act as a dispatcher to provide access to a variety of data sources. As illustrated, layer 330 leverages a message-based platform 390 a that includes an XI with connectivity to underlying applications like CRM, HCM, and PLM, a knowledge management warehouse (KW) 390 b , and a business intelligence warehouse (BW) 390 c , and manages the persistency in application database 370 .
  • a message-based platform 390 a that includes an XI with connectivity to underlying applications like CRM, HCM, and PLM, a knowledge management warehouse (KW) 390 b , and a business intelligence warehouse (BW) 390 c , and manages the persistency in application database 370
  • Layer 330 may also leverage a fairly synchronous infrastructure such as a service-oriented data access, which could be a BW, and a KW repository framework, which may allow connection to document management systems or to LDAP (Lightweight Directory Access Protocol), a more unstructured type of data. Thus, layer 330 may bring structured and unstructured data closer together. Coding and configuration data for layer 330 may be automatically generated, at least in part, by business object metadata in repository 360 .
  • a service-oriented data access which could be a BW
  • a KW repository framework which may allow connection to document management systems or to LDAP (Lightweight Directory Access Protocol), a more unstructured type of data.
  • LDAP Lightweight Directory Access Protocol
  • layer 330 For data access abstraction, the fact that layer 330 sits on top of and embraces different connectivity technologies allows routing to a variety of different data sources. Furthermore, layer 330 allows for local persistency (e.g., connectivity to a local database such as application database 370 to store data). Additionally, data synchronization and replication of remote data (e.g., data in back-end systems) into the local persistency database may be supported. The data may be transferred and transformed into the local persistency. For an application sitting on top of layer 330 , the source of the data may be completely transparent. For example, some applications underlying layer 330 might provide services (e.g., Web services), allowing the data to be read remotely, and some applications may not provide such access. Layer 330 may deal with this situation by making everything look like a service to the composite application, perhaps by replicating data into the composite application and offering a local service. Layer 330 may also provide namespace concepts that are used for generated mappings.
  • namespace concepts that are used for generated mappings.
  • layer 330 includes extensions to document management or content management that allow business objects to use the functionality for documents. For example, taxonomies for business objects, transparent indexing of TREX for structured and unstructured objects, and subscription services for dependent objects independent of the repository where the objects reside may be provided. Layer 330 may also provide transaction support, in as far as the transaction concept is also supported by concerned source systems, a metadata interface, allowing an application to be dynamically configured at run-time, and subscription services (e.g., J2EE publish and subscribe).
  • J2EE publish and subscribe
  • Layer 330 may have a variety of features. For example, it may keep the application logic and UI stable. This may be accomplished by making the origin of the data transparent to the application logic and UI. Thus, there may be little to no impact of the underlying IT system landscape on the application logic or UI, as the adaptation to a specific landscape is, at least for the most part, accomplished by layer 330 . Furthermore, changes to enterprise base systems 390 , such as KW and XI, may have no direct influence on the application logic or the UI.
  • layer 330 may accelerate composite application development. This may be accomplished by reusing business objects across composite applications, reusing enterprise base systems 390 access services (e.g., KW and XI) across composite applications, reusing know-how (e.g., uniform interface structure providing common access to business objects), efficient (e.g., model-driven) implementation of business objects based on a repository, and using a relative homogenous structure for application logic, which simplifies modifications and maintenance.
  • enterprise base systems 390 access services e.g., KW and XI
  • know-how e.g., uniform interface structure providing common access to business objects
  • efficient e.g., model-driven
  • layer 330 may enable integration. This may be facilitated by communication between composite applications via a shared object model, shared contexts across composite applications based on a shared object model, and integration of enterprise base system (e.g., KW and BW) via a composite application object model. The integration may also involve integrating business objects.
  • enterprise base system e.g., KW and BW
  • layer 330 may facilitate application building by configuration. This may be accomplished by providing standard interfaces with well-defined semantics, which allows components to be combined in a meaningful way since the semantics of the components' interfaces is known, and allowing objects to participate in a collaborative context, (e.g., chat room) just by implementing certain interfaces.
  • a collaborative context e.g., chat room
  • Service layer 340 provides services for business objects in layer 330 .
  • services for business objects are common procedures that users need to interact effectively with the objects.
  • a service layer may also provide other types of services, such as, for example, UI-related service and/or collaboration services.
  • the service layer may provide integration of external services.
  • service layer 340 includes generic services 342 , collaboration services 344 , guided procedure services 346 , and a container for application services 348 .
  • the services may be more readily reused across business objects.
  • generic services 342 provides a set of standard services for parts of an application. Moreover, the services may be used across applications. Generic services 342 may also provide namespace and packaging concepts. The services are typically not bound to a portion of an application, but are available to all portions. Examples of generic services include print services, value help services, authorization, personalization, and voice enablement. An example of a value help service is the filling of drop down boxes in user interfaces; the service is able to determine what the possible entries are for boxes and to populate the boxes therewith.
  • Collaboration services 344 provides the ability to link semantic objects to business objects.
  • Semantic objects typically provide a set of generic services, like classification, notification, subscription, feedback, search, retrieval, rating, time-based publishing, state-based publishing, and security model.
  • relations between semantic objects may be supported. For example, a team could be assigned to a task, and people could be assigned to the team. Moreover, a room could be created for that task, to keep people and documents together.
  • Semantic objects such as document, folder, room, task, meeting, user, and discussion may be accessible via layer 330 . Semantic objects may also be available in a variety of other ways. For example, semantic objects may be included in layer 330 as business objects, and/or individual services of semantic objects may be included in layer 340 .
  • Collaboration services 344 extends the semantic object concept by making the functionality of semantic objects available for business objects (e.g., notification, subscription, etc.).
  • services 344 provides collaboration context for a business object.
  • Services 344 may automatically manage the relations between business objects and semantic objects.
  • new kinds of relations may be supported: for example, relations between business objects and semantic objects.
  • a task or a team may be assigned to a specific product, people may be assigned to the task, and so on.
  • special collaborative services may be provided for semantic objects, such as scheduling and assignment functions for tasks and inviting, splitting, and closing functions for discussions.
  • a suite of collaboration services may be provided without the need to deal with KM specific. These services may also be made available for composition applications.
  • the relation between the business objects and the semantic objects may be maintained.
  • collaboration services 344 may be semi-structured processes. A common understanding of a business process may be reflected by a predefined collaboration scenario. On the other hand, the business process may be adaptable to different enterprise's needs. To support this, differing scenarios may be built with minimal programming.
  • Guided procedure services 346 allows business objects to participate in guided procedures.
  • a guided procedure is a series of steps, often involving human interaction, that should be performed during the execution of a composite application.
  • a guided procedure which is a type of workflow, is typically one that is common to a variety of applications and, thus, may be reused.
  • services 346 may provide pre-defined building blocks for process workflow and pre-defined actions. Additionally, services 346 may facilitate template design. This may be used to support role-based collaborative processes, process workflow, and/or context definition.
  • guided procedures may be implemented by using template instantiation, by design-time integration for ad hoc adaptation of templates, and procedural navigation and integration in a Universal Worklist (UWL).
  • UWL Universal Worklist
  • services 346 may provide context awareness and sharing by context mapping of building blocks, business object integration, and user assistance. Additionally, services 346 may provide monitoring and analysis of guided procedures.
  • Application services container 348 is used to implement model specific services for one or more business applications. Although generic objects, generic services, and/or processes may be generated for an application, some business logic is too specific to be implemented generically. For example, determining the number of vacation days that an employee has may involve determining the number of vacation days the employee is entitled to per year, determining the number of days available based on the employee's service to date for the year, determining how many days the employee has been absent to date for the year, and determining whether to assign those days to vacation days or sick days. Furthermore, if the employee is splitting time between departments, an allocation may need to be made between the two.
  • an order process at a manufacturer may include obtaining a order, splitting the order into components based on the bill of materials, determining whether each component is in stock, if a component is not in stock, determining where and/or how to procure it, and, if a component must be procured, determining a potential delivery date.
  • the business logic for such tasks may be difficult to model generically, especially across a wide variety of industries. Thus, the logic may have to be individually coded.
  • Container 348 provides interfaces for the code to be used. The interfaces may be generated by the metadata of the service model, but the inner code has to be programmed individually. Also, maintaining the service definition in the design-time allows generation of an empty service.
  • UI layer 350 includes a UI framework 352 .
  • Framework 352 provides pattern components as building blocks for user interfaces. Examples of pattern components include a dashboard, a search bar, a browse and collect function, an object editor, and phases for a guided procedure. These components may serve to increase efficiency of UI development because they are reusable and may serve to keep training costs down by providing a standard look and feel for the composite applications. Furthermore, the components readily provide a UI for composite application objects and services and allow a default UI to be automatically generated for displaying, creating, and changing business objects.
  • Framework 352 may also decouple application logic from the UI. As shown, framework 352 accomplishes this by having a separation of the business objects and application services from the user interface elements. This allows UI components to be reused in different application contexts. This also allows business objects and application services to be visualized differently according to the specific equipments of a certain use case.
  • UI framework 352 may also leverage the metadata information on business objects and services through metadata-driven UI-generation and configuration.
  • the metadata approach allows for ready adaptability to alternative screens depending on the end users needs (e.g., in different industries).
  • UI framework 352 may additionally allow integration (e.g., binding) into layer 330 to access business objects, business services, and metadata.
  • integration e.g., binding
  • UI components such as patterns and freestyle may be connected to business objects in layer 330 .
  • framework 352 may provide the necessary metadata at design-time and manage the access to the according service providers at run-time.
  • UI framework 352 may support any appropriate type of user interfaces.
  • the UI framework may support a user interface composed of pattern-based components and/or freestyle components with interfaces to the user interface components—this user interface will discussed in more detail below—or Java Server Pages (JSPs) from Sun.
  • UI framework 352 may also support a Java front-end and ABAP back-end, a Java front-end and Java back-end, or any other appropriate combination of front-end and back-end.
  • the framework may additionally provide a construction kit for complex components and applications and configuration of patterns via XML, URL, or other appropriate technique.
  • Metadata repository 360 stores the content of the composite application (e.g., specific business objects, information about services, and, eventually, processes) and makes the metadata information available at run-time (if needed).
  • the repository may allow different metamodels to be created (the model for business objects being one of them) and to persist the metadata.
  • additional repositories such as, for example, a portal content directory (PCD), which may contain portal specific pieces of an application (e.g., views, pages, roles), may be required.
  • PCD portal content directory
  • Database 370 provides a central repository for available business objects.
  • An example of data in repository 370 includes database tables for a business object. The data may be added to, changed, and/or deleted. Data may also be stored in KW, BW, or an XI system.
  • framework 200 provides a set of standard services that enables application developers to make use of the data. The origin of the data and/or its persistency may be transparent to the application developer, not to mention the composite application.
  • Metadata data about objects is stored in metadata repository 360 .
  • This metadata enables generic services like automatic generation of default UIs, object access interface, data access methods, persistency, and mappings.
  • modelers 312 and generators 314 generate the business objects used in layer 330 .
  • Modelers 312 and generators 314 also facilitate the creation of business object metadata and its storage in metadata repository 360 .
  • the modelers and generators may be relatively easy to use because they are restricted to a particular purpose. Additionally, they may help to ensure the consistency of the metadata according to the capabilities of layer 330 .
  • the composite application portions may be implemented as Enterprise Java Beans (EJBs).
  • EJBs Enterprise Java Beans
  • the design-time components may have the ability to generate the run-time implementation into different platforms, such as J2EE, ABAP, or .NET.
  • Components 310 may also support a variety of specific features needed for business objects, such as time-dependent attributes or organizational-unit-dependent attributes, like product attributes, which differ from plant to plant.
  • the components may not only generate the classes and the coding, but may also create the database tables and the interfaces to the UI, including the relevant metadata. So, after modeling, there may be a generation step that provides a stack of services for one business object, including the UI down to the database tables and proxies for remote access.
  • generators 314 allow template-based generation of Java-coding, database tables, entries in metadata repository 360 , XML configuration files, etc. This may be implemented with extensibility and the ability to conduct upgrades without loosing his information. This capability may be achieved by allowing the metadata of the new implementation to be compared with the metadata of the existing implementation during an upgrade. If there are implementation-specific extensions, they may be identified, and strategies for solution of possible conflicts may be proposed.
  • framework 300 provides modeling and configuration tools (e.g., business object modelers and guided procedures), generic components (e.g., UI patterns and generic services (F 1 , F 4 , help, authorizations)), standardized interfaces (e.g., object access layer), reusable content (e.g., predefined object models and XI content), and integration infrastructure (e.g., to connect business objects and documents and access to XI proxies).
  • modeling and configuration tools e.g., business object modelers and guided procedures
  • generic components e.g., UI patterns and generic services (F 1 , F 4 , help, authorizations)
  • standardized interfaces e.g., object access layer
  • reusable content e.g., predefined object models and XI content
  • integration infrastructure e.g., to connect business objects and documents and access to XI proxies.
  • the framework allows composite applications to be created according to guidelines, which are documentation that allows composite applications to be created appropriately using the framework. The guidelines may or may not be
  • Framework 300 may be implemented using readily available technology.
  • the framework may be implemented using mySAP technology components.
  • the components may include an SAP Web Application Sever (WAS) to run the applications, an SAP Enterprise Portal to render the applications, an SAP KW to handle unstructured information sources, an SAP BW to provide reporting and analytics, data mining, and planning and simulation, SAP Business Process Management (BPM), an SAP Exchange Infrastructure (XI) to provide shared integration knowledge separate from applications, and SAP Web services to offer business functionality over the Internet.
  • WAS SAP Web Application Sever
  • SAP Enterprise Portal to render the applications
  • SAP KW to handle unstructured information sources
  • SAP BW SAP BW to provide reporting and analytics, data mining, and planning and simulation
  • SAP Business Process Management BPM
  • SAP Exchange Infrastructure XI
  • an SAP WAS may include a J2EE engine, SAP IDE, Universal Workflow, and Deployment Service.
  • the WAS may also include a pattern-based and freestyle-based user interface development and interface module.
  • an SAP Enterprise Portal may provide unified access to applications, information, and services by using views, roles, pages, worksets, top-level navigation, and KM. This enterprise portal also provides login management and user management.
  • unstructured information consists of collaboration and content management.
  • KM enables team-driven business processes, synchronous and asynchronous applications, groupware integration, calendars, bulletin boards, threaded discussions, and collaboration rooms.
  • SAP BPM may cover life cycles (e.g., design, development, deployment, and change).
  • An SAP XI may provide external and internal integration of system and connectors to various systems such as Oracle, Siebel, Peoplesoft, and SAP.
  • the SAP XI may be based on Web services, JAVA, and XML standards.
  • SAP Web services may provide a service provider, service handler, and service user. Additionally, an SAP BW may be used.
  • the KM and collaboration functionality may embedded in applications, not only in separate pages in the portal.
  • any general development environment may be used.
  • the development environment could include Java, with EJB 2.0, JDO, Java persistency, and Java application logic, Advanced Business Application Programming (ABAP), and Web services.
  • ABAP Advanced Business Application Programming
  • Existing ABAP components may be integrated via Java connector calls.
  • the complete Java stack could be used.
  • Web service technology may be used for remote access.
  • framework 300 allows composite applications to work with existing system landscapes.
  • the framework accomplishes this by decoupling composite applications from the underlying enterprise platform.
  • This decoupling may involve providing communication to back-end systems via a central interface and providing a back-end-independent object model.
  • the latter may be implemented so that the data from the source systems may be transformed into a unified structure. This may also allow successive installation, activation, and use of different applications, which may reduce entry costs.
  • the framework facilitates highly efficient development of composite applications. This may be accomplished by model-driven composition of applications, service-oriented architecture, UI and application patterns, reusable object models, and methodologies.
  • the framework could be viewed as a kind of application factory. In such a factory, application building may be enabled without programming, at least as far as possible.
  • Enterprise change management may support enterprises when merging, splitting, acquiring, spinning off, or reorganizing.
  • Product innovation may support the life cycle of a product, including the prenatal phase of collecting ideas and consolidating them into concepts, the market launch phase, and the end of life. In doing so, the resources of a PLM and CRM may be drawn upon.
  • Employee productivity aims to increase employee productivity, decrease costs, and increase employee satisfaction.
  • Key functions may include manager self services, employee self services, expert finders, e-procurement, and e-learning.
  • ERM and B2E resources may be drawn upon to accomplish these tasks.
  • Enterprise service automation provides administration and monitoring functions as well as evaluation tools to facilitate project success. An example of this is the setting up of projects and the staffing with people with the required skills and availability. Additional application families may also be created.
  • the framework may also provide external services in a shared object environment. This may be accomplished by the framework providing a uniform object access layer and service layer that bundle functionality across service components. Furthermore, a transparent mapping may be provided from the application's perspective. Thus, the application built on the framework would not have to know whether certain services are provided by a portal, by a KW, by a WAS, or other external service.
  • FIG. 4 illustrates design-time components 400 for a composite application framework.
  • Design-time components 400 could be representative of design-time components 310 in FIG. 3.
  • design time components 400 include a business object modeler 410 , a business object generator 430 , and a metadata repository 450 .
  • metadata repository 450 is also a run-time component.
  • Business object modeler 410 includes an Integrated Development Environment (IDE) application program interface (API) 411 , an object modeler 412 , and a relation modeler 413 .
  • IDE API 412 allows modeler 412 to be integrated into an Eclipse IDE, which supports the modeling of the business object by object modeler 412 .
  • the integration supports generation of business objects as EJBs, interfaces for application services, default user interfaces, data access logic, and persistency.
  • Relation modeler 413 allows the modeling of relations between modeled objects. For example, a sales order could be composed of a customer, a product, and a price. Relation modeler 413 , therefore, allows for the modeling of the relations between these items. In operation, for instance, if a user interface is generated for a sales order, the semantics for each field in the sales order may be identified. Additionally, a connection to the value help function may be facilitated.
  • Modeler 410 also includes a metadata API 414 and a generation API 415 .
  • Metadata API 414 allows object modeler 412 to store and access business object metadata in metadata repository 450 and relation modeler 416 to store and access business object relation metadata in metadata repository 450 .
  • Generation API 422 allows a business object to communicate with generator 430 for code generation.
  • Generator 430 includes a generator framework 432 , a persistency generator 434 , an EJB 436 generator, a UI adapter generator 438 , a Web service generator 440 , and a metadata API 442 .
  • Generator framework 432 may also be integrated into the Eclipse IDE.
  • generator 430 may use templates in metadata repository 450 and code them with object metadata and relation metadata in the repository. Generator 430 may also generate the data persistency for the business object, and generate the actual business object, an EJB in this instance. Generator 430 may additionally generate user interfaces for the business object and any necessary Web services.
  • the templates may be generic.
  • the generators automatically create Java classes (e.g., for the implementation of the object access layer), JDO tables, EJBs, and configuration files, to adjust UI patterns to a certain business object, for example.
  • Java classes e.g., for the implementation of the object access layer
  • JDO tables e.g., for the implementation of the object access layer
  • EJBs e.g., for the implementation of the object access layer
  • configuration files e.g., configuration files, to adjust UI patterns to a certain business object, for example.
  • the connectivity to back-end systems and the composite application persistency is generated as well as a default User Interface.
  • UI adapters for a UI development and interface module and, if necessary, Web services may be generated. The output of such a process may be real working code in the object access layer of the run-time components.
  • One example is the generation of a run-time implementation of a business object in an object access layer.
  • the generator reads the business object metadata from the repository and generates the JDO persistency, the connectivity to the XI, the KW and/or the BW (e.g., by using proxies), the generic methods, and the basic UI.
  • templates e.g., for services
  • XML-templates e.g., for JDO persistency
  • Metadata repository 450 includes object metadata 452 , relation metadata 454 , and code generation templates 456 . As mentioned previously, the information in object metadata 452 and relation metadata 454 may be used to code templates 456 to generate a business object.
  • FIGS. 5 A-I illustrate user interfaces 500 for an implementation of a business object modeler.
  • user interfaces 500 demonstrate how a business object may be created using a framework similar to framework 300 in FIG. 3.
  • user interfaces 500 are graphical user interfaces, but the interfaces may be in any appropriate format and may have any appropriate data and/or arrangement of data.
  • FIG. 5A illustrates user interface 500 a .
  • User interface 500 a demonstrates the creation of a business object for a composite application for defining a product. Creation of business objects for other composite applications could be similar.
  • user interface 500 a includes a directory section 510 and a work section 520 .
  • Directory section 510 includes a listing of business objects for product definition. The creation of a new business object may be initiated by right-clicking in directory section 510 , as shown, and selecting the appropriate line in the generated menu.
  • work section 520 includes an association section 522 in which a name is associated with the new business object and the business object is associated with an composition application, “xApp-xPD” in this instance.
  • FIG. 5B illustrates user interface 500 b .
  • user interface 500 b allows specification of general information regarding the business object.
  • user interface 500 b contains directory section 510 and work section 520 .
  • directory section 510 has expanded by one object for the new business object (i.e., “Concept”).
  • Work section 520 includes information section 524 , which allows specification of general information about the business objects. Section 524 allows the specification of the persistency model (e.g., whether the object has a local persistency or whether it should be read on the fly from a back-end system) and administrative information (e.g., about the owner, status, release, and version of the object).
  • FIG. 5C illustrates user interface 500 c .
  • user interface 500 c allows attributes to be added/deleted from the object.
  • user interface 500 c includes directory section 510 and work section 520 .
  • Work section 520 includes an attribute specification section 526 , which allows the specification of attributes.
  • section 526 includes a first section 527 a , in which available attributes are displayed, and a second section 527 b , in which the current attributes for the business object being modeled are shown.
  • Section 526 allows attributes to be added/deleted by selection and command techniques, by drag and drop techniques, or by any other appropriate technique. Attributes may be full-blown business objects or objects that exist only in the context of another object. A decision may be made as to whether the values for dependent objects should be shared across objects or not.
  • FIG. 5D illustrates user interface 500 c with attributes from first section 527 a incorporate into second section 527 b .
  • the business object being modeled is being developed.
  • FIG. 5E illustrates user interface 500 d . Once attributes have been specified for the business object, user interface 500 d allows methods to be specified.
  • user interface 500 d includes directory section 510 and work section 520 .
  • Work section 520 includes a method specification section 528 , which allows the specification of methods.
  • section 528 includes a first section 529 a , in which methods may be specified, and a second section 529 b , in which parameters for the methods may be specified.
  • lifecycle methods e.g., create, update, etc.
  • standard methods that do not require coding.
  • An example of such methods are those that allow business objects to participate in collaboration (e.g., subscribe, notify, discuss, etc.). These methods may be automatically called when a certain action is carried out (e.g., when a business object should be updated).
  • Another type of method is one that is specific to the composite application. These methods may be directly called by the applications.
  • FIG. 5F illustrates user interface 500 e .
  • user interface 500 e allows aspects of the business object to be defined. Aspects are, in general, subsets of attributes and/or methods for the business object. Aspects may be used to lay an industry or application specific view on general business objects.
  • user interface 500 e includes directory section 510 and work section 520 .
  • Work section 520 includes an aspect specification section 530 , which allows the specification of aspects.
  • section 530 includes a first section 531 a , in which attributes of the business object are displayed. (The attributes were defined in user interface 500 c .)
  • Section 530 also includes a second section 531 b , in which the attributes for the different aspects of the business object may be specified.
  • Section 530 allows attributes to be added/deleted by selection and command techniques, by drag and drop techniques, or by any other appropriate technique.
  • FIG. 5G illustrates user interface 500 f .
  • user interface 500 f allows the specification of technical data for tables if the business object is to have its own local persistency.
  • the tables are JDO tables, although they could be of any other appropriate type.
  • user interface 500 f includes directory section 510 and work section 520 .
  • Work section 520 includes table specification section 532 , which shows technical information about the generated database tables.
  • An example of technical information is the name of the database table in the data dictionary.
  • FIG. 5H illustrates user interface 500 g .
  • user interface 500 g allows the specification of information for proxies, which may be used if data for a business object should be read remotely from a back-end system. For example, an XI could be specified here.
  • user interface 500 g includes directory section 510 and work section 520 .
  • Work section 520 includes proxy specification section 534 , which allows the specification of proxies.
  • a connection to an XI could be defined here, as well.
  • section 534 includes a first portion 535 a and a second portion 535 b .
  • First portion 535 a allows the specification of proxies for data actions for the objects.
  • Second portion 535 b allows the specification of mappings for attributes.
  • FIG. 51 illustrates user interface 500 h .
  • the code may be generated, as discussed previously, and displayed in user interface 500 h.
  • user interface 500 h includes directory section 510 and work section 520 .
  • Work section 520 includes code section 536 , which allows the generated code to be displayed. Furthermore, the code for methods that have been defined beforehand may be added. In this implementation, the method headers are already generated into the displayed coding. At this stage, the whole run-time environment for the business object could be generated.
  • FIG. 6 illustrates run-time components 600 for a composite application framework. Run-time components 600 could be representative of run-time components 320 in FIG. 3.
  • the illustrated components 600 are for an object access layer 610 .
  • Layer 610 has a variety of business objects 620 executing therein.
  • Each business object 620 includes a business object bean 622 that includes lifecycle methods, properties, and validation.
  • the beans 622 may, for example, be Enterprise Java Beans (2.0) and may be generated by the metadata, as already mentioned.
  • Each business object 620 also includes a data object 624 .
  • Data object 624 allows bean 612 to be decoupled from the underlying data, which is accessed through data a access service factory 630 .
  • Data access service factory 630 is responsible for homogenizing data from various sources. In accomplishing this, factory 630 determines data sources for business objects 620 . Thus, it may be viewed as a kind of dispatcher. For example, data access service factory 630 may read data from a remote service 642 , a persistence service 644 , a KM service 646 , and/or an OLAP service 648 and present this data to data object 624 . The data access service factory 630 may accomplish this by allowing the plug in of special adapters for accessing different sources of data.
  • the composite application framework may provide adapters for the exchange infrastructure (XI), the knowledge management system (KM), and the data warehouse (BW). It may also provide access to a local database that is treated the same way as remote access adapters.
  • Business objects 620 also include interfaces for local and remote data access.
  • the interface may be used for accessing application services, such as those in service layer 340 in FIG. 3, a UI layer, such as UI layer 350 in FIG. 3, or any other appropriate type of data.
  • layer 610 supports three different interfaces—a local interface 626 , a Web-service interface 627 , and a service provider interface 628 .
  • Local interface 626 is used when no remote access is necessary.
  • Web service interface 627 is used for remote access.
  • Service provider interface 628 is used to access UI patterns.
  • Layer 610 also includes metadata access services 650 and object access services 660 .
  • Metadata access services 650 provides access to the metadata in metadata repository 690 .
  • Object access service 660 provide the elementary access methods (e.g., create, read, update, delete) for business objects.
  • layer 610 manages the access to business objects 620 and manages the connectivity to the underlying applications, whether via XI, the persistency in an application database, the access to KM objects (like documents attached to the business object), and/or to BW, with the ability to replicate data into BW for reporting and analysis issues. Layer 610 also reduces the knowledge needed for the application developer about the source of the object.
  • FIGS. 7 A-B illustrate components 700 for guided procedures for a composite application framework.
  • a guided procedure is a series of steps, often involving human interaction, that should be performed during the execution of a composite application.
  • a guided procedure is typically one that is common to a variety of applications.
  • components 700 may be classified into design-time components 710 and run-time components 750 , except for a metadata repository 790 , which is part of both.
  • Design-time components 710 may be used to generate run-time components 750 .
  • Design-time components 710 include a modeler 720 and a generator 730 .
  • Modeler 720 includes a process modeler 722 , a pattern modeler 725 , and an action modeler 726 .
  • Process modeler 722 includes a workflow modeler 723 and a context modeler 724 .
  • workflow modeler 723 allows process workflow for a guided procedure to be modeled
  • context modeler 724 provides context definition. That is, context modeler 724 allows relations between other processes to be defined.
  • an application may have more than one way of being activated—Intranet Web-based form versus remote voice control, for example.
  • Context modeler 724 is responsible for making sure that both activation mechanisms are associated with the application.
  • Pattern modeler 725 provides workflow patterns (e.g., delegation and approval) for workflow modeler 723
  • action modeler 726 provides actions for workflows.
  • Modeler 720 also includes a metadata API 727 , which provides access to the data in metadata repository 790 . Thus, access to meta data regarding guided procedures is available.
  • Generator 730 includes a template generator 731 , a state chart generator 733 , a pattern generator 735 , an action generator 737 , and a metadata API 739 .
  • Templates describe a workflow that may be may be implemented using workflow patterns. Workflow patterns contain actions that must be accomplished to complete the workflow and, hence, part of the template. Thus, a pattern may be viewed as an abstraction of an action, and a template may be viewed as an abstraction of work flow pattern.
  • a template could describe a workflow for ordering a product—a computer, for example.
  • the template may specify a workflow pattern for obtaining manager approval.
  • the pattern would have certain actions that need to be undertaken.
  • An example of an action could be finding the names of the employee's managers.
  • the approval pattern moreover, could be used for different templates.
  • template generator 731 generates templates
  • state chart generator 733 generates state charts
  • pattern generator 735 generates patterns
  • action generator 737 generates actions for the run-time environment.
  • Metadata API 739 provides access to the metadata in metadata repository 790 .
  • Metadata repository 790 includes templates 792 , workflow patterns 794 , actions 796 , and metadata 798 .
  • the templates, patterns, actions, and metadata may be accessed by generator 730 to produce a guide procedure.
  • Run-time components 750 provide instantiation for guided procedures, producing instances 752 .
  • Procedural navigation and integration may be provided in a Universal Worklist (UWL).
  • UWL Universal Worklist
  • Run-time components 750 also include object access services 760 , context sharing service 762 , content services 764 , portal connector service 766 , KM service 768 , workflow service 770 , and metadata services 772 .
  • Object access services 760 allows objects in an object access layer to be accessed.
  • Context sharing service 762 provides context to a workflow. For example, when a user accesses a workflow, context sharing service 762 provides a link to the proper portions of the workflow. For instance, many workflows involve inboxes, where new tasks for the workflow may be sent. The inbox may provide a link to the proper portion of the workflow if the context is known.
  • Content services 764 provide services for executing functions based on generic calls.
  • a workflow may need an application—a composite application, an HRM application, or a CRM application, for example—to be initiated.
  • Content service 764 may support integration with an application and/or a user interface.
  • Portal connector service 766 provides a connection service to a portal.
  • KM service 768 provides a connection service to a KM module.
  • Workflow service 770 provides a connection service to an ad-hoc workflow. This workflow may be very user-centric, allowing the assignment of not only tasks handled by transactions in business systems, but also tasks that require user handling (e.g., compose e-mail).
  • Metadata services 772 provides a connection to metadata repository 790 .
  • Components 700 may have a variety of features.
  • the components may provide context mapping for building blocks, and a user profile may be automatically used and updated.
  • ad-hoc administrations of running workflows may be supported and guided procedures may be monitored and analyzed.
  • FIGS. 8 A-K are user interfaces 800 that illustrate the implementation of a guided procedure.
  • user interfaces 800 demonstrate how a composite application having a guided procedure may be executed in a framework similar to framework 300 in FIG. 3.
  • the guided procedure is for the hiring of a new employee.
  • Other guided procedures may have similar characteristics.
  • other user interfaces may be in any appropriate format and may have any appropriate data and/or arrangement of data.
  • FIG. 8A illustrates user interface 800 a .
  • User interface 800 a demonstrates the initial view that a user may be shown upon accessing an enterprise management system.
  • User interface 800 a contains a first portion 802 , a second portion 804 , and a third portion 806 .
  • First portion 802 lists the activities of the user. One of those activities involves guided procedures.
  • Second portion 804 lists the user's collaborative activities, which were discussed previously.
  • Third portion 806 is a table containing the guided procedures with which the user is associated.
  • the current guided procedures for the user include preparing for meetings, hiring employees, organizing workshops, and preparing for trade shows.
  • Portion 806 may be displayed by selecting the guided procedure activity in portion 802 .
  • FIG. 8B illustrates user interface 800 b .
  • User interface 800 b demonstrates the status of the second guided procedure in portion 806 of user interface 800 a .
  • User interface 800 b may be displayed by selecting the second guided procedure in portion 806 .
  • user interface 800 b has a first portion 810 , a second portion 812 , a third portion 814 , and a fourth portion 816 .
  • the illustrated guided procedure has a variety of steps, which portion 810 illustrates by the use of a procedure line.
  • portion 810 illustrates by the use of a procedure line.
  • the employee hiring process has proceeded from initialization to hiring to preparing workspace, and is waiting for preparation of the collaborative environment for the new employee.
  • Portion 812 lists the tasks to accomplish the current step, and portion 814 provides more detailed information regarding the tasks.
  • Portion 816 lists resources, in this case people, for the user.
  • FIG. 8C illustrates user interface 800 c .
  • User interface 800 c demonstrates the selection of a mentor for the new employee, the first task in the step.
  • User interface 800 c may be displayed upon the selection of the first task in portion 812 of user interface 800 b.
  • user interface 800 c include portion 810 and portion 816 as in user interface 800 b .
  • User interface 800 c also includes a portion 820 , which displays information regarding a selected task. The selected task is shown as highlighted in portion 810 . Information for accomplishing the task appears in portion 820 . In this illustration, a mentor may be selected and an appropriate message entered.
  • FIG. 8D illustrates user interface 800 c at another next stage of the mentor selection process.
  • user interface 800 c includes portion 810 , portion 816 , and portion 820 .
  • a person named “Markus” has been selected in portion 816 to be the mentor for the new employee.
  • the list of people in portion 816 may be modified by altering the selected category “ ⁇ people>” or by performing a narrowing search.
  • the selection may be finalized by the activation of a button in portion 816 .
  • FIG. 8E illustrates user interface 800 c at still another stage of the mentor selection process.
  • user interface 800 c includes portion 812 , portion 816 , and portion 820 .
  • the name selected in portion 816 has been finalized.
  • the name is populated into portion 820 .
  • a user has entered a text message to be sent to the selected mentor. Once any message has been finalized, the mentor selection process may be completed by activating a button in portion 820 .
  • FIG. 8F illustrates user interface 800 d .
  • User interface 800 d illustrates another task in this step of the new employee guided procedure. In this step, colleagues of the new employee are to be identified and notified of the new employee.
  • User interface 800 d includes portion 810 , portion 816 , and a portion 824 .
  • portion 810 another task in the guided procedure step has been selected.
  • the first task in the step has an indicia signifying that it has been completed.
  • the new selection leads to the display of portion 824 , in which colleagues may be informed of the new hire. These people may be selected in portion 816 .
  • FIG. 8G illustrates user interface 800 d at another next stage of the colleague identification and notification task.
  • user interface 800 d includes portion 810 , portion 816 , and portion 824 .
  • the colleagues to be notified about the new employee have been selected from a list of teams in portion 816 .
  • the selection may be finalized by the activation of a button in portion 816 .
  • FIG. 8H illustrates user interface 800 d at another next stage of the colleague identification and notification task.
  • user interface 800 d includes portion 810 , portion 816 , and portion 824 .
  • the colleagues have been selected and finalized in portion 816 .
  • they appear in portion 824 .
  • a message to the selected colleagues has been entered in portion 824 by a user.
  • the mentor selection process may be completed by activating a button in portion 824 .
  • FIG. 81 illustrates user interface 800 e .
  • User interface 800 e illustrates another task in the fourth step of the new employee guided procedure. In this step, a location for the new employee is to be selected.
  • User interface 800 e includes portion 810 , portion 816 , and a portion 828 .
  • portion 810 another task in the fourth guided procedure step has been selected. Note that the first two tasks in the step now have indicia signifying that they have been completed. The new selection leads to the display of portion 828 , in which a location for the new employee may be specified.
  • FIG. 8J illustrates user interface 800 e at another stage of the location task.
  • user interface 800 e includes portion 810 , portion 816 , and portion 828 .
  • the user resources displayed in portion 816 are the rooms available for assignment by the user.
  • the displayed information category is “ ⁇ rooms>.”
  • the user has selected one of the rooms in the list for the new employee. The selection may be finalized by activating a button in portion 816 .
  • FIG. 8K illustrates user interface 800 e at yet another stage of the location task.
  • user interface 800 e illustrates the result of finalizing the location selection.
  • the location for the new employee is displayed in portion 828 .
  • the user is presented with further specification options (i.e., set assignments). The user may then select between the further options and finalize the task, and, hence, the guided procedure step.
  • FIG. 9 is a user interface 900 illustrating collaboration services. As illustrated, user interface 900 demonstrates a semantic object regarding user tasks. Thus, tasks 910 for a user are displayed in user interface 900 .
  • user interface 900 contains information regarding the status of tasks 910 .
  • user interface 900 indicates task completion time 920 , task priority 930 , task assignee 940 , and task progress 950 . These tasks may be related to business objects.
  • FIG. 10 illustrates a user interface framework 1000 for a composite application framework.
  • Framework 1000 may be similar to framework 352 in FIG. 3.
  • framework 1000 allows a user interface to be implemented for a business object.
  • framework 1000 includes a business object service module 1010 , a pattern configuration module 1020 , a metadata adapter 1030 , and an EJB adapter 1040 .
  • service module 1010 , metadata adapter 1030 , and EJB adapter 1040 are responsible for translating data into a format usable by pattern configuration module 1020 .
  • Service module 1010 maybe an API that allows business object data to be brought into the UI framework environment.
  • Service module 1010 includes a generic client proxy 1012 , which prepares data for other components of the UI framework 1000 and/or for external UI components. Proxy 1012 may transform data to a generic API.
  • Metadata adapter 1030 allows the metadata of a business object model to be exposed to the UI world, so that a unified metadata repository exists along the whole stack.
  • EJB adapter 1040 allows EJB components, such as tables, business objects, and data, to be translated into a format for framework 1000 .
  • Pattern configuration module 1020 contains the configured patterns generated using design-time components.
  • pattern configuration module 1020 and generic client proxy 1012 interact with elements of a UI development and interface module 1090 .
  • Module 1090 may provide a run-time environment plus a set of development tools based on the Model View Controller (MVC) paradigm.
  • MVC Model View Controller
  • the tools support the selection of patterns by the application developer and/or allow a Web developer of enterprise applications to freely define the layout and flow of an application.
  • module 1090 may be based on JavaServer Pages (JSPs) and a tag library containing, among other things, ready-made user interface elements (such as push buttons and input fields).
  • JSPs JavaServer Pages
  • tag library containing, among other things, ready-made user interface elements (such as push buttons and input fields).
  • the description of the application in a metadata repository is used to generate the run-time code for one of the following run-time environments: Java, ABAP, or .NET.
  • module 1090 provides a user the graphical and declarative development tools needed to design a data model and user interfaces for a Web application. So, for example, a user may simply define input validation, input help, and error handling, and all the required run-time objects may be generated automatically.
  • UI module-based application may consist of a set of views, navigation between the views, concepts for managing the views and determining their sequence, a context for keeping session data, and the business logic of the application.
  • the Model View Controller paradigm allows for a strict separation of presentation logic, business logic, navigation, and eventing.
  • UI module developers may also choose to use a freestyle Web development, where controls of the control library may be freely placed onto views according to their respective company style or a strict pattern-based approach. The latter allows usability engineers to predefine reusable patterns common to a set of business processes.
  • UI module tools that enable a developer to create such applications are part of the integrated development environment (IDE) of the SAP Web Application Server.
  • the design tools consist of a view designer, editors for controllers, an application modeler to define the flow of an application, and a model designer.
  • UI module may also support location-independent rendering. That is, depending on the capabilities of the client, the module run-time will generate the HTML for the browser either on the client or on the server. Client-side rendering, using the JavaScript-based client-side framework will be possible for Microsoft Internet Explorer as of version 5.5 (or higher) and for higher versions of Netscape Navigator.
  • the declarative separation of the user interface and the data model make it possible to isolate the layout (HTML) from the data (XML). This in turn results in efficient caching, a lower transmission bandwidth requirement, flicker-free screen updates, and virtually device-independent development for browsers, PDAs, and WAP-enabled cell phones.
  • the Web UI module technology may automatically provide support for multiple languages, personalization, and interface customization.
  • the configured patterns in pattern configuration module 1020 may be parameterizations of patterns for specific uses.
  • a pattern could specify the lay-out of information on a screen.
  • a pattern could specify that a list of items could be in a top portion with detailed information of a highlighted item in a bottom portion. This is commonly seen in e-mail presentation modules where a list of new e-mails is on top and a preview screen for a highlighted e-mail is on the bottom.
  • the same pattern could have other uses, such as, for example, in a file manager.
  • FIG. 9 An example of a user interface for a composite application is illustrated by FIG. 9. As illustrated therein, there is a pattern to list projects in the first column and data about the projects in additional columns. In this UI, however, context is provided for the projects. For example, the relationship between the listed project and the underlying business object in the object access layer is maintained. Thus, selecting an item in the UI may produce more information about the item.
  • a dashboard may be created for a business object using a configuration for a dashboard pattern in the UI pattern development environment such as the UI module development environment.
  • the business object would be selected.
  • one of the aspects of the business object would be selected.
  • an aspect is a subset of attributes for a business object.
  • the attributes that are part of the selected aspect may then be assigned to column categories.
  • attributes may be suppressed.
  • whether there is a hierarchy in the dashboard and how many rows should be displayed may be specified. A preview of the dashboard may then be had after completing the adjustments.
  • a composite application framework may extend an underlying enterprise platform.
  • a composite application framework may extend my SAP Technology by adding modeling and configuration tools (e.g., business object modeler and guided procedures).
  • generic components e.g., UI patterns and generic services
  • a standardized interface e.g., object access layer
  • a framework may provide reusable content (e.g., predefined object models and XI content), and integration infrastructure (e.g., to connect business objects and documents and to provide access to XI proxies).
  • a composite application framework may provide guidelines (e.g., composite application cookbook). The guidelines may be designed to work cooperatively with guided procedures.
  • Various implementations of the systems and techniques described here may be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations may include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
  • ASICs application specific integrated circuits
  • the systems and techniques described here may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user may provide input to the computer.
  • a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
  • a keyboard and a pointing device e.g., a mouse or a trackball
  • Other kinds of devices may be used to provide for interaction with a user as well; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
  • the systems and techniques described here maybe implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components.
  • the components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet.
  • LAN local area network
  • WAN wide area network
  • the Internet the global information network
  • the computing system may include clients and servers.
  • a client and server are generally remote from each other and typically interact through a communication network.
  • the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

Abstract

Systems and techniques to develop and execute a composite application may include an application framework. An application framework may include an object access layer, a service layer, and a user interface layer. The object access layer may be operable to exchange data with a plurality of enterprise base systems and to present the data to a composite application through a uniform interface. The service layer may be operable to provide services to the composite application, and the user interface layer may be operable to provide user interface patterns that facilitate information exchange between the composite application and a user.

Description

    RELATED APPLICATIONS
  • This application claims the benefit of U.S. Provisional Application No. 60/456,697, filed on Mar. 21, 2003.[0001]
  • BACKGROUND
  • Enterprise solutions have recently focused on allowing disparate components in a heterogeneous information technology (IT) environment to work with each other to implement a business process. This has given rise to the exchange infrastructure (XI), which integrates heterogeneous components, such as customer relationship management (CRM), human resources management (HRM), and product life-cycle management (PLM), in an IT landscape. [0002]
  • SUMMARY
  • In one general aspect, a framework for a composite application—that is, an application built on other applications—includes an object access layer, a service layer, and a user interface layer. The object access layer is operable to exchange data with a plurality of enterprise base systems and to present the data to a composite application through a uniform interface. The service layer is operable to provide services to the composite application. The user interface layer is operable to provide user interface patterns that facilitate information exchange between the composite application and a user. [0003]
  • In certain implementations, a composite application may include business objects, business services, and business processes. A business service may be an action performed on a business object, and a business process may be a combination of business services. [0004]
  • In particular implementations, a composite application framework includes a database for composite application data, wherein an object access layer is operable to provide local persistency in the database. In these implementations, the object access layer may be operable to provide data synchronization and replication of enterprise base system data in the database. [0005]
  • In certain implementations, a service layer includes a collaboration services module operable to provide a collaboration service to a composite application and a workflow services module operable to provide a workflow to a composite application. A collaboration services module may be operable to link a semantic object to a business object of a composite application. A workflow may include templates, workflow patterns, and actions, a template describing a workflow, workflow patterns describing portions of the template, and actions executing functions to carry out the workflow patterns. [0006]
  • In particular implementations, a service layer further includes a container for composite application services, the container operable to provide interfaces for non-framework-generated code. [0007]
  • In some implementations, a user interface layer includes a user interface framework that separates the user interface elements from the composite application so that the user interface is decoupled from the logic. [0008]
  • In certain implementations, a composite application framework includes a business object modeler and a business object generator. The business object modeler may be operable to provide a user interface for constructing a business object, and the business object generator may be operable to generate an executable version of the modeled business object. [0009]
  • In some implementations, a business object modeler may include an object modeler and a relation modeler. Also, a business object generator may include a generator framework and a persistency generator. Additionally, the business object generator may be operable to code a business object template with metadata and relation data for a business object to generate an executable version of the modeled business object. Furthermore, a business object generator may be operable to generate tables and proxies for a business object. [0010]
  • Another general aspect includes a method for implementing a composite application in a framework. The method may include generating executable code for a composite application, exchanging data with a plurality of enterprise base systems, presenting the enterprise base system data to the composite application through a uniform interface, and facilitating a user's interaction with the composite application through user interface patterns. A composite application may include business objects, business services, and business processes, wherein a business service is an action performed on a business object, and a business process is a combination of business services. The method may be implemented by hand, machine, an article including a machine-readable medium storing instructions, or otherwise. [0011]
  • In particular implementations, generating executable code for a composite application includes coding a template with business object metadata and relation data. In some of these implementations, generating executable code further includes generating tables and proxies for a business object. [0012]
  • Certain implementations may include providing local persistency in a database for composite application data. These implementations may include providing data synchronization and replication of enterprise base system data in the database. [0013]
  • Particular implementations may include providing a collaboration service to a composite application and providing a workflow to a composite application. [0014]
  • Certain implementations may include providing a container for composite application services, the container operable to provide interfaces for non-framework-generated code portions. [0015]
  • Some implementations may include providing user interfaces to model a composite application, the user interfaces allowing specification of attributes and relations for a business object of the composite application. These implementations may further include generating metadata for the business object and relations based on the specifications. [0016]
  • In another general aspect, a framework for developing and implementing a composite application includes a database, an object access layer, a service layer, a user interface layer, a business object modeler, and a business object generator. The database is operable to store composite application data, and the object access layer is operable to exchange data with a plurality of enterprise base systems, present the data to a composite application through a uniform interface, provide local persistency in the database, and provide data synchronization and replication of enterprise base system data in the database. The service includes a collaboration services module operable to provide a collaboration service to the composite application and a guided procedure services module operable to provide a guided procedure to the composite application. The user interface layer is operable to provide user interface patterns for displaying information relating to the composite application, and includes a user interface framework that separates the user interface elements from the composite application so that the user interface is decoupled from the logic. The business object modeler is operable to provide a user interface for constructing a business object of the composite application, and the business object generator is operable to generate an executable version of the modeled business object. A composite application may include business objects, business services, and business processes, wherein a business service includes an action performed on a business object, and a business process includes a combination of business services. [0017]
  • In particular implementations, a business object modeler may include an object modeler and a relation modeler. Furthermore, a business object generator may include a generator framework and a persistency generator. A business object generator may be operable to code a business object template with metadata and relation data for a business object to generate an executable version of the modeled business object and to generate tables and proxies for a business object. [0018]
  • In certain implementations, a collaboration services module is operable to link a semantic object to a business object of the composite application. [0019]
  • In some implementations, a guided procedure includes templates, workflow patterns, and actions, a template describing a guided procedure, workflow patterns describing portions of the template, and actions executing functions to carry out the workflow patterns. [0020]
  • In particular implementations, a service layer further includes a container for composite application services, the container operable to provide interfaces for non-framework-generated code. [0021]
  • Details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages may be apparent from the description and drawings, and from the claims.[0022]
  • DRAWING DESCRIPTIONS
  • These and other aspects will now be described in detail with reference to the following drawings. [0023]
  • FIGS. [0024] 1A-B are block diagrams illustrating an example integrated enterprise management system.
  • FIG. 2 is a block diagram illustrating an example framework for a composite application. [0025]
  • FIG.[0026] 3 is a block diagram illustrating another example framework for a composite application.
  • FIG. 4 is a block diagram illustrating design-time components for a composite application framework. [0027]
  • FIGS. [0028] 5A-I are user interfaces that illustrate an implementation of a business object modeler.
  • FIG. 6 is a block diagram illustrating run-time components for a composite application framework. [0029]
  • FIGS. [0030] 7A-B are block diagrams illustrating components for guided procedures for a composite application framework.
  • FIGS. [0031] 8A-K are user interfaces that illustrate an implementation of a guided procedure.
  • FIG. 9 is a user interface illustrating collaboration services. [0032]
  • FIG. 10 is a block diagram of a user interface framework for a composite application framework. [0033]
  • Like reference symbols in the various drawings indicate like elements.[0034]
  • DETAILED DESCRIPTION
  • The systems and techniques described here relate to a framework for developing and implementing applications in an enterprise management system. For example, a framework may be used to develop and implement a composite application, which overlays an enterprise IT platform and uses it to implement processes that are not the core enterprise transactional processes. That is, a composite application may orchestrate a business process in synchronization with existing processes (e.g., native processes of enterprise base systems) and leverage existing investments in the IT platform. Furthermore, composite applications may be run on a heterogeneous IT platform. In doing so, composite applications may be cross-functional. That is, they may drive business processes across different applications, technologies, and organizations. Accordingly, composite applications may drive end-to-end business processes across heterogeneous systems. Additionally, composite applications may be combined with each other in order to enlarge the process coverage. Composite applications may also support semi-structured processes, tackle event-driven and knowledge-based scenarios, and support a high degree of collaboration in teams. In teams, for example, people may work on specific tasks in specific roles in specific teams. Composite applications may relate knowledge, structured information, and/or unstructured information within the context of a business process and may be triggered by events, aggregate and contextualize information, and drive collaboration and transactions. Different applications supported by different frameworks may have any combination of these characteristics. Thus, different implementations of the framework may be used for developing and implementing various types of applications. [0035]
  • FIGS. [0036] 1A-B illustrate an example integrated enterprise management system 100. In system 100, clients 110 access data over a communication network 120 through a portal 130. Network 120 may be any appropriate type of communication network, such as, for example, a local area network (LAN), a wide area network (WAN), an enterprise network, a virtual private network (VPN), the Internet, and/or the Public Switched Telephone Network (PSTN). Clients 110 may be any machines or processes capable of communicating over network 120. In particular implementations, clients 110 may be Web Browsers and, optionally, may be communicatively coupled with network 120 through a proxy server.
  • [0037] Portal 130 provides a common interface to program management services. In operation, portal 130 receives requests from clients 110 and generates information views 131 (e.g., Web pages) in response. The portal may implement a user-role based system to personalize the common interface and the information views 131 for a user of one of clients 110. A user may have one or more associated roles that allow personalized tailoring of a presented interface through the generated information views 131.
  • In particular implementations, the portal may includes a security component, a content directory component, a view builder, a content management component, and one or more service interfaces to an enterprise [0038] management consolidation system 140. The security component may protect data transmission using encryption (e.g., Secure Socket Layers (SSL)), digital signatures, and/or watermarking. The view builder may create role-based interactive views (e.g., Web pages) for presentation to users. The content management component may include a retrieval and classification component (e.g., Text Retrieval and Extraction (TREX) component) and a collaboration component. The retrieval and classification component may automatically analyze unstructured components to identify know-how. The service interfaces could include an Internet Transaction Server (ITS) component, various connectors, such as a Java Connector, and a Business Intelligence platform.
  • [0039] Portal 130 communicates with enterprise management consolidation system 140, which consolidates multiple application services. Portal 130 receives information 141 from enterprise management consolidation system 140 for use in fulfilling the requests from clients 110. Enterprise management consolidation system 140 provides integrated application services to manage business objects and processes in a business enterprise. The business objects and processes may be resources (e.g., human resources), development projects, business programs, inventories, clients, accounts, business products, and/or business services.
  • Enterprise [0040] management consolidation system 140 communicates with enterprise base systems 150 to obtain multiple types of information 151. Enterprise base systems 150 may include various existing application services, such as customer relationship management (CRM) systems, human resources management (HRM) systems, financial management (FM) systems, project management (PM) systems, knowledge management (KM) systems (e.g., documents attached to a business object), business warehouse (BW) systems, time management (TM) systems, and/or electronic file and mail systems. The enterprise base systems may also include an integration tool, such as an exchange infrastructure (XI), which provides another level of integration among base systems.
  • Enterprise [0041] management consolidation system 140 may consolidate and integrate the data and functionality of enterprise base systems 150 into a single enterprise management tool. This enterprise management tool may include systems and techniques to facilitate creation and execution of new applications within the enterprise management consolidation system. These new applications may be composite applications and may readily draw on the resources of enterprise base systems 150 to cross over traditional enterprise application boundaries and to handle new business scenarios in a flexible and dynamic manner, allowing rapid and continuous innovation in business process management. A virtual business cycle may be created using such cross-functional applications, where executive-level business strategy may feed management-level operational planning, which may feed employee-level execution, which may feed management-level evaluation, which may feed executive-level enterprise strategy. The information generated at each of these stages in the enterprise management cycle may be readily consolidated and presented by the enterprise management consolidation system 140 using customized composite applications. The stages may provide and consume determined services that may be integrated across multiple disparate platforms.
  • [0042] Portal 130, enterprise management consolidation system 140, and enterprise base systems 150 may reside in one or more programmable machines, which may communicate over a network or one or more communication busses. For example, base systems 150 may reside in multiple servers connected to an enterprise network, and portal 130 and enterprise management consolidation system 140 may reside in a server connected to a public network. Thus, system 100 may include customized, Web-based, composite applications, and a user of the system may access and manage enterprise programs and resources using these customized, Web-based, composite applications from anywhere that access to a public network is available.
  • FIG. 1B further illustrates enterprise [0043] management consolidation system 140 for the example. System 140 includes a persistence layer 142 and one or more base system connectors 145. Base system connectors 145 enable data exchange and integration with enterprise base systems. Base system connectors 145, for example, may include an Enterprise Connector (EC) interface, an Internet Communication Manager/Internet Communication Framework (ICM/ICF) interface, an Encapsulated PostScript® (EPS) interface, and/or other interfaces that provide Remote Function Call (RFC) capability.
  • [0044] Persistence layer 142 provides enterprise management consolidation system 140 with its own database 143 and data object model 144. Database 143 and object model 144 provide a consolidated knowledge base to support multiple enterprise management functions, such as portfolio management, project execution, risk assessment, budgeting, scheduling, workforce planning, skills management, business forecasting, and capacity modeling, which could all be could be created as composite applications 149. Active communication between persistence layer 142 and the base systems may provide a tight linkage between real-time operational data from multiple base systems and an integrated enterprise analysis tool to allow strategic enterprise management and planning.
  • [0045] Data object model 144 may represent a subset of data objects managed by the base systems. That is, not all of the data aspects tracked in the base systems need to be recorded in data object model 144. Data object model 144 may have defined relationships with data objects stored in the base systems; for example, certain objects in data object model 144 may have read-only or read-write relationships with corresponding data objects in the base systems. These types of defined relationships may be enforced through the communication system built between persistence layer 142 and the base systems. Thus, persistence layer 142 may be used to effectively decouple application development and execution from the underlying base systems.
  • [0046] Applications 149 take advantage of this decoupling from back-end systems to flexibly integrate existing systems and new functional components into business processes. Furthermore, the applications may drive business processes across different platforms, technologies, and organizations. Additionally, applications 149 may support semi-structured processes, aggregate and contextualize information, handle event-driven and knowledge-based scenarios, and support a high degree of collaboration in teams, including driving collaboration and transactions.
  • [0047] Applications 149 may be created using a set of tools that enable efficient application development. The tools may enable efficient application development by providing application patterns that support model-driven composition of applications in a service-oriented architecture.
  • An [0048] object modeling tool 146 enables creation of new business objects in the persistence layer 142 by providing a mechanism to extend data object model 144 dynamically according to the needs of an enterprise. A process modeling tool 147 enables creation of new business workflow and ad hoc collaborative workflow. A user interface (UI) tool 148 provides UI patterns that may be used to link new objects and workflow together and generate standardized views into results generated by applications 149. Object modeling tool 146, process modeling tool 147, and UI tool 148, thus, may be used to build the components of applications 149 to implement new enterprise management functions without requiring detailed coding activity.
  • [0049] Process modeling tool 147 may include guided procedure templates with pre-configured work procedures that reflect best practices of achieving a work objective that is part of a larger cross-functional application scenario. Such a work procedure may include contributions from several people, creation of multiple deliverables, and milestones/phases. Moreover, whenever an instantiated business object or work procedure has lifetime and status, the progress and status of the object or work procedure may be made trackable by the process owner or by involved contributors using a dashboard that displays highly aggregated data. A dashboard and a page that provides access to status information about ongoing work, such as a personalized work place, may be two UI patterns that are provided by UI tool 148.
  • Moreover, there may be other UI personalizations. For example, if there is a concept of personalized items, such as, for example, objects, recent objects, related objects, or preferred objects, then an object picker UI pattern, provided by [0050] UI tool 148, may be included to let users pick their favorite object directly.
  • If people are to be searched for, either for choosing one individual person or for generating a collection of people meeting some criterion, a people finder concept may be applied. A key aspect of searching for a person may be described as an attribute within the user's activity, qualification, interest, and/or collaboration profile. For a given composite application scenario, people collections may be stored as personal or shared collections using the people finder to make them available for further operations later on. [0051]
  • If there is a strategic view on a composite application scenario, analytics of the overall portfolio may be made available in the form of a collection of UI components. A view selector may be used to display/hide components, and a component may be toggled between graphical and numerical display and may include a drop-down list or menu to select sub-categories or different views. [0052]
  • Composite application scenarios may provide related information to the user when possible, and some parts within a larger application scenario may define what kind of related information is to be offered. Heuristics may be used to identify such relatedness, such as follows: (1) information that is related to the user due to explicit collaborative relationships such as team/project membership or community membership; (2) information that is similar to a given business object in a semantic space based on text retrieval and extraction techniques; (3) recent objects/procedures of a user; (4) other people performing the same or similar activity (e.g., using same object or procedure template having the same workset); (5) instances of the same object class; (6) next abstract or next detailed class; (7) explicit relationships on the organizational or project structure; (8) proximity on the time scale; (9) information about the underlying business context; and/or (10) information about the people involved in a collaborative process. [0053]
  • Composite applications also may include generic functionality in the form of ControlCenter Pages that represent generic personal resources for each user. These may refer to the following pages where appropriate: (1) MyOngoingWork page: provides access to status information about ongoing work of a user (Ongoing work may refer to the state of business objects as well as guided procedures); (2) MyDay page: lists today's time-based events that are assigned or related to a user; (3) MyMessageCenter page: displays pushed messages and work triggers using a universal inbox paradigm with user selected categorical filters; and/or (4) Myinfo: provides access to personal information collections (e.g., documents, business objects, contacts) including those located in shared folders of teams and communities of which the user is a member. The page may also provide targeted search in collaborative information spaces such as team rooms, department home pages, project resource pages, community sites, and/or personal guru pages. [0054]
  • FIG. 2 illustrates a [0055] framework 200 for a composite application. In general, framework 200 leverages and enhances underlying enterprise base systems 290, which could include an XI, supporting business transaction systems such as CRM, HCM, and PLM, Knowledge Management Warehouse (KW), and BW, with tools, content, and guidelines to provide a foundation for developing and executing composite applications.
  • As discussed previously, composite applications typically implement new or additional processes, as opposed to the core transactional processes, in an existing IT landscape. Composite applications may also support semi-structured processes, tackle event-driven and knowledge-based business scenarios, and support collaboration in teams. In particular implementations, composite applications may support the Java stack. [0056]
  • As illustrated in FIG. 2, [0057] framework 200 includes an object access layer (OAL) 210, a service layer 220, a user interface (UI) layer 230, and a metadata repository 240. OAL 210 manages interaction between composite applications and enterprise base systems 290. In doing so, OAL 210 provides a uniform interface for composite applications. Thus, OAL 210 reduces the knowledge needed for a composite application developer about the source of data because OAL 210 sits on top of and embraces different connectivity technologies. Coding and configuration data for OAL 210 may be automatically generated, at least in part, by business object metadata in repository 240. Furthermore, OAL 210 allows for local persistency (e.g., connectivity to a local database such as an application database 250 to store data). Data synchronization and replication of remote data (e.g., data in back-end systems) into the local persistency database may be supported. For an application sitting on top of layer 210, the source of the data may be completely transparent, which may assist in keeping application logic stable since the application is, at least for the most part, not affected by underlying systems. In some implementations, OAL 210 includes extensions to document management or content management that allow business objects to use the functionality for documents.
  • [0058] Service layer 220 provides services for business objects in layer 210. In general, services for business objects are common procedures that users need to interact effectively with the objects. Service layer 220, for example, may include generic services, collaboration services, guided procedure services, and/or a container for application services. By separating the services from the business objects, the services may be more readily reused across business objects.
  • [0059] UI layer 230 provides user interfaces that allow a user to interact with composite applications. In particular implementations, UI layer 230 provides pattern components, such as, for example, a dashboard, a search bar, a browse and collect function, an object editor, and phases for a guided procedure, as building blocks for user interfaces. UI layer 230 may also decouple application logic from the UI. As shown, UI layer 230 accomplishes this by having a separation of the business objects, which are in the object access layer 210, and application services, which are in service layer 220, from the user interface elements, which are in UI layer 230. This allows UI components to be reused in different application contexts. This also allows business objects and application services to be visualized differently according to the specific equipments of a certain use case. UI layer 230 may also leverage the metadata information on business objects and services through metadata-driven UI-generation and configuration. The metadata approach allows for ready adaptability to alternative screens depending on the end users needs (e.g., in different industries). UI layer 230 may additionally allow integration (e.g., binding) into OAL 210 to access business objects, business services, and metadata. Thus, UI components may be connected to business objects in OAL 210. UI layer 230 may support any appropriate type of user interfaces, such as, for example, a user interface composed of pattern-based components and/or freestyle components with interfaces to the user interface components—this user interface will discussed in more detail below—or Java Server Pages (JSPs) from Sun Java Server Pages (JSPs) from Sun.
  • [0060] Metadata repository 240 stores the content of the composite application (e.g., specific business objects, information about services, and, eventually, processes) and makes the metadata information available at run-time, if needed. The repository may allow different metamodels to be created (the model for business objects being one of them) and to persist the metadata.
  • As mentioned previously, attached to [0061] framework 200 is application database 250. Database 250 provides a central repository for available business objects. An example of data in repository 250 includes database tables for a business object. The data may be added to, changed, and/or deleted. Data may also be stored in KW, BW, or an XI system. As discussed, framework 200 provides a set of standard services that enables application developers to make use of the data. The origin of the data and/or its persistency may be transparent to the application developer, not to mention the composite application.
  • Based on the central repository for objects, metadata data about objects is stored in [0062] metadata repository 240. This metadata enables generic services like automatic generation of default UIs, object access interface, data access methods, persistency, and mappings.
  • [0063] Framework 200 may be implemented using readily available technology. For example, the framework may be implemented using mySAP technology components. In particular implementations, the components may include an SAP Web Application Sever (WAS) to run the applications, an SAP Enterprise Portal to render the applications, an SAP KW to handle unstructured information sources, pattern-based components and/or freestyle components with interfaces to the UI components to design UIs and to provide J2EE and ABAP run-time integration, an SAP BW to provide reporting and analytics, data mining, and planning and simulation, SAP Business Process Management (BPM), an SAP Exchange Infrastructure (XI) to provide shared integration knowledge separate from applications, and SAP Web services to offer business functionality over the Internet.
  • In one general aspect, [0064] framework 200 allows composite applications to work with existing system landscapes. The framework accomplishes this by decoupling composite applications from the underlying enterprise platform, which includes enterprise base systems. This decoupling may involve providing communication to back-end systems via a central interface and providing a back-end-independent object model. The latter may be implemented so that the data from the source systems may be transformed into a unified structure. This may also allow successive installation, activation, and use of different applications, which may reduce entry costs.
  • Examples of the types of business processes supported by the framework including enterprise change management, product innovation, employee productivity, and enterprise service automation. Enterprise change management may support enterprises when merging, splitting, acquiring, spinning off, or reorganizing. Product innovation may support the life cycle of a product, including the prenatal phase of collecting ideas and consolidating them into concepts, the market launch phase, and the end of life. In doing so, the resources of a PLM and CRM may be drawn upon. Employee productivity aims to increase employee productivity, decrease costs, and increase employee satisfaction. Key functions may include manager self services, employee self services, expert finders, e-procurement, and e-learning. ERM and B2E resources may be drawn upon to accomplish these tasks. Enterprise service automation provides administration and monitoring functions as well as evaluation tools to facilitate project success. An example of this is the setting up of projects and the staffing with people with the required skills and availability. Additional application families may also be created. [0065]
  • FIG. 3 is a block diagram of a [0066] composite application framework 300 illustrating details of one potential implementation. As illustrated, framework 300 includes design-time components 310, run-time components 320, and a metadata repository 360, which is shared by the design-time components and the run-time components. In general, design-time components 310 are responsible for developing composite applications that are executed by run-time components 320.
  • In more detail, design-[0067] time components 310 provide a repository and user interface for modeling and generating business objects, business services, business processes, user interfaces, and/or any other appropriate portions of a composite application. A business object, for example, may be an employee, a product, a plant, or any other semantic representation of a real-world entity. A business service is an action taken on a business object. Changing the price or category of a product are examples of services for a business object that represents a product. As another example, gathering input from employees and customers, who may themselves be represented by business objects, for a new product idea are examples of business services. Putting services together in a proper combination produces a business process. A composite application is typically composed of business objects, business services, and/or business processes.
  • As illustrated, design-[0068] time components 310 include application modeling tools 312, application generators 314, and, in part, metadata repository 360. Modeling tools 312 may be used for modeling business objects, business services, business processes, user interfaces, and the like. A separate modeling tool may be used for each of the composite application portions. Furthermore, modeling tools 312 may be used for integrating business objects, business services, business processes, user interfaces, and the like. Thus, framework 300 may support model-driven composition of composite applications, allowing for development with little or no programming effort.
  • The metadata about business objects, business services, business processes, and/or other application portions is stored in [0069] metadata repository 360. Thus, an application portion may be modeled as well as the origin of the data, whether in a local database, remote database, or mixture. In particular implementations, the content of metadata repository 360 may not be associated with a specific implementation of the things a repository describes. Thus, other repositories that describe a specific implementation may be filled from repository 360.
  • [0070] Generators 314 are used for generating actual code from the portions modeled by modeling tools 312. To accomplish this, the generators may use templates that are stored in metadata repository 360. Driven by the metadata in repository 360, the generators may automatically create Java classes (e.g., for use in run-time components 320) and also configuration files (e.g., to adjust UI patterns to a certain business object). Thus, the connectivity to back-end systems and the application persistency may be generated, as well as a default user interface. The generators may also generate interfaces for application services, data access logic, and persistency.
  • Run-[0071] time components 320 provide the run-time environment for business objects, business services, business processes, user interfaces, and the like, as well as data access abstraction. As illustrated, run-time components 320 include an object access layer 330, a service layer 340, a UI layer 350, and, in part, metadata repository 360. Run-time components 320 also use an application database 370, which stores data tables for executing applications.
  • [0072] Object access layer 330 manages interaction between composite applications and enterprise base systems 390. In doing so, layer 330 reduces the knowledge needed for the application developer about the source of data because layer 330 sits on top of and embraces different connectivity technologies. Thus, layer 330 provides a uniform interface for composite applications. As such, layer 330 may act as a dispatcher to provide access to a variety of data sources. As illustrated, layer 330 leverages a message-based platform 390 a that includes an XI with connectivity to underlying applications like CRM, HCM, and PLM, a knowledge management warehouse (KW) 390 b, and a business intelligence warehouse (BW) 390 c, and manages the persistency in application database 370. Layer 330 may also leverage a fairly synchronous infrastructure such as a service-oriented data access, which could be a BW, and a KW repository framework, which may allow connection to document management systems or to LDAP (Lightweight Directory Access Protocol), a more unstructured type of data. Thus, layer 330 may bring structured and unstructured data closer together. Coding and configuration data for layer 330 may be automatically generated, at least in part, by business object metadata in repository 360.
  • For data access abstraction, the fact that [0073] layer 330 sits on top of and embraces different connectivity technologies allows routing to a variety of different data sources. Furthermore, layer 330 allows for local persistency (e.g., connectivity to a local database such as application database 370 to store data). Additionally, data synchronization and replication of remote data (e.g., data in back-end systems) into the local persistency database may be supported. The data may be transferred and transformed into the local persistency. For an application sitting on top of layer 330, the source of the data may be completely transparent. For example, some applications underlying layer 330 might provide services (e.g., Web services), allowing the data to be read remotely, and some applications may not provide such access. Layer 330 may deal with this situation by making everything look like a service to the composite application, perhaps by replicating data into the composite application and offering a local service. Layer 330 may also provide namespace concepts that are used for generated mappings.
  • In certain implementations, [0074] layer 330 includes extensions to document management or content management that allow business objects to use the functionality for documents. For example, taxonomies for business objects, transparent indexing of TREX for structured and unstructured objects, and subscription services for dependent objects independent of the repository where the objects reside may be provided. Layer 330 may also provide transaction support, in as far as the transaction concept is also supported by concerned source systems, a metadata interface, allowing an application to be dynamically configured at run-time, and subscription services (e.g., J2EE publish and subscribe).
  • [0075] Layer 330 may have a variety of features. For example, it may keep the application logic and UI stable. This may be accomplished by making the origin of the data transparent to the application logic and UI. Thus, there may be little to no impact of the underlying IT system landscape on the application logic or UI, as the adaptation to a specific landscape is, at least for the most part, accomplished by layer 330. Furthermore, changes to enterprise base systems 390, such as KW and XI, may have no direct influence on the application logic or the UI.
  • As another example, [0076] layer 330 may accelerate composite application development. This may be accomplished by reusing business objects across composite applications, reusing enterprise base systems 390 access services (e.g., KW and XI) across composite applications, reusing know-how (e.g., uniform interface structure providing common access to business objects), efficient (e.g., model-driven) implementation of business objects based on a repository, and using a relative homogenous structure for application logic, which simplifies modifications and maintenance.
  • As an additional example, [0077] layer 330 may enable integration. This may be facilitated by communication between composite applications via a shared object model, shared contexts across composite applications based on a shared object model, and integration of enterprise base system (e.g., KW and BW) via a composite application object model. The integration may also involve integrating business objects.
  • As a further example, [0078] layer 330 may facilitate application building by configuration. This may be accomplished by providing standard interfaces with well-defined semantics, which allows components to be combined in a meaningful way since the semantics of the components' interfaces is known, and allowing objects to participate in a collaborative context, (e.g., chat room) just by implementing certain interfaces.
  • [0079] Service layer 340 provides services for business objects in layer 330. In general, services for business objects are common procedures that users need to interact effectively with the objects. A service layer may also provide other types of services, such as, for example, UI-related service and/or collaboration services. Furthermore the service layer may provide integration of external services.
  • As illustrated, [0080] service layer 340 includes generic services 342, collaboration services 344, guided procedure services 346, and a container for application services 348. By separating the services from the business objects, the services may be more readily reused across business objects.
  • As its name implies, [0081] generic services 342 provides a set of standard services for parts of an application. Moreover, the services may be used across applications. Generic services 342 may also provide namespace and packaging concepts. The services are typically not bound to a portion of an application, but are available to all portions. Examples of generic services include print services, value help services, authorization, personalization, and voice enablement. An example of a value help service is the filling of drop down boxes in user interfaces; the service is able to determine what the possible entries are for boxes and to populate the boxes therewith.
  • [0082] Collaboration services 344 provides the ability to link semantic objects to business objects. Semantic objects typically provide a set of generic services, like classification, notification, subscription, feedback, search, retrieval, rating, time-based publishing, state-based publishing, and security model. In addition, relations between semantic objects may be supported. For example, a team could be assigned to a task, and people could be assigned to the team. Moreover, a room could be created for that task, to keep people and documents together. Semantic objects such as document, folder, room, task, meeting, user, and discussion may be accessible via layer 330. Semantic objects may also be available in a variety of other ways. For example, semantic objects may be included in layer 330 as business objects, and/or individual services of semantic objects may be included in layer 340.
  • [0083] Collaboration services 344 extends the semantic object concept by making the functionality of semantic objects available for business objects (e.g., notification, subscription, etc.). Thus, services 344 provides collaboration context for a business object. Services 344 may automatically manage the relations between business objects and semantic objects. In addition, new kinds of relations may be supported: for example, relations between business objects and semantic objects. Thus, a task or a team may be assigned to a specific product, people may be assigned to the task, and so on. Furthermore, special collaborative services may be provided for semantic objects, such as scheduling and assignment functions for tasks and inviting, splitting, and closing functions for discussions. In particular implementations, a suite of collaboration services may be provided without the need to deal with KM specific. These services may also be made available for composition applications. Furthermore, the relation between the business objects and the semantic objects may be maintained.
  • The collaboration provided by [0084] collaboration services 344 may be semi-structured processes. A common understanding of a business process may be reflected by a predefined collaboration scenario. On the other hand, the business process may be adaptable to different enterprise's needs. To support this, differing scenarios may be built with minimal programming.
  • Guided [0085] procedure services 346 allows business objects to participate in guided procedures. A guided procedure is a series of steps, often involving human interaction, that should be performed during the execution of a composite application. A guided procedure, which is a type of workflow, is typically one that is common to a variety of applications and, thus, may be reused. To provide guided procedures, services 346 may provide pre-defined building blocks for process workflow and pre-defined actions. Additionally, services 346 may facilitate template design. This may be used to support role-based collaborative processes, process workflow, and/or context definition. At run-time, guided procedures may be implemented by using template instantiation, by design-time integration for ad hoc adaptation of templates, and procedural navigation and integration in a Universal Worklist (UWL). Furthermore, services 346 may provide context awareness and sharing by context mapping of building blocks, business object integration, and user assistance. Additionally, services 346 may provide monitoring and analysis of guided procedures.
  • [0086] Application services container 348 is used to implement model specific services for one or more business applications. Although generic objects, generic services, and/or processes may be generated for an application, some business logic is too specific to be implemented generically. For example, determining the number of vacation days that an employee has may involve determining the number of vacation days the employee is entitled to per year, determining the number of days available based on the employee's service to date for the year, determining how many days the employee has been absent to date for the year, and determining whether to assign those days to vacation days or sick days. Furthermore, if the employee is splitting time between departments, an allocation may need to be made between the two. As another example, an order process at a manufacturer may include obtaining a order, splitting the order into components based on the bill of materials, determining whether each component is in stock, if a component is not in stock, determining where and/or how to procure it, and, if a component must be procured, determining a potential delivery date. The business logic for such tasks may be difficult to model generically, especially across a wide variety of industries. Thus, the logic may have to be individually coded. Container 348 provides interfaces for the code to be used. The interfaces may be generated by the metadata of the service model, but the inner code has to be programmed individually. Also, maintaining the service definition in the design-time allows generation of an empty service.
  • [0087] UI layer 350 includes a UI framework 352. Framework 352 provides pattern components as building blocks for user interfaces. Examples of pattern components include a dashboard, a search bar, a browse and collect function, an object editor, and phases for a guided procedure. These components may serve to increase efficiency of UI development because they are reusable and may serve to keep training costs down by providing a standard look and feel for the composite applications. Furthermore, the components readily provide a UI for composite application objects and services and allow a default UI to be automatically generated for displaying, creating, and changing business objects.
  • [0088] Framework 352 may also decouple application logic from the UI. As shown, framework 352 accomplishes this by having a separation of the business objects and application services from the user interface elements. This allows UI components to be reused in different application contexts. This also allows business objects and application services to be visualized differently according to the specific equipments of a certain use case.
  • [0089] UI framework 352 may also leverage the metadata information on business objects and services through metadata-driven UI-generation and configuration. The metadata approach allows for ready adaptability to alternative screens depending on the end users needs (e.g., in different industries). UI framework 352 may additionally allow integration (e.g., binding) into layer 330 to access business objects, business services, and metadata. Thus, UI components such as patterns and freestyle may be connected to business objects in layer 330. In accomplishing this, framework 352 may provide the necessary metadata at design-time and manage the access to the according service providers at run-time.
  • [0090] UI framework 352 may support any appropriate type of user interfaces. For example, the UI framework may support a user interface composed of pattern-based components and/or freestyle components with interfaces to the user interface components—this user interface will discussed in more detail below—or Java Server Pages (JSPs) from Sun. UI framework 352 may also support a Java front-end and ABAP back-end, a Java front-end and Java back-end, or any other appropriate combination of front-end and back-end. The framework may additionally provide a construction kit for complex components and applications and configuration of patterns via XML, URL, or other appropriate technique.
  • [0091] Metadata repository 360 stores the content of the composite application (e.g., specific business objects, information about services, and, eventually, processes) and makes the metadata information available at run-time (if needed). The repository may allow different metamodels to be created (the model for business objects being one of them) and to persist the metadata. For specific purposes, additional repositories, such as, for example, a portal content directory (PCD), which may contain portal specific pieces of an application (e.g., views, pages, roles), may be required.
  • As mentioned previously, attached to [0092] framework 320 is an application database 370. Database 370 provides a central repository for available business objects. An example of data in repository 370 includes database tables for a business object. The data may be added to, changed, and/or deleted. Data may also be stored in KW, BW, or an XI system. As discussed, framework 200 provides a set of standard services that enables application developers to make use of the data. The origin of the data and/or its persistency may be transparent to the application developer, not to mention the composite application.
  • Based on the central repository for objects, metadata data about objects is stored in [0093] metadata repository 360. This metadata enables generic services like automatic generation of default UIs, object access interface, data access methods, persistency, and mappings.
  • In particular implementations, [0094] modelers 312 and generators 314 generate the business objects used in layer 330. Modelers 312 and generators 314 also facilitate the creation of business object metadata and its storage in metadata repository 360. The modelers and generators may be relatively easy to use because they are restricted to a particular purpose. Additionally, they may help to ensure the consistency of the metadata according to the capabilities of layer 330.
  • In particular implementations, the composite application portions may be implemented as Enterprise Java Beans (EJBs). In other implementations, the design-time components may have the ability to generate the run-time implementation into different platforms, such as J2EE, ABAP, or .NET. [0095]
  • [0096] Components 310 may also support a variety of specific features needed for business objects, such as time-dependent attributes or organizational-unit-dependent attributes, like product attributes, which differ from plant to plant. The components may not only generate the classes and the coding, but may also create the database tables and the interfaces to the UI, including the relevant metadata. So, after modeling, there may be a generation step that provides a stack of services for one business object, including the UI down to the database tables and proxies for remote access.
  • In particular implementations, [0097] generators 314 allow template-based generation of Java-coding, database tables, entries in metadata repository 360, XML configuration files, etc. This may be implemented with extensibility and the ability to conduct upgrades without loosing his information. This capability may be achieved by allowing the metadata of the new implementation to be compared with the metadata of the existing implementation during an upgrade. If there are implementation-specific extensions, they may be identified, and strategies for solution of possible conflicts may be proposed.
  • As discussed, [0098] framework 300 provides modeling and configuration tools (e.g., business object modelers and guided procedures), generic components (e.g., UI patterns and generic services (F1, F4, help, authorizations)), standardized interfaces (e.g., object access layer), reusable content (e.g., predefined object models and XI content), and integration infrastructure (e.g., to connect business objects and documents and access to XI proxies). Moreover, the framework allows composite applications to be created according to guidelines, which are documentation that allows composite applications to be created appropriately using the framework. The guidelines may or may not be implemented in software.
  • [0099] Framework 300 may be implemented using readily available technology. For example, the framework may be implemented using mySAP technology components. In particular implementations, the components may include an SAP Web Application Sever (WAS) to run the applications, an SAP Enterprise Portal to render the applications, an SAP KW to handle unstructured information sources, an SAP BW to provide reporting and analytics, data mining, and planning and simulation, SAP Business Process Management (BPM), an SAP Exchange Infrastructure (XI) to provide shared integration knowledge separate from applications, and SAP Web services to offer business functionality over the Internet.
  • For instance, an SAP WAS may include a J2EE engine, SAP IDE, Universal Workflow, and Deployment Service. The WAS may also include a pattern-based and freestyle-based user interface development and interface module. Also, an SAP Enterprise Portal may provide unified access to applications, information, and services by using views, roles, pages, worksets, top-level navigation, and KM. This enterprise portal also provides login management and user management. For KM, unstructured information consists of collaboration and content management. For collaboration, KM enables team-driven business processes, synchronous and asynchronous applications, groupware integration, calendars, bulletin boards, threaded discussions, and collaboration rooms. For content management, KM handles documents, feedback, rating, publishing, subscription, document workflow, versioning, archiving, indexing, searching, and taxonomies. SAP BPM may cover life cycles (e.g., design, development, deployment, and change). An SAP XI may provide external and internal integration of system and connectors to various systems such as Oracle, Siebel, Peoplesoft, and SAP. The SAP XI may be based on Web services, JAVA, and XML standards. SAP Web services may provide a service provider, service handler, and service user. Additionally, an SAP BW may be used. [0100]
  • Moreover, the KM and collaboration functionality may embedded in applications, not only in separate pages in the portal. Furthermore, any general development environment may be used. For example, the development environment could include Java, with EJB 2.0, JDO, Java persistency, and Java application logic, Advanced Business Application Programming (ABAP), and Web services. Existing ABAP components may be integrated via Java connector calls. In particular implementations, the complete Java stack could be used. Furthermore, Web service technology may be used for remote access. [0101]
  • In one general aspect, [0102] framework 300 allows composite applications to work with existing system landscapes. The framework accomplishes this by decoupling composite applications from the underlying enterprise platform. This decoupling may involve providing communication to back-end systems via a central interface and providing a back-end-independent object model. The latter may be implemented so that the data from the source systems may be transformed into a unified structure. This may also allow successive installation, activation, and use of different applications, which may reduce entry costs.
  • In another general aspect, the framework facilitates highly efficient development of composite applications. This may be accomplished by model-driven composition of applications, service-oriented architecture, UI and application patterns, reusable object models, and methodologies. Thus, the framework could be viewed as a kind of application factory. In such a factory, application building may be enabled without programming, at least as far as possible. [0103]
  • Examples of the types of business processes supported by the framework including enterprise change management, product innovation, employee productivity, and enterprise service automation. Enterprise change management may support enterprises when merging, splitting, acquiring, spinning off, or reorganizing. Product innovation may support the life cycle of a product, including the prenatal phase of collecting ideas and consolidating them into concepts, the market launch phase, and the end of life. In doing so, the resources of a PLM and CRM may be drawn upon. Employee productivity aims to increase employee productivity, decrease costs, and increase employee satisfaction. Key functions may include manager self services, employee self services, expert finders, e-procurement, and e-learning. ERM and B2E resources may be drawn upon to accomplish these tasks. Enterprise service automation provides administration and monitoring functions as well as evaluation tools to facilitate project success. An example of this is the setting up of projects and the staffing with people with the required skills and availability. Additional application families may also be created. [0104]
  • The framework may also provide external services in a shared object environment. This may be accomplished by the framework providing a uniform object access layer and service layer that bundle functionality across service components. Furthermore, a transparent mapping may be provided from the application's perspective. Thus, the application built on the framework would not have to know whether certain services are provided by a portal, by a KW, by a WAS, or other external service. [0105]
  • FIG. 4 illustrates design-[0106] time components 400 for a composite application framework. Design-time components 400 could be representative of design-time components 310 in FIG. 3.
  • As illustrated, [0107] design time components 400 include a business object modeler 410, a business object generator 430, and a metadata repository 450. Note that metadata repository 450 is also a run-time component.
  • [0108] Business object modeler 410 includes an Integrated Development Environment (IDE) application program interface (API) 411, an object modeler 412, and a relation modeler 413. IDE API 412 allows modeler 412 to be integrated into an Eclipse IDE, which supports the modeling of the business object by object modeler 412. For example, the integration supports generation of business objects as EJBs, interfaces for application services, default user interfaces, data access logic, and persistency. Relation modeler 413 allows the modeling of relations between modeled objects. For example, a sales order could be composed of a customer, a product, and a price. Relation modeler 413, therefore, allows for the modeling of the relations between these items. In operation, for instance, if a user interface is generated for a sales order, the semantics for each field in the sales order may be identified. Additionally, a connection to the value help function may be facilitated.
  • [0109] Modeler 410 also includes a metadata API 414 and a generation API 415. Metadata API 414 allows object modeler 412 to store and access business object metadata in metadata repository 450 and relation modeler 416 to store and access business object relation metadata in metadata repository 450. Generation API 422 allows a business object to communicate with generator 430 for code generation.
  • [0110] Generator 430 includes a generator framework 432, a persistency generator 434, an EJB 436 generator, a UI adapter generator 438, a Web service generator 440, and a metadata API 442. Generator framework 432 may also be integrated into the Eclipse IDE.
  • To generate a business object, [0111] generator 430 may use templates in metadata repository 450 and code them with object metadata and relation metadata in the repository. Generator 430 may also generate the data persistency for the business object, and generate the actual business object, an EJB in this instance. Generator 430 may additionally generate user interfaces for the business object and any necessary Web services.
  • The templates may be generic. In particular implementations, the generators automatically create Java classes (e.g., for the implementation of the object access layer), JDO tables, EJBs, and configuration files, to adjust UI patterns to a certain business object, for example. Thus, the connectivity to back-end systems and the composite application persistency is generated as well as a default User Interface. Furthermore, UI adapters for a UI development and interface module and, if necessary, Web services may be generated. The output of such a process may be real working code in the object access layer of the run-time components. [0112]
  • One example is the generation of a run-time implementation of a business object in an object access layer. The generator reads the business object metadata from the repository and generates the JDO persistency, the connectivity to the XI, the KW and/or the BW (e.g., by using proxies), the generic methods, and the basic UI. For this coding, templates (e.g., for services) or XML-templates (e.g., for JDO persistency) are used where business object specific coding or XML is added, and the result is stored as complete code or complete XML. [0113]
  • [0114] Metadata repository 450 includes object metadata 452, relation metadata 454, and code generation templates 456. As mentioned previously, the information in object metadata 452 and relation metadata 454 may be used to code templates 456 to generate a business object.
  • FIGS. [0115] 5A-I illustrate user interfaces 500 for an implementation of a business object modeler. In specific, user interfaces 500 demonstrate how a business object may be created using a framework similar to framework 300 in FIG. 3. As illustrated, user interfaces 500 are graphical user interfaces, but the interfaces may be in any appropriate format and may have any appropriate data and/or arrangement of data.
  • FIG. 5A illustrates [0116] user interface 500 a. User interface 500 a demonstrates the creation of a business object for a composite application for defining a product. Creation of business objects for other composite applications could be similar.
  • As illustrated, [0117] user interface 500 a includes a directory section 510 and a work section 520. Directory section 510 includes a listing of business objects for product definition. The creation of a new business object may be initiated by right-clicking in directory section 510, as shown, and selecting the appropriate line in the generated menu. In response to the initiating command, work section 520 includes an association section 522 in which a name is associated with the new business object and the business object is associated with an composition application, “xApp-xPD” in this instance.
  • FIG. 5B illustrates [0118] user interface 500 b. Once a name and composite application is associated with the new business object, user interface 500 b allows specification of general information regarding the business object.
  • As illustrated, [0119] user interface 500 b contains directory section 510 and work section 520. Note that directory section 510 has expanded by one object for the new business object (i.e., “Concept”). Work section 520 includes information section 524, which allows specification of general information about the business objects. Section 524 allows the specification of the persistency model (e.g., whether the object has a local persistency or whether it should be read on the fly from a back-end system) and administrative information (e.g., about the owner, status, release, and version of the object).
  • FIG. 5C illustrates user interface [0120] 500 c. Once general information about the business object is specified, user interface 500 c allows attributes to be added/deleted from the object.
  • As illustrated, user interface [0121] 500 c includes directory section 510 and work section 520. Work section 520 includes an attribute specification section 526, which allows the specification of attributes. As shown, section 526 includes a first section 527 a, in which available attributes are displayed, and a second section 527 b, in which the current attributes for the business object being modeled are shown. Section 526 allows attributes to be added/deleted by selection and command techniques, by drag and drop techniques, or by any other appropriate technique. Attributes may be full-blown business objects or objects that exist only in the context of another object. A decision may be made as to whether the values for dependent objects should be shared across objects or not.
  • FIG. 5D illustrates user interface [0122] 500 c with attributes from first section 527 a incorporate into second section 527 b. Thus, the business object being modeled is being developed.
  • FIG. 5E illustrates [0123] user interface 500 d. Once attributes have been specified for the business object, user interface 500 d allows methods to be specified.
  • As illustrated, [0124] user interface 500 d includes directory section 510 and work section 520. Work section 520 includes a method specification section 528, which allows the specification of methods. As shown, section 528 includes a first section 529 a, in which methods may be specified, and a second section 529 b, in which parameters for the methods may be specified.
  • There are a variety of types of methods that may be created for business objects. One example is lifecycle methods (e.g., create, update, etc.). Another example is standard methods that do not require coding. An example of such methods are those that allow business objects to participate in collaboration (e.g., subscribe, notify, discuss, etc.). These methods may be automatically called when a certain action is carried out (e.g., when a business object should be updated). Another type of method is one that is specific to the composite application. These methods may be directly called by the applications. [0125]
  • FIG. 5F illustrates [0126] user interface 500 e. Once methods for business objects have been specified, user interface 500 e allows aspects of the business object to be defined. Aspects are, in general, subsets of attributes and/or methods for the business object. Aspects may be used to lay an industry or application specific view on general business objects.
  • As illustrated, [0127] user interface 500 e includes directory section 510 and work section 520. Work section 520 includes an aspect specification section 530, which allows the specification of aspects. As shown, section 530 includes a first section 531 a, in which attributes of the business object are displayed. (The attributes were defined in user interface 500 c.) Section 530 also includes a second section 531 b, in which the attributes for the different aspects of the business object may be specified. Section 530 allows attributes to be added/deleted by selection and command techniques, by drag and drop techniques, or by any other appropriate technique.
  • FIG. 5G illustrates [0128] user interface 500 f. Once aspects for business objects have been specified, user interface 500 f allows the specification of technical data for tables if the business object is to have its own local persistency. In this example, the tables are JDO tables, although they could be of any other appropriate type.
  • As illustrated, [0129] user interface 500 f includes directory section 510 and work section 520. Work section 520 includes table specification section 532, which shows technical information about the generated database tables. An example of technical information is the name of the database table in the data dictionary.
  • FIG. 5H illustrates [0130] user interface 500 g. Once tables, if any, have been specified for a business object, user interface 500 g allows the specification of information for proxies, which may be used if data for a business object should be read remotely from a back-end system. For example, an XI could be specified here.
  • As illustrated, [0131] user interface 500 g includes directory section 510 and work section 520. Work section 520 includes proxy specification section 534, which allows the specification of proxies. A connection to an XI could be defined here, as well. As shown section 534 includes a first portion 535 a and a second portion 535 b. First portion 535 a allows the specification of proxies for data actions for the objects. Second portion 535 b allows the specification of mappings for attributes.
  • FIG. 51 illustrates [0132] user interface 500 h. Once proxies have been specified, the code may be generated, as discussed previously, and displayed in user interface 500 h.
  • As illustrated, [0133] user interface 500 h includes directory section 510 and work section 520. Work section 520 includes code section 536, which allows the generated code to be displayed. Furthermore, the code for methods that have been defined beforehand may be added. In this implementation, the method headers are already generated into the displayed coding. At this stage, the whole run-time environment for the business object could be generated.
  • FIG. 6 illustrates run-[0134] time components 600 for a composite application framework. Run-time components 600 could be representative of run-time components 320 in FIG. 3.
  • The illustrated [0135] components 600 are for an object access layer 610. Layer 610 has a variety of business objects 620 executing therein. Each business object 620 includes a business object bean 622 that includes lifecycle methods, properties, and validation. The beans 622 may, for example, be Enterprise Java Beans (2.0) and may be generated by the metadata, as already mentioned. Each business object 620 also includes a data object 624. Data object 624 allows bean 612 to be decoupled from the underlying data, which is accessed through data a access service factory 630.
  • Data [0136] access service factory 630 is responsible for homogenizing data from various sources. In accomplishing this, factory 630 determines data sources for business objects 620. Thus, it may be viewed as a kind of dispatcher. For example, data access service factory 630 may read data from a remote service 642, a persistence service 644, a KM service 646, and/or an OLAP service 648 and present this data to data object 624. The data access service factory 630 may accomplish this by allowing the plug in of special adapters for accessing different sources of data. The composite application framework may provide adapters for the exchange infrastructure (XI), the knowledge management system (KM), and the data warehouse (BW). It may also provide access to a local database that is treated the same way as remote access adapters.
  • Business objects [0137] 620 also include interfaces for local and remote data access. The interface may be used for accessing application services, such as those in service layer 340 in FIG. 3, a UI layer, such as UI layer 350 in FIG. 3, or any other appropriate type of data. For the application services and the UI, layer 610 supports three different interfaces—a local interface 626, a Web-service interface 627, and a service provider interface 628. Local interface 626 is used when no remote access is necessary. Web service interface 627 is used for remote access. Service provider interface 628 is used to access UI patterns.
  • [0138] Layer 610 also includes metadata access services 650 and object access services 660. Metadata access services 650 provides access to the metadata in metadata repository 690. Object access service 660 provide the elementary access methods (e.g., create, read, update, delete) for business objects.
  • In operation, [0139] layer 610 manages the access to business objects 620 and manages the connectivity to the underlying applications, whether via XI, the persistency in an application database, the access to KM objects (like documents attached to the business object), and/or to BW, with the ability to replicate data into BW for reporting and analysis issues. Layer 610 also reduces the knowledge needed for the application developer about the source of the object.
  • FIGS. [0140] 7A-B illustrate components 700 for guided procedures for a composite application framework. As mentioned previously, a guided procedure is a series of steps, often involving human interaction, that should be performed during the execution of a composite application. A guided procedure is typically one that is common to a variety of applications. As illustrated, components 700 may be classified into design-time components 710 and run-time components 750, except for a metadata repository 790, which is part of both. Design-time components 710 may be used to generate run-time components 750.
  • Design-[0141] time components 710 include a modeler 720 and a generator 730. Modeler 720 includes a process modeler 722, a pattern modeler 725, and an action modeler 726. Process modeler 722 includes a workflow modeler 723 and a context modeler 724. As their names imply, workflow modeler 723 allows process workflow for a guided procedure to be modeled, and context modeler 724 provides context definition. That is, context modeler 724 allows relations between other processes to be defined. As an example of this, an application may have more than one way of being activated—Intranet Web-based form versus remote voice control, for example. Context modeler 724 is responsible for making sure that both activation mechanisms are associated with the application. Pattern modeler 725 provides workflow patterns (e.g., delegation and approval) for workflow modeler 723, and action modeler 726 provides actions for workflows.
  • [0142] Modeler 720 also includes a metadata API 727, which provides access to the data in metadata repository 790. Thus, access to meta data regarding guided procedures is available.
  • [0143] Generator 730 includes a template generator 731, a state chart generator 733, a pattern generator 735, an action generator 737, and a metadata API 739. Templates describe a workflow that may be may be implemented using workflow patterns. Workflow patterns contain actions that must be accomplished to complete the workflow and, hence, part of the template. Thus, a pattern may be viewed as an abstraction of an action, and a template may be viewed as an abstraction of work flow pattern.
  • For example, a template could describe a workflow for ordering a product—a computer, for example. The template may specify a workflow pattern for obtaining manager approval. The pattern would have certain actions that need to be undertaken. An example of an action could be finding the names of the employee's managers. The approval pattern, moreover, could be used for different templates. [0144]
  • As their names imply, [0145] template generator 731 generates templates, state chart generator 733 generates state charts, pattern generator 735 generates patterns, and action generator 737 generates actions for the run-time environment. Metadata API 739 provides access to the metadata in metadata repository 790.
  • [0146] Metadata repository 790 includes templates 792, workflow patterns 794, actions 796, and metadata 798. The templates, patterns, actions, and metadata may be accessed by generator 730 to produce a guide procedure.
  • Run-[0147] time components 750 provide instantiation for guided procedures, producing instances 752. Procedural navigation and integration may be provided in a Universal Worklist (UWL).
  • Run-[0148] time components 750 also include object access services 760, context sharing service 762, content services 764, portal connector service 766, KM service 768, workflow service 770, and metadata services 772. Object access services 760 allows objects in an object access layer to be accessed. Context sharing service 762 provides context to a workflow. For example, when a user accesses a workflow, context sharing service 762 provides a link to the proper portions of the workflow. For instance, many workflows involve inboxes, where new tasks for the workflow may be sent. The inbox may provide a link to the proper portion of the workflow if the context is known. Content services 764 provide services for executing functions based on generic calls. For example, a workflow may need an application—a composite application, an HRM application, or a CRM application, for example—to be initiated. By making a generic call to content services 764, the application may be initiated. Content service 764 may support integration with an application and/or a user interface. Portal connector service 766 provides a connection service to a portal. KM service 768 provides a connection service to a KM module. Workflow service 770 provides a connection service to an ad-hoc workflow. This workflow may be very user-centric, allowing the assignment of not only tasks handled by transactions in business systems, but also tasks that require user handling (e.g., compose e-mail). Metadata services 772 provides a connection to metadata repository 790.
  • [0149] Components 700 may have a variety of features. For example, the components may provide context mapping for building blocks, and a user profile may be automatically used and updated. In certain implementations, ad-hoc administrations of running workflows may be supported and guided procedures may be monitored and analyzed.
  • FIGS. [0150] 8A-K are user interfaces 800 that illustrate the implementation of a guided procedure. In particular, user interfaces 800 demonstrate how a composite application having a guided procedure may be executed in a framework similar to framework 300 in FIG. 3. In this example, the guided procedure is for the hiring of a new employee. Other guided procedures may have similar characteristics. Furthermore, other user interfaces may be in any appropriate format and may have any appropriate data and/or arrangement of data.
  • FIG. 8A illustrates [0151] user interface 800 a. User interface 800 a demonstrates the initial view that a user may be shown upon accessing an enterprise management system. User interface 800 a contains a first portion 802, a second portion 804, and a third portion 806. First portion 802 lists the activities of the user. One of those activities involves guided procedures. Second portion 804 lists the user's collaborative activities, which were discussed previously. Third portion 806 is a table containing the guided procedures with which the user is associated. Thus, the current guided procedures for the user include preparing for meetings, hiring employees, organizing workshops, and preparing for trade shows. Portion 806 may be displayed by selecting the guided procedure activity in portion 802.
  • FIG. 8B illustrates [0152] user interface 800 b. User interface 800 b demonstrates the status of the second guided procedure in portion 806 of user interface 800 a. User interface 800 b may be displayed by selecting the second guided procedure in portion 806.
  • As illustrated, [0153] user interface 800 b has a first portion 810, a second portion 812, a third portion 814, and a fourth portion 816. The illustrated guided procedure has a variety of steps, which portion 810 illustrates by the use of a procedure line. Currently, the employee hiring process has proceeded from initialization to hiring to preparing workspace, and is waiting for preparation of the collaborative environment for the new employee. Portion 812 lists the tasks to accomplish the current step, and portion 814 provides more detailed information regarding the tasks. Portion 816 lists resources, in this case people, for the user.
  • FIG. 8C illustrates user interface [0154] 800 c. User interface 800 c demonstrates the selection of a mentor for the new employee, the first task in the step. User interface 800 c may be displayed upon the selection of the first task in portion 812 of user interface 800 b.
  • As illustrated, user interface [0155] 800 c include portion 810 and portion 816 as in user interface 800 b. User interface 800 c also includes a portion 820, which displays information regarding a selected task. The selected task is shown as highlighted in portion 810. Information for accomplishing the task appears in portion 820. In this illustration, a mentor may be selected and an appropriate message entered.
  • FIG. 8D illustrates user interface [0156] 800 c at another next stage of the mentor selection process. As before, user interface 800 c includes portion 810, portion 816, and portion 820. At this stage, though, a person named “Markus” has been selected in portion 816 to be the mentor for the new employee. Note that the list of people in portion 816 may be modified by altering the selected category “<people>” or by performing a narrowing search. After selecting the appropriate person, the selection may be finalized by the activation of a button in portion 816.
  • FIG. 8E illustrates user interface [0157] 800 c at still another stage of the mentor selection process. As before, user interface 800 c includes portion 812, portion 816, and portion 820. But at this stage, the name selected in portion 816 has been finalized. Thus, the name is populated into portion 820. Furthermore, a user has entered a text message to be sent to the selected mentor. Once any message has been finalized, the mentor selection process may be completed by activating a button in portion 820.
  • FIG. 8F illustrates [0158] user interface 800 d. User interface 800 d illustrates another task in this step of the new employee guided procedure. In this step, colleagues of the new employee are to be identified and notified of the new employee.
  • [0159] User interface 800 d includes portion 810, portion 816, and a portion 824. In portion 810, another task in the guided procedure step has been selected. Note that the first task in the step has an indicia signifying that it has been completed. The new selection leads to the display of portion 824, in which colleagues may be informed of the new hire. These people may be selected in portion 816.
  • FIG. 8G illustrates [0160] user interface 800 d at another next stage of the colleague identification and notification task. As before, user interface 800 d includes portion 810, portion 816, and portion 824. At this stage, however, the colleagues to be notified about the new employee have been selected from a list of teams in portion 816. After selecting the appropriate team, the selection may be finalized by the activation of a button in portion 816.
  • FIG. 8H illustrates [0161] user interface 800 d at another next stage of the colleague identification and notification task. As before, user interface 800 d includes portion 810, portion 816, and portion 824. But at this stage, the colleagues have been selected and finalized in portion 816. Thus, they appear in portion 824. Additionally, a message to the selected colleagues has been entered in portion 824 by a user. Once any message has been entered, the mentor selection process may be completed by activating a button in portion 824.
  • FIG. 81 illustrates [0162] user interface 800 e. User interface 800 e illustrates another task in the fourth step of the new employee guided procedure. In this step, a location for the new employee is to be selected.
  • [0163] User interface 800 e includes portion 810, portion 816, and a portion 828. In portion 810, another task in the fourth guided procedure step has been selected. Note that the first two tasks in the step now have indicia signifying that they have been completed. The new selection leads to the display of portion 828, in which a location for the new employee may be specified.
  • FIG. 8J illustrates [0164] user interface 800 e at another stage of the location task. As before, user interface 800 e includes portion 810, portion 816, and portion 828. But here, the user resources displayed in portion 816 are the rooms available for assignment by the user. Note that the displayed information category is “<rooms>.” Furthermore, the user has selected one of the rooms in the list for the new employee. The selection may be finalized by activating a button in portion 816.
  • FIG. 8K illustrates [0165] user interface 800 e at yet another stage of the location task. Now, user interface 800 e illustrates the result of finalizing the location selection. Thus, the location for the new employee is displayed in portion 828. Furthermore, the user is presented with further specification options (i.e., set assignments). The user may then select between the further options and finalize the task, and, hence, the guided procedure step.
  • After [0166] user interface 800 e, the fourth step in the new employee guided procedure is complete. The guided procedure would then move to the fifth step—“Prepare Entry.” Now, if the user were to access the procedure again, the procedure line illustrated in portion 810 in FIG. 8B would be updated for the new employee guided procedure.
  • FIG. 9 is a [0167] user interface 900 illustrating collaboration services. As illustrated, user interface 900 demonstrates a semantic object regarding user tasks. Thus, tasks 910 for a user are displayed in user interface 900.
  • Furthermore, [0168] user interface 900 contains information regarding the status of tasks 910. For example, user interface 900 indicates task completion time 920, task priority 930, task assignee 940, and task progress 950. These tasks may be related to business objects.
  • Other collaboration services that may be provided for tasks could include notification (e.g., when a task is completed or due), feedback (e.g., when a task is complete), and team assignment. In fact, it is possible that [0169] assignees 940 are part of a team working on the task.
  • FIG. 10 illustrates a [0170] user interface framework 1000 for a composite application framework. Framework 1000 may be similar to framework 352 in FIG. 3. In general, framework 1000 allows a user interface to be implemented for a business object.
  • As illustrated, [0171] framework 1000 includes a business object service module 1010, a pattern configuration module 1020, a metadata adapter 1030, and an EJB adapter 1040. In general, service module 1010, metadata adapter 1030, and EJB adapter 1040 are responsible for translating data into a format usable by pattern configuration module 1020. This makes a separation between the components of framework 1000 and an object access layer 1080, an example of which was discussed previously. Service module 1010 maybe an API that allows business object data to be brought into the UI framework environment. Service module 1010 includes a generic client proxy 1012, which prepares data for other components of the UI framework 1000 and/or for external UI components. Proxy 1012 may transform data to a generic API. In effect, then, it may wrap an API to provide an API for the upper-level components. Metadata adapter 1030 allows the metadata of a business object model to be exposed to the UI world, so that a unified metadata repository exists along the whole stack. EJB adapter 1040 allows EJB components, such as tables, business objects, and data, to be translated into a format for framework 1000. Pattern configuration module 1020 contains the configured patterns generated using design-time components.
  • As illustrated, [0172] pattern configuration module 1020 and generic client proxy 1012 interact with elements of a UI development and interface module 1090. Module 1090 may provide a run-time environment plus a set of development tools based on the Model View Controller (MVC) paradigm. The tools support the selection of patterns by the application developer and/or allow a Web developer of enterprise applications to freely define the layout and flow of an application.
  • The technology of [0173] module 1090 may be based on JavaServer Pages (JSPs) and a tag library containing, among other things, ready-made user interface elements (such as push buttons and input fields). The description of the application in a metadata repository is used to generate the run-time code for one of the following run-time environments: Java, ABAP, or .NET.
  • In more detail, [0174] module 1090 provides a user the graphical and declarative development tools needed to design a data model and user interfaces for a Web application. So, for example, a user may simply define input validation, input help, and error handling, and all the required run-time objects may be generated automatically.
  • That means the majority of the code is generic and, therefore, is available for each run-time. It also means that only that fraction of the programming that is specific to the run-time, like eventing, needs to be coded. [0175]
  • Other features may also be included—for example, a usability pattern-based development approach, the ability to convert a module-based transaction into a Web application, and a client-side framework that keeps the context of a running application and guarantees flicker-free screens. With such features a UI module-based application may consist of a set of views, navigation between the views, concepts for managing the views and determining their sequence, a context for keeping session data, and the business logic of the application. The Model View Controller paradigm allows for a strict separation of presentation logic, business logic, navigation, and eventing. [0176]
  • UI module developers may also choose to use a freestyle Web development, where controls of the control library may be freely placed onto views according to their respective company style or a strict pattern-based approach. The latter allows usability engineers to predefine reusable patterns common to a set of business processes. [0177]
  • UI module tools that enable a developer to create such applications are part of the integrated development environment (IDE) of the SAP Web Application Server. The design tools consist of a view designer, editors for controllers, an application modeler to define the flow of an application, and a model designer. [0178]
  • UI module may also support location-independent rendering. That is, depending on the capabilities of the client, the module run-time will generate the HTML for the browser either on the client or on the server. Client-side rendering, using the JavaScript-based client-side framework will be possible for Microsoft Internet Explorer as of version 5.5 (or higher) and for higher versions of Netscape Navigator. [0179]
  • Earlier versions of Microsoft Internet Explorer or Netscape Navigator, as well as a variety of mobile devices, will be supplied with output that is rendered on the server. Server-side rendering is also the only choice for browsers where JavaScript has been disabled for security reasons. [0180]
  • The declarative separation of the user interface and the data model make it possible to isolate the layout (HTML) from the data (XML). This in turn results in efficient caching, a lower transmission bandwidth requirement, flicker-free screen updates, and virtually device-independent development for browsers, PDAs, and WAP-enabled cell phones. The Web UI module technology may automatically provide support for multiple languages, personalization, and interface customization. [0181]
  • The separation of the business object and application services from the UI elements allows UI components to be reused in different application contexts and business object and application services to be visualized differently according to the specific requirements of a certain use case. Thus, application implementation may be decoupled from UI technology. [0182]
  • The configured patterns in [0183] pattern configuration module 1020 may be parameterizations of patterns for specific uses. For example, a pattern could specify the lay-out of information on a screen. For instance, a pattern could specify that a list of items could be in a top portion with detailed information of a highlighted item in a bottom portion. This is commonly seen in e-mail presentation modules where a list of new e-mails is on top and a preview screen for a highlighted e-mail is on the bottom. The same pattern, however, could have other uses, such as, for example, in a file manager.
  • An example of a user interface for a composite application is illustrated by FIG. 9. As illustrated therein, there is a pattern to list projects in the first column and data about the projects in additional columns. In this UI, however, context is provided for the projects. For example, the relationship between the listed project and the underlying business object in the object access layer is maintained. Thus, selecting an item in the UI may produce more information about the item. [0184]
  • As another example, a dashboard may be created for a business object using a configuration for a dashboard pattern in the UI pattern development environment such as the UI module development environment. First, the business object would be selected. Then, one of the aspects of the business object would be selected. As discussed previously, an aspect is a subset of attributes for a business object. The attributes that are part of the selected aspect may then be assigned to column categories. Furthermore, attributes may be suppressed. Additionally, whether there is a hierarchy in the dashboard and how many rows should be displayed may be specified. A preview of the dashboard may then be had after completing the adjustments. [0185]
  • As discussed, a composite application framework may extend an underlying enterprise platform. For example, a composite application framework may extend my SAP Technology by adding modeling and configuration tools (e.g., business object modeler and guided procedures). As another example, generic components (e.g., UI patterns and generic services) may be included. As a further example, a standardized interface (e.g., object access layer) may be used to access the enterprise base systems. As an additional example, a framework may provide reusable content (e.g., predefined object models and XI content), and integration infrastructure (e.g., to connect business objects and documents and to provide access to XI proxies). Furthermore a composite application framework may provide guidelines (e.g., composite application cookbook). The guidelines may be designed to work cooperatively with guided procedures. [0186]
  • Although discussed primarily in the context of business applications, it should be recognized that the framework could be used to overlay any collection of enterprise components, whether for a business purpose or not. [0187]
  • Various implementations of the systems and techniques described here may be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations may include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. [0188]
  • These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term “machine-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor. [0189]
  • To provide for interaction with a user, the systems and techniques described here may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user may provide input to the computer. Other kinds of devices may be used to provide for interaction with a user as well; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input. [0190]
  • The systems and techniques described here maybe implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a client computer having a graphical user interface or a Web browser through which a user may interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), and the Internet. [0191]
  • The computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. [0192]
  • Although only a few embodiments have been described in detail above, other modifications are possible. In certain implementations, multitasking and parallel processing may be preferable. [0193]
  • Other embodiments may be within the scope of the following claims. [0194]

Claims (41)

What is claimed is:
1. A framework for a composite application, the framework comprising:
an object access layer operable to exchange data with a plurality of enterprise base systems and to present the data to a composite application through a uniform interface;
a service layer operable to provide services to the composite application; and
a user interface layer operable to provide user interface patterns that facilitate information exchange between the composite application and a user.
2. The framework of claim 1, wherein a composite application comprises business objects, business services, and business processes, wherein a business service comprises an action performed on a business object, and a business process comprises a combination of business services.
3. The framework of claim 1, further comprising a database for composite application data, wherein the object access layer is further operable to provide local persistency in the database.
4. The framework of claim 3, wherein the object access layer is further operable to provide data synchronization and replication of enterprise base system data in the database.
5. The framework of claim 1, wherein the service layer comprises:
a collaboration services module operable to provide a collaboration service to the composite application; and
a workflow services module operable to provide a workflow to the composite application.
6. The framework of claim 5, wherein the collaboration services module is operable to link a semantic object to a business object of the composite application.
7. The framework of claim 5, wherein a workflow comprises templates, workflow patterns, and actions, a template describing a workflow procedure, workflow patterns describing portions of the template, and actions executing functions to carry out the workflow patterns.
8. The framework of claim 1, wherein the service layer further comprises a container for composite application services, the container operable to provide interfaces for non-framework-generated code.
9. The framework of claim 1, wherein the user interface layer further comprises a user interface framework that separates the user interface elements from the composite application so that the user interface is decoupled from the logic.
10. The framework of claim 1, further comprising:
a business object modeler operable to provide a user interface for constructing a business object; and
a business object generator operable to generate an executable version of the modeled business object.
11. The framework of claim 10, wherein the business object modeler comprises an object modeler and a relation modeler.
12. The framework of claim 10, wherein the business object generator comprises a generator framework and a persistency generator.
13. The framework of claim 10, wherein the business object generator is operable to code a business object template with metadata and relation data for a business object to generate an executable version of the modeled business object.
14. The framework of claim 13, wherein the business object generator is further operable to generate tables and proxies for a business object.
15. A method for implementing a composite application in a framework, the method comprising:
generating executable code for a composite application;
exchanging data with a plurality of enterprise base systems;
presenting the enterprise base system data to the composite application through a uniform interface; and
facilitating a user's interaction with the composite application through user interface patterns.
16. The method of claim 15, wherein generating executable code for a composite application comprises coding a template with business object metadata and relation data.
17. The method of claim 16, wherein generating executable code further comprises generating tables and proxies for a business object.
18. The method of claim 15, wherein a composite application comprises business objects, business services, and business processes, wherein a business service comprises an action performed on a business object, and a business process comprises a combination of business services.
19. The method of claim 15, further comprising providing local persistency in a database for composite application data.
20. The method of claim 19, further comprising providing data synchronization and replication of enterprise base system data in the database.
21. The method of claim 15, further comprising:
providing a collaboration service to the composite application; and
providing a workflow to the composite application.
22. The method of claim 15, further comprising providing a container for composite application services, the container operable to provide interfaces for non-framework-generated code portions.
23. The method of claim 15, further comprising providing user interfaces to model the composite application, the user interfaces allowing specification of attributes and relations for a business object of the composite application.
24. The method of claim 23, further comprising generating metadata for the business object and relations based on the specifications.
25. An article comprising a machine-readable medium storing instructions operable to cause one or more machines to perform operations comprising:
generating executable code for a composite application;
exchanging data with a plurality of enterprise base systems;
presenting the enterprise base system data to the composite application through a uniform interface; and
generating user interfaces for facilitating interaction between the composite application and a user by using user interface patterns.
26. The article of claim 25, wherein generating executable code for a composite application coding a template with business object metadata and relation data.
27. The article of claim 26, wherein generating a executable code further comprises generating tables and proxies for a business object.
28. The article of claim 25, wherein the instructions are further operable to cause one or more machines to perform operations comprising providing local persistency in a database for composite application data.
29. The article of claim 28, wherein the instructions are further operable to cause one or more machines to perform operations comprising providing data synchronization and replication of enterprise base system data in the database.
30. The article of claim 25, wherein the instructions are further operable to cause one or more machines to perform operations comprising:
providing a collaboration service to the composite application; and
providing a workflow to the composite application.
31. The article of claim 25, wherein the instructions are further operable to cause one or more machines to perform operations comprising providing a container for composite application services, the container operable to provide interfaces for non-framework-generated code portions.
32. The article of claim 25, wherein the instructions are further operable to cause one or more machines to perform operations comprising providing user interfaces to model the business object, the user interfaces allowing specification of attributes and relations for a business object of the composite application.
33. The article of claim 32, wherein the instructions are further operable to cause one or more machines to perform operations comprising generating metadata for the business object and relations based on the specifications.
34. A framework for developing and implementing a composite application, the framework comprising:
a database for composite application data;
an object access layer operable to:
exchange data with a plurality of enterprise base systems,
present the data to a composite application through a uniform interface,
provide local persistency in the database, and
provide data synchronization and replication of enterprise base system data in the database;
a service layer comprising:
a collaboration services module operable to provide a collaboration service to the composite application, and
a guided procedure services module operable to provide a guided procedure to the composite application;
a user interface layer operable to provide user interface patterns for displaying information relating to the composite application, the user interface layer comprising a user interface framework that separates the user interface elements from the composite application so that the user interface is decoupled from the logic;
a business object modeler operable to provide a user interface for constructing a business object of the composite application; and
a business object generator operable to generate an executable version of the modeled business object.
35. The framework of claim 34, wherein the business object modeler comprises an object modeler and a relation modeler.
36. The framework of claim 34, wherein the business object generator comprises a generator framework and a persistency generator.
37. The framework of claim 36, wherein the business object generator is operable to code a business object template with metadata and relation data for a business object to generate an executable version of the modeled business object and to generate tables and proxies for a business object.
38. The framework of claim 34, wherein a composite application comprises business objects, business services, and business processes, wherein a business service comprises an action performed on a business object, and a business process comprises a combination of business services.
39. The framework of claim 34, wherein the collaboration services module is operable to link a semantic object to a business object of the composite application.
40. The framework of claim 34, wherein a guided procedure comprises templates, workflow patterns, and actions, a template describing a guided procedure, workflow patterns describing portions of the template, and actions executing functions to carry out the workflow patterns.
41. The framework of claim 34, wherein the service layer further comprises a container for composite application services, the container operable to provide interfaces for non-framework-generated code.
US10/657,726 2003-03-21 2003-09-08 Application framework Abandoned US20040187140A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US10/657,726 US20040187140A1 (en) 2003-03-21 2003-09-08 Application framework
PCT/EP2004/002990 WO2004084067A1 (en) 2003-03-21 2004-03-19 Application framework
EP04721895A EP1606710A1 (en) 2003-03-21 2004-03-19 Application framework
EP04722268A EP1625468A2 (en) 2003-03-21 2004-03-22 A framework for a composite application
PCT/EP2004/003047 WO2004083984A2 (en) 2003-03-21 2004-03-22 A framework for a composite application and a method of implementing a frame work for a composite application
US10/550,446 US8069437B2 (en) 2003-03-21 2004-03-22 Framework for a composite application and a method of implementing a frame work for a composite application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US45669703P 2003-03-21 2003-03-21
US10/657,726 US20040187140A1 (en) 2003-03-21 2003-09-08 Application framework

Publications (1)

Publication Number Publication Date
US20040187140A1 true US20040187140A1 (en) 2004-09-23

Family

ID=32994771

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/657,726 Abandoned US20040187140A1 (en) 2003-03-21 2003-09-08 Application framework
US10/550,446 Active 2028-01-06 US8069437B2 (en) 2003-03-21 2004-03-22 Framework for a composite application and a method of implementing a frame work for a composite application

Family Applications After (1)

Application Number Title Priority Date Filing Date
US10/550,446 Active 2028-01-06 US8069437B2 (en) 2003-03-21 2004-03-22 Framework for a composite application and a method of implementing a frame work for a composite application

Country Status (3)

Country Link
US (2) US20040187140A1 (en)
EP (2) EP1606710A1 (en)
WO (2) WO2004084067A1 (en)

Cited By (256)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040181795A1 (en) * 2003-03-14 2004-09-16 Nir Kol Restructuring integration system
US20050021563A1 (en) * 2003-07-22 2005-01-27 Victor Shaburov Browsing meta data for an enterprise service framework
US20050027706A1 (en) * 2003-07-31 2005-02-03 Bhatti Shahzad H. Object-oriented data storage
US20050108294A1 (en) * 2003-11-18 2005-05-19 Hartmut Koerner Delta-mechanism for integration of OLAP-based planning and reporting
US20050204297A1 (en) * 2003-12-22 2005-09-15 International Business Machines Corporation Combined synchronous and asynchronous logical components in a collaborative context
US20050235011A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation Distributed object classification
US20050257227A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. System and method for utilizing a common framework for portal administration tools
US20050278348A1 (en) * 2004-05-28 2005-12-15 Timm Falter System and method for a Web service definition
US20050289532A1 (en) * 2002-07-09 2005-12-29 Openpages Inc. Adaptive content platform and application integration with the platform
US20060005163A1 (en) * 2004-06-30 2006-01-05 Jens Huesken Reusable component in a collaboration workspace
US20060015381A1 (en) * 2004-07-14 2006-01-19 Manyworlds, Inc Business lifecycle management system
US20060031850A1 (en) * 2004-05-28 2006-02-09 Timm Falter System and method for a Web service virtual interface
US20060036595A1 (en) * 2004-08-12 2006-02-16 International Business Machines Corporation Role-based dynamically customizable dashboards
US20060064439A1 (en) * 2004-09-20 2006-03-23 Uwe Fischer Comparing process sizes
US20060085245A1 (en) * 2004-10-19 2006-04-20 Filenet Corporation Team collaboration system with business process management and records management
US20060085374A1 (en) * 2004-10-15 2006-04-20 Filenet Corporation Automatic records management based on business process management
US20060095439A1 (en) * 2004-10-29 2006-05-04 Daniel Buchmann Master data framework
US20060101374A1 (en) * 2004-10-14 2006-05-11 Beng Giap Lim Enterprise management system installer
US20060123408A1 (en) * 2003-06-06 2006-06-08 Luc Martin Method and system for managing online applications
US20060129560A1 (en) * 2004-12-15 2006-06-15 Adams Greg D Architecture for enabling business components to access middleware application programming interfaces (APIs) in a runtime environment
US20060129512A1 (en) * 2004-12-14 2006-06-15 Bernhard Braun Socket-like communication API for C
US20060143595A1 (en) * 2004-12-28 2006-06-29 Jan Dostert Virtual machine monitoring using shared memory
US20060143290A1 (en) * 2004-12-28 2006-06-29 Jan Dostert Session monitoring using shared memory
US20060143619A1 (en) * 2004-12-28 2006-06-29 Galin Galchev Connection manager for handling message oriented protocol-based requests
US20060149739A1 (en) * 2004-05-28 2006-07-06 Metadata, Llc Data security in a semantic data model
US20060149735A1 (en) * 2004-04-29 2006-07-06 Filenet Corporation Automated records management with enforcement of a mandatory minimum retention record
US20060155867A1 (en) * 2004-12-28 2006-07-13 Frank Kilian Connection manager having a common dispatcher for heterogeneous software suites
US20060168646A1 (en) * 2004-12-29 2006-07-27 Randolf Werner Security for external system management
US20060176893A1 (en) * 2005-02-07 2006-08-10 Yoon-Jin Ku Method of dynamic queue management for stable packet forwarding and network processor element therefor
US20060184925A1 (en) * 2005-02-15 2006-08-17 Olivier Ficatier Plug-in for adapting an integrated development environment to a programming language
EP1698975A1 (en) * 2005-03-03 2006-09-06 Research In Motion Limited System and method for applying workflow of generic services to component based applications
US20060200748A1 (en) * 2005-03-03 2006-09-07 Michael Shenfield System and method for applying workflow of generic services' to component based applications for devices
WO2006094208A1 (en) * 2005-03-03 2006-09-08 Thomson Global Resources Integrated system, tools, and methods for designing automated business process applications
US20060206862A1 (en) * 2005-03-02 2006-09-14 Detlef Becker Data processing system for integrating two program frameworks
US20060229923A1 (en) * 2005-03-30 2006-10-12 International Business Machines Corporation Definition of workflow patterns using complex event processing
US20060230028A1 (en) * 2005-04-07 2006-10-12 Business Objects, S.A. Apparatus and method for constructing complex database query statements based on business analysis comparators
US20060229866A1 (en) * 2005-04-07 2006-10-12 Business Objects, S.A. Apparatus and method for deterministically constructing a text question for application to a data source
US20060229853A1 (en) * 2005-04-07 2006-10-12 Business Objects, S.A. Apparatus and method for data modeling business logic
US20060230027A1 (en) * 2005-04-07 2006-10-12 Kellet Nicholas G Apparatus and method for utilizing sentence component metadata to create database queries
US20060235738A1 (en) * 2005-04-15 2006-10-19 Judy Doyle Multi-authoring within benefits content system
US20060236254A1 (en) * 2005-04-18 2006-10-19 Daniel Mateescu System and method for automated building of component based applications for visualizing complex data structures
US20060236302A1 (en) * 2005-04-15 2006-10-19 Cameron Bateman System and method for unified visualization of two-tiered applications
EP1715414A1 (en) * 2005-04-18 2006-10-25 Research In Motion Limited System and method for automated building of component based applications for visualising complex data structures
US20060248121A1 (en) * 2005-04-15 2006-11-02 Michael Cacenco System and method for supporting packaging, publishing and republishing of wireless component applications
US20060253830A1 (en) * 2005-05-06 2006-11-09 Rajanala Arun K Guiding application building using business constraint metadata
US20060282509A1 (en) * 2005-06-09 2006-12-14 Frank Kilian Application server architecture
US20070016615A1 (en) * 2004-03-31 2007-01-18 Fusionops Corporation Method and apparatus for developing composite applications
US20070016557A1 (en) * 2005-07-13 2007-01-18 Moore Dennis B Methods for enterprise-level data and process access and presentation
US20070028175A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing user tools
US20070028174A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing dynamic screensaver
US20070033196A1 (en) * 2005-08-02 2007-02-08 Sap Ag Service directory
US20070033571A1 (en) * 2005-08-02 2007-02-08 Sap Ag Dynamic work center
US20070055972A1 (en) * 2005-08-24 2007-03-08 International Business Machines Corporation Model-driven software deployment in an application server
US20070089117A1 (en) * 2005-09-22 2007-04-19 Xcalia Implementation system for business applications
US20070088736A1 (en) * 2005-10-19 2007-04-19 Filenet Corporation Record authentication and approval transcript
US20070088585A1 (en) * 2005-10-19 2007-04-19 Filenet Corporation Capturing the result of an approval process/workflow and declaring it a record
US20070100785A1 (en) * 2005-11-01 2007-05-03 Herbert Hackmann Managing attributes in a digital information system
US20070124740A1 (en) * 2005-11-04 2007-05-31 Sap Ag Systems and methods for adapting procedure calls to service providers
US20070124346A1 (en) * 2005-11-17 2007-05-31 Mitchel Jules T System and method for creating, managing, deploying and archiving data-intensive applications and projects
US20070150445A1 (en) * 2005-12-23 2007-06-28 Filenet Corporation Dynamic holds of record dispositions during record management
US20070157010A1 (en) * 2005-12-30 2007-07-05 Ingo Zenz Configuration templates for different use cases for a system
US20070157185A1 (en) * 2005-12-30 2007-07-05 Semerdzhiev Krasimir P System and method for deployable templates
US20070156431A1 (en) * 2005-12-30 2007-07-05 Semerdzhiev Krasimir P System and method for filtering components
US20070156388A1 (en) * 2005-12-30 2007-07-05 Frank Kilian Virtualized and adaptive configuration of a system
US20070156389A1 (en) * 2005-12-30 2007-07-05 Frank Kilian Dynamic adaptation of a configuration to a system environment
US20070156641A1 (en) * 2005-12-30 2007-07-05 Thomas Mueller System and method to provide system independent configuration references
US20070156715A1 (en) * 2005-12-30 2007-07-05 Thomas Mueller Tagged property files for system configurations
US20070156631A1 (en) * 2005-12-29 2007-07-05 Sap Ag Synchronization of transactional applications and analytical applications
US20070156717A1 (en) * 2005-12-30 2007-07-05 Ingo Zenz Meta attributes of system configuration elements
US20070156432A1 (en) * 2005-12-30 2007-07-05 Thomas Mueller Method and system using parameterized configurations
US20070157172A1 (en) * 2005-12-30 2007-07-05 Ingo Zenz Template integration
US20070162892A1 (en) * 2005-12-30 2007-07-12 Ingo Zenz Template-based configuration architecture
US20070165937A1 (en) * 2005-12-30 2007-07-19 Markov Mladen L System and method for dynamic VM settings
US20070168965A1 (en) * 2005-12-30 2007-07-19 Ingo Zenz Configuration inheritance in system configuration
US20070180455A1 (en) * 2006-01-24 2007-08-02 Microsoft Corporation Qualitatively Annotated Code
US20070220035A1 (en) * 2006-03-17 2007-09-20 Filip Misovski Generating user interface using metadata
US20070226731A1 (en) * 2005-11-16 2007-09-27 Tseitlin Ariel D Modularity
US20070233681A1 (en) * 2006-03-31 2007-10-04 Benzi Ronen Method and system for managing development components
US20070234290A1 (en) * 2006-03-31 2007-10-04 Benzi Ronen Interactive container of development components and solutions
US20070234291A1 (en) * 2006-03-31 2007-10-04 Benzi Ronen Method and system for utilizing development components
US20070239470A1 (en) * 2006-03-31 2007-10-11 Benzi Ronen Method and system for managing development component metrics
US20070239717A1 (en) * 2005-09-01 2007-10-11 International Business Machines Corporation System and method for architecting pattern based models within a governmental framework
US20070239715A1 (en) * 2006-04-11 2007-10-11 Filenet Corporation Managing content objects having multiple applicable retention periods
US20070250813A1 (en) * 2006-04-24 2007-10-25 Microsoft Corporation Configurable Software Stack
US20070250405A1 (en) * 2006-03-31 2007-10-25 Benzi Ronen Method and system for identifying reusable development components
US20070250574A1 (en) * 2005-06-24 2007-10-25 Tseitlin Ariel D Continuous deployment
US20070250575A1 (en) * 2005-06-24 2007-10-25 Tseitlin Ariel D Deployment
US20070250812A1 (en) * 2006-04-24 2007-10-25 Microsoft Corporation Process Encoding
US20070257715A1 (en) * 2005-12-30 2007-11-08 Semerdzhiev Krasimir P System and method for abstract configuration
US20070260629A1 (en) * 2005-06-24 2007-11-08 Tseitlin Ariel D Portable management
EP1855239A1 (en) * 2006-05-09 2007-11-14 Sap Ag Business process federated repository
US20070266330A1 (en) * 2006-05-15 2007-11-15 Liam Friedland Method and system for role-based user interface navigation
US20070265900A1 (en) * 2006-05-09 2007-11-15 Moore Dennis B Business process evolution
US20070265895A1 (en) * 2006-05-09 2007-11-15 Sap Ag Ad-hoc workflow as a business process template
US20080005287A1 (en) * 2006-06-29 2008-01-03 Augusta Systems, Inc. Reconfigurable,hierarchical component-based architecture & framework and methods for rapidly developing sensor device-enabling software applications
US20080005729A1 (en) * 2006-06-29 2008-01-03 Augusta Systems, Inc. Method and System for Rapidly Developing and Deploying Sensor-Enabled Software Applications
US20080005721A1 (en) * 2006-06-29 2008-01-03 Augusta Systems, Inc. Method and System for Rapidly Developing Sensor-Enabled Software Applications
US20080010631A1 (en) * 2006-06-29 2008-01-10 Augusta Systems, Inc. System and Method for Deploying and Managing Intelligent Nodes in a Distributed Network
US20080052729A1 (en) * 2002-07-09 2008-02-28 Santanu Paul Adaptive content platform and method of using same
US20080086506A1 (en) * 2006-10-10 2008-04-10 Filenet Corporation Automated records management with hold notification and automatic receipts
US20080098359A1 (en) * 2006-09-29 2008-04-24 Ventsislav Ivanov Manipulation of trace sessions based on address parameters
US20080126932A1 (en) * 2006-09-14 2008-05-29 Rafi Elad GUI modeling of knowledge base in a modeling environment
US20080147416A1 (en) * 2006-12-14 2008-06-19 Microsoft Corporation Ui behaviors
US20080154981A1 (en) * 2006-12-21 2008-06-26 Vladislav Bezukov SAP interface definition language (SIDL) serialization framework
US20080163078A1 (en) * 2004-02-03 2008-07-03 Corizon Limited Method and Apparatus For Composite User Interface Creation
US20080162095A1 (en) * 2006-12-28 2008-07-03 Frank Brunswig Adaptive models framework
US20080163088A1 (en) * 2006-12-29 2008-07-03 Aurobinda Pradhan System and method for managing browser extensions
US20080195622A1 (en) * 2007-02-12 2008-08-14 Personeta Ltd. Service provisioning system
US20080244518A1 (en) * 2007-03-29 2008-10-02 Verizon Services Corp. Telecom Business-Oriented Taxonomy for Reusable Services
US20080301628A1 (en) * 2007-05-29 2008-12-04 Sap Ag Semantic interpretation of software models for generating user interfaces
US20080313561A1 (en) * 2007-06-18 2008-12-18 Microsoft Corporation Techniques for representing and organizing user interface data
US20090049025A1 (en) * 2007-08-16 2009-02-19 Oracle International Corporation System and method for harvesting service metadata from an architecture diagram into a metadata repository
US20090076878A1 (en) * 2007-09-19 2009-03-19 Matthias Woerner Efficient project staffing
US7533380B2 (en) * 2002-06-05 2009-05-12 Sap Ag Installation tool for enterprise management systems based on building blocks
US20090138425A1 (en) * 2008-01-31 2009-05-28 Computer Associates Think, Inc. Business optimization engine
US20090157627A1 (en) * 2007-09-28 2009-06-18 Xcerion Ab Network operating system
US20090157872A1 (en) * 2007-10-23 2009-06-18 Microsoft Corporation Model-based composite application platform
US20090165021A1 (en) * 2007-10-23 2009-06-25 Microsoft Corporation Model-Based Composite Application Platform
US20090172635A1 (en) * 2007-12-28 2009-07-02 Auriemma Stephen T System and method for allowing the creation of composite applications through the wiring of loosely coupled existing or custom components of disparate technologies
US20090198639A1 (en) * 2008-01-31 2009-08-06 Computer Associates Think, Inc. Business process analyzer
US20090198481A1 (en) * 2008-01-31 2009-08-06 Computer Associates Think, Inc. Business process optimizer
US20090198533A1 (en) * 2008-01-31 2009-08-06 Computer Associates Think, Inc. Business process extractor
US20090248586A1 (en) * 2008-03-31 2009-10-01 Martin Kaisermayr Managing consistent interfaces for business objects across heterogeneous systems
US20090249296A1 (en) * 2008-03-31 2009-10-01 Walter Haenel Instantiating a composite application for different target platforms
US20090248473A1 (en) * 2008-03-31 2009-10-01 Susanne Doenig Managing Consistent Interfaces for Business Objects Across Heterogeneous Systems
US20090249362A1 (en) * 2008-03-31 2009-10-01 Thiemo Lindemann Managing Consistent Interfaces for Maintenance Order Business Objects Across Heterogeneous Systems
US7600217B2 (en) * 2004-12-14 2009-10-06 Sap Ag Socket-like communication API for Java
US20100036691A1 (en) * 2008-08-06 2010-02-11 International Business Machines Corporation Phase driven modeling services
US7689447B1 (en) * 2005-10-26 2010-03-30 At&T Intellectual Property Ii, L.P. Worklist integration of logical and physical tasks
US7694065B2 (en) 2004-12-28 2010-04-06 Sap Ag Distributed cache architecture
US20100094844A1 (en) * 2008-10-15 2010-04-15 Jean-Yves Cras Deduction of analytic context based on text and semantic layer
US20100114786A1 (en) * 2005-10-26 2010-05-06 At&T Corp. Worklist integration of logical and physical tasks
EP2192536A2 (en) * 2008-10-08 2010-06-02 ACCENTURE Global Services GmbH Integrated design application
US20100145752A1 (en) * 2004-05-11 2010-06-10 Davis James E Adaptable workflow and communications system
US20100153444A1 (en) * 2008-12-11 2010-06-17 Microsoft Corporation Framework for web services exposing line of business applications
US20100153565A1 (en) * 2008-12-11 2010-06-17 Microsoft Corporation Connection management in line-of-business
US7840760B2 (en) 2004-12-28 2010-11-23 Sap Ag Shared closure eviction implementation
US7886018B2 (en) 2005-06-24 2011-02-08 Oracle International Corporation Portable metadata service framework
US20110077999A1 (en) * 2009-09-30 2011-03-31 Sap Ag Managing consistent interfaces for retail event business objects across heterogeneous systems
US7925985B2 (en) 2005-07-29 2011-04-12 Sap Ag Methods and apparatus for process thumbnail view
US7966412B2 (en) 2005-07-19 2011-06-21 Sap Ag System and method for a pluggable protocol handler
US20110154302A1 (en) * 2009-12-21 2011-06-23 Soeren Balko Adding services to application platform via extension
US7971001B2 (en) 2004-12-28 2011-06-28 Sap Ag Least recently used eviction implementation
US20110167408A1 (en) * 2005-09-30 2011-07-07 Harmony Information Systems, Inc. Configurable software application
US20110173590A1 (en) * 2010-01-14 2011-07-14 Worksoft, Inc. System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
US20110185294A1 (en) * 2010-01-22 2011-07-28 Microsoft Corporation Pattern-based user interfaces
US7996615B2 (en) 2004-12-28 2011-08-09 Sap Ag Cache region concept
US20110202378A1 (en) * 2010-02-17 2011-08-18 Rabstejnek Wayne S Enterprise rendering platform
US20110252094A1 (en) * 2010-04-07 2011-10-13 On24, Inc. Communication console with component aggregation
US20110258136A1 (en) * 2010-04-20 2011-10-20 Accenture Global Services Gmbh Integration framework for enterprise content management systems
US20110320968A1 (en) * 2010-06-29 2011-12-29 Ivo Vollrath Shared user interface services framework
EP2447830A1 (en) * 2010-10-29 2012-05-02 Sap Ag System and method for decoupling business logic and user interface via a generic object access layer
CN102436378A (en) * 2010-10-29 2012-05-02 微软公司 Enterprise resource planning oriented context-aware user interface
US20120109938A1 (en) * 2010-10-29 2012-05-03 Microsoft Corporation Providing consolidated project information service
US20120174058A1 (en) * 2010-12-29 2012-07-05 Microsoft Corporation Platform for distributed applications
CN102610040A (en) * 2012-03-16 2012-07-25 深圳供电局有限公司 Electricity selling management system for charging station
CN102638575A (en) * 2012-03-27 2012-08-15 许继集团有限公司 Layered monitoring system for battery charging and alternating
US8312425B2 (en) 2008-03-31 2012-11-13 International Business Machines Corporation Dynamic template instantiation
US20120310709A1 (en) * 2011-04-22 2012-12-06 International Business Machines Corporation Computer-implemented method and apparatus for integrating heterogeneous business processes
US8364715B2 (en) 2008-03-31 2013-01-29 Sap Ag Managing consistent interfaces for automatic identification label business objects across heterogeneous systems
US8364608B2 (en) 2010-06-15 2013-01-29 Sap Ag Managing consistent interfaces for export declaration and export declaration request business objects across heterogeneous systems
US8370272B2 (en) 2010-06-15 2013-02-05 Sap Ag Managing consistent interfaces for business document message monitoring view, customs arrangement, and freight list business objects across heterogeneous systems
US8392364B2 (en) 2006-07-10 2013-03-05 Sap Ag Consistent set of interfaces derived from a business object model
US8396768B1 (en) * 2006-09-28 2013-03-12 Sap Ag Managing consistent interfaces for human resources business objects across heterogeneous systems
US8396751B2 (en) 2009-09-30 2013-03-12 Sap Ag Managing consistent interfaces for merchandising business objects across heterogeneous systems
US8412603B2 (en) 2010-06-15 2013-04-02 Sap Ag Managing consistent interfaces for currency conversion and date and time business objects across heterogeneous systems
US8417588B2 (en) 2010-06-15 2013-04-09 Sap Ag Managing consistent interfaces for goods tag, production bill of material hierarchy, and release order template business objects across heterogeneous systems
US8463666B2 (en) 2008-11-25 2013-06-11 Sap Ag Managing consistent interfaces for merchandise and assortment planning business objects across heterogeneous systems
US8515794B2 (en) 2010-06-15 2013-08-20 Sap Ag Managing consistent interfaces for employee time event and human capital management view of payroll process business objects across heterogeneous systems
US8521838B2 (en) 2011-07-28 2013-08-27 Sap Ag Managing consistent interfaces for communication system and object identifier mapping business objects across heterogeneous systems
US8521621B1 (en) 2012-06-28 2013-08-27 Sap Ag Consistent interface for inbound delivery request
US8554586B2 (en) 2008-06-26 2013-10-08 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US8560392B2 (en) 2011-07-28 2013-10-15 Sap Ag Managing consistent interfaces for a point of sale transaction business object across heterogeneous systems
US8566193B2 (en) 2006-08-11 2013-10-22 Sap Ag Consistent set of interfaces derived from a business object model
US8566185B2 (en) 2008-06-26 2013-10-22 Sap Ag Managing consistent interfaces for financial instrument business objects across heterogeneous systems
US8577760B2 (en) 2008-11-25 2013-11-05 Sap Ag Managing consistent interfaces for tax authority business objects across heterogeneous systems
US8589562B2 (en) 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US8601490B2 (en) 2011-07-28 2013-12-03 Sap Ag Managing consistent interfaces for business rule business object across heterogeneous systems
US8606723B2 (en) 2004-06-04 2013-12-10 Sap Ag Consistent set of interfaces derived from a business object model
US20130339980A1 (en) * 2012-06-14 2013-12-19 Clicksoftware Technologies Ltd Composite application enabling workflow between unmodified constituent applications
US8615451B1 (en) 2012-06-28 2013-12-24 Sap Ag Consistent interface for goods and activity confirmation
US8655756B2 (en) 2004-06-04 2014-02-18 Sap Ag Consistent set of interfaces derived from a business object model
US8666845B2 (en) 2011-07-28 2014-03-04 Sap Ag Managing consistent interfaces for a customer requirement business object across heterogeneous systems
US8671064B2 (en) 2008-06-26 2014-03-11 Sap Ag Managing consistent interfaces for supply chain management business objects across heterogeneous systems
US8671041B2 (en) 2008-12-12 2014-03-11 Sap Ag Managing consistent interfaces for credit portfolio business objects across heterogeneous systems
US8694397B2 (en) 2004-06-18 2014-04-08 Sap Ag Consistent set of interfaces derived from a business object model
US8719217B1 (en) 2013-03-15 2014-05-06 Decisyon, Inc. Systems, devices, and methods for generation of contextual objects mapped by dimensional data to data measures
US8725654B2 (en) 2011-07-28 2014-05-13 Sap Ag Managing consistent interfaces for employee data replication business objects across heterogeneous systems
US8732083B2 (en) 2010-06-15 2014-05-20 Sap Ag Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems
US8744937B2 (en) 2005-02-25 2014-06-03 Sap Ag Consistent set of interfaces derived from a business object model
US8756135B2 (en) 2012-06-28 2014-06-17 Sap Ag Consistent interface for product valuation data and product valuation level
US8756274B2 (en) 2012-02-16 2014-06-17 Sap Ag Consistent interface for sales territory message type set 1
US8762454B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for flag and tag
US8762453B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for feed collaboration group and feed event subscription
US20140181004A1 (en) * 2012-12-20 2014-06-26 Sap Ag Common Framework for Definition, Generation, and Management of Metadata Runtime-Loads
US8775280B2 (en) 2011-07-28 2014-07-08 Sap Ag Managing consistent interfaces for financial business objects across heterogeneous systems
US8799115B2 (en) 2008-02-28 2014-08-05 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US8799359B2 (en) 2004-12-28 2014-08-05 Sap Ag Session management within a multi-tiered enterprise network
US8838750B2 (en) 2005-12-30 2014-09-16 Sap Ag System and method for system information centralization
US20140278686A1 (en) * 2013-03-15 2014-09-18 Desire2Learn Incorporated Method and system for automatic task time estimation and scheduling
US20140372965A1 (en) * 2013-06-12 2014-12-18 Nuesoft Technologies, Inc. System and method for collaborative programming of data entry workflows between system developers, end users, and third party developers
US8924269B2 (en) 2006-05-13 2014-12-30 Sap Ag Consistent set of interfaces derived from a business object model
US8930248B2 (en) 2008-03-31 2015-01-06 Sap Se Managing consistent interfaces for supply network business objects across heterogeneous systems
US8949855B2 (en) 2012-06-28 2015-02-03 Sap Se Consistent interface for address snapshot and approval process definition
US20150074634A1 (en) * 2013-09-06 2015-03-12 Unisys Corporation Business suite framework for developing software applications
US8984050B2 (en) 2012-02-16 2015-03-17 Sap Se Consistent interface for sales territory message type set 2
US20150142949A1 (en) * 2013-11-18 2015-05-21 Nuwafin Holdings Ltd System and method for collaborative designing, development, deployment, execution, monitoring and maintenance of enterprise applications
US9043236B2 (en) 2012-08-22 2015-05-26 Sap Se Consistent interface for financial instrument impairment attribute values analytical result
US20150153918A1 (en) * 2013-12-04 2015-06-04 General Electric Company System and method for dashboard software maintained by an end user
US20150160928A1 (en) * 2013-12-05 2015-06-11 Marcel Hermanns Business object model layer interface
US20150160877A1 (en) * 2013-02-11 2015-06-11 Citrix Systems, Inc. System Updates With Personal Virtual Disks
US9076112B2 (en) 2012-08-22 2015-07-07 Sap Se Consistent interface for financial instrument impairment expected cash flow analytical result
US9135585B2 (en) 2010-06-15 2015-09-15 Sap Se Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems
US9191343B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for appointment activity business object
US9191357B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for email activity business object
US9232368B2 (en) 2012-02-16 2016-01-05 Sap Se Consistent interface for user feed administrator, user feed event link and user feed settings
US9237425B2 (en) 2012-02-16 2016-01-12 Sap Se Consistent interface for feed event, feed event document and feed event type
US9246869B2 (en) 2012-06-28 2016-01-26 Sap Se Consistent interface for opportunity
US9261950B2 (en) 2012-06-28 2016-02-16 Sap Se Consistent interface for document output request
EP2524300A4 (en) * 2010-01-15 2016-06-08 Group Business Software Ag Apparatus and method for constructing data applications in an unstructured data environment
US9367826B2 (en) 2012-06-28 2016-06-14 Sap Se Consistent interface for entitlement product
US9400998B2 (en) 2012-06-28 2016-07-26 Sap Se Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule
US9547833B2 (en) 2012-08-22 2017-01-17 Sap Se Consistent interface for financial instrument impairment calculation
US9569274B2 (en) 2012-10-16 2017-02-14 Microsoft Technology Licensing, Llc Distributed application optimization using service groups
US9600299B2 (en) * 2015-04-17 2017-03-21 Sap Se Application object framework
US9892028B1 (en) 2008-05-16 2018-02-13 On24, Inc. System and method for debugging of webcasting applications during live events
US10026058B2 (en) 2010-10-29 2018-07-17 Microsoft Technology Licensing, Llc Enterprise resource planning oriented context-aware environment
US10057108B2 (en) 2014-01-02 2018-08-21 Decisyon, Inc. Systems, devices, and methods for exchanging and processing data measures and objects
US20190251185A1 (en) * 2018-02-15 2019-08-15 Wipro Limited Method and system for integrating business logic database with hmi application
US10402786B2 (en) * 2016-12-30 2019-09-03 Dropbox, Inc. Managing projects in a content management system
US10430491B1 (en) 2008-05-30 2019-10-01 On24, Inc. System and method for communication between rich internet applications
US10437566B2 (en) * 2014-05-22 2019-10-08 Oracle International Corporation Generating runtime components
US10452670B2 (en) 2015-03-23 2019-10-22 Dropbox, Inc. Processing message attachments in shared folder backed integrated workspaces
US10474477B2 (en) * 2008-10-10 2019-11-12 Adobe Inc. Collaborative and non-collaborative workspace application container with application persistence
US10521223B1 (en) * 2017-08-22 2019-12-31 Wells Fargo Bank, N.A. Systems and methods of a metadata orchestrator augmenting application development
US10523792B2 (en) * 2016-03-25 2019-12-31 Embarcadero Technologies, Inc. Universal framework for connectivity of devices and development tools
CN111008250A (en) * 2019-12-05 2020-04-14 国家电网公司 Data synchronization method between ERP system and other systems
CN111026310A (en) * 2019-12-17 2020-04-17 中国银行股份有限公司 Transaction menu generation method and device
US10719807B2 (en) 2016-12-29 2020-07-21 Dropbox, Inc. Managing projects using references
US10754838B1 (en) * 2016-03-31 2020-08-25 EMC IP Holding Company LLC Registration framework for an analytics platform
US10785325B1 (en) 2014-09-03 2020-09-22 On24, Inc. Audience binning system and method for webcasting and on-line presentations
US10838714B2 (en) 2006-04-24 2020-11-17 Servicenow, Inc. Applying packages to configure software stacks
US10838925B2 (en) 2018-11-06 2020-11-17 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US20210055716A1 (en) * 2019-08-20 2021-02-25 Gafcon, Inc. Data harmonization across building lifecycle
US10942944B2 (en) 2015-12-22 2021-03-09 Dropbox, Inc. Managing content across discrete systems
US10942707B2 (en) 2002-07-09 2021-03-09 International Business Machines Corporation Adaptive platform
US10970656B2 (en) 2016-12-29 2021-04-06 Dropbox, Inc. Automatically suggesting project affiliations
WO2021217246A1 (en) * 2020-05-01 2021-11-04 Mastercard Technologies Canada ULC Tiered application pattern
US11188822B2 (en) 2017-10-05 2021-11-30 On24, Inc. Attendee engagement determining system and method
US11226939B2 (en) 2017-12-29 2022-01-18 Dropbox, Inc. Synchronizing changes within a collaborative content management system
US11281723B2 (en) 2017-10-05 2022-03-22 On24, Inc. Widget recommendation for an online event using co-occurrence matrix
US11361269B2 (en) * 2016-10-26 2022-06-14 Servicenow, Inc. System and method for service modeling
US11366573B2 (en) 2018-11-09 2022-06-21 Sap Portals Israel Ltd. Automatic development of a service-specific chatbot
US11429781B1 (en) 2013-10-22 2022-08-30 On24, Inc. System and method of annotating presentation timeline with questions, comments and notes using simple user inputs in mobile devices
US11438410B2 (en) 2010-04-07 2022-09-06 On24, Inc. Communication console with component aggregation
US11444903B1 (en) * 2021-02-26 2022-09-13 Slack Technologies, Llc Contextual discovery and design of application workflow

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814198B2 (en) 2007-10-26 2010-10-12 Microsoft Corporation Model-driven, repository-based application monitoring system
JP5290518B2 (en) * 2003-05-16 2013-09-18 エスアーペー アーゲー Business process management system and method for message exchange infrastructure
US8225282B1 (en) 2003-11-25 2012-07-17 Nextaxiom Technology, Inc. Semantic-based, service-oriented system and method of developing, programming and managing software modules and software solutions
US7735097B2 (en) * 2004-05-24 2010-06-08 Sap Ag Method and system to implement a deploy service to perform deployment services to extend and enhance functionalities of deployed applications
US7747698B2 (en) * 2004-05-25 2010-06-29 Sap Ag Transaction model for deployment operations
US7877735B2 (en) * 2004-05-25 2011-01-25 Sap Ag Application cloning
US7882502B2 (en) * 2004-05-25 2011-02-01 Sap Ag Single file update
US7631004B2 (en) * 2004-10-08 2009-12-08 Microsoft Corporation Systems and methods for creating a template from an existing file
FR2878351A1 (en) * 2004-11-24 2006-05-26 Giat Ind Sa Logistic engineering system for managing and monitoring e.g. electronic product, has transformation tool to create or modify financial, calendar and technical data related to product in unified enterprise repository
US7581206B2 (en) * 2005-01-14 2009-08-25 Microsoft Corporation Systems and methods for creating and providing templates in a single file
US7552418B2 (en) * 2005-01-14 2009-06-23 Microsoft Corporation Systems and methods for creating and providing templates in a single file
US8788565B2 (en) * 2005-07-18 2014-07-22 Wayne Bevan Dynamic and distributed queueing and processing system
US8219967B2 (en) * 2005-07-25 2012-07-10 International Business Machines Corporation Method and apparatus for enabling enterprise project management with service oriented resource and using a process profiling framework
US7873422B2 (en) * 2005-09-02 2011-01-18 Sap Ag Event-based coordination of process-oriented composite applications
US8688495B2 (en) 2005-12-30 2014-04-01 Sap Ag Architectural design for time recording application software
US20070156622A1 (en) * 2006-01-05 2007-07-05 Akkiraju Rama K Method and system to compose software applications by combining planning with semantic reasoning
US7805400B2 (en) * 2006-01-31 2010-09-28 Microsoft Corporation Report generation using metadata
US8438119B2 (en) 2006-03-30 2013-05-07 Sap Ag Foundation layer for services based enterprise software architecture
US8321832B2 (en) * 2006-03-31 2012-11-27 Sap Ag Composite application modeling
US20070288883A1 (en) * 2006-06-09 2007-12-13 International Business Machines Corporation Method for consolidated launching of multiple tasks
US8302073B2 (en) * 2006-06-15 2012-10-30 International Business Machines Corporation Moving and copying dependencies along with source code
US7870536B2 (en) * 2006-06-15 2011-01-11 International Business Machines Corporation Computer implemented method and system for sharing resources among hierarchical containers of resources
US7519614B2 (en) * 2006-08-31 2009-04-14 Sap Ag Data verification systems and methods using business objects
US8315988B2 (en) 2006-08-31 2012-11-20 Sap Ag Systems and methods for verifying a data communication process
US8484167B2 (en) * 2006-08-31 2013-07-09 Sap Ag Data verification systems and methods based on messaging data
US8150798B2 (en) 2006-10-10 2012-04-03 Wells Fargo Bank, N.A. Method and system for automated coordination and organization of electronic communications in enterprises
US8438535B2 (en) * 2006-12-04 2013-05-07 Sap Ag Method and apparatus for persistent object tool
US7844912B2 (en) * 2006-12-22 2010-11-30 Sap Ag System and method using transformation nodes with enhancement layers
US8024396B2 (en) * 2007-04-26 2011-09-20 Microsoft Corporation Distributed behavior controlled execution of modeled applications
US7996237B2 (en) * 2007-05-09 2011-08-09 Oracle International Corporation Providing collaboration services to business applications to correlate user collaboration with the business application
US20090077015A1 (en) * 2007-05-21 2009-03-19 Douglas Coutts System and method for implementing composite applications
US8214793B1 (en) * 2007-06-28 2012-07-03 Adobe Systems Incorporated Automatic restoration of tool configuration while navigating layers of a composition
US8239505B2 (en) 2007-06-29 2012-08-07 Microsoft Corporation Progressively implementing declarative models in distributed systems
US7970892B2 (en) * 2007-06-29 2011-06-28 Microsoft Corporation Tuning and optimizing distributed systems with declarative models
US8230386B2 (en) 2007-08-23 2012-07-24 Microsoft Corporation Monitoring distributed applications
US8281283B2 (en) * 2007-09-13 2012-10-02 Sap Ag Model-based integration of business logic implemented in enterprise javabeans into a UI framework
US20090113292A1 (en) * 2007-10-26 2009-04-30 Microsoft Corporation Flexibly editing heterogeneous documents
US8181151B2 (en) * 2007-10-26 2012-05-15 Microsoft Corporation Modeling and managing heterogeneous applications
US7974939B2 (en) * 2007-10-26 2011-07-05 Microsoft Corporation Processing model-based commands for distributed applications
US8099720B2 (en) 2007-10-26 2012-01-17 Microsoft Corporation Translating declarative models
US8225308B2 (en) * 2007-10-26 2012-07-17 Microsoft Corporation Managing software lifecycle
US7926070B2 (en) 2007-10-26 2011-04-12 Microsoft Corporation Performing requested commands for model-based applications
US8671032B2 (en) 2007-12-31 2014-03-11 Sap Ag Providing payment software application as enterprise services
US9489177B2 (en) * 2008-02-25 2016-11-08 Adventive, Inc. Methods for integrating and managing one or more features in an application and systems thereof
US8495557B2 (en) * 2008-04-03 2013-07-23 Microsoft Corporation Highly available large scale network and internet systems
US8627306B2 (en) * 2008-08-06 2014-01-07 Caterpillar Inc. Method and system for updating an information management system configuration
US8341593B2 (en) * 2008-10-23 2012-12-25 Sap Ag Integrated development framework for composite applications
US8352912B2 (en) * 2008-12-15 2013-01-08 International Business Machines Corporation Method and system for topology modeling
US20100161682A1 (en) * 2008-12-19 2010-06-24 Wolfgang Pfeifer Metadata model repository
US20100250228A1 (en) * 2009-03-30 2010-09-30 International Business Machines Corporation Modeling a composite application
US8561059B2 (en) * 2009-04-07 2013-10-15 Sap Ag Apparatus and storage device for consolidating installation and deployment of environments
US20100262557A1 (en) * 2009-04-14 2010-10-14 Ferreira Rodrigo C Systems, methods, and apparatus for guiding users in process-driven environments
US8515831B2 (en) * 2010-01-04 2013-08-20 Bala R. Vatti People's task management framework
US8555249B2 (en) * 2010-12-13 2013-10-08 Sap Ag Lifecycle stable user interface adaptations
US10949791B2 (en) * 2011-03-07 2021-03-16 Tata Consultancy Services Limited Collaborative platform for it service and vendor management
US9063758B2 (en) * 2011-06-28 2015-06-23 Microsoft Technology Licensing, Llc Population of dynamic objects representing static namespace hierarchies
US8806422B2 (en) * 2011-10-27 2014-08-12 Sap Ag Impact analysis and adoption planning based on global where-used lists
US9395959B2 (en) * 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Integrated workflow visualization and editing
US20130166602A1 (en) * 2011-12-22 2013-06-27 Sap Ag Cloud-enabled business object modeling
US9037964B2 (en) 2012-01-12 2015-05-19 International Business Machines Corporation Providing direct manipulation of an analytics data visualization within an analytics report
US10146510B2 (en) * 2012-07-02 2018-12-04 Salesforce.Com, Inc. Custom metametadata with packagable records
US10311107B2 (en) 2012-07-02 2019-06-04 Salesforce.Com, Inc. Techniques and architectures for providing references to custom metametadata in declarative validations
US9038017B2 (en) * 2012-08-23 2015-05-19 Cognizant Technology Solutions India Pvt. Ltd. Method and system for facilitating rapid development of end-to-end software applications
US9563861B2 (en) 2012-11-06 2017-02-07 Rockwell Automation Technologies, Inc. Integration of workflow and library modules
US9355193B2 (en) 2012-11-06 2016-05-31 Rockwell Automation Technologies, Inc. Object design data model
US9031975B2 (en) 2012-11-06 2015-05-12 Rockwell Automation Technologies, Inc. Content management
US8887134B2 (en) 2012-11-06 2014-11-11 Rockwell Automation Technologies, Inc. Customized object design for industrial automation application
US9135000B2 (en) 2012-11-06 2015-09-15 Rockwell Automation Technologies, Inc. Runtime process diagnostics
US8898634B2 (en) 2012-11-06 2014-11-25 Rockwell Automation Technologies, Inc. Customized object design for industrial automation application
US10740396B2 (en) 2013-05-24 2020-08-11 Sap Se Representing enterprise data in a knowledge graph
US9158599B2 (en) 2013-06-27 2015-10-13 Sap Se Programming framework for applications
US9239707B2 (en) 2013-06-28 2016-01-19 Successfactors, Inc. Model framework for applications
CN104346149A (en) 2013-07-30 2015-02-11 商业对象软件有限公司 Descriptive framework used for data visualization
US9720705B2 (en) 2014-04-25 2017-08-01 Sap Se System and method of demand oriented user interface framework
US9442832B2 (en) 2014-07-07 2016-09-13 Sap Se User workflow replication for execution error analysis
US9807143B2 (en) 2014-08-04 2017-10-31 Avaya Inc. Systems and methods for event routing and correlation
US10908779B2 (en) * 2018-09-27 2021-02-02 Atlassian Pty Ltd. Selective display of chat room contents

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845289A (en) * 1995-06-07 1998-12-01 International Business Machines Corporation Methodology for generating object structures for accessing conventional, non-object-oriented business applications
US5860005A (en) * 1996-07-16 1999-01-12 Fujitsu Ltd. Apparatus for supporting development of information processing system
US5864821A (en) * 1995-03-29 1999-01-26 Hitachi, Ltd. Method and apparatus for transmitting data in correspondence to a progress stage of a series of business processings
US6067548A (en) * 1998-07-16 2000-05-23 E Guanxi, Inc. Dynamic organization model and management computing system and method therefor
US6134706A (en) * 1997-08-14 2000-10-17 International Business Machines Corporation Software business objects in a multi-level organizational structure
US6134594A (en) * 1997-10-28 2000-10-17 Microsoft Corporation Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
US6167563A (en) * 1998-09-17 2000-12-26 Unisys Corporation Method and system for building components in a framework useful in developing integrated business-centric applications
US6266666B1 (en) * 1997-09-08 2001-07-24 Sybase, Inc. Component transaction server for developing and deploying transaction- intensive business applications
US6349404B1 (en) * 1999-06-08 2002-02-19 Unisys Corp. Object-oriented repository, a system and method for reusing existing host-based application assets for the development of business-centric applications
US6662355B1 (en) * 1999-08-11 2003-12-09 International Business Machines Corporation Method and system for specifying and implementing automation of business processes
US6789252B1 (en) * 1999-04-15 2004-09-07 Miles D. Burke Building business objects and business software applications using dynamic object definitions of ingrediential objects
US6901595B2 (en) * 2001-09-29 2005-05-31 Siebel Systems, Inc. Method, apparatus, and system for implementing a framework to support a web-based application
US7076762B2 (en) * 2002-03-22 2006-07-11 Sun Microsystems, Inc. Design and redesign of enterprise applications

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222533B1 (en) * 1997-08-25 2001-04-24 I2 Technologies, Inc. System and process having a universal adapter framework and providing a global user interface and global messaging bus
AU1838200A (en) * 1998-11-30 2000-06-19 Siebel Systems, Inc. Client server system with thin client architecture
US6199195B1 (en) * 1999-07-08 2001-03-06 Science Application International Corporation Automatically generated objects within extensible object frameworks and links to enterprise resources
WO2003015342A1 (en) * 2001-08-08 2003-02-20 Trivium Systems Inc. Dynamic rules-based secure data access system for business computer platforms

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864821A (en) * 1995-03-29 1999-01-26 Hitachi, Ltd. Method and apparatus for transmitting data in correspondence to a progress stage of a series of business processings
US5845289A (en) * 1995-06-07 1998-12-01 International Business Machines Corporation Methodology for generating object structures for accessing conventional, non-object-oriented business applications
US5860005A (en) * 1996-07-16 1999-01-12 Fujitsu Ltd. Apparatus for supporting development of information processing system
US6134706A (en) * 1997-08-14 2000-10-17 International Business Machines Corporation Software business objects in a multi-level organizational structure
US6266666B1 (en) * 1997-09-08 2001-07-24 Sybase, Inc. Component transaction server for developing and deploying transaction- intensive business applications
US6134594A (en) * 1997-10-28 2000-10-17 Microsoft Corporation Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
US6067548A (en) * 1998-07-16 2000-05-23 E Guanxi, Inc. Dynamic organization model and management computing system and method therefor
US6167563A (en) * 1998-09-17 2000-12-26 Unisys Corporation Method and system for building components in a framework useful in developing integrated business-centric applications
US6789252B1 (en) * 1999-04-15 2004-09-07 Miles D. Burke Building business objects and business software applications using dynamic object definitions of ingrediential objects
US6349404B1 (en) * 1999-06-08 2002-02-19 Unisys Corp. Object-oriented repository, a system and method for reusing existing host-based application assets for the development of business-centric applications
US6662355B1 (en) * 1999-08-11 2003-12-09 International Business Machines Corporation Method and system for specifying and implementing automation of business processes
US6901595B2 (en) * 2001-09-29 2005-05-31 Siebel Systems, Inc. Method, apparatus, and system for implementing a framework to support a web-based application
US7076762B2 (en) * 2002-03-22 2006-07-11 Sun Microsystems, Inc. Design and redesign of enterprise applications

Cited By (455)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533380B2 (en) * 2002-06-05 2009-05-12 Sap Ag Installation tool for enterprise management systems based on building blocks
US8495658B2 (en) 2002-07-09 2013-07-23 International Business Machines Corporation Adaptive content platform and application integration with the platform
US10942707B2 (en) 2002-07-09 2021-03-09 International Business Machines Corporation Adaptive platform
US20110179425A1 (en) * 2002-07-09 2011-07-21 Openpages, Inc. Adaptive Content Platform and Application Integration with the Platform
US8589957B2 (en) 2002-07-09 2013-11-19 International Business Machines Corporation Adaptive platform
US7971144B2 (en) 2002-07-09 2011-06-28 Openpages Adaptive content platform and method of using same
US10331414B2 (en) 2002-07-09 2019-06-25 International Business Machines Corporation Adaptive platform
US20080052729A1 (en) * 2002-07-09 2008-02-28 Santanu Paul Adaptive content platform and method of using same
US7926066B2 (en) 2002-07-09 2011-04-12 Openpages, Inc. Adaptive content platform and application integration with the platform
US20050289532A1 (en) * 2002-07-09 2005-12-29 Openpages Inc. Adaptive content platform and application integration with the platform
US20040181795A1 (en) * 2003-03-14 2004-09-16 Nir Kol Restructuring integration system
US7958186B2 (en) * 2003-03-14 2011-06-07 Sap Ag Restructuring integration system
US11537958B2 (en) 2003-05-12 2022-12-27 Radaptive, Inc. Automated adaptation of business process tracking and communications
US20060123408A1 (en) * 2003-06-06 2006-06-08 Luc Martin Method and system for managing online applications
US7890540B2 (en) * 2003-07-22 2011-02-15 Sap Ag Browsing meta data for an enterprise service framework
US20050021563A1 (en) * 2003-07-22 2005-01-27 Victor Shaburov Browsing meta data for an enterprise service framework
US20050027706A1 (en) * 2003-07-31 2005-02-03 Bhatti Shahzad H. Object-oriented data storage
US7660821B2 (en) * 2003-07-31 2010-02-09 Hewlett-Packard Development, Company, L.P. Data storage system
US7606828B2 (en) * 2003-11-18 2009-10-20 Sap Ag Delta-mechanism for integration of OLAP-based planning and reporting
US20050108294A1 (en) * 2003-11-18 2005-05-19 Hartmut Koerner Delta-mechanism for integration of OLAP-based planning and reporting
US20050204297A1 (en) * 2003-12-22 2005-09-15 International Business Machines Corporation Combined synchronous and asynchronous logical components in a collaborative context
US11138023B2 (en) * 2004-02-03 2021-10-05 Versata Fz-Llc Method and apparatus for composite user interface creation
US20080163078A1 (en) * 2004-02-03 2008-07-03 Corizon Limited Method and Apparatus For Composite User Interface Creation
US9864610B2 (en) * 2004-02-03 2018-01-09 Versata Fz-Llc Method and apparatus for composite user interface creation
US11714665B2 (en) * 2004-02-03 2023-08-01 Versata Fz-Llc Method and apparatus for composite user interface creation
US8271541B2 (en) * 2004-03-31 2012-09-18 Fusionops Corporation Method and apparatus for developing composite applications
US20070016615A1 (en) * 2004-03-31 2007-01-18 Fusionops Corporation Method and apparatus for developing composite applications
US20050235011A1 (en) * 2004-04-15 2005-10-20 Microsoft Corporation Distributed object classification
US20060149735A1 (en) * 2004-04-29 2006-07-06 Filenet Corporation Automated records management with enforcement of a mandatory minimum retention record
US20070260619A1 (en) * 2004-04-29 2007-11-08 Filenet Corporation Enterprise content management network-attached system
US20100145752A1 (en) * 2004-05-11 2010-06-10 Davis James E Adaptable workflow and communications system
US20050257227A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. System and method for utilizing a common framework for portal administration tools
US8065415B2 (en) * 2004-05-14 2011-11-22 Oracle International Corporation System and method for utilizing a common framework for portal administration tools
US7620934B2 (en) 2004-05-28 2009-11-17 Sap Ag System and method for a Web service definition
US20050278348A1 (en) * 2004-05-28 2005-12-15 Timm Falter System and method for a Web service definition
US20060149739A1 (en) * 2004-05-28 2006-07-06 Metadata, Llc Data security in a semantic data model
US7617480B2 (en) * 2004-05-28 2009-11-10 Sap Ag System and method for a Web service virtual interface
US20060031850A1 (en) * 2004-05-28 2006-02-09 Timm Falter System and method for a Web service virtual interface
US8655756B2 (en) 2004-06-04 2014-02-18 Sap Ag Consistent set of interfaces derived from a business object model
US8606723B2 (en) 2004-06-04 2013-12-10 Sap Ag Consistent set of interfaces derived from a business object model
US8694397B2 (en) 2004-06-18 2014-04-08 Sap Ag Consistent set of interfaces derived from a business object model
US7814426B2 (en) * 2004-06-30 2010-10-12 Sap Aktiengesellschaft Reusable component in a collaboration workspace
US20060005163A1 (en) * 2004-06-30 2006-01-05 Jens Huesken Reusable component in a collaboration workspace
US20060015381A1 (en) * 2004-07-14 2006-01-19 Manyworlds, Inc Business lifecycle management system
US20100274635A1 (en) * 2004-07-14 2010-10-28 Manyworlds, Inc. Business Lifecycle Management Methods
US20060036595A1 (en) * 2004-08-12 2006-02-16 International Business Machines Corporation Role-based dynamically customizable dashboards
US20060064439A1 (en) * 2004-09-20 2006-03-23 Uwe Fischer Comparing process sizes
US7536427B2 (en) * 2004-09-20 2009-05-19 Sap Ag Comparing process sizes
US20090210465A1 (en) * 2004-09-20 2009-08-20 Sap Ag. Comparing process sizes
US20060101374A1 (en) * 2004-10-14 2006-05-11 Beng Giap Lim Enterprise management system installer
US20060085374A1 (en) * 2004-10-15 2006-04-20 Filenet Corporation Automatic records management based on business process management
US20060085245A1 (en) * 2004-10-19 2006-04-20 Filenet Corporation Team collaboration system with business process management and records management
US20060095439A1 (en) * 2004-10-29 2006-05-04 Daniel Buchmann Master data framework
US8352478B2 (en) * 2004-10-29 2013-01-08 Sap Ag Master data framework
US7580915B2 (en) * 2004-12-14 2009-08-25 Sap Ag Socket-like communication API for C
US20060129512A1 (en) * 2004-12-14 2006-06-15 Bernhard Braun Socket-like communication API for C
US7600217B2 (en) * 2004-12-14 2009-10-06 Sap Ag Socket-like communication API for Java
US20060129560A1 (en) * 2004-12-15 2006-06-15 Adams Greg D Architecture for enabling business components to access middleware application programming interfaces (APIs) in a runtime environment
US7996615B2 (en) 2004-12-28 2011-08-09 Sap Ag Cache region concept
US7500133B2 (en) 2004-12-28 2009-03-03 Sap Ag Connection manager for handling message oriented protocol-based requests
US7672949B2 (en) 2004-12-28 2010-03-02 Sap Ag Connection manager having a common dispatcher for heterogeneous software suites
US9009409B2 (en) 2004-12-28 2015-04-14 Sap Se Cache region concept
US7840760B2 (en) 2004-12-28 2010-11-23 Sap Ag Shared closure eviction implementation
US8799359B2 (en) 2004-12-28 2014-08-05 Sap Ag Session management within a multi-tiered enterprise network
US20060143595A1 (en) * 2004-12-28 2006-06-29 Jan Dostert Virtual machine monitoring using shared memory
US20060143290A1 (en) * 2004-12-28 2006-06-29 Jan Dostert Session monitoring using shared memory
US7694065B2 (en) 2004-12-28 2010-04-06 Sap Ag Distributed cache architecture
US20060143619A1 (en) * 2004-12-28 2006-06-29 Galin Galchev Connection manager for handling message oriented protocol-based requests
US7523196B2 (en) 2004-12-28 2009-04-21 Sap Ag Session monitoring using shared memory
US20060155867A1 (en) * 2004-12-28 2006-07-13 Frank Kilian Connection manager having a common dispatcher for heterogeneous software suites
US10007608B2 (en) 2004-12-28 2018-06-26 Sap Se Cache region concept
US7971001B2 (en) 2004-12-28 2011-06-28 Sap Ag Least recently used eviction implementation
US7591006B2 (en) 2004-12-29 2009-09-15 Sap Ag Security for external system management
US20060168646A1 (en) * 2004-12-29 2006-07-27 Randolf Werner Security for external system management
US20060176893A1 (en) * 2005-02-07 2006-08-10 Yoon-Jin Ku Method of dynamic queue management for stable packet forwarding and network processor element therefor
US20060184925A1 (en) * 2005-02-15 2006-08-17 Olivier Ficatier Plug-in for adapting an integrated development environment to a programming language
US8296729B2 (en) * 2005-02-15 2012-10-23 Sap Ag Plug-in for adapting an integrated development environment to a programming language
US8744937B2 (en) 2005-02-25 2014-06-03 Sap Ag Consistent set of interfaces derived from a business object model
US20060206862A1 (en) * 2005-03-02 2006-09-14 Detlef Becker Data processing system for integrating two program frameworks
AU2012203306B2 (en) * 2005-03-03 2015-02-05 Thomson Reuters Enterprise Centre Gmbh Integrated system, tools, and methods for designing automated business process applications
EP1698975A1 (en) * 2005-03-03 2006-09-06 Research In Motion Limited System and method for applying workflow of generic services to component based applications
US8739110B2 (en) 2005-03-03 2014-05-27 Thomson Reuters Global Resources Integrated system, tools, and methods for designing automated business process applications
US20060200748A1 (en) * 2005-03-03 2006-09-07 Michael Shenfield System and method for applying workflow of generic services' to component based applications for devices
US20060271390A1 (en) * 2005-03-03 2006-11-30 Alan Rich Integrated system, tools, and methods for designing automated business process applications
US7814404B2 (en) 2005-03-03 2010-10-12 Research In Motion Limited System and method for applying workflow of generic services to component based applications for devices
WO2006094208A1 (en) * 2005-03-03 2006-09-08 Thomson Global Resources Integrated system, tools, and methods for designing automated business process applications
US20060229923A1 (en) * 2005-03-30 2006-10-12 International Business Machines Corporation Definition of workflow patterns using complex event processing
WO2006107986A3 (en) * 2005-04-05 2009-04-09 Openpages Inc Adaptive content platform and application integration with the platform
AU2006231535B2 (en) * 2005-04-05 2011-05-26 International Business Machines Corporation Adaptive content platform and application integration with the platform
US20070129937A1 (en) * 2005-04-07 2007-06-07 Business Objects, S.A. Apparatus and method for deterministically constructing a text question for application to a data source
WO2006110368A3 (en) * 2005-04-07 2007-09-07 Business Objects Sa Apparatus and method for data modeling business logic
US20060230027A1 (en) * 2005-04-07 2006-10-12 Kellet Nicholas G Apparatus and method for utilizing sentence component metadata to create database queries
US20060230028A1 (en) * 2005-04-07 2006-10-12 Business Objects, S.A. Apparatus and method for constructing complex database query statements based on business analysis comparators
US20060229866A1 (en) * 2005-04-07 2006-10-12 Business Objects, S.A. Apparatus and method for deterministically constructing a text question for application to a data source
WO2006110368A2 (en) * 2005-04-07 2006-10-19 Business Objects, S.A. Apparatus and method for data modeling business logic
US20060229853A1 (en) * 2005-04-07 2006-10-12 Business Objects, S.A. Apparatus and method for data modeling business logic
US20060229867A1 (en) * 2005-04-07 2006-10-12 Objects, S.A. Apparatus and method for deterministically constructing multi-lingual text questions for application to a data source
US8006224B2 (en) * 2005-04-15 2011-08-23 Research In Motion Limited System and method for unified visualization of two-tiered applications
US20060248121A1 (en) * 2005-04-15 2006-11-02 Michael Cacenco System and method for supporting packaging, publishing and republishing of wireless component applications
US8265942B2 (en) * 2005-04-15 2012-09-11 Fmr Llc Multi-authoring within benefits content system
US20060236302A1 (en) * 2005-04-15 2006-10-19 Cameron Bateman System and method for unified visualization of two-tiered applications
US20060235738A1 (en) * 2005-04-15 2006-10-19 Judy Doyle Multi-authoring within benefits content system
EP1715414A1 (en) * 2005-04-18 2006-10-25 Research In Motion Limited System and method for automated building of component based applications for visualising complex data structures
US20060236254A1 (en) * 2005-04-18 2006-10-19 Daniel Mateescu System and method for automated building of component based applications for visualizing complex data structures
US8589562B2 (en) 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US9432240B2 (en) 2005-04-29 2016-08-30 Sap Se Flexible failover configuration
US20060253830A1 (en) * 2005-05-06 2006-11-09 Rajanala Arun K Guiding application building using business constraint metadata
US20060282509A1 (en) * 2005-06-09 2006-12-14 Frank Kilian Application server architecture
US7689660B2 (en) 2005-06-09 2010-03-30 Sap Ag Application server architecture
US20070250575A1 (en) * 2005-06-24 2007-10-25 Tseitlin Ariel D Deployment
US20070250574A1 (en) * 2005-06-24 2007-10-25 Tseitlin Ariel D Continuous deployment
US9542175B2 (en) * 2005-06-24 2017-01-10 Oracle International Corporation Continuous deployment
US9075596B2 (en) * 2005-06-24 2015-07-07 Oracle International Corporation Deployment
US7886018B2 (en) 2005-06-24 2011-02-08 Oracle International Corporation Portable metadata service framework
US20070260629A1 (en) * 2005-06-24 2007-11-08 Tseitlin Ariel D Portable management
US9063725B2 (en) 2005-06-24 2015-06-23 Oracle International Corporation Portable management
US7890452B2 (en) 2005-07-13 2011-02-15 Sap Ag Methods for enterprise-level data and process access and presentation
US20070016557A1 (en) * 2005-07-13 2007-01-18 Moore Dennis B Methods for enterprise-level data and process access and presentation
US7966412B2 (en) 2005-07-19 2011-06-21 Sap Ag System and method for a pluggable protocol handler
US7925985B2 (en) 2005-07-29 2011-04-12 Sap Ag Methods and apparatus for process thumbnail view
US20070028175A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing user tools
US20070028174A1 (en) * 2005-07-29 2007-02-01 Moore Dennis B Grid processing dynamic screensaver
US20070033196A1 (en) * 2005-08-02 2007-02-08 Sap Ag Service directory
US20070033571A1 (en) * 2005-08-02 2007-02-08 Sap Ag Dynamic work center
US20070055972A1 (en) * 2005-08-24 2007-03-08 International Business Machines Corporation Model-driven software deployment in an application server
US7512942B2 (en) 2005-08-24 2009-03-31 International Business Machines Corporation Model-driven software deployment in an application server
US20070239717A1 (en) * 2005-09-01 2007-10-11 International Business Machines Corporation System and method for architecting pattern based models within a governmental framework
US20070089117A1 (en) * 2005-09-22 2007-04-19 Xcalia Implementation system for business applications
US8209710B2 (en) * 2005-09-22 2012-06-26 Xcalia Implementation system for business applications
US20110167408A1 (en) * 2005-09-30 2011-07-07 Harmony Information Systems, Inc. Configurable software application
US8752014B2 (en) * 2005-09-30 2014-06-10 Harmony Information Systems, Inc. Configurable software application
US10402756B2 (en) 2005-10-19 2019-09-03 International Business Machines Corporation Capturing the result of an approval process/workflow and declaring it a record
US20070088736A1 (en) * 2005-10-19 2007-04-19 Filenet Corporation Record authentication and approval transcript
US20070088585A1 (en) * 2005-10-19 2007-04-19 Filenet Corporation Capturing the result of an approval process/workflow and declaring it a record
US20100114786A1 (en) * 2005-10-26 2010-05-06 At&T Corp. Worklist integration of logical and physical tasks
US7853467B2 (en) * 2005-10-26 2010-12-14 At&T Intellectual Property Ii, L.P. Worklist integration of logical and physical tasks
US7689447B1 (en) * 2005-10-26 2010-03-30 At&T Intellectual Property Ii, L.P. Worklist integration of logical and physical tasks
US20070100785A1 (en) * 2005-11-01 2007-05-03 Herbert Hackmann Managing attributes in a digital information system
US8386555B2 (en) * 2005-11-04 2013-02-26 Sap Ag Systems and methods for adapting procedure calls to service providers
US20070124740A1 (en) * 2005-11-04 2007-05-31 Sap Ag Systems and methods for adapting procedure calls to service providers
US20070226731A1 (en) * 2005-11-16 2007-09-27 Tseitlin Ariel D Modularity
US8543968B2 (en) * 2005-11-17 2013-09-24 Target Health, Inc. System and method for creating, managing, deploying and archiving data-intensive applications and projects
US20070124346A1 (en) * 2005-11-17 2007-05-31 Mitchel Jules T System and method for creating, managing, deploying and archiving data-intensive applications and projects
US7856436B2 (en) 2005-12-23 2010-12-21 International Business Machines Corporation Dynamic holds of record dispositions during record management
US20070150445A1 (en) * 2005-12-23 2007-06-28 Filenet Corporation Dynamic holds of record dispositions during record management
US20070156631A1 (en) * 2005-12-29 2007-07-05 Sap Ag Synchronization of transactional applications and analytical applications
US20070257715A1 (en) * 2005-12-30 2007-11-08 Semerdzhiev Krasimir P System and method for abstract configuration
US7797522B2 (en) 2005-12-30 2010-09-14 Sap Ag Meta attributes of system configuration elements
US8201189B2 (en) 2005-12-30 2012-06-12 Sap Ag System and method for filtering components
US20070157010A1 (en) * 2005-12-30 2007-07-05 Ingo Zenz Configuration templates for different use cases for a system
US20070156431A1 (en) * 2005-12-30 2007-07-05 Semerdzhiev Krasimir P System and method for filtering components
US20070156388A1 (en) * 2005-12-30 2007-07-05 Frank Kilian Virtualized and adaptive configuration of a system
US7870538B2 (en) 2005-12-30 2011-01-11 Sap Ag Configuration inheritance in system configuration
US20070156389A1 (en) * 2005-12-30 2007-07-05 Frank Kilian Dynamic adaptation of a configuration to a system environment
US8849894B2 (en) 2005-12-30 2014-09-30 Sap Ag Method and system using parameterized configurations
US20070156641A1 (en) * 2005-12-30 2007-07-05 Thomas Mueller System and method to provide system independent configuration references
US9038023B2 (en) 2005-12-30 2015-05-19 Sap Se Template-based configuration architecture
US20070156715A1 (en) * 2005-12-30 2007-07-05 Thomas Mueller Tagged property files for system configurations
US8843918B2 (en) 2005-12-30 2014-09-23 Sap Ag System and method for deployable templates
US8271769B2 (en) 2005-12-30 2012-09-18 Sap Ag Dynamic adaptation of a configuration to a system environment
US20070156717A1 (en) * 2005-12-30 2007-07-05 Ingo Zenz Meta attributes of system configuration elements
US8838750B2 (en) 2005-12-30 2014-09-16 Sap Ag System and method for system information centralization
US7694117B2 (en) 2005-12-30 2010-04-06 Sap Ag Virtualized and adaptive configuration of a system
US20070156432A1 (en) * 2005-12-30 2007-07-05 Thomas Mueller Method and system using parameterized configurations
US7954087B2 (en) 2005-12-30 2011-05-31 Sap Ag Template integration
US20070157185A1 (en) * 2005-12-30 2007-07-05 Semerdzhiev Krasimir P System and method for deployable templates
US7793087B2 (en) 2005-12-30 2010-09-07 Sap Ag Configuration templates for different use cases for a system
US20070157172A1 (en) * 2005-12-30 2007-07-05 Ingo Zenz Template integration
US20070162892A1 (en) * 2005-12-30 2007-07-12 Ingo Zenz Template-based configuration architecture
US7779389B2 (en) 2005-12-30 2010-08-17 Sap Ag System and method for dynamic VM settings
US20070165937A1 (en) * 2005-12-30 2007-07-19 Markov Mladen L System and method for dynamic VM settings
US20070168965A1 (en) * 2005-12-30 2007-07-19 Ingo Zenz Configuration inheritance in system configuration
US7987456B2 (en) * 2006-01-24 2011-07-26 Microsoft Corporation Qualitatively annotated code
US20070180455A1 (en) * 2006-01-24 2007-08-02 Microsoft Corporation Qualitatively Annotated Code
US20070220035A1 (en) * 2006-03-17 2007-09-20 Filip Misovski Generating user interface using metadata
US20070239470A1 (en) * 2006-03-31 2007-10-11 Benzi Ronen Method and system for managing development component metrics
US20070234291A1 (en) * 2006-03-31 2007-10-04 Benzi Ronen Method and system for utilizing development components
US20070234290A1 (en) * 2006-03-31 2007-10-04 Benzi Ronen Interactive container of development components and solutions
US20070233681A1 (en) * 2006-03-31 2007-10-04 Benzi Ronen Method and system for managing development components
US8095911B2 (en) * 2006-03-31 2012-01-10 Sap Ag Method and system for utilizing development components
US8423954B2 (en) 2006-03-31 2013-04-16 Sap Ag Interactive container of development components and solutions
US8745583B2 (en) 2006-03-31 2014-06-03 Sap Ag Method and system for managing development components
US20070250405A1 (en) * 2006-03-31 2007-10-25 Benzi Ronen Method and system for identifying reusable development components
US8175936B2 (en) 2006-03-31 2012-05-08 Sap Ag Method and system for identifying reusable development components
US20070239715A1 (en) * 2006-04-11 2007-10-11 Filenet Corporation Managing content objects having multiple applicable retention periods
US7971187B2 (en) 2006-04-24 2011-06-28 Microsoft Corporation Configurable software stack
US20070261017A1 (en) * 2006-04-24 2007-11-08 Microsoft Corporation Applying Packages To Configure Software Stacks
US9354904B2 (en) * 2006-04-24 2016-05-31 Microsoft Technology Licensing, Llc Applying packages to configure software stacks
EP2024848A1 (en) * 2006-04-24 2009-02-18 Microsoft Corporation Process encoding
EP2024848A4 (en) * 2006-04-24 2011-07-06 Microsoft Corp Process encoding
US20070250813A1 (en) * 2006-04-24 2007-10-25 Microsoft Corporation Configurable Software Stack
US10838714B2 (en) 2006-04-24 2020-11-17 Servicenow, Inc. Applying packages to configure software stacks
US20070250812A1 (en) * 2006-04-24 2007-10-25 Microsoft Corporation Process Encoding
EP1855239A1 (en) * 2006-05-09 2007-11-14 Sap Ag Business process federated repository
US8799181B2 (en) 2006-05-09 2014-08-05 Sag Ag Business process federated repository
US20070266051A1 (en) * 2006-05-09 2007-11-15 Sap Ag Business process federated repository
US20070265900A1 (en) * 2006-05-09 2007-11-15 Moore Dennis B Business process evolution
US20070265895A1 (en) * 2006-05-09 2007-11-15 Sap Ag Ad-hoc workflow as a business process template
US8924269B2 (en) 2006-05-13 2014-12-30 Sap Ag Consistent set of interfaces derived from a business object model
US20070266330A1 (en) * 2006-05-15 2007-11-15 Liam Friedland Method and system for role-based user interface navigation
US20080005721A1 (en) * 2006-06-29 2008-01-03 Augusta Systems, Inc. Method and System for Rapidly Developing Sensor-Enabled Software Applications
US20080005729A1 (en) * 2006-06-29 2008-01-03 Augusta Systems, Inc. Method and System for Rapidly Developing and Deploying Sensor-Enabled Software Applications
US7735060B2 (en) 2006-06-29 2010-06-08 Augusta Systems, Inc. Method and system for rapidly developing and deploying sensor-enabled software applications
US20080010631A1 (en) * 2006-06-29 2008-01-10 Augusta Systems, Inc. System and Method for Deploying and Managing Intelligent Nodes in a Distributed Network
US8015547B2 (en) 2006-06-29 2011-09-06 Augusta Systems, Inc. Reconfigurable, hierarchical component-based architecture and framework and methods for rapidly developing sensor device-enabling software applications
US20080005287A1 (en) * 2006-06-29 2008-01-03 Augusta Systems, Inc. Reconfigurable,hierarchical component-based architecture & framework and methods for rapidly developing sensor device-enabling software applications
US8095923B2 (en) 2006-06-29 2012-01-10 Augusta Systems, Inc. System and method for deploying and managing intelligent nodes in a distributed network
US8392364B2 (en) 2006-07-10 2013-03-05 Sap Ag Consistent set of interfaces derived from a business object model
US8566193B2 (en) 2006-08-11 2013-10-22 Sap Ag Consistent set of interfaces derived from a business object model
US20080126932A1 (en) * 2006-09-14 2008-05-29 Rafi Elad GUI modeling of knowledge base in a modeling environment
US8527939B2 (en) * 2006-09-14 2013-09-03 Sap Ag GUI modeling of knowledge base in a modeling environment
US8468544B1 (en) 2006-09-28 2013-06-18 Sap Ag Managing consistent interfaces for demand planning business objects across heterogeneous systems
US8396768B1 (en) * 2006-09-28 2013-03-12 Sap Ag Managing consistent interfaces for human resources business objects across heterogeneous systems
US8571961B1 (en) 2006-09-28 2013-10-29 Sap Ag Managing consistent interfaces for financial business objects across heterogeneous systems
US8402473B1 (en) 2006-09-28 2013-03-19 Sap Ag Managing consistent interfaces for demand business objects across heterogeneous systems
US20080098359A1 (en) * 2006-09-29 2008-04-24 Ventsislav Ivanov Manipulation of trace sessions based on address parameters
US20080086506A1 (en) * 2006-10-10 2008-04-10 Filenet Corporation Automated records management with hold notification and automatic receipts
US8037029B2 (en) 2006-10-10 2011-10-11 International Business Machines Corporation Automated records management with hold notification and automatic receipts
US20080147416A1 (en) * 2006-12-14 2008-06-19 Microsoft Corporation Ui behaviors
US8099710B2 (en) * 2006-12-14 2012-01-17 Microsoft Corporation UI behaviors
US20080154981A1 (en) * 2006-12-21 2008-06-26 Vladislav Bezukov SAP interface definition language (SIDL) serialization framework
US8601495B2 (en) * 2006-12-21 2013-12-03 Sap Ag SAP interface definition language (SIDL) serialization framework
US20080162095A1 (en) * 2006-12-28 2008-07-03 Frank Brunswig Adaptive models framework
US7702650B2 (en) * 2006-12-28 2010-04-20 Sap Ag Adaptive models framework
US8495510B2 (en) * 2006-12-29 2013-07-23 Sap Ag System and method for managing browser extensions
US20080163088A1 (en) * 2006-12-29 2008-07-03 Aurobinda Pradhan System and method for managing browser extensions
US20080195622A1 (en) * 2007-02-12 2008-08-14 Personeta Ltd. Service provisioning system
US8726235B2 (en) * 2007-03-29 2014-05-13 Verizon Patent And Licensing Inc. Telecom business-oriented taxonomy for reusable services
US20080244518A1 (en) * 2007-03-29 2008-10-02 Verizon Services Corp. Telecom Business-Oriented Taxonomy for Reusable Services
US8132147B2 (en) * 2007-05-29 2012-03-06 Sap Ag Semantic interpretation of software models for generating user interfaces
US20080301628A1 (en) * 2007-05-29 2008-12-04 Sap Ag Semantic interpretation of software models for generating user interfaces
US7900159B2 (en) * 2007-06-18 2011-03-01 Microsoft Corporation Techniques for representing and organizing user interface data
US20080313561A1 (en) * 2007-06-18 2008-12-18 Microsoft Corporation Techniques for representing and organizing user interface data
US20090049025A1 (en) * 2007-08-16 2009-02-19 Oracle International Corporation System and method for harvesting service metadata from an architecture diagram into a metadata repository
US20090064205A1 (en) * 2007-08-16 2009-03-05 Oracle International Corporation System and method for harvesting service metadata from a metadata repository into an architecture diagram
US20090076878A1 (en) * 2007-09-19 2009-03-19 Matthias Woerner Efficient project staffing
US20090172568A1 (en) * 2007-09-28 2009-07-02 Xcerion Ab Network operating system
US20090157628A1 (en) * 2007-09-28 2009-06-18 Xcerion Ab Network operating system
US8108426B2 (en) 2007-09-28 2012-01-31 Xcerion Aktiebolag Application and file system hosting framework
US8099671B2 (en) 2007-09-28 2012-01-17 Xcerion Aktiebolag Opening an application view
US8280925B2 (en) 2007-09-28 2012-10-02 Xcerion Aktiebolag Resolution of multi-instance application execution
US20090192992A1 (en) * 2007-09-28 2009-07-30 Xcerion Aktiebolag Network operating system
US11838358B2 (en) 2007-09-28 2023-12-05 Xcerion Aktiebolag Network operating system
US8688627B2 (en) 2007-09-28 2014-04-01 Xcerion Aktiebolag Transaction propagation in a networking environment
US8843942B2 (en) 2007-09-28 2014-09-23 Xcerion Aktiebolag Interpreting semantic application code
US8156146B2 (en) 2007-09-28 2012-04-10 Xcerion Aktiebolag Network file system
US8239511B2 (en) * 2007-09-28 2012-08-07 Xcerion Aktiebolag Network operating system
US8234315B2 (en) 2007-09-28 2012-07-31 Xcerion Aktiebolag Data source abstraction system and method
US20090172569A1 (en) * 2007-09-28 2009-07-02 Xcerion Ab Network operating system
US8954526B2 (en) 2007-09-28 2015-02-10 Xcerion Aktiebolag Network operating system
US20090254610A1 (en) * 2007-09-28 2009-10-08 Xcerion Ab Network operating system
US8959123B2 (en) 2007-09-28 2015-02-17 Xcerion Aktiebolag User interface framework
US8996459B2 (en) 2007-09-28 2015-03-31 Xcerion Aktiebolag Offline and/or client-side execution of a network application
US9621649B2 (en) 2007-09-28 2017-04-11 Xcerion Aktiebolag Network operating system
US20090157627A1 (en) * 2007-09-28 2009-06-18 Xcerion Ab Network operating system
US8620863B2 (en) 2007-09-28 2013-12-31 Xcerion Aktiebolag Message passing in a collaborative environment
US20090172078A1 (en) * 2007-09-28 2009-07-02 Xcerion Ab Network operating system
US8112460B2 (en) 2007-09-28 2012-02-07 Xcerion Aktiebolag Framework for applying rules
US9344497B2 (en) 2007-09-28 2016-05-17 Xcerion Aktiebolag State management of applications and data
US20090192969A1 (en) * 2007-09-28 2009-07-30 Xcerion Aktiebolag Network operating system
US8615531B2 (en) 2007-09-28 2013-12-24 Xcerion Aktiebolag Programmatic data manipulation
US9071623B2 (en) 2007-09-28 2015-06-30 Xcerion Aktiebolag Real-time data sharing
US20090193440A1 (en) * 2007-09-28 2009-07-30 Xcerion Aktiebolag Network operating system
US20090193410A1 (en) * 2007-09-28 2009-07-30 Xcerion Aktiebolag Network operating system
US8738567B2 (en) 2007-09-28 2014-05-27 Xcerion Aktiebolag Network file system with enhanced collaboration features
US20090165021A1 (en) * 2007-10-23 2009-06-25 Microsoft Corporation Model-Based Composite Application Platform
US20090157872A1 (en) * 2007-10-23 2009-06-18 Microsoft Corporation Model-based composite application platform
US8751626B2 (en) 2007-10-23 2014-06-10 Microsoft Corporation Model-based composite application platform
US20090172635A1 (en) * 2007-12-28 2009-07-02 Auriemma Stephen T System and method for allowing the creation of composite applications through the wiring of loosely coupled existing or custom components of disparate technologies
US8327322B2 (en) * 2007-12-28 2012-12-04 International Business Machines Corporation System and method for allowing the creation of composite applications through the wiring of loosely coupled existing or custom components of disparate technologies
US20090198639A1 (en) * 2008-01-31 2009-08-06 Computer Associates Think, Inc. Business process analyzer
US20090138425A1 (en) * 2008-01-31 2009-05-28 Computer Associates Think, Inc. Business optimization engine
US20090198481A1 (en) * 2008-01-31 2009-08-06 Computer Associates Think, Inc. Business process optimizer
US20090198533A1 (en) * 2008-01-31 2009-08-06 Computer Associates Think, Inc. Business process extractor
US8175991B2 (en) 2008-01-31 2012-05-08 Ca, Inc. Business optimization engine that extracts process life cycle information in real time by inserting stubs into business applications
US7949619B2 (en) 2008-01-31 2011-05-24 Computer Associates Think, Inc. Business process analyzer that serializes obtained business process data and identifies patterns in serialized business processs data
US8296117B2 (en) 2008-01-31 2012-10-23 Ca, Inc. Business process optimizer
US8799115B2 (en) 2008-02-28 2014-08-05 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US8423418B2 (en) 2008-03-31 2013-04-16 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US20090249362A1 (en) * 2008-03-31 2009-10-01 Thiemo Lindemann Managing Consistent Interfaces for Maintenance Order Business Objects Across Heterogeneous Systems
US8904368B2 (en) * 2008-03-31 2014-12-02 International Business Machines Corporation Instantiating a composite application for different target platforms
US8930248B2 (en) 2008-03-31 2015-01-06 Sap Se Managing consistent interfaces for supply network business objects across heterogeneous systems
US20090248473A1 (en) * 2008-03-31 2009-10-01 Susanne Doenig Managing Consistent Interfaces for Business Objects Across Heterogeneous Systems
US20090249296A1 (en) * 2008-03-31 2009-10-01 Walter Haenel Instantiating a composite application for different target platforms
US20090248586A1 (en) * 2008-03-31 2009-10-01 Martin Kaisermayr Managing consistent interfaces for business objects across heterogeneous systems
US8312425B2 (en) 2008-03-31 2012-11-13 International Business Machines Corporation Dynamic template instantiation
US8364715B2 (en) 2008-03-31 2013-01-29 Sap Ag Managing consistent interfaces for automatic identification label business objects across heterogeneous systems
US8370233B2 (en) * 2008-03-31 2013-02-05 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US8413165B2 (en) 2008-03-31 2013-04-02 Sap Ag Managing consistent interfaces for maintenance order business objects across heterogeneous systems
US9892028B1 (en) 2008-05-16 2018-02-13 On24, Inc. System and method for debugging of webcasting applications during live events
US10430491B1 (en) 2008-05-30 2019-10-01 On24, Inc. System and method for communication between rich internet applications
US8566185B2 (en) 2008-06-26 2013-10-22 Sap Ag Managing consistent interfaces for financial instrument business objects across heterogeneous systems
US8671064B2 (en) 2008-06-26 2014-03-11 Sap Ag Managing consistent interfaces for supply chain management business objects across heterogeneous systems
US9047578B2 (en) 2008-06-26 2015-06-02 Sap Se Consistent set of interfaces for business objects across heterogeneous systems
US8554586B2 (en) 2008-06-26 2013-10-08 Sap Ag Managing consistent interfaces for business objects across heterogeneous systems
US20100036691A1 (en) * 2008-08-06 2010-02-11 International Business Machines Corporation Phase driven modeling services
US20130014078A1 (en) * 2008-10-08 2013-01-10 Teresa Tung Intergrated design application system
EP2192536A3 (en) * 2008-10-08 2015-01-21 Accenture Global Services Limited Integrated design application
US9026984B2 (en) * 2008-10-08 2015-05-05 Accenture Global Services Limited Integrated design application system
EP2192536A2 (en) * 2008-10-08 2010-06-02 ACCENTURE Global Services GmbH Integrated design application
US10474477B2 (en) * 2008-10-10 2019-11-12 Adobe Inc. Collaborative and non-collaborative workspace application container with application persistence
US11360790B2 (en) 2008-10-10 2022-06-14 Adobe Inc. Collaborative and non-collaborative workspace application container with application persistence
US9519636B2 (en) * 2008-10-15 2016-12-13 Business Objects S.A. Deduction of analytic context based on text and semantic layer
US20100094844A1 (en) * 2008-10-15 2010-04-15 Jean-Yves Cras Deduction of analytic context based on text and semantic layer
US8577760B2 (en) 2008-11-25 2013-11-05 Sap Ag Managing consistent interfaces for tax authority business objects across heterogeneous systems
US8463666B2 (en) 2008-11-25 2013-06-11 Sap Ag Managing consistent interfaces for merchandise and assortment planning business objects across heterogeneous systems
US20100153565A1 (en) * 2008-12-11 2010-06-17 Microsoft Corporation Connection management in line-of-business
US8386420B2 (en) 2008-12-11 2013-02-26 Microsoft Corporation Framework for web services exposing line of business applications
US20100153444A1 (en) * 2008-12-11 2010-06-17 Microsoft Corporation Framework for web services exposing line of business applications
US8145593B2 (en) 2008-12-11 2012-03-27 Microsoft Corporation Framework for web services exposing line of business applications
US8671041B2 (en) 2008-12-12 2014-03-11 Sap Ag Managing consistent interfaces for credit portfolio business objects across heterogeneous systems
US8554637B2 (en) 2009-09-30 2013-10-08 Sap Ag Managing consistent interfaces for merchandising business objects across heterogeneous systems
US20110077999A1 (en) * 2009-09-30 2011-03-31 Sap Ag Managing consistent interfaces for retail event business objects across heterogeneous systems
US8396751B2 (en) 2009-09-30 2013-03-12 Sap Ag Managing consistent interfaces for merchandising business objects across heterogeneous systems
US20110154302A1 (en) * 2009-12-21 2011-06-23 Soeren Balko Adding services to application platform via extension
US8904343B2 (en) * 2009-12-21 2014-12-02 Sap Se Adding services to application platform via extension
US9772929B2 (en) 2010-01-14 2017-09-26 Worksoft, Inc. System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
US8997053B2 (en) * 2010-01-14 2015-03-31 Worksoft, Inc. System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
US20110173590A1 (en) * 2010-01-14 2011-07-14 Worksoft, Inc. System and method for automated testing of software applications with dynamic user interfaces spanning multiple technologies
EP2524300A4 (en) * 2010-01-15 2016-06-08 Group Business Software Ag Apparatus and method for constructing data applications in an unstructured data environment
US20110185294A1 (en) * 2010-01-22 2011-07-28 Microsoft Corporation Pattern-based user interfaces
US20110202378A1 (en) * 2010-02-17 2011-08-18 Rabstejnek Wayne S Enterprise rendering platform
US20110252094A1 (en) * 2010-04-07 2011-10-13 On24, Inc. Communication console with component aggregation
US20150381717A1 (en) * 2010-04-07 2015-12-31 On24, Inc. Communication console with component aggregation
US20180262561A1 (en) * 2010-04-07 2018-09-13 On24, Inc. Communication console with component aggregation
US11438410B2 (en) 2010-04-07 2022-09-06 On24, Inc. Communication console with component aggregation
US10749948B2 (en) * 2010-04-07 2020-08-18 On24, Inc. Communication console with component aggregation
US9148480B2 (en) 2010-04-07 2015-09-29 On24, Inc. Communication console with component aggregation
WO2011127237A1 (en) * 2010-04-07 2011-10-13 On24, Inc. Communication console with component aggregation
US8706812B2 (en) * 2010-04-07 2014-04-22 On24, Inc. Communication console with component aggregation
US9973576B2 (en) * 2010-04-07 2018-05-15 On24, Inc. Communication console with component aggregation
US8620724B2 (en) * 2010-04-20 2013-12-31 Accenture Global Services Limited Integration framework for enterprise content management systems
US20110258136A1 (en) * 2010-04-20 2011-10-20 Accenture Global Services Gmbh Integration framework for enterprise content management systems
US8412603B2 (en) 2010-06-15 2013-04-02 Sap Ag Managing consistent interfaces for currency conversion and date and time business objects across heterogeneous systems
US8417588B2 (en) 2010-06-15 2013-04-09 Sap Ag Managing consistent interfaces for goods tag, production bill of material hierarchy, and release order template business objects across heterogeneous systems
US8515794B2 (en) 2010-06-15 2013-08-20 Sap Ag Managing consistent interfaces for employee time event and human capital management view of payroll process business objects across heterogeneous systems
US8364608B2 (en) 2010-06-15 2013-01-29 Sap Ag Managing consistent interfaces for export declaration and export declaration request business objects across heterogeneous systems
US9135585B2 (en) 2010-06-15 2015-09-15 Sap Se Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems
US8732083B2 (en) 2010-06-15 2014-05-20 Sap Ag Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems
US8370272B2 (en) 2010-06-15 2013-02-05 Sap Ag Managing consistent interfaces for business document message monitoring view, customs arrangement, and freight list business objects across heterogeneous systems
US8418074B2 (en) * 2010-06-29 2013-04-09 Sap Ag Shared user interface services framework
US9557880B2 (en) * 2010-06-29 2017-01-31 Sap Se Shared user interface services framework
US20130179797A1 (en) * 2010-06-29 2013-07-11 Sap Ag Shared user interface services framework
US20110320968A1 (en) * 2010-06-29 2011-12-29 Ivo Vollrath Shared user interface services framework
EP2447830A1 (en) * 2010-10-29 2012-05-02 Sap Ag System and method for decoupling business logic and user interface via a generic object access layer
CN102436378A (en) * 2010-10-29 2012-05-02 微软公司 Enterprise resource planning oriented context-aware user interface
US20120110508A1 (en) * 2010-10-29 2012-05-03 Microsoft Corporation Enterprise resource planning oriented context-aware user interface
US20120109938A1 (en) * 2010-10-29 2012-05-03 Microsoft Corporation Providing consolidated project information service
US10026058B2 (en) 2010-10-29 2018-07-17 Microsoft Technology Licensing, Llc Enterprise resource planning oriented context-aware environment
US8818993B2 (en) * 2010-10-29 2014-08-26 Microsoft Corporation Providing consolidated project information service
US20120110547A1 (en) * 2010-10-29 2012-05-03 Sap Ag System and method for a generic object access layer
US9298473B2 (en) * 2010-10-29 2016-03-29 Sap Se System and method for a generic object access layer
US9286037B2 (en) * 2010-12-29 2016-03-15 Microsoft Technology Licensing, Llc Platform for distributed applications
US20120174058A1 (en) * 2010-12-29 2012-07-05 Microsoft Corporation Platform for distributed applications
US20120310709A1 (en) * 2011-04-22 2012-12-06 International Business Machines Corporation Computer-implemented method and apparatus for integrating heterogeneous business processes
US20120316927A1 (en) * 2011-04-22 2012-12-13 International Business Machines Corporation Computer-implemented method and apparatus for integrating heterogeneous business processes
US8560392B2 (en) 2011-07-28 2013-10-15 Sap Ag Managing consistent interfaces for a point of sale transaction business object across heterogeneous systems
US8666845B2 (en) 2011-07-28 2014-03-04 Sap Ag Managing consistent interfaces for a customer requirement business object across heterogeneous systems
US8725654B2 (en) 2011-07-28 2014-05-13 Sap Ag Managing consistent interfaces for employee data replication business objects across heterogeneous systems
US8601490B2 (en) 2011-07-28 2013-12-03 Sap Ag Managing consistent interfaces for business rule business object across heterogeneous systems
US8521838B2 (en) 2011-07-28 2013-08-27 Sap Ag Managing consistent interfaces for communication system and object identifier mapping business objects across heterogeneous systems
US8775280B2 (en) 2011-07-28 2014-07-08 Sap Ag Managing consistent interfaces for financial business objects across heterogeneous systems
US9237425B2 (en) 2012-02-16 2016-01-12 Sap Se Consistent interface for feed event, feed event document and feed event type
US8984050B2 (en) 2012-02-16 2015-03-17 Sap Se Consistent interface for sales territory message type set 2
US9232368B2 (en) 2012-02-16 2016-01-05 Sap Se Consistent interface for user feed administrator, user feed event link and user feed settings
US8756274B2 (en) 2012-02-16 2014-06-17 Sap Ag Consistent interface for sales territory message type set 1
US8762454B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for flag and tag
US8762453B2 (en) 2012-02-16 2014-06-24 Sap Ag Consistent interface for feed collaboration group and feed event subscription
CN102610040A (en) * 2012-03-16 2012-07-25 深圳供电局有限公司 Electricity selling management system for charging station
CN102638575A (en) * 2012-03-27 2012-08-15 许继集团有限公司 Layered monitoring system for battery charging and alternating
US20130339980A1 (en) * 2012-06-14 2013-12-19 Clicksoftware Technologies Ltd Composite application enabling workflow between unmodified constituent applications
US9400998B2 (en) 2012-06-28 2016-07-26 Sap Se Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule
US9367826B2 (en) 2012-06-28 2016-06-14 Sap Se Consistent interface for entitlement product
US8521621B1 (en) 2012-06-28 2013-08-27 Sap Ag Consistent interface for inbound delivery request
US8615451B1 (en) 2012-06-28 2013-12-24 Sap Ag Consistent interface for goods and activity confirmation
US8949855B2 (en) 2012-06-28 2015-02-03 Sap Se Consistent interface for address snapshot and approval process definition
US8756135B2 (en) 2012-06-28 2014-06-17 Sap Ag Consistent interface for product valuation data and product valuation level
US9261950B2 (en) 2012-06-28 2016-02-16 Sap Se Consistent interface for document output request
US9246869B2 (en) 2012-06-28 2016-01-26 Sap Se Consistent interface for opportunity
US9043236B2 (en) 2012-08-22 2015-05-26 Sap Se Consistent interface for financial instrument impairment attribute values analytical result
US9076112B2 (en) 2012-08-22 2015-07-07 Sap Se Consistent interface for financial instrument impairment expected cash flow analytical result
US9547833B2 (en) 2012-08-22 2017-01-17 Sap Se Consistent interface for financial instrument impairment calculation
US9569274B2 (en) 2012-10-16 2017-02-14 Microsoft Technology Licensing, Llc Distributed application optimization using service groups
US20140181004A1 (en) * 2012-12-20 2014-06-26 Sap Ag Common Framework for Definition, Generation, and Management of Metadata Runtime-Loads
US20150160877A1 (en) * 2013-02-11 2015-06-11 Citrix Systems, Inc. System Updates With Personal Virtual Disks
US10019177B2 (en) * 2013-02-11 2018-07-10 Citrix Systems, Inc. System updates with personal virtual disks
US20140278686A1 (en) * 2013-03-15 2014-09-18 Desire2Learn Incorporated Method and system for automatic task time estimation and scheduling
US11023865B2 (en) 2013-03-15 2021-06-01 Desire2Learn Incorporated Method and system for automatic task time estimation and scheduling
US9830402B2 (en) 2013-03-15 2017-11-28 Decisyon, Inc. Systems, devices, and methods for generation of contextual objects mapped by dimensional data to data measures
US11803818B2 (en) 2013-03-15 2023-10-31 D2L Corporation Method and system for automatic task time estimation and scheduling
US8719217B1 (en) 2013-03-15 2014-05-06 Decisyon, Inc. Systems, devices, and methods for generation of contextual objects mapped by dimensional data to data measures
US9081845B2 (en) 2013-03-15 2015-07-14 Decisyon, Inc. Systems, devices, and methods for generation of contextual objects mapped by dimensional data to data measures
US9191343B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for appointment activity business object
US9191357B2 (en) 2013-03-15 2015-11-17 Sap Se Consistent interface for email activity business object
US9928340B2 (en) * 2013-06-12 2018-03-27 Nuesoft Technologies, Inc. System and method for collaborative programming of data entry workflows between system developers, end users, and third party developers
US9304761B2 (en) * 2013-06-12 2016-04-05 Nuesoft Technologies, Inc. System and method for collaborative programming of data entry workflows between system developers, end users, and third party developers
US20140372965A1 (en) * 2013-06-12 2014-12-18 Nuesoft Technologies, Inc. System and method for collaborative programming of data entry workflows between system developers, end users, and third party developers
US20160203271A1 (en) * 2013-06-12 2016-07-14 Nuesoft Technologies, Inc. System and method for collaborative programming of data entry workflows between system developers, end users, and third party developers
US9612804B2 (en) * 2013-09-06 2017-04-04 Unisys Corporation Business suite framework for developing software applications
US20150074634A1 (en) * 2013-09-06 2015-03-12 Unisys Corporation Business suite framework for developing software applications
US11429781B1 (en) 2013-10-22 2022-08-30 On24, Inc. System and method of annotating presentation timeline with questions, comments and notes using simple user inputs in mobile devices
US20150142949A1 (en) * 2013-11-18 2015-05-21 Nuwafin Holdings Ltd System and method for collaborative designing, development, deployment, execution, monitoring and maintenance of enterprise applications
US9729615B2 (en) * 2013-11-18 2017-08-08 Nuwafin Holdings Ltd System and method for collaborative designing, development, deployment, execution, monitoring and maintenance of enterprise applications
US20150153918A1 (en) * 2013-12-04 2015-06-04 General Electric Company System and method for dashboard software maintained by an end user
US9870202B2 (en) * 2013-12-05 2018-01-16 Sap Se Business object model layer interface
US9870203B2 (en) 2013-12-05 2018-01-16 Sap Se Consumption layer for business entities
US20150160928A1 (en) * 2013-12-05 2015-06-11 Marcel Hermanns Business object model layer interface
US10057108B2 (en) 2014-01-02 2018-08-21 Decisyon, Inc. Systems, devices, and methods for exchanging and processing data measures and objects
US10437566B2 (en) * 2014-05-22 2019-10-08 Oracle International Corporation Generating runtime components
US10785325B1 (en) 2014-09-03 2020-09-22 On24, Inc. Audience binning system and method for webcasting and on-line presentations
US10997189B2 (en) 2015-03-23 2021-05-04 Dropbox, Inc. Processing conversation attachments in shared folder backed integrated workspaces
US10558677B2 (en) 2015-03-23 2020-02-11 Dropbox, Inc. Viewing and editing content items in shared folder backed integrated workspaces
US10452670B2 (en) 2015-03-23 2019-10-22 Dropbox, Inc. Processing message attachments in shared folder backed integrated workspaces
US11748366B2 (en) 2015-03-23 2023-09-05 Dropbox, Inc. Shared folder backed integrated workspaces
US11354328B2 (en) 2015-03-23 2022-06-07 Dropbox, Inc. Shared folder backed integrated workspaces
US10635684B2 (en) 2015-03-23 2020-04-28 Dropbox, Inc. Shared folder backed integrated workspaces
US11347762B2 (en) 2015-03-23 2022-05-31 Dropbox, Inc. Intelligent scrolling in shared folder back integrated workspaces
US11567958B2 (en) 2015-03-23 2023-01-31 Dropbox, Inc. Content item templates
US11016987B2 (en) 2015-03-23 2021-05-25 Dropbox, Inc. Shared folder backed integrated workspaces
US10997188B2 (en) 2015-03-23 2021-05-04 Dropbox, Inc. Commenting in shared folder backed integrated workspaces
US9600299B2 (en) * 2015-04-17 2017-03-21 Sap Se Application object framework
US10942944B2 (en) 2015-12-22 2021-03-09 Dropbox, Inc. Managing content across discrete systems
US11816128B2 (en) 2015-12-22 2023-11-14 Dropbox, Inc. Managing content across discrete systems
US10979540B2 (en) 2016-03-25 2021-04-13 Embarcadero Technologies, Inc. Universal framework for connectivity of devices and development tools
US10523792B2 (en) * 2016-03-25 2019-12-31 Embarcadero Technologies, Inc. Universal framework for connectivity of devices and development tools
US11310351B2 (en) 2016-03-25 2022-04-19 Embarcadero Technologies, Inc. Universal framework for connectivity of devices and development tools
US10754838B1 (en) * 2016-03-31 2020-08-25 EMC IP Holding Company LLC Registration framework for an analytics platform
US11361269B2 (en) * 2016-10-26 2022-06-14 Servicenow, Inc. System and method for service modeling
US10776755B2 (en) 2016-12-29 2020-09-15 Dropbox, Inc. Creating projects in a content management system
US10970679B2 (en) 2016-12-29 2021-04-06 Dropbox, Inc. Presenting project data managed by a content management system
US10970656B2 (en) 2016-12-29 2021-04-06 Dropbox, Inc. Automatically suggesting project affiliations
US10719807B2 (en) 2016-12-29 2020-07-21 Dropbox, Inc. Managing projects using references
US11017354B2 (en) 2016-12-30 2021-05-25 Dropbox, Inc. Managing projects in a content management system
US11900324B2 (en) 2016-12-30 2024-02-13 Dropbox, Inc. Managing projects in a content management system
US10402786B2 (en) * 2016-12-30 2019-09-03 Dropbox, Inc. Managing projects in a content management system
US10521223B1 (en) * 2017-08-22 2019-12-31 Wells Fargo Bank, N.A. Systems and methods of a metadata orchestrator augmenting application development
US11720350B1 (en) 2017-08-22 2023-08-08 Wells Fargo Bank, N.A. Systems and methods of a metadata orchestrator augmenting application development
US11188822B2 (en) 2017-10-05 2021-11-30 On24, Inc. Attendee engagement determining system and method
US11281723B2 (en) 2017-10-05 2022-03-22 On24, Inc. Widget recommendation for an online event using co-occurrence matrix
US11226939B2 (en) 2017-12-29 2022-01-18 Dropbox, Inc. Synchronizing changes within a collaborative content management system
US11068495B2 (en) * 2018-02-15 2021-07-20 Wipro Limited Method and system for integrating business logic database with HMI application
US20190251185A1 (en) * 2018-02-15 2019-08-15 Wipro Limited Method and system for integrating business logic database with hmi application
US10929349B2 (en) 2018-11-06 2021-02-23 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US11100053B2 (en) 2018-11-06 2021-08-24 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US11194766B2 (en) 2018-11-06 2021-12-07 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US11593314B2 (en) 2018-11-06 2023-02-28 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US11194767B2 (en) 2018-11-06 2021-12-07 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US10896154B2 (en) 2018-11-06 2021-01-19 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US10838925B2 (en) 2018-11-06 2020-11-17 Dropbox, Inc. Technologies for integrating cloud content items across platforms
US11366573B2 (en) 2018-11-09 2022-06-21 Sap Portals Israel Ltd. Automatic development of a service-specific chatbot
US20210055716A1 (en) * 2019-08-20 2021-02-25 Gafcon, Inc. Data harmonization across building lifecycle
CN111008250A (en) * 2019-12-05 2020-04-14 国家电网公司 Data synchronization method between ERP system and other systems
CN111026310A (en) * 2019-12-17 2020-04-17 中国银行股份有限公司 Transaction menu generation method and device
WO2021217246A1 (en) * 2020-05-01 2021-11-04 Mastercard Technologies Canada ULC Tiered application pattern
US11444903B1 (en) * 2021-02-26 2022-09-13 Slack Technologies, Llc Contextual discovery and design of application workflow

Also Published As

Publication number Publication date
WO2004083984A2 (en) 2004-09-30
EP1606710A1 (en) 2005-12-21
WO2004083984A8 (en) 2005-12-15
US20070033088A1 (en) 2007-02-08
EP1625468A2 (en) 2006-02-15
WO2004084067A1 (en) 2004-09-30
US8069437B2 (en) 2011-11-29

Similar Documents

Publication Publication Date Title
US20040187140A1 (en) Application framework
US7925985B2 (en) Methods and apparatus for process thumbnail view
US8032635B2 (en) Grid processing in a trading network
US7890452B2 (en) Methods for enterprise-level data and process access and presentation
US8095411B2 (en) Guided procedure framework
US9070104B2 (en) Cross-context task management
US7711694B2 (en) System and methods for user-customizable enterprise workflow management
US8302096B2 (en) Methods and systems to perform individual tasks as a composite task
US7403948B2 (en) Workflow system and method
US20070028175A1 (en) Grid processing user tools
US8010940B2 (en) Methods and apparatus for designing a workflow process using inheritance
US8239226B2 (en) Methods and apparatus for combining properties and methods from a plurality of different data sources
US20090006150A1 (en) Coherent multi-dimensional business process model
US20090007056A1 (en) Process extension wizard for coherent multi-dimensional business process models
US20100153150A1 (en) Software for business adaptation catalog modeling
US20070226678A1 (en) Exchanging project-related data in a client-server architecture
US20100153149A1 (en) Software for model-based configuration constraint generation
US8224853B2 (en) Methods and apparatus for updating a plurality of data fields in an electronic form
US20070271107A1 (en) Context-dependent value help
US20070027909A1 (en) Methods and apparatus for comparison of projects
US20070028174A1 (en) Grid processing dynamic screensaver
US7996758B2 (en) Methods and apparatus for storing data associated with an electronic form
US20070208777A1 (en) Methods and apparatus for designing a workflow process using resource maps and process maps
US20070143305A1 (en) Methods and apparatus for storing functions associated with an electronic form
US10817811B2 (en) Methods and apparatus for exposing workflow process definitions as business objects

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAP AKTIENGESELLSCHAFT, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AIGNER, WERNER;BERINGER, JOERG;MUELLER, STEFAN;AND OTHERS;REEL/FRAME:014458/0681;SIGNING DATES FROM 20040303 TO 20040311

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION