`Aigner et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,069.437 B2
`Nov. 29, 2011
`
`US008069437B2
`
`(52) U.S. Cl. ........ 717/109; 717/100; 717/106; 717/120;
`717/121
`(58) Field of Classification Search .................. 717/100,
`717/106–109, 120, 121
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`T17,104
`6,199,195 B1* 3/2001 Goodwin et al.
`6,789,252 B1* 9/2004 Burke et al. .................. 717/1OO
`* cited by examiner
`Primary Examiner — Wei Zhen
`Assistant Examiner — Qing Chen
`(74) Attorney, Agent, or Firm — Buckley, Maschoff &
`Talwalkar LLC
`
`ABSTRACT
`(57)
`Methods and apparatus, including computer program prod
`ucts, for a framework for composite applications. A com
`puter-implemented framework for a composite application
`includes an object access layer to exchange data with enter
`prise base systems and to present the data to a composite
`application through a uniform interface, a business object
`modeling layer including a business object modeler to pro
`vide a user interface (UI) for constructing a business object,
`and a service layer to enable services to the composite appli
`cation, the service layer including a collaboration services
`module to enable collaboration services to the composite
`application, the business object modeling layer linking at
`least one of the collaboration services associated with the
`business object to the business object.
`11 Claims, 6 Drawing Sheets
`
`(54) FRAMEWORK FOR A COMPOSITE
`APPLICATION AND AMETHOD OF
`IMPLEMENTING A FRAMEWORK FOR A
`COMPOSITE APPLICATION
`
`(75) Inventors: Werner Aigner, Willmering (DE);
`Juergen Zimmermann, Horb (DE);
`Joerg Beringer, Frankfurt (DE)
`(73) Assignee: SAP AG, Walldorf (DE)
`(*) Notice:
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1385 days.
`10/550,446
`Mar. 22, 2004
`
`(21) Appl. No.:
`(22) PCT Filed:
`(86). PCT No.:
`S371 (c)(1),
`(2), (4) Date:
`(87) PCT Pub. No.: WO2004/083984
`PCT Pub. Date: Sep. 30, 2004
`
`PCT/EP2004/003047
`
`Oct. 12, 2006
`
`(65)
`
`Prior Publication Data
`US 2007/0033O88A1
`Feb. 8, 2007
`
`Related U.S. Application Data
`(60) Provisional application No. 60/456,697, filed on Mar.
`21, 2003.
`
`(51) Int. Cl.
`G06F 9/44
`
`(2006.01)
`
`200
`FraineWork
`
`Metadata
`Repository
`
`
`
`
`
`Enterprise
`Base
`System
`2903
`
`
`
`Enterprise
`Base
`System
`290
`
`Enterprise
`Base
`System
`
`SAP Exhibit 1012
`SAP v. Express Mobile, Inc.
`IPR2021-01146
`Page 00001
`
`
`
`U.S. Patent
`
`Nov. 29, 2011
`
`Sheet 1 of 6
`
`US 8,069.437 B2
`
`Enterprise Base
`Systems
`
`FIG. A
`
`110C
`
`
`
`User
`Interface
`
`
`
`
`
`
`
`
`
`
`
`
`
`149
`
`145
`
`Enterprise Management Consolidation System
`Composite Applications
`147
`PrOCeSS
`Modeling
`TOOl
`
`146
`Object
`Modeling
`T00
`
`
`
`
`
`
`
`Base System Connectors
`F.G. 1B
`
`IPR2021-01146 Page 00002
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 29, 2011
`w.
`
`Sheet 2 of 6
`
`US 8,069.437 B2
`n,w
`
`m
`
`N33s
`
`m,8w
`
`
`
`
`
`emm«Sausmt
`
`003
`8N
`
`
`
`$08138mEoumoqmmmQSES
`
`s$333
`
`A.
`
`7N45
`
`M,Noamcomm3mmmSwim
`Z06,(1062Þ063
`
`
`
`3mm3mm«mum
`
`$355mmEEEmentqafim
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IPR2021-01146 Page 00003
`
`IPR2021-01146 Page 00003
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`NOV. 29, 2011
`
`Sheet 3 of 6
`
`US 8,069.437 B2
`US 8,069,437 B2
`
`ohm.
`
`
`
`
`
`SEQEEEOQll
`
`cafigow......
`
`
`
`u0||Biêu09 ------028
`
`89.2%E.argue
`
`6&8
`
`803%
`
`«83%.:
`
`“BEES
`
`mmuaamw
`fine.3..
`
`3an
`
`EnumoEm
`
`895%
`
`
`
`
` tefiéqu_£2:gumbo:
`=£§Eq<
`
`Swag!
`
`
`
`«32.8%..»«£253
`
`NE
`
`aB
`
`can.«Ewan:
`
`>828qu
`
`llllllllllllllllllllllll
`
`MGE
`
`IPR2021-01146 Page 00004
`
`IPR2021-01146 Page 00004
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 29, 2011
`NOV. 29, 2011
`
`Sheet 4 of 6
`Sheet 4 of 6
`
`US 8,069.437 B2
`US 8,069,437 B2
`
`
`
`SamueaEEouII:
`
`558%9...
`
`
`
`8v
`
`
`
`engage«£5.53»:
`
`engagescm
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mEfiéamQN?
`
`
`
`«233.3geemfiw
`
`fingeqfiqu
`
`Eggs8‘g8»ga,
`
`
`
`E,«when:weE3
`
`zefigww
`
`Ex
`
`has:38N.»
`
`$3:55%ma
`
`«Eben:E.
`Sawwhen
`fies:
`
`muEEEE
`
`«snags
`
`«BREE
`ESQ
`
`IPR2021-01146 Page 00005
`
`IPR2021-01146 Page 00005
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`U.S. Patent
`
`Nov. 29, 2011
`NOV. 29, 2011
`
`Sheet 5 of 6
`Sheet 5 of 6
`
`US 8,069.437 B2
`US 8,069,437 B2
`
`
`
`atom
`
`BEES
`
`8.3mm
`
`upEmm
`
`EES
`
`msEmm
`
`853mm
`
`
`
`5359EmEEE
`
`
`
`Sufimcmwtacomumhm
`
`
`
`6532mmEma—mm
`
`
`
`gamacmmto?"
`
`
`
`SEES
`
`ESE:
`
`Bane:«$.25
`
`]
`E<Emnmmé
`
`$383538:
`SE5E38:
`
`mGE
`
`
`
`SampEEEooI
`
`cohfimcmo+5-
`
`IPR2021-01146 Page 00006
`
`
`
`
`
`
`
`IPR2021-01146 Page 00006
`
`
`
`
`
`
`
`U.S. Patent
`
`Nov. 29, 2011
`
`Sheet 6 of 6
`
`US 8,069.437 B2
`
`- to
`
`2.
`
`woele tag elect - 4 AF
`
`
`
`
`
`proved collaborato
`service to composite
`opplicato M
`
`
`
`(-
`
`
`
`
`
`limbirs the
`direct
`collaborohov serviu. to
`td. blastess elect,
`if associate of
`
`8
`
`
`
`Filme o
`
`IPR2021-01146 Page 00007
`
`
`
`US 8,069.437 B2
`
`1.
`FRAMEWORK FOR A COMPOSITE
`APPLICATION AND AMETHOD OF
`IMPLEMENTINGA FRAMEWORK FORA
`COMPOSITE APPLICATION
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application claims the benefit from International
`Application No. PCT/EP2004/003047, filed on 22 Mar. 2004,
`and U.S. Patent Application No. 60/456,697, filed on 21 Mar.
`2003, the entire contents of which are incorporated herein by
`reference.
`
`BACKGROUND
`
`The present invention relates to data processing by digital
`computer, and more particularly to a framework for compos
`ite applications.
`Integration platforms, such as the SAP Enterprise Portal
`for integrating heterogeneous information technology (IT)
`assets, can include a framework for a composite application,
`and use, among other things, object oriented programming
`(OOP), wherein objects, in particular business objects, are
`manipulated in business applications.
`An integration platform such as the SAP Enterprise Portal
`enables generic services for collaboration with and/or
`between users, the services including, for example, Subscrip
`tions, rating. Voting, discussion, comments and so forth.
`These generic services have evolved out of document-based
`content management systems. A problem with Such services
`is that while they can be applicable to a particular business
`object, they are not necessarily directly applicable for other
`business objects. In particular, the generic services require
`customizing in order to be applicable to other business
`objects. For example, depending on a business context, a
`system-based conversation thread can be perceived by a user
`as a variety of processes, e.g., a decision making process, a
`brainstorming session, an evaluation, a negotiation, a coordi
`nation, an audit trail, and so forth. Generic services are unable
`to adapt to the actual work intent of the collaboration interms
`of naming and function set.
`
`SUMMARY
`
`The present invention provides methods and apparatus,
`including computer program products, for a framework for
`composite applications.
`In general, in one aspect, the invention features a computer
`implemented framework for a composite application, the
`framework including an object access layer to exchange data
`with enterprise base systems and to present the data to a
`composite application through a uniform interface, a business
`object modeling layer including a business object modeler to
`provide a user interface (UI) for constructing a business
`object, and a service layer to enable services to the composite
`application, the service layer including a collaboration ser
`vices module to enable collaboration services to the compos
`ite application, the business object modeling layer linking at
`least one of the collaboration services associated with the
`business object to the business object.
`In embodiments, the collaboration services module can
`enable at least one generic collaboration service. The object
`modeling layer can include a module to derive at least one
`object specific service from the at least one generic collabo
`ration service. A process modeler can be included including a
`context modeler for modeling a context, wherein the object
`
`2
`modeling layer can include a module arranged to derive an
`object specific service from the at least one generic collabo
`ration service on the basis of the modeled context. Each
`business object can be a specific instance of an object class,
`and the object modeling layer can include a module to extend
`the object class by adding a generic collaboration service and
`to derive an object class specific service from the at least one
`generic collaboration service.
`The object modeling layer can specialize the at least one
`generic collaboration service in accordance with the object
`class. The object modeling layer can be included in a design
`time component.
`The method can include a user interface (UI) layer to
`enable UI patterns that facilitate information exchange
`between the composite application and a user.
`In another aspect, the invention features a computer-imple
`mented method of implementing a composite application in a
`framework, the method including accessing an object to
`exchange data with enterprise base systems and to present the
`data to a composite application through a uniform interface,
`modeling a business object to enable a user interface (UI) for
`constructing a business object, and enabling services to the
`composite application including providing collaboration ser
`vices to the composite application, the modeling can include
`directly linking at least one of the collaboration services
`associated with the business object to the business object.
`In embodiments, providing the collaboration services can
`include enabling at least one generic collaboration service.
`Modeling can include deriving at least one object specific
`service from the at least one generic collaboration service.
`The method can include modeling a process including a con
`text, the modeling including deriving an object specific ser
`Vice from the at least one generic collaboration service on the
`basis of the modeled context. Each business object can a
`specific instance of an object class, and modeling can include
`extending the object class by adding a generic collaboration
`service and deriving an object class specific service from the
`at least one generic collaboration service.
`Modeling can include specializing the at least one generic
`collaboration service in accordance with the object class. The
`modeling can carried out by a design time component. The
`method can enable a UI layer to provide UI patterns that
`facilitate information exchange between the composite appli
`cation and a user.
`Other features and advantages of the invention are apparent
`from the following description, and from the claims.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`50
`
`55
`
`60
`
`FIGS. 1A and 1B are block diagrams of an exemplary
`integrated platform.
`FIG. 2 is a block diagram illustrating an example frame
`work for a composite application.
`FIG. 3 is block diagram of an exemplary framework for a
`composite application.
`FIG. 4 is a block diagram of exemplary design-time com
`ponents for a composite application framework.
`FIG. 5 is a block diagram of exemplary components for a
`guided procedure for a composite application framework.
`FIG. 6 is a flowchart of a process for implementing a
`composite application in a framework.
`
`DETAILED DESCRIPTION
`
`65
`
`The systems and techniques described here relate to a
`framework for developing and implementing applications in
`an enterprise management system. For example, a framework
`
`IPR2021-01146 Page 00008
`
`
`
`3
`can be used to develop and implement a composite applica
`tion, which overlays an enterprise IT platform and uses it to
`enable processes that are not the core enterprise transactional
`processes. That is, a composite application can 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. Composite applica
`tions can be run on a heterogeneous IT platform. In doing so,
`composite applications can be cross-functional, i.e., they can
`drive business processes across different applications, tech
`nologies, and organizations. Composite applications can
`drive end-to-end business processes across heterogeneous
`systems.
`Composite applications can be combined with each other
`in order to enlarge the process coverage. Composite applica
`tions can also Support semi-structured processes, event
`driven and knowledge-based scenarios, and Support a high
`degree of collaboration in teams. In teams, for example,
`people can work on specific tasks in specific roles in specific
`teams. Composite applications can relate knowledge, struc
`tured information, and/or unstructured information within the
`context of a business process and can be triggered by events,
`aggregate and contextualize information, and drive collabo
`ration and transactions. Different applications Supported by
`different frameworks can have any combination of these char
`acteristics. Thus, different implementations of the framework
`can be used for developing and implementing various types of
`applications.
`As shown in FIG. 1A and FIG.1B, an exemplary integrated
`platform 100 is also referred to as integrated enterprise man
`30
`agement system. Clients 110 access data over a communica
`tion network 120 through a portal 130. Network 120 can 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 a Public Switched Telephone
`Network (PSTN).
`Clients 110 can be any machines or processes capable of
`communicating over network 120. In particular examples,
`clients 110 can be web browsers and can be coupled with
`network 120 through a proxy server.
`Portal 130 provides a common interface to program man
`agement services. Portal 130 receives requests from clients
`110 and generates information views 131, such as Web pages,
`in response. The portal 130 can implement a user-role based
`system to personalize a common interface and the informa
`tion views 131 for a user of one of clients 110. A user can have
`one or more associated roles that allow personalized tailoring
`of a presented interface through the generated information
`views 131.
`In an example, the portal 130 can include one or more
`service interfaces to an enterprise management consolidation
`system 140. The service interfaces can include an Internet
`Transaction Server (ITS) component, various connectors,
`Such as a Java Connector, and a Business Intelligence plat
`form.
`Portal 130 communicates with enterprise management
`consolidation system 140, which consolidates multiple appli
`cation services. Portal 130 receives information 141 from
`enterprise management consolidation system 140 for use in
`fulfilling the requests from clients 110. Enterprise manage
`ment consolidation system 140 provides integrated applica
`tion services to manage business objects and processes in a
`business enterprise. The business objects and processes can
`be resources (e.g., human resources), development projects,
`business programs, inventories, clients, accounts, business
`products, and/or business services.
`
`50
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`US 8,069.437 B2
`
`10
`
`15
`
`25
`
`4
`Enterprise management consolidation system 140 commu
`nicates with enterprise base systems 150 to obtain multiple
`types of information 151. Enterprise base systems 150 can
`include various existing application services, such as cus
`tomer relationship management (CRM) systems, human
`resources management (HRM) systems, financial manage
`ment (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 can also
`include an integration tool. Such as an exchange infrastructure
`(XI), which provides another level of integration among base
`systems.
`Enterprise management consolidation system 140 can con
`Solidate and integrate the data and functionality of enterprise
`base systems 150 into a single enterprise management tool.
`This enterprise management tool can include systems and
`techniques to facilitate creation and execution of new appli
`cations within the enterprise management consolidation sys
`tem. These new applications can be composite applications
`and can 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 innova
`tion in business process management. A virtual business cycle
`can be created using Such cross-functional applications,
`where executive-level business strategy can feed manage
`ment-level operational planning, which can feed employee
`level execution, which can feed management-level evalua
`tion, which can feed executive-level enterprise strategy. The
`information generated at each of these stages in the enterprise
`management cycle can be readily consolidated and presented
`by the enterprise management consolidation system 140
`using customized composite applications. The stages can pro
`vide and consume determined services that can be integrated
`across multiple disparate platforms.
`Portal 130, enterprise management consolidation system
`140, and enterprise base systems 150 can reside in one or
`more programmable machines, which can communicate over
`a network or one or more communication buses. For example,
`base systems 150 can reside in multiple servers connected to
`an enterprise network, and portal 130 and enterprise manage
`ment consolidation system 140 can reside in a server con
`nected to a public network. Thus, system 100 can include
`customized, Web-based, composite applications, and a user
`of the system can access and manage enterprise programs and
`resources using these customized, Web-based, composite
`applications from anywhere that access to a public network is
`available.
`As shown in FIG. 1B, enterprise management consolida
`tion 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, can
`include an Enterprise Connector (EC) interface, an Internet
`Communication Manager/Internet Communication Frame
`work (ICM/ICF) interface, an Encapsulated PostScript(a)
`(EPS) interface, and/or other interfaces that provide Remote
`Function Call (RFC) capability. Persistence layer 142 pro
`vides 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 assess
`ment, budgeting, scheduling, workforce planning, skills man
`agement, business forecasting, and capacity modeling, which
`
`IPR2021-01146 Page 00009
`
`
`
`US 8,069.437 B2
`
`10
`
`15
`
`5
`could all be could be created as composite applications 149.
`Data object model 144 can 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 can have defined
`relationships with data objects stored in the base systems; for
`example, certain objects in data object model 144 can have
`read-only or read-write relationships with corresponding data
`objects in the base systems. These types of defined relation
`ships can be enforced through the communication system
`built between persistence layer 142 and the base systems.
`Thus, persistence layer 142 can 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 busi
`ness processes. The applications can drive business processes
`across different platforms, technologies, and organizations.
`Applications 149 can be created using a set of tools that
`enable efficient application development. The tools can
`enable efficient application development by providing appli
`cation 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. The object modeling tool 146 includes a mod
`ule 132 to derive at least one object specific service from at
`least one generic collaboration service. The module 132 fur
`ther derives an object class specific service from at least one
`generic collaboration service. A process modeling tool 147
`enables creation of new business work flow and ad hoc col
`laborative work flow. A user interface (UI) tool 148 provides
`UI patterns that can be used to link new objects and workflow
`together and generate standardized views into results gener
`ated by applications 149. Object modeling tool 146, process
`modeling tool 147, and UI tool 148, can be used to build the
`components of applications 149 to implement new enterprise
`management functions without requiring detailed coding
`activity.
`Process modeling tool 147 can 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. Sucha work pro
`cedure can include contributions from several people, cre
`45
`ation of multiple deliverables, and milestones/phases. More
`over, whenever an instantiated business object or work
`procedure has lifetime and status, the progress and status of
`the object or work procedure can be tracked 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 workplace, can be two UI patterns that
`are provided by UI tool 148. There can be other UI personal
`izations. 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, can be included to let users pick their
`favorite object directly. Such objects can be used to determine
`the context using a context modeler, as shown in FIG. 5.
`Composite application scenarios can provide related infor
`mation to the user when possible, and some parts within a
`larger application scenario can define what kind of related
`information is to be offered. Heuristics can be used to identify
`Such relatedness, such as: (1) information that is related to the
`user due to explicit collaborative relationships such as team/
`project membership or community membership; (2) informa
`
`55
`
`6
`tion 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 perform
`ing the same or similar activity (e.g., using same object or
`procedure template having the same work set); (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) infor
`mation about the underlying business context; and/or (10)
`information about the people involved in a collaborative pro
`CCSS,
`Composite applications also can include generic function
`ality in the form of Control Center Pages that represent
`generic personal resources for each user. These can refer to
`the following pages where appropriate: (1) MyOngoing Work
`page: provides access to status information about on-going
`work of a user (on-going work can refer to the state of busi
`ness 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 mes
`sages and work triggers using a universal inbox paradigm
`with user selected categorical filters; and/or (4) MyInfo: pro
`vides access to personal information collections (e.g., docu
`ments, business objects, contacts) including those located in
`shared folders of teams and communities of which the user is
`a member. The page can also provide targeted search in col
`laborative information spaces such as team rooms, depart
`ment home pages, project resource pages, community sites,
`and/or personal guru pages.
`As shown in FIG. 2, a framework 200 for a composite
`application 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.
`Composite applications typically implement new or addi
`tional processes, as opposed to the core transactional pro
`cesses, in an existing IT landscape. Composite applications
`can also support semi-structured processes, event-driven and
`knowledge-based business Scenarios, and Support collabora
`tion in teams. In specific examples, composite applications
`can 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 knowl
`edge 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 configura
`tion data for OAL can be automatically generated, at least in
`part, by business object metadata in repository 240. Further
`more, OAL 210 allows for local persistency (e.g., connectiv
`ity 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 can be supported. For an application sitting on layer
`210, the source of the data can be completely transparent,
`which can assist in keeping application logic stable since the
`application is, at least for the most part, not affected by
`underlying systems. In some examples, OAL 210 includes
`extensions to document management or content management
`that allow business objects to use the functionality for docu
`mentS.
`
`25
`
`30
`
`35
`
`40
`
`50
`
`60
`
`65
`
`IPR2021-01146 Page 00010
`
`
`
`US 8,069.437 B2
`
`10
`
`15
`
`25
`
`30
`
`7
`Service layer 220 provides services for business objects in
`layer 210. In general, services for business objects are com
`mon procedures that users need to interact effectively with the
`objects. Service layer 220, for example, can include generic
`services including generic collaboration services, guided pro
`cedure services, and/or a container for application services.
`By separating the services from the business objects, the
`services can be more readily reused across business objects.
`In one particular example, object specific collaboration
`services are derived in the object modeling layer 146,410, UI
`layer 230 provides user interfaces that allow a user to interact
`with composite applications. In other examples, UI layer 230
`provides pattern components, such as, for example, a dash
`board, a search bar, a browse and collect function, an object
`editor, and phases for a guided procedure, as building blocks
`for UIs. UI layer 230 can 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 Ser
`vice 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 can also leverage the metadata information on busi
`ness objects and services through metadata-driven UI-gen
`eration 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 can additionally allow integration (e.g., bind
`ing) into OAL 210 to access business objects, business Ser
`vices, and metadata. Thus, UI components can be connected
`to business objects in OAL 210. UI layer 230 can support any
`appropriate type of UI, Such as, for example, a user interface
`composed of pattern based components and/or freestyle com
`35
`ponents with interfaces to the user interface 25 components—
`this user interface will discussed in more detail below—or
`Java Server Pages (JSPs) from Sun Java Server Pages (JSPs)
`from Sun. Metadata repository 240 stores the content of the
`composite application (e.g., specific business objects, infor
`mation about services, and, eventually, processes) and makes
`the metadata information available at run-time, if needed. The
`repository can allow different metamodels to be created (the
`model for business objects being one of them) and to persist
`the metadata.
`Attached to framework 200 is application database 250.
`Database 250 provides a central repository for available busi
`ness 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 can also be stored in KW,
`BW, or an XI system. Framework 200 includes a set of stan
`dard services that enables application developers to make use
`of the data. In one example, specific services are directly
`linked to a particular business object in accordance, for
`example, with the context as modeled by context modeler
`724, shown in FIG. 5. Based on the central repository for
`objects, 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 can be implemented using readily avail
`able technology. For example, the framework can be imple
`mented using mySAP technology components from SAP AG.
`In examples, the components can includean SAP Web Appli
`cation
`Server (WAS) to run the applications, an SAP Enterprise
`Portal to render the applications, an SAP KW to handle
`
`55
`
`8
`unstructured information sources, pattern-based components
`and/or freestyle components with interfaces to the UI com
`ponents to design Ms and to provide J2EE and ABAP run
`time integration, an SAP BW to provide reporting and ana
`lytics, 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.
`Framework 200 allows composite applications in which
`object specific collaboration services are provided to work
`with existing system landscapes. The framework accom
`plishes this by decoupling composite applications from the
`underlying enterprise platform, which includes enterprise
`base systems and deriving and linking at the object modeling
`layer 146, 410 specific services to business objects. This
`decoupling can involve providing communication to back
`end systems via a central interface and providing a back-end
`independent object model. The latter can be implemented so
`that the data from the source systems can be transformed into
`a unified structure.
`Examples of the types of business processes Supported by
`the framework 200 include, for example, product innovation
`including Submitting a new idea, concept development,
`employee productivity, enterprise change management and
`enterprise service automation. Enterprise change manage
`ment can Support enterprises when merging, splitting, acquir
`ing,