有的没的是什么意思| 孕期血糖高可以吃什么水果| crp是什么检查| 黄痰咳嗽吃什么药| 想吐吃什么药| 女孩子为什么会痛经| 静脉曲张挂什么科| 腿麻是什么原因| 家五行属什么| 什么人容易得类风湿| 拔牙可以吃什么| 欧根纱是什么面料| 夏天梦见下雪是什么意思| 请什么自什么| 吃什么可以补精| 事半功倍是什么意思| ibs是什么单位| 心肌缺血用什么药| 鸡的五行属什么| 寒湿体质吃什么中成药| 胃疼吃什么药最管用| tsh是什么| 草木皆兵指什么生肖| 12月20日什么星座| 挑疳积挑出来的是什么| 毒奶粉是什么游戏| 红绿蓝混合是什么颜色| 师长是什么意思| 三文鱼配什么酒| 三长两短是什么意思| 阑尾炎在什么位置疼| barry什么意思| 麻雀吃什么食物| vlone是什么牌子| 晚上睡觉老做梦是什么原因| 鳜鱼是什么鱼| 冷战的男人是什么心理| 静静的什么| 牛黄解毒片不能和什么药一起吃| 维生素什么时候吃效果最好| 结论是什么意思| 甲状腺3类是什么意思| 狗狗拉稀是什么原因| 7月16日是什么星座| 眼底出血是什么原因引起的| 临盆是什么意思| 雅诗兰黛是什么牌子| 肠道感染有什么症状| 核酸是什么| 燥湿是什么意思| 解痉镇痛酊有什么功效| 7月属什么生肖| 身体年龄是什么意思| 什么工作最赚钱| 司马光和司马迁是什么关系| 阳历九月份是什么星座| 打擦边球是什么意思| 为什么会发生地震| 豆面是什么| 90年属于什么生肖| 孔子的真名叫什么| 什么可以美白牙齿| 飞机上什么不能带| 儿童缺铁吃什么补得快| 不服是什么意思| 为什么有脚气| 腰椎生理曲度变直是什么意思| 抖机灵是什么意思| 国家是什么| 放屁臭什么原因| 什么不足| 八面玲珑指什么生肖| 阄是什么意思| 为什么心脏会隐隐作痛| 藿香正气水能治什么病| 孩子病毒感染吃什么药| 窦性心律过缓是什么意思| 户籍类型是什么| 结婚六十年是什么婚| 血浆蛋白是什么| 肠道门诊看什么病| 举世无双什么意思| 布帛是什么意思| 传导阻滞是什么意思| 最新病毒感染什么症状| 热疹症状该用什么药膏| 二月开什么花| 蓝颜知己是什么关系| 耳结是什么原因造成的| 启攒是什么意思| 胃大是什么原因造成的| 胰腺炎是什么| 轻描淡写是什么意思| 什么是童话故事| no2是什么| 每晚做梦是什么原因| 四爱什么意思| 梦见打老鼠是什么征兆| 贡菊泡水喝有什么功效| 耀武扬威的意思是什么| 杜松子是什么| 喝酒前吃什么药| 梦见坐牢是什么预兆| 切口憩室是什么意思| 做梦梦见棺材和死人是什么意思| 梦到猫是什么意思| 星期六打喷嚏代表什么| 淋巴细胞绝对值偏高是什么原因| 性状是什么意思| 支原体吃什么药好得快| 取环后吃什么恢复子宫| 屈光和近视有什么区别| 12305是什么电话| 口咸是什么原因引起的| 打鼾是什么原因引起的| 溢水是什么意思| 绿色加什么颜色是蓝色| 沉香是什么| pg什么意思| 十月二十七是什么星座| 说女人强势是什么意思| 竖中指代表什么意思| 嘴唇发紫是什么原因| 白癜风有什么危害| 前列腺钙化灶是什么病| 静脉曲张溃烂擦什么药| 三什么什么什么成语| 蟋蟀是靠什么发声的| 5个月宝宝吃什么辅食| 平常吃什么补肾| 骨皮质断裂是什么意思| 苏打水配什么好喝| 秋天有什么水果| 烧酒是什么酒| miki是什么意思| 熟啤酒是什么意思| 半夜胎动频繁是什么原因| 什么歌最好听| 吃什么能去湿气| 头骨凹陷是什么原因| 学兽医需要什么学历| 什么是辅酶q10| 一什么月牙| 紫水晶五行属什么| 梦见打牌是什么意思| 肥皂是什么做的| 生忌是什么意思| 5公里25分钟什么水平| 毛囊炎吃什么药| 心律失常吃什么药| 戒断反应什么意思| 怀孕一个月吃什么对宝宝发育好| 来是什么生肖| 什么叫内痔什么叫外痔| 吊唁是什么意思| 头晕眼睛模糊是什么原因| 什么东西最补心脏| 冰冻三尺的下一句是什么| 梦见手机失而复得是什么意思| 副鼻窦炎是什么意思| 怀孕建档是什么意思| 99年是什么年| 早起眼皮肿是什么原因引起的| 下巴上有痣代表什么| hpc是什么| 胀气是什么原因引起的| 肺间质纤维化是什么病| 跑步配速什么意思| 什么病不能吃竹笋| 肝内低密度灶是什么意思| 九月份是什么星座| 高频听力损失意味什么| 早泄是什么原因| 蛋白尿是什么意思| 归脾丸什么时候吃效果最好| 女性生活疼痛什么原因| 什么是996| 李子有什么功效与作用| 子宫脱落是什么原因引起的| rbp是什么意思| 什么是胎记| 孕妇拉的屎是黑色的是因为什么| 什么叫朋友| 甲己合化土什么意思| 肠易激综合症什么症状| 胎儿左肾盂分离是什么意思| 浅黄色是什么颜色| 为什么医生说直肠炎不用吃药| 高职本科是什么意思| 非钙化斑块是什么意思| 福五行属性是什么| 晚上睡觉阴部外面为什么会痒| 中间人是什么意思| 煮虾放什么| 12月3号是什么星座| 检查肝肾功能挂什么科| ch表示什么意思| 血清果糖胺测定是什么| 人类什么时候灭绝| 化是什么意思| 更年期吃什么| 最近有什么新闻| 开门杀是什么意思| 布谷鸟什么时候叫| 湖南为什么叫湖南| 例假淋漓不尽是什么原因造成的| 合胞病毒用什么药最好| 来大姨妈前有什么症状| 查肾功能挂什么科| 跳爵士舞穿什么衣服| 旅行是什么意思| 农历5月20日是什么星座| 阳痿早泄是什么意思| 牙套脸是什么样| 紫薯不能和什么一起吃| 中药木香的功效与作用是什么| 舌头边上有锯齿状是什么原因| 梦见被蛇缠身是什么意思| 什么是崩漏| 山宗读什么| 免疫球蛋白是什么东西| 脑供血不足头晕吃什么药| 柠檬什么时候开花结果| 卢靖姗是什么混血| gf什么意思| 舌尖红是什么原因| 肝功能谷丙转氨酶偏高是什么原因| 唇腺活检主要是看什么| 走路脚心疼是什么原因| 弓山文念什么| 今天是什么纪念日| 卵巢囊肿吃什么药好得最快| 去心火吃什么药| 多囊卵巢综合症是什么| 6月17号什么星座| 肚子饿了为什么会叫| 孟姜女姓什么| 梦见僵尸是什么预兆| 孕妇无创检查是什么| 摇摇欲坠是什么意思| 现在摆摊卖什么东西最好卖| 白细胞高是什么病| 睡久了腰疼是什么原因| 冠心病吃什么药好| 23号来月经什么时候是排卵期| 今天生肖冲什么| 中性粒细胞百分比低是什么原因| 母鸡学公鸡叫什么征兆| 扁桃体肿大吃什么药好| 梦到蛇是什么意思| 憩是什么意思| 74年属什么的生肖| 未加一笔是什么字| 吃了发芽的土豆会有什么症状| 颈椎痛看什么科| 送老师送什么礼物好| lancome是什么牌子的| 左肋骨下方是什么器官| 前列腺增生用什么药| 水泡长什么样| 蛇配什么生肖最好| 孕妇吃什么盐最好| 糖尿病吃什么好| 白细胞高有什么危害| 百度

黄浦江上空的红星——苏联空军1950年上海战记

Integrated development framework for composite applications Download PDF

Info

Publication number
US8341593B2
US8341593B2 US12/257,226 US25722608A US8341593B2 US 8341593 B2 US8341593 B2 US 8341593B2 US 25722608 A US25722608 A US 25722608A US 8341593 B2 US8341593 B2 US 8341593B2
Authority
US
United States
Prior art keywords
objects
development
native
layers
framework
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.)
Active, expires
Application number
US12/257,226
Other versions
US20100107136A1 (en
Inventor
Ulf Fildebrandt
Tobias Melcher
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
SAP SE
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 SAP SE filed Critical SAP SE
Priority to US12/257,226 priority Critical patent/US8341593B2/en
Assigned to SAP AG reassignment SAP AG ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FILDEBRANDT, ULF, MELCHER, TOBIAS
Priority to EP09012414A priority patent/EP2180402A1/en
Publication of US20100107136A1 publication Critical patent/US20100107136A1/en
Application granted granted Critical
Publication of US8341593B2 publication Critical patent/US8341593B2/en
Assigned to SAP SE reassignment SAP SE CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SAP AG
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • 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/10Office automation; Time management

Definitions

  • the invention relates generally to software development tools and more particularly to systems, methods, and articles of manufacture for development of composite applications.
  • composite application generally refers to an application built by combining multiple existing functions into a new application.
  • Composite applications may leverage enterprise and enterprise-ready sources, for example existing modules or even enterprise web services of information.
  • Composite applications can be built using any technology or architecture.
  • a composite application consists of functionality drawn from several different sources.
  • the components may be individual selected functions from within other applications, or entire systems whose outputs have been packaged as business functions, modules, or web services.
  • Composite applications often incorporate orchestration of “local” application logic to control how the composed functions interact with each other to produce the new, derived functionality.
  • an integrated development environment and related capabilities for developing a composite application there is provided an integrated development environment and related capabilities for developing a composite application.
  • FIGS. 1A , 1 B, 1 C, 1 D, 1 E and 1 F illustrate various aspects of an integrated development environment, according to various embodiments of the inventive subject matter.
  • FIGS. 2A , 2 B, 2 C, 2 D, 2 E, 2 F, 2 G, 2 H, 2 I, and 2 J illustrate various example embodiments of a user interface for an integrated development environment, according to the inventive subject matter.
  • FIG. 3 illustrates a flow chart of a method, according to one example embodiment of the inventive subject matter.
  • FIG. 4 illustrates a computing platform, according to one example embodiment of the inventive subject matter.
  • FIG. 1A there is illustrated an overview of an integrated development environment 100 used to develop a composite application 105 .
  • Environment 100 is used to integrate the development objects (DOs) 107 - 1 , 107 - 2 and 107 - n and development tools 124 - 1 , 124 - 2 and 124 - n of respective heterogeneous development frameworks 120 - 1 , 120 - 2 . . . 120 - n , each having a respective development perspective 123 - 1 , 123 - 2 and 123 - n , into a single development environment providing a single development perspective 101 .
  • objects 107 are non-native to environment 100 .
  • Their respective development frameworks 120 may exist outside of environment 100 .
  • environment 100 further includes additional development objects 108 and development tools 126 that are native to environment 100 .
  • Non-native objects 107 and tools 124 may be less tightly integrated with environment 100 than object 108 and tools 126 .
  • the content of tools 124 may be imported into environment 100 , but with read-only support (e.g., creation of development objects 107 is not supported).
  • environment 100 is a software development framework and includes support programs, code libraries, a scripting language, and other software to help develop and connect together the different components of a software project. As illustrated in FIG.
  • environment 100 includes a graphical user interface 112 , a plurality of development tools 114 , a meta-model repository 115 , an application programming interface (API) 116 , and error checking functions 117 and application runtime functions 113 necessary to run a composite application 105 .
  • API application programming interface
  • composite application 105 includes functionality drawn from several different sources.
  • the components of composite application 105 may be individual selected functions from within other applications, or entire systems whose outputs have been packaged as business functions, modules, or web services.
  • composite application 105 in one example embodiment, may include one or more of the heterogeneous development objects 107 - 1 , 107 - 2 . . . 107 - n that are native to the one or more respective heterogeneous development frameworks 120 - 1 , 120 - 2 . . . 120 - n , and non-native to environment 100 , and one or more development objects 108 - 1 , 108 - 2 . .
  • Objects 107 and/or objects 108 may be collectively referred to herein as objects 109 .
  • Native development objects 108 , and non-native development objects 107 interface with the environment 100 through the application programming interface (API) 116 .
  • API application programming interface
  • one or more objects 107 used in one of the respective frameworks 120 are not capable of use without modification in another one of the respective frameworks 120 .
  • one or more objects 108 native to environment 100 are not capable of use in native form with one or more of the frameworks 120 .
  • objects 107 include adaptors 111 enabling the non-native objects 107 to interface with API 116 .
  • composite application 105 further includes, in one example embodiment, one or more layers 106 - 1 , 106 - 2 . . . 106 - n .
  • a layer is a group of classes that have the same set of link-time module dependencies to other modules.
  • a layer may be formed of a group of reusable components that are reusable in similar circumstances.
  • These layers can include, but are not limited to, a web-program development layer, a service layer, a user interface technologies layer, a process layer, and/or any other layers.
  • a composite application 105 may include only one layer 106 , such as a process-layer, or many layers. While specific examples of layers are enumerated above, the invention is in no way limited to any particular layers or combination of layers.
  • the heterogeneous development frameworks 120 - 1 , 120 - 2 . . . 120 - n are each designed for developing programs using corresponding programming models 121 - 1 , 121 - 2 . . . 120 - n .
  • a programming model is an abstract conceptual view of the structure and operation of a computing system. Such environments and models may be, for example, for development of web portals, guided procedures, visual composition of user interfaces, or web-based applications.
  • Development frameworks 120 - 1 , 120 - 2 . . . 120 - n each include respective development tool sets 124 - 1 , 124 - 2 . . .
  • Tool sets 124 each include a plurality of tools 125 that are used to develop programs within these environments, and in particular compose or edit objects 107 used in such programs.
  • Tools 125 are, in one example embodiment, programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications.
  • development tools 114 accessible in environment 100 include one or more of the tool sets 124 native to the developmental frameworks 120 , such that a developer may access these tools if composing or editing an object 107 within environment 100 .
  • the integrated development environment 100 enables a developer to implement a composite application 105 using heterogeneous objects 107 from heterogeneous development frameworks 120 and using heterogeneous tool sets 124 , all from a single user interface 112 .
  • environment 100 subsumes all editors and views that are specific for any of the development frameworks 120 , providing at least the basic functionality for editing a composite application 105 .
  • Development in environment 100 is further supported with model- and code-generation-based methods via tools that store models 121 in a meta-model repository 115 .
  • the integrated development environment 100 provides a user interface 112 that is used to browse, edit, and compose composite applications 105 , and in particular development objects 109 and the relationships and dependencies between those objects.
  • Objects 109 are displayed in a tree view in a composite explorer 210 , illustrated in more detail in FIG. 2B , in graphical views in the composite designer 212 , illustrated in more detail in FIG. 2C , and in a detail view window 214 .
  • An outline view window 216 is used to display an outline view of the composite application 105 .
  • a palette 218 of development tools, menus, and options to support development are also provided.
  • FIG. 2B illustrates an example view of the composite explorer 210 in more detail.
  • composite explorer 210 integrates all relevant content provided from the different frameworks 120 into one view 211 .
  • “Product” or “software component” entities may be used as a root entity 213 in the tree.
  • the objects 109 contained in the given product or software component are structured in five layers, a portal layer 220 - 1 , a processes layer 220 - 2 , a user-interface (UI) layer 220 - 3 , a business logic layer 220 - 4 , and an infrastructure or external services layer 220 - 5 (not shown in FIG. 2B ).
  • UI user-interface
  • Composite explorer 210 makes all the tasks needed for composite application development accessible from one explorer view 211 . As such, there is no need to switch the perspective in development environment 100 in order to develop a composite application 105 using objects 109 in different layers or from different programming models or frameworks.
  • FIG. 2C illustrates the composite designer 212 , which shows an overview of all the main (re-usable) development objects 109 of a composite application in a graphical view.
  • the development objects 109 are structured in layers 106 , for example but not by way of limitation, a portal layer 220 - 1 , a process layer 220 - 2 , UI layer 220 - 3 , a business logic layer 220 - 4 , and an external services layer 220 - 5 .
  • the composite designer 212 gives a quick overview of the content of a composite application 105 , and may be the entry point for composite application development.
  • actions like Show Relations 231 , Navigate to Tool Editor 232 , Trigger Check Framework 233 and others can be triggered from the overview using pop-up or drop-down navigation menus 230 as for example shown in FIGS. 2D and 2E .
  • FIG. 2D is an example interface illustrating menus 230 used to navigate from the composite designer 212 to a tool specific editor to edit a development object 234 .
  • These editors may be native to the development environment 100 , or non-native, for example supported on an external server.
  • the first tool editor 232 option 232 - 1 is to open the editor inside a composite designer perspective.
  • the second option 232 - 2 is to open the editor in a tool specific perspective.
  • FIG. 2E illustrates an example interface allowing a user to navigate from the composite designer 212 to the composite explorer 210 .
  • the user may select an element in the composite designer 212 and use the menu option 235 to display the corresponding object 234 in the explorer view 211 .
  • these views can include, but not by way of limitation, Composite Explorer 236 - 1 , Navigator 236 - 2 , Outline 236 - 3 , Package Explorer 236 - 4 , Project Explorer 236 - 5 , and Component Navigator 236 - 6 .
  • FIG. 2F illustrates an example view 240 , selected from the menu options, that displays relations 242 between the main development objects 109 of different toolsets 124 of a composite application 105 .
  • the relations 242 can be shown in a separate view, referred to as a “relations view,” or in the composite designer 212 for example as activated by a menu button.
  • the relations view supports graphical and textual, for example form-based, visualization of the relations, for example a relation from a first web-based component 245 to various objects 247 of the integrated development environment 100 .
  • two modes of relationship exposure are possible: a basic mode that shows only relations between main objects 109 with no details of internal structure shown and an extended mode that shows detailed relations including internal structure between development objects 109 .
  • FIG. 2G illustrates an example interface 250 to check consistency between different toolsets.
  • the consistency check is done on the operational level between the different toolsets, for example for the web component 245 that is consuming an application service operation.
  • the consistency check notifies a developer at design time in case of incompatible changes of an operation. Mapping of Input/Output parameters from usage (e.g. a web model class) to used object (e.g., an application service operation) are shown in a check result dialog 252 .
  • FIG. 2H illustrates an example check result dialog 252 . It shows parameter/attribute mappings between a source 254 and a target 256 operation.
  • an operation has an input/output structure.
  • the dialog 252 may show the inconsistencies 258 between the structures of the source 254 and target 256 operations.
  • FIG. 2I illustrates an example interface allowing a user to create new development objects 109 in the graphical overview using palette 218 , with no need to switch perspective. This can provide one common UI behavior to create new entities across all frameworks 120 and associated toolsets 124 .
  • FIG. 2J illustrates an example interface to create relations on-the-fly between developments objects 109 of different toolsets 124 via the Connection Palette Tool 260 in the graphical overview.
  • the tool 260 can create a relation from the web component 245 to the application service 246 .
  • this improves developer productivity by automatically setting all preconditions, for example object 109 dependency, access permissions, and others so that relation creation is possible. As such, in this embodiment, manual steps in creating relations are no longer necessary.
  • environment 100 allows non-native objects 107 from a plurality of different development frameworks to be edited from the same user interface 112 .
  • the tools 300 include a plurality of tool sets 124 that are native to respective development frameworks 120 .
  • Each development framework 120 may also include a context menu entry to navigate to objects 109 of other programming models.
  • FIG. 3 there is shown a flow diagram 300 illustrating one example embodiment of one example mode of use of the development environment 100 . While a specific order of operations is given, it shall be understood that the order of operations may be varied or used in any combination.
  • a composite application 105 is selected and loaded 305 into the environment 100 .
  • Objects of the composite application 105 are displayed 310 together in a tree view and/or in a graphical view showing the layer to which each object belongs. Relationships between the objects shown in the graphical view are graphically indicated 315 , for example across all objects or for a selected object.
  • a user can select an object in any layer and navigate 320 to a target object in the same or different layer.
  • the target object's function may be edited 325 , for example by editing the code of the object, by altering the object's relationships, or by other means. Or, a new object may be created.
  • the user may navigate back to the source object.
  • the user may check 330 the composite application 105 and any errors in the composite application are displayed 335 to the developer at design time. The developer may then debug 340 any problems with the composite application 105 prior to run time.
  • environment 100 may use breadcrumbs wherein every object of a programming model that was a navigation target is also one node in the breadcrumb so that by clicking on a node a backward navigation is possible.
  • a view provided by environment 100 may contain the breadcrumb with a collection and history of all objects 109 and the development framework 120 of the programming model to handle the objects.
  • each framework/tool provides a context menu entry to navigate to entities of other programming models. Accordingly, for example, a developer can start from an entity in a process and navigate to a user interface. Next, in the perspective of the user interface programming model the developers can navigate to a used service. Then, within the implementation of the service the developer can change the coding. Finally, after the change in the code a developer navigates back to the user interface or the process and is able to test the change.
  • the integrated development environment 100 may integrate non-native development frameworks 120 either directly or indirectly.
  • some of the tool sets 124 may be built into environment 100 , and others may be downloaded from an external source, such as a server holding server-based tools 124 .
  • a composition application 105 matches to a software component, and the content of the different frameworks 120 in a composite application 105 are stored in specific development objects 109 .
  • development environment 100 may be stored on one or more machine readable media 420 on platform 400 , such as a hard drive or memory circuits, and execute on one or more processors 410 .
  • Platform 400 may take the form of one or more servers or other computing systems, such as workstations, personal computers, or mainframes.
  • an article of manufacture such as a computer, a memory system, a magnetic or optical disk, some other storage device, and/or any type of electronic device or system may include one or more processors coupled to a machine-readable medium such as a memory (e.g., removable storage media, as well as any memory including an electrical, optical, or electromagnetic conductor) having instructions stored thereon (e.g., computer program instructions), which when executed by the one or more processors result in performing any of the actions described with respect to the methods above.
  • a machine-readable medium such as a memory (e.g., removable storage media, as well as any memory including an electrical, optical, or electromagnetic conductor) having instructions stored thereon (e.g., computer program instructions), which when executed by the one or more processors result in performing any of the actions described with respect to the methods above.
  • the machine may take the form of a computer system having a processor coupled to a number of components directly, and/or using a bus.
  • Such components may include main memory, static or non-volatile memory, and mass storage.
  • Other components coupled to the processor may include an output device, such as a video display, an input device, such as a keyboard, a cursor control device, such as a mouse, and a signal generation device, such as a speaker.
  • a network interface device to couple the processor and other components to a network may also be coupled to the bus.
  • the instructions may further be transmitted or received over the network via the network interface device utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Any of these elements coupled to the bus may be absent, present singly, or present in plural numbers, depending on the specific example to be realized.
  • the processor, the memories and the mass storage device may each include instructions which, when executed, cause the machine to perform any one or more of the methods described herein.
  • the machine operates as a standalone device or may be connected (e.g., networked) to other machines.
  • the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
  • the machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • PC personal computer
  • PDA Personal Digital Assistant
  • STB set-top box
  • WPA Personal Digital Assistant
  • a cellular telephone a web appliance
  • network router switch or bridge
  • machine shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
  • machine-readable medium should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers, and or a variety of storage media, such as the processor, registers, memories, and the mass storage device) that store the one or more sets of instructions.
  • the term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions.
  • the term “machine-readable medium” shall accordingly be taken to include tangible media, such as solid-state memories and optical and magnetic media.
  • an integrated development environment 100 that provides, among other things, for development of composite applications from a single perspective.
  • the environment 100 provides for display, editing, and creation of objects in different layers of the application and from different heterogeneous development environments using heterogeneous development tools.
  • Environment 100 enables a developer to view relationships between objects in different layers, and to navigate from an object in one layer to an object in another layer, and to check any edits to the application in design time. Environment 100 therefore allows a developer to more readily develop or debug composite applications.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

There is disclosed an integrated development environment for development of a composite application, wherein the development environment integrates a plurality of different heterogeneous development frameworks to provide a single user interface and perspective for developing a composite application including components from the different heterogeneous frameworks. In the environment, objects from different frameworks and layers may be viewed simultaneously, navigated between, edited and composed. Error checking functionality allows edits across different layers or objects of different frameworks to be checked at design time.

Description

TECHNICAL FIELD
The invention relates generally to software development tools and more particularly to systems, methods, and articles of manufacture for development of composite applications.
BACKGROUND
In computing, the term “composite application” generally refers to an application built by combining multiple existing functions into a new application. Composite applications may leverage enterprise and enterprise-ready sources, for example existing modules or even enterprise web services of information. Composite applications can be built using any technology or architecture.
A composite application consists of functionality drawn from several different sources. The components may be individual selected functions from within other applications, or entire systems whose outputs have been packaged as business functions, modules, or web services. Composite applications often incorporate orchestration of “local” application logic to control how the composed functions interact with each other to produce the new, derived functionality.
SUMMARY
According to various example embodiments there is provided an integrated development environment and related capabilities for developing a composite application.
BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1A, 1B, 1C, 1D, 1E and 1F illustrate various aspects of an integrated development environment, according to various embodiments of the inventive subject matter.
FIGS. 2A, 2B, 2C, 2D, 2E, 2F, 2G, 2H, 2I, and 2J illustrate various example embodiments of a user interface for an integrated development environment, according to the inventive subject matter.
FIG. 3 illustrates a flow chart of a method, according to one example embodiment of the inventive subject matter.
FIG. 4 illustrates a computing platform, according to one example embodiment of the inventive subject matter.
DETAILED DESCRIPTION
In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings which form a part hereof, and in which is shown, by way of illustration, specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, and other changes may be made without departing from the scope of the present invention.
Referring now to FIG. 1A there is illustrated an overview of an integrated development environment 100 used to develop a composite application 105. Environment 100 is used to integrate the development objects (DOs) 107-1, 107-2 and 107-n and development tools 124-1, 124-2 and 124-n of respective heterogeneous development frameworks 120-1, 120-2 . . . 120-n, each having a respective development perspective 123-1, 123-2 and 123-n, into a single development environment providing a single development perspective 101. In an embodiment, objects 107 are non-native to environment 100. Their respective development frameworks 120 may exist outside of environment 100. According to one example embodiment, environment 100 further includes additional development objects 108 and development tools 126 that are native to environment 100. Non-native objects 107 and tools 124 may be less tightly integrated with environment 100 than object 108 and tools 126. In an example embodiment, the content of tools 124 may be imported into environment 100, but with read-only support (e.g., creation of development objects 107 is not supported). According to one example embodiment, environment 100 is a software development framework and includes support programs, code libraries, a scripting language, and other software to help develop and connect together the different components of a software project. As illustrated in FIG. 1B, environment 100 includes a graphical user interface 112, a plurality of development tools 114, a meta-model repository 115, an application programming interface (API) 116, and error checking functions 117 and application runtime functions 113 necessary to run a composite application 105.
As described further below, composite application 105 includes functionality drawn from several different sources. According to one example embodiment, the components of composite application 105 may be individual selected functions from within other applications, or entire systems whose outputs have been packaged as business functions, modules, or web services. As illustrated in FIGS. 1A and 1C, composite application 105, in one example embodiment, may include one or more of the heterogeneous development objects 107-1, 107-2 . . . 107-n that are native to the one or more respective heterogeneous development frameworks 120-1, 120-2 . . . 120-n, and non-native to environment 100, and one or more development objects 108-1, 108-2 . . . 108-n that are native to the integrated development environment 100. Objects 107 and/or objects 108 may be collectively referred to herein as objects 109. Native development objects 108, and non-native development objects 107, interface with the environment 100 through the application programming interface (API) 116. In one embodiment, one or more objects 107 used in one of the respective frameworks 120 are not capable of use without modification in another one of the respective frameworks 120. Further, one or more objects 108 native to environment 100 are not capable of use in native form with one or more of the frameworks 120. According to one embodiment, objects 107 include adaptors 111 enabling the non-native objects 107 to interface with API 116.
As illustrated in FIG. 1D, composite application 105 further includes, in one example embodiment, one or more layers 106-1, 106-2 . . . 106-n. In object-oriented design, a layer is a group of classes that have the same set of link-time module dependencies to other modules. In other words, a layer may be formed of a group of reusable components that are reusable in similar circumstances. These layers can include, but are not limited to, a web-program development layer, a service layer, a user interface technologies layer, a process layer, and/or any other layers. A composite application 105 may include only one layer 106, such as a process-layer, or many layers. While specific examples of layers are enumerated above, the invention is in no way limited to any particular layers or combination of layers.
According to one example embodiment illustrated in FIG. 1E, the heterogeneous development frameworks 120-1, 120-2 . . . 120-n are each designed for developing programs using corresponding programming models 121-1, 121-2 . . . 120-n. According to one embodiment, a programming model is an abstract conceptual view of the structure and operation of a computing system. Such environments and models may be, for example, for development of web portals, guided procedures, visual composition of user interfaces, or web-based applications. Development frameworks 120-1, 120-2 . . . 120-n each include respective development tool sets 124-1, 124-2 . . . 124-n, native to these environments. Tool sets 124 each include a plurality of tools 125 that are used to develop programs within these environments, and in particular compose or edit objects 107 used in such programs. Tools 125 are, in one example embodiment, programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications.
According to one example embodiment illustrated in FIG. 1F, development tools 114 accessible in environment 100 include one or more of the tool sets 124 native to the developmental frameworks 120, such that a developer may access these tools if composing or editing an object 107 within environment 100. Thus, the integrated development environment 100 enables a developer to implement a composite application 105 using heterogeneous objects 107 from heterogeneous development frameworks 120 and using heterogeneous tool sets 124, all from a single user interface 112. Accordingly, environment 100 subsumes all editors and views that are specific for any of the development frameworks 120, providing at least the basic functionality for editing a composite application 105. Development in environment 100 is further supported with model- and code-generation-based methods via tools that store models 121 in a meta-model repository 115.
Referring now to FIGS. 2A through 21, one example embodiment of a user interface 112 and associated functionality is described. According to one example embodiment 200 illustrated in FIG. 2A, the integrated development environment 100 provides a user interface 112 that is used to browse, edit, and compose composite applications 105, and in particular development objects 109 and the relationships and dependencies between those objects. Objects 109 are displayed in a tree view in a composite explorer 210, illustrated in more detail in FIG. 2B, in graphical views in the composite designer 212, illustrated in more detail in FIG. 2C, and in a detail view window 214. An outline view window 216 is used to display an outline view of the composite application 105. A palette 218 of development tools, menus, and options to support development are also provided.
FIG. 2B illustrates an example view of the composite explorer 210 in more detail. In this example embodiment, composite explorer 210 integrates all relevant content provided from the different frameworks 120 into one view 211. “Product” or “software component” entities may be used as a root entity 213 in the tree. In one example embodiment, the objects 109 contained in the given product or software component are structured in five layers, a portal layer 220-1, a processes layer 220-2, a user-interface (UI) layer 220-3, a business logic layer 220-4, and an infrastructure or external services layer 220-5 (not shown in FIG. 2B). Composite explorer 210 makes all the tasks needed for composite application development accessible from one explorer view 211. As such, there is no need to switch the perspective in development environment 100 in order to develop a composite application 105 using objects 109 in different layers or from different programming models or frameworks.
FIG. 2C illustrates the composite designer 212, which shows an overview of all the main (re-usable) development objects 109 of a composite application in a graphical view. In one embodiment, the development objects 109 are structured in layers 106, for example but not by way of limitation, a portal layer 220-1, a process layer 220-2, UI layer 220-3, a business logic layer 220-4, and an external services layer 220-5. According to one example embodiment, the composite designer 212 gives a quick overview of the content of a composite application 105, and may be the entry point for composite application development. According to one example embodiment, actions like Show Relations 231, Navigate to Tool Editor 232, Trigger Check Framework 233 and others, can be triggered from the overview using pop-up or drop-down navigation menus 230 as for example shown in FIGS. 2D and 2E.
FIG. 2D is an example interface illustrating menus 230 used to navigate from the composite designer 212 to a tool specific editor to edit a development object 234. These editors may be native to the development environment 100, or non-native, for example supported on an external server. In one embodiment there are three navigation/editing options. The first tool editor 232 option 232-1 is to open the editor inside a composite designer perspective. The second option 232-2 is to open the editor in a tool specific perspective. Lastly, there is an option 232-3 to open a tool specific graphical modeler. FIG. 2E illustrates an example interface allowing a user to navigate from the composite designer 212 to the composite explorer 210. For example, the user may select an element in the composite designer 212 and use the menu option 235 to display the corresponding object 234 in the explorer view 211. In one embodiment these views can include, but not by way of limitation, Composite Explorer 236-1, Navigator 236-2, Outline 236-3, Package Explorer 236-4, Project Explorer 236-5, and Component Navigator 236-6.
FIG. 2F illustrates an example view 240, selected from the menu options, that displays relations 242 between the main development objects 109 of different toolsets 124 of a composite application 105. The relations 242 can be shown in a separate view, referred to as a “relations view,” or in the composite designer 212 for example as activated by a menu button. In one embodiment, the relations view supports graphical and textual, for example form-based, visualization of the relations, for example a relation from a first web-based component 245 to various objects 247 of the integrated development environment 100. In one embodiment, two modes of relationship exposure are possible: a basic mode that shows only relations between main objects 109 with no details of internal structure shown and an extended mode that shows detailed relations including internal structure between development objects 109.
FIG. 2G illustrates an example interface 250 to check consistency between different toolsets. In one embodiment, the consistency check is done on the operational level between the different toolsets, for example for the web component 245 that is consuming an application service operation. The consistency check notifies a developer at design time in case of incompatible changes of an operation. Mapping of Input/Output parameters from usage (e.g. a web model class) to used object (e.g., an application service operation) are shown in a check result dialog 252.
FIG. 2H illustrates an example check result dialog 252. It shows parameter/attribute mappings between a source 254 and a target 256 operation. In an example embodiment, an operation has an input/output structure. The dialog 252 may show the inconsistencies 258 between the structures of the source 254 and target 256 operations.
FIG. 2I illustrates an example interface allowing a user to create new development objects 109 in the graphical overview using palette 218, with no need to switch perspective. This can provide one common UI behavior to create new entities across all frameworks 120 and associated toolsets 124.
FIG. 2J illustrates an example interface to create relations on-the-fly between developments objects 109 of different toolsets 124 via the Connection Palette Tool 260 in the graphical overview. For example, the tool 260 can create a relation from the web component 245 to the application service 246. In one example embodiment, this improves developer productivity by automatically setting all preconditions, for example object 109 dependency, access permissions, and others so that relation creation is possible. As such, in this embodiment, manual steps in creating relations are no longer necessary.
Accordingly, environment 100 allows non-native objects 107 from a plurality of different development frameworks to be edited from the same user interface 112. According to one example embodiment, the tools 300 include a plurality of tool sets 124 that are native to respective development frameworks 120. Each development framework 120 may also include a context menu entry to navigate to objects 109 of other programming models.
Referring now to FIG. 3, there is shown a flow diagram 300 illustrating one example embodiment of one example mode of use of the development environment 100. While a specific order of operations is given, it shall be understood that the order of operations may be varied or used in any combination. A composite application 105 is selected and loaded 305 into the environment 100. Objects of the composite application 105, at least two of which are native to respective different development environments, are displayed 310 together in a tree view and/or in a graphical view showing the layer to which each object belongs. Relationships between the objects shown in the graphical view are graphically indicated 315, for example across all objects or for a selected object. A user can select an object in any layer and navigate 320 to a target object in the same or different layer. The target object's function may be edited 325, for example by editing the code of the object, by altering the object's relationships, or by other means. Or, a new object may be created. The user may navigate back to the source object. In addition, the user may check 330 the composite application 105 and any errors in the composite application are displayed 335 to the developer at design time. The developer may then debug 340 any problems with the composite application 105 prior to run time.
According to one example embodiment, environment 100 may use breadcrumbs wherein every object of a programming model that was a navigation target is also one node in the breadcrumb so that by clicking on a node a backward navigation is possible. A view provided by environment 100 may contain the breadcrumb with a collection and history of all objects 109 and the development framework 120 of the programming model to handle the objects. According to one example embodiment, each framework/tool provides a context menu entry to navigate to entities of other programming models. Accordingly, for example, a developer can start from an entity in a process and navigate to a user interface. Next, in the perspective of the user interface programming model the developers can navigate to a used service. Then, within the implementation of the service the developer can change the coding. Finally, after the change in the code a developer navigates back to the user interface or the process and is able to test the change.
According to another example embodiment, the integrated development environment 100 may integrate non-native development frameworks 120 either directly or indirectly. For example, some of the tool sets 124 may be built into environment 100, and others may be downloaded from an external source, such as a server holding server-based tools 124. According to another example embodiment, a composition application 105 matches to a software component, and the content of the different frameworks 120 in a composite application 105 are stored in specific development objects 109.
Referring now to FIG. 4 there is illustrated a computing platform 400 that may host the development environment 100. According to one example embodiment, development environment 100 may be stored on one or more machine readable media 420 on platform 400, such as a hard drive or memory circuits, and execute on one or more processors 410. Platform 400 may take the form of one or more servers or other computing systems, such as workstations, personal computers, or mainframes.
Thus, other embodiments may be realized. For example, an article of manufacture, such as a computer, a memory system, a magnetic or optical disk, some other storage device, and/or any type of electronic device or system may include one or more processors coupled to a machine-readable medium such as a memory (e.g., removable storage media, as well as any memory including an electrical, optical, or electromagnetic conductor) having instructions stored thereon (e.g., computer program instructions), which when executed by the one or more processors result in performing any of the actions described with respect to the methods above.
The machine may take the form of a computer system having a processor coupled to a number of components directly, and/or using a bus. Such components may include main memory, static or non-volatile memory, and mass storage. Other components coupled to the processor may include an output device, such as a video display, an input device, such as a keyboard, a cursor control device, such as a mouse, and a signal generation device, such as a speaker. A network interface device to couple the processor and other components to a network may also be coupled to the bus. The instructions may further be transmitted or received over the network via the network interface device utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Any of these elements coupled to the bus may be absent, present singly, or present in plural numbers, depending on the specific example to be realized.
The processor, the memories and the mass storage device may each include instructions which, when executed, cause the machine to perform any one or more of the methods described herein. In some examples, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked environment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers, and or a variety of storage media, such as the processor, registers, memories, and the mass storage device) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include tangible media, such as solid-state memories and optical and magnetic media.
Accordingly, described above is an integrated development environment 100 that provides, among other things, for development of composite applications from a single perspective. The environment 100 provides for display, editing, and creation of objects in different layers of the application and from different heterogeneous development environments using heterogeneous development tools. Environment 100 enables a developer to view relationships between objects in different layers, and to navigate from an object in one layer to an object in another layer, and to check any edits to the application in design time. Environment 100 therefore allows a developer to more readily develop or debug composite applications.

Claims (20)

1. A system comprising:
a memory to store data associated with the system; and
one or more processors coupled to the memory, the one or more processors configured to implement an integrated development framework to develop a composite application using at least a plurality of non-native development objects, wherein the non-native development objects are native to respective programming models using respective non-native development tools, wherein the composite application further includes a plurality of layers and the objects belong to one or more of the layers;
the integrated development framework including an application programming interface (API) used by the non-native development objects to communicate with the integrated development framework;
the integrated development framework including a graphical user interface providing a visual development framework to:
(a) simultaneously display at least two of the non-native development objects from at least two of the different programming models;
(b) display an indication of the layers of the composite application and so that the at least two objects are displayed to indicate to which of the layers they belong;
(c) display one or more relationships between the displayed development objects;
(d) edit one or more of the displayed development objects or a relationship defined between the objects;
(e) enable a user to navigate between objects displayed in different layers;
(f) enable a user to edit one or more relationships between objects in different layers; and
the integrated development framework further including at least one error-checking function to check edited objects and the edited relationships between the objects and to indicate to a user any errors identified by the check.
2. A system according to claim 1 wherein the integrated development environment includes a development tool function to access and use a non-native development tool to edit a non-native software object inside the visual development framework.
3. A system according to claim 1 wherein the user interface includes at least one navigation function to navigate between the at least two non-native development objects, wherein the navigation includes selecting one of the non-native objects and in response thereto at least identifying to a user at least one other non-native object that is related to the selected non-native object.
4. A system according to claim 1 wherein the error-checking function applies at least one rule to determine if an edit to a programming object or an object relationship results in an execution error at runtime of the composite application.
5. A system according to claim 1 wherein at least one of the non-native development tools includes an adaptor to enable it to communicate with the application programming interface of the integrated development framework.
6. A system according to claim 1 wherein the non-native development objects are displayed so that they are visually associated with a graphical representation of the software layers.
7. A system according to claim 1 wherein the user interface includes at least one user-selectable relationship display option to cause the system to display the relationships between the at least two non-native development objects, wherein the relationships include dependencies between the at least two non-native development objects.
8. A system according to claim 1 further including one or more functions to allow a user working in the visual development framework to:
navigate from a source software object in one of the layers to a target software object in another of the layers;
change the coding of the target software object; and
following changing the code navigate back to the source software object and test the change using the at least one error checking function.
9. A system according to claim 1 further including an import function to import content for the development tools from other respective development frameworks for the development tools.
10. A system according to claim 1 further including a packaging infrastructure to assemble the composite application.
11. A system according to claim 1 further including at least one software object or development tool native to the integrated development framework.
12. A system according to claim 1 wherein the system includes a project browser that displays the objects in a tree representation.
13. A system according to claim 1 wherein at least one of the layers is selected from the group: process, user interface, business logic or services.
14. A system according to claim 1 wherein the non-native development tools are native to respective programming models and at least one of the models is selected from the group: a programming model to develop a web portal, a programming model to develop a guided procedure, a programming model using visual composing, and a programming model to develop web-based applications.
15. A system according to claim 1 wherein at least one object is selected from the group: process objects, user interface objects, business object objects, and services objects.
16. A system according to claim 1 wherein at least one of the programming models for the non-native development tools are server-based, and the content for the respective tools are downloaded to the integrated development framework from the respective server.
17. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to implement an integrated development framework to develop a composite application using at least a plurality of non-native development objects, wherein the non-native development objects are native to respective programming models using respective non-native development tools, wherein the composite application further includes a plurality of layers and the objects belong to one or more of the layers;
the integrated development framework including an application programming interface (API) used by the non-native development objects to communicate with the integrated development framework;
the integrated development framework including a graphical user interface providing a visual development framework to:
(a) simultaneously display at least two of the non-native development objects from at least two of the different programming models;
(b) display an indication of the layers of the composite application and so that the at least two objects are displayed to indicate to which of the layers they belong;
(c) display one or more relationships between the displayed development objects;
(d) edit one or more of the displayed development objects or a relationship defined between the objects;
(e) enable a user to navigate between objects displayed in different layers;
(f) enable a user to edit one or more relationships between objects in different layers; and
the integrated development framework further including at least one error-checking function to check edited objects and the edited relationships between the objects and to indicate to a user any errors identified by the check.
18. A non-transitory machine-readable storage medium according to claim 1 wherein the integrated development environment includes a development tool function to access and use a non-native development tool to edit a non-native software object inside the visual development framework.
19. A non-transitory machine-readable storage medium according to claim 1 wherein the user interface includes at least one navigation function to navigate between the at least two non-native development objects, wherein the navigation includes selecting one of the non-native objects and in response thereto at least identifying to a user at least one other non-native object that is related to the selected non-native object.
20. A non-transitory machine-readable storage medium according to claim 1 wherein the non-native development objects are displayed so that they are visually associated with a graphical representation of the software layers.
US12/257,226 2025-08-07 2025-08-07 Integrated development framework for composite applications Active 2025-08-07 US8341593B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/257,226 US8341593B2 (en) 2025-08-07 2025-08-07 Integrated development framework for composite applications
EP09012414A EP2180402A1 (en) 2025-08-07 2025-08-07 Integrated development framework for composite applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/257,226 US8341593B2 (en) 2025-08-07 2025-08-07 Integrated development framework for composite applications

Publications (2)

Publication Number Publication Date
US20100107136A1 US20100107136A1 (en) 2025-08-07
US8341593B2 true US8341593B2 (en) 2025-08-07

Family

ID=41351443

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/257,226 Active 2025-08-07 US8341593B2 (en) 2025-08-07 2025-08-07 Integrated development framework for composite applications

Country Status (2)

Country Link
US (1) US8341593B2 (en)
EP (1) EP2180402A1 (en)

Cited By (10)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164969A1 (en) * 2025-08-07 2025-08-07 Cramb Jamie D Framework
US20120022669A1 (en) * 2025-08-07 2025-08-07 Khs Gmbh Automation system having framework based controller
US20120174058A1 (en) * 2025-08-07 2025-08-07 Microsoft Corporation Platform for distributed applications
US8627223B1 (en) * 2025-08-07 2025-08-07 Sprint Communications Company L.P. Customized execution sequences for portions of third party applications
US9164877B2 (en) 2025-08-07 2025-08-07 Sap Se Business application inspection and modification
US9274760B2 (en) 2025-08-07 2025-08-07 Sap Se Adaptive developer experience based on project types and process templates
US9411665B2 (en) 2025-08-07 2025-08-07 Sap Se Messaging infrastructure integration
US9569274B2 (en) 2025-08-07 2025-08-07 Microsoft Technology Licensing, Llc Distributed application optimization using service groups
US10715388B2 (en) 2025-08-07 2025-08-07 Sap Se Using a container orchestration service for dynamic routing
US10783007B2 (en) 2025-08-07 2025-08-07 Sap Se Load distribution for integration scenarios

Families Citing this family (9)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
CN104246715A (en) 2025-08-07 2025-08-07 惠普发展公司,有限责任合伙企业 Constructing test-centric model of application
US10755208B2 (en) * 2025-08-07 2025-08-07 Sap Se Methods, apparatus and system for mediating services
KR102090269B1 (en) * 2025-08-07 2025-08-07 ???????? Method for searching information, device, and computer readable recording medium thereof
EP3690668A1 (en) 2025-08-07 2025-08-07 Beulah Works, LLC Knowledge capture and discovery system
US9280319B2 (en) 2025-08-07 2025-08-07 Microsoft Technology Licensing, Llc Integrated visualization for modeled customizations
US9870202B2 (en) 2025-08-07 2025-08-07 Sap Se Business object model layer interface
US9772822B2 (en) 2025-08-07 2025-08-07 Microsoft Technology Licensing, Llc Visualization framework for customizable types in a development environment
CN111796799B (en) * 2025-08-07 2025-08-07 广州腾讯科技有限公司 Sub-application development method and device, computer equipment and storage medium
US12014158B2 (en) * 2025-08-07 2025-08-07 Workday, Inc. System and method for developing user interface applications

Citations (13)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054155A1 (en) * 2025-08-07 2025-08-07 Borland Software Corporation Data module design system
US20030097369A1 (en) * 2025-08-07 2025-08-07 International Business Machines Corporation Dynamic generic framework for distributed tooling
US20040003091A1 (en) * 2025-08-07 2025-08-07 International Business Machines Corporation Accessing a remote iSeries or AS/400 computer system from an integrated development environment
US20040015838A1 (en) 2025-08-07 2025-08-07 Kabushiki Kaisha Toshiba Software building support system
US20040143822A1 (en) * 2025-08-07 2025-08-07 Jager James De Method and system for compiling a visual representation of a website
US20050066304A1 (en) * 2025-08-07 2025-08-07 Captaris, Inc. Custom and customizable components, such as for workflow applications
US20060241961A1 (en) * 2025-08-07 2025-08-07 Igor Tsyganskiy Methods of optimizing legacy application layer control structure using refactoring
US20070033088A1 (en) * 2025-08-07 2025-08-07 Werner Aigner Framework for a composite application and a method of implementing a frame work for a composite application
US20070143680A1 (en) * 2025-08-07 2025-08-07 International Business Machines Corporation Multi-contextual delta navigation in a compare view
US20070283002A1 (en) * 2025-08-07 2025-08-07 Christof Bornhoevd Modular monitor service for smart item monitoring
US20080092116A1 (en) 2025-08-07 2025-08-07 Invensys Systems, Inc. Extensible automation development environment
US20080161940A1 (en) * 2025-08-07 2025-08-07 Heiko Gerwens Framework for parallel business object processing
US20090313601A1 (en) * 2025-08-07 2025-08-07 Kerstin Baird System For Dynamic Discovery, Configuration, And Development Of Process-Bound Widgets

Family Cites Families (16)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US5928389A (en) * 2025-08-07 2025-08-07 Applied Materials, Inc. Method and apparatus for priority based scheduling of wafer processing within a multiple chamber semiconductor wafer processing tool
US6270582B1 (en) * 2025-08-07 2025-08-07 Applied Materials, Inc Single wafer load lock chamber for pre-processing and post-processing wafers in a vacuum processing system
US6340406B1 (en) * 2025-08-07 2025-08-07 Moore North America, Inc. Simple pressure seal units
US20020196201A1 (en) * 2025-08-07 2025-08-07 Rosen Products Llc. Vehicular display system
US6528427B2 (en) * 2025-08-07 2025-08-07 Lam Research Corporation Methods for reducing contamination of semiconductor substrates
US6506994B2 (en) * 2025-08-07 2025-08-07 Applied Materials, Inc. Low profile thick film heaters in multi-slot bake chamber
US20020195201A1 (en) * 2025-08-07 2025-08-07 Emanuel Beer Apparatus and method for thermally isolating a heat chamber
US6841006B2 (en) * 2025-08-07 2025-08-07 Applied Materials, Inc. Atmospheric substrate processing apparatus for depositing multiple layers on a substrate
US7316966B2 (en) * 2025-08-07 2025-08-07 Applied Materials, Inc. Method for transferring substrates in a load lock chamber
US7085622B2 (en) * 2025-08-07 2025-08-07 Applied Material, Inc. Vision system
US20030213560A1 (en) * 2025-08-07 2025-08-07 Yaxin Wang Tandem wafer processing system and process
US6696367B1 (en) * 2025-08-07 2025-08-07 Asm America, Inc. System for the improved handling of wafers within a process tool
US20050150452A1 (en) * 2025-08-07 2025-08-07 Soovo Sen Process kit design for deposition chamber
US20050196971A1 (en) * 2025-08-07 2025-08-07 Applied Materials, Inc. Hardware development to reduce bevel deposition
KR101071817B1 (en) * 2025-08-07 2025-08-07 ???? ???? drum type washing machine with laundry drying function
US7094442B2 (en) * 2025-08-07 2025-08-07 Applied Materials, Inc. Methods for the reduction and elimination of particulate contamination with CVD of amorphous carbon

Patent Citations (14)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054155A1 (en) * 2025-08-07 2025-08-07 Borland Software Corporation Data module design system
US20040015838A1 (en) 2025-08-07 2025-08-07 Kabushiki Kaisha Toshiba Software building support system
US20030097369A1 (en) * 2025-08-07 2025-08-07 International Business Machines Corporation Dynamic generic framework for distributed tooling
US20040003091A1 (en) * 2025-08-07 2025-08-07 International Business Machines Corporation Accessing a remote iSeries or AS/400 computer system from an integrated development environment
US20040143822A1 (en) * 2025-08-07 2025-08-07 Jager James De Method and system for compiling a visual representation of a website
US8069437B2 (en) * 2025-08-07 2025-08-07 Sap Ag Framework for a composite application and a method of implementing a frame work for a composite application
US20070033088A1 (en) * 2025-08-07 2025-08-07 Werner Aigner Framework for a composite application and a method of implementing a frame work for a composite application
US20050066304A1 (en) * 2025-08-07 2025-08-07 Captaris, Inc. Custom and customizable components, such as for workflow applications
US20060241961A1 (en) * 2025-08-07 2025-08-07 Igor Tsyganskiy Methods of optimizing legacy application layer control structure using refactoring
US20070143680A1 (en) * 2025-08-07 2025-08-07 International Business Machines Corporation Multi-contextual delta navigation in a compare view
US20070283002A1 (en) * 2025-08-07 2025-08-07 Christof Bornhoevd Modular monitor service for smart item monitoring
US20080092116A1 (en) 2025-08-07 2025-08-07 Invensys Systems, Inc. Extensible automation development environment
US20080161940A1 (en) * 2025-08-07 2025-08-07 Heiko Gerwens Framework for parallel business object processing
US20090313601A1 (en) * 2025-08-07 2025-08-07 Kerstin Baird System For Dynamic Discovery, Configuration, And Development Of Process-Bound Widgets

Non-Patent Citations (1)

* Cited by examiner, ? Cited by third party
Title
"European Application Serial No. 09012414.0, Extended European Search Report mailed Dec. 18, 2009", 6 pgs.

Cited By (14)

* Cited by examiner, ? Cited by third party
Publication number Priority date Publication date Assignee Title
US8484615B2 (en) * 2025-08-07 2025-08-07 Ncr Corporation Software framework to build an executable scheme in a GUI environment
US20090164969A1 (en) * 2025-08-07 2025-08-07 Cramb Jamie D Framework
US20120022669A1 (en) * 2025-08-07 2025-08-07 Khs Gmbh Automation system having framework based controller
US8676354B2 (en) * 2025-08-07 2025-08-07 Khs Gmbh Automation system having framework based controller
US8627223B1 (en) * 2025-08-07 2025-08-07 Sprint Communications Company L.P. Customized execution sequences for portions of third party applications
US9286037B2 (en) * 2025-08-07 2025-08-07 Microsoft Technology Licensing, Llc Platform for distributed applications
US20120174058A1 (en) * 2025-08-07 2025-08-07 Microsoft Corporation Platform for distributed applications
US9411665B2 (en) 2025-08-07 2025-08-07 Sap Se Messaging infrastructure integration
US9569274B2 (en) 2025-08-07 2025-08-07 Microsoft Technology Licensing, Llc Distributed application optimization using service groups
US9164877B2 (en) 2025-08-07 2025-08-07 Sap Se Business application inspection and modification
US9274760B2 (en) 2025-08-07 2025-08-07 Sap Se Adaptive developer experience based on project types and process templates
US10783007B2 (en) 2025-08-07 2025-08-07 Sap Se Load distribution for integration scenarios
US11269691B2 (en) 2025-08-07 2025-08-07 Sap Se Load distribution for integration scenarios
US10715388B2 (en) 2025-08-07 2025-08-07 Sap Se Using a container orchestration service for dynamic routing

Also Published As

Publication number Publication date
EP2180402A1 (en) 2025-08-07
US20100107136A1 (en) 2025-08-07

Similar Documents

Publication Publication Date Title
US8341593B2 (en) Integrated development framework for composite applications
US11360747B1 (en) Variant modeling elements in graphical programs
US8296721B2 (en) Template-based software development
CN107562626B (en) Method for realizing Web automatic test by encapsulating Selenium and Sikuli
US8561048B2 (en) Late and dynamic binding of pattern components
JP5941541B2 (en) System and method for mobile application development
US8589864B2 (en) Automating the creation of an application provisioning model
CN104216701B (en) System and method for creating graphic user interface in manufacturing execution system
JP2012508934A (en) Data object management and automatic linking
US20120030612A1 (en) Dynamic property attributes
US8661356B2 (en) Time application having an intergrated check engine
Bampakos et al. Learning Angular: A no-nonsense guide to building web applications with Angular 15
US20240296029A1 (en) System and method for developing user interface applications
Snell et al. Microsoft Visual Studio 2012 Unleashed: Micro Visua Studi 2012 Unl_p2
US20100250228A1 (en) Modeling a composite application
CN118012393A (en) Method for improving development efficiency of platform Web end
Ferreira et al. A CSP semantics for UML state machines aiming at hidden formal methods verification
US12008384B2 (en) Process-oriented application configuration through semantic mapping
CN115795918B (en) FMU model simulation scheduling method, platform and electronic equipment
Kuhrmann et al. Visual process model design using domain-specific languages
Kopylov Expanding the functionality of optical CAD using the Python scripting language
Wright et al. Blazor WebAssembly By Example: Use practical projects to start building web apps with. NET 7, Blazor WebAssembly, and C
Pradhan User interface test automation and its challenges in an industrial scenario
Le Comparing State Management Between Redux And Zustand In React
CN119781880A (en) User interface generation system, method, device and product for vehicle bus development

Legal Events

Date Code Title Description
AS Assignment 百度 这是田立文当选湖南高院院长后,看望的第一位在职干警。

Owner name: SAP AG,GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FILDEBRANDT, ULF;MELCHER, TOBIAS;REEL/FRAME:022521/0093

Effective date: 20081008

Owner name: SAP AG, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FILDEBRANDT, ULF;MELCHER, TOBIAS;REEL/FRAME:022521/0093

Effective date: 20081008

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: SAP SE, GERMANY

Free format text: CHANGE OF NAME;ASSIGNOR:SAP AG;REEL/FRAME:033625/0334

Effective date: 20140707

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12

六月初五是什么日子 然五行属性是什么 刚怀孕吃什么对胎儿好 尿臭是什么原因男性 双侧附睾头囊肿是什么意思
肛门镜检查能查出什么 歌声什么 下眼袋浮肿是什么原因 为什么出汗特别多 梦见小男孩拉屎是什么意思
本来无一物何处惹尘埃是什么意思 肠系膜脂膜炎是什么病 高压偏低是什么原因造成的 芒果过敏用什么药 什么是追溯码
警察在古代叫什么 十万个为什么作者是谁 唠嗑是什么意思 特种兵是干什么的 角加斗读什么
湿疹用什么药最好hcv9jop5ns0r.cn 胃疼胃胀吃什么药hcv7jop7ns4r.cn 先自度其足的度是什么意思hcv8jop8ns0r.cn 肯德基为什么叫kfchcv7jop6ns0r.cn 头发有点黄是什么原因zsyouku.com
小朋友流鼻血是什么原因hcv9jop2ns1r.cn 孙五行属什么hcv9jop6ns2r.cn 人民检察院是国家的什么机关cj623037.com 房水是什么hcv8jop3ns8r.cn 食指发麻是什么原因hcv8jop4ns6r.cn
氯化钾主治什么病hcv9jop1ns0r.cn 梅核气西医叫什么hcv8jop0ns1r.cn 钾高吃什么可以降下来hcv9jop3ns8r.cn 虚岁31岁属什么生肖hcv7jop9ns2r.cn 5.5号是什么星座luyiluode.com
太阳病是什么意思hcv8jop7ns0r.cn 晚上喝牛奶有什么好处hcv8jop1ns5r.cn 杏仁是什么树的果实wuhaiwuya.com pppd是什么意思hcv9jop4ns0r.cn 包皮炎用什么药最有效wuhaiwuya.com
百度