US20080270974A1 - Enterprise JavaBeans Metadata Model - Google Patents

Enterprise JavaBeans Metadata Model Download PDF

Info

Publication number
US20080270974A1
US20080270974A1 US11966849 US96684907A US2008270974A1 US 20080270974 A1 US20080270974 A1 US 20080270974A1 US 11966849 US11966849 US 11966849 US 96684907 A US96684907 A US 96684907A US 2008270974 A1 US2008270974 A1 US 2008270974A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
metadata
model
java
machine
extracted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11966849
Inventor
Krasimir Topchiyski
Alexandrina Ivanova
Hristo Sabev
Vladimir Pavlov
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

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/14Network-specific arrangements or communication protocols supporting networked applications for session management
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/14Network-specific arrangements or communication protocols supporting networked applications for session management
    • H04L67/143Network-specific arrangements or communication protocols supporting networked applications for session management provided for session termination, e.g., event controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/28Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network
    • H04L67/2842Network-specific arrangements or communication protocols supporting networked applications for the provision of proxy services, e.g. intermediate processing or storage in the network for storing data temporarily at an intermediate stage, e.g. caching

Abstract

A method and system to construct Java representations of metadata in an enterprise application. The system extracts metadata from application source code and deployment descriptors to construct a single output available to the application.

Description

    FIELD OF INVENTION
  • The invention relates generally to enterprise applications, and, more specifically, to processing metadata in enterprise applications.
  • BACKGROUND
  • Application servers are platforms that host and provide services to applications. Application servers manage the life cycles of applications and take care that the logic implemented in applications is accessible to clients in a centralized fashion. Application servers based on the Java™ Platform, Enterprise Edition 5 (hereinafter “Java EE”) host and provide services to Java enterprise applications (also referred to as “Java EE applications”). Such applications are written in the Java language and conform to a set of specifications so that they can run on a Java application server. Application server vendors develop application servers in accordance with the rules and requirements set forth in the Java EE 5 specification. A Java EE application has application code and configuration information packed into an Enterprise Application Archive (hereinafter “EAR”). The EAR contains one or more modules of a specific type, for example, web modules, web services modules, Enterprise JavaBeans (hereinafter “EJB”) modules, and deployment descriptors. Each of these modules is an archive of the respective type. In each of these archives, there is application source code written in the Java language and application configuration information written in eXtensible Markup Language (hereinafter “XML”) format, placed in deployment descriptor files.
  • Java EE 5 provides a number of new features as compared to previous versions of the platform. For example, Java EE 5 provides a new way to specify application configuration information, in addition to deployment descriptor files. Java EE 5 supports configuration information supplied with annotations. Annotations are metadata written directly into source code and read by the application server at deploy time and at runtime. Each enterprise technology specification supports a set of annotations that can be used to configure and influence the behavior of the respective application type. For example, the EJB 3.0 specification supports annotations that denote source code as a bean of a specific type, such as session bean or a message-driven bean, and so on. All the metadata that can be supplied with annotations can also be supplied with deployment descriptors.
  • When an EJB application is deployed on an application server, the server has to process application source code and both sources of metadata so that a fully functional application is available on the server for clients to use. The EJB specification prescribes what an EJB container on a Java EE application server should support and what rules it should observe when processing application source code and application metadata. However, the specification does not prescribe how such requirements should be implemented by application server vendors. It is up to the application server vendor to decide how to implement all the requirements set forth in the specification so that the application server complies with the specification.
  • SUMMARY
  • A system and method to process metadata in an enterprise application is described. The system extracts metadata from a number of sources and combines input into a unified model of all metadata supplied with the application.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
  • FIG. 2 is a block diagram of an enterprise application.
  • FIG. 2 is a block diagram of an Enterprise Java Beans application.
  • FIG. 3 is a flowchart of a process performed by an embodiment of the invention.
  • FIG. 4 is a block diagram of a system implemented according to an embodiment of the invention.
  • FIG. 5 is a block diagram of a system implemented according to another embodiment of the invention.
  • DETAILED DESCRIPTION
  • Descriptions of certain details and implementations follow, including a description of the figures, which may depict some or all of the embodiments described below, as well as discussing other potential embodiments or implementations of the inventive concepts described herein.
  • Java EE application servers run Java EE applications. Each enterprise application has different modules that pack source code and metadata for specific components, as shown on FIG. 1. For example, the enterprise application 100 has deployment descriptors 105 that specify metadata pertaining to the whole enterprise application; it also has an EJB module 110, a web module 120, and an application client module 130. The EJB module 110 represents an EJB application. EJB applications run on an EJB container. Referring to FIG. 2, each EJB application 200 has bean classes 210, interfaces 220, and a deployment descriptor 230. With version 3.0 of the EJB specification, metadata can be placed both in the deployment descriptor and in bean classes 210 and interfaces 220. From an application developer point of view, all configuration information that can be supplied with annotations can also be supplied in a deployment descriptor. As such, an EJB container must provide a mechanism to obtain and interpret the metadata from both sources. Because annotations and deployment descriptors provide the same functionality, some entries may be duplicated in both sources. Consequently, the EJB container must also provide a mechanism to evaluate metadata and decide which source takes preference so that no conflicts exist in the application logic. The EJB specification specifies only that the EJB container should be able to treat the logical semantic of metadata correctly to correctly set up the runtime environment for the EJB application. It is up to the application server vendor to define the way in which the EJB container should obtain the metadata and represent it to the running application.
  • In an embodiment of the invention, the EJB container provides a mechanism to read and combine metadata as described in FIG. 3. Referring to FIG. 3, when an EJB application is deployed, the EJB container first parses program code 305 in the application in order to identify metadata in the program code 310. As described herein, program code is understood to mean both source code as written by an application developer and bytecode as compiled source code. Then the metadata is extracted 315 and a Java model of the metadata is built 320. Thus, all annotations are extracted from the program code are represented in Java in the model. Then, the deployment descriptor is parsed 325 and the metadata in it is identified 330. The metadata is extracted 335 and a second Java model is built 340 from the metadata in the deployment descriptor.
  • Annotations and the deployment descriptor are written in their own formats. In order for the EJB container to evaluate them consistently and efficiently, it represents them in Java and creates a Java model of the metadata from each source accordingly. To create each model, the EJB container accesses a core metadata model. The core metadata model has Java representations of all metadata supported by the EJB specification. To build the first Java model and the second Java model, the EJB container accesses the core metadata model and maps each extracted metadata to an instance of a class from the core metadata model. Thus, once it iterates over the complete collection of extracted metadata it has mapped each piece of data to an instance of a Java class representing it. With the two models ready, the system proceeds to merge them so that a unified model of the metadata in the application logic is constructed. To merge the models, the system uses a set of rules in order to compare the models and evaluate each duplicate entry. The set of rules specifies how entries from each source should be treated and when entries from one source should take precedence over the other. For example, generally metadata from the deployment descriptor takes precedence over the metadata obtained from annotations.
  • To combine metadata in a unified Java model, an EJB container according to the embodiment of the invention implements a system of elements as outlined in FIG. 4. Each source of metadata has a dedicated builder to build the Java model from that source. Referring to FIG. 4, the program code 410 is read by the builder 430. The builder 430 extracts metadata from the program code and maps it to metadata classes from the core metadata model 490. Thus the builder 430 constructs the first Java model 450. Similarly, the builder 440 reads the deployment descriptor 420 and maps it to metadata classes from the core metadata model 490. Thus the builder 440 constructs the second Java model 460. Then the first Java model 450 and the second Java model 460 are supplied to the merger 470. The merger 470 compares the models and combines them into a unified model 480.
  • Once the unified model is constructed, each element in the model is assigned a unique key. Thus the unified model is navigable as each element can be traced via its key. Element keys can also be used for logging purposes. For example, if an event needs to be logged it can be traced to the element that produced it and logged as produced by that element. When application behavior is analyzed, events can be traced back not only to the application but to pieces of logic in the application that invoked the events in question, such as specific classes or methods.
  • In another embodiment of the invention, the business logic to analyze metadata is packaged in an external library and thus integrated in different environments as a standalone module. For example, an external library can be integrated in a development environment and used to analyze source code at development time. Such an implementation is very valuable because usually, in order to test applications, application developers must package their applications and deploy them on an application server. With the possibility to test applications as they are written, the application developers can save time and resources. Referring to FIG. 5, a system is implemented to obtain and process metadata. The input module 510 obtains the source to be analyzed, the parsing module 520 parses the source code and identifies the metadata therein. The system has a number of different builders, such as builder1 540 and builder2 550 that can read metadata from dedicated sources. In the event that metadata is supplied by new sources the system is extended to accommodate new builders to deal with alternative sources of input. The system also logs results from the operation via a logging module 530 to a permanent store 580 for later retrieval.
  • With the advent of Java EE 5, all types of enterprise applications support annotations and thus are faced with the problem of combining metadata from different sources. As such, the embodiments of the invention are not limited to EJB applications only, as described above. Embodiments of the invention can easily be applied to any type of enterprise application such as a web application, a web services application, and so on.
  • Elements of embodiments may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, flash memory, optical disks, CD-ROMs, DVD ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cares, propagation media or other type of machine-readable media suitable for storing electronic instructions. For example, embodiments of the invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
  • It should be appreciated that reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the invention.
  • In the foregoing specification, the invention has been described with reference to the specific embodiments thereof. It will, however, be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims (22)

1. A method of generating a unified metadata model for a java enterprise application comprising:
extracting metadata from program code;
building a first java model of the metadata extracted from the program code;
extracting metadata from a deployment descriptor;
building a second java model of the metadata extracted from the deployment descriptor; and
merging the first and second models.
2. The method of claim 1, wherein program code comprises java source code and bytecode.
3. The method of claim 1, wherein extracting metadata from program code comprises:
parsing the program code; and
identifying metadata in the program code.
4. The method of claim 1, wherein building the first java model from the metadata extracted from the program code comprises:
accessing a model comprising java classes representing metadata in java code;
identifying an instance of a class from the model that represents the extracted metadata; and
mapping the extracted metadata to the identified instance of the class.
5. The method of claim 1, wherein extracting metadata from a deployment descriptor comprises:
parsing the deployment descriptor; and
identifying metadata in the deployment descriptor.
6. The method of claim 1, wherein building the second java model from the metadata extracted from the deployment descriptor comprises:
accessing a model comprising java classes representing metadata in java code;
identifying an instance of a class from the model that represents the extracted metadata; and
mapping the extracted metadata to the identified instance of the class.
7. The method of claim 1, wherein merging comprises:
parsing the first metadata model;
parsing the second metadata model;
combining the first and second models in a unified model using a set of rules;
constructing a logical graph of the unified model; and
assigning each element in the unified model a unique identifier representing the absolute path to the model element in the graph.
8. The method of claim 7, wherein combining the first model and the second model into a unified model comprises applying the set of rules so that no conflicts exist in the application logic.
9. An apparatus comprising:
a core metadata model to maintain java representations of metadata objects;
a first builder to construct a java model of metadata in program code using the core metadata model responsive to receiving the program code;
a second builder to construct a java model of metadata in a deployment descriptor using the core metadata model responsive to receiving the deployment descriptor; and
a merger to receive the models from the first and second builder and unite the first model and the second model.
10. The apparatus of claim 9, wherein each of the builders maps metadata objects to instances of classes from the core metadata model.
11. The apparatus of claim 9, wherein the merger merges the models against a set of rules.
12. A system to run Enterprise Java Beans (EJB) applications, the system comprising:
an input module to receive an EJB application;
a parsing module to parse the metadata in the EJB application; and
a set of builder modules to build Java models of the metadata in the EJB application;
a permanent store to store processed EJB applications; and
a network infrastructure to connect the permanent store to the container.
13. The system of claim 12, further comprising a logging module to log events produced by the EJB application.
14. The system of claim 12, wherein the set of builder modules comprises:
a first builder module to build a first Java model of metadata from Java source code; and
a second builder module to build a second Java model of metadata from a deployment descriptor.
15. A machine readable medium having instructions therein that when executed by the machine, cause the machine to:
extract metadata from program code;
build a first java model of the metadata extracted from the program code;
extract metadata from a deployment descriptor;
build a second java model of the metadata extracted from the deployment descriptor; and
merge the first and second models.
16. The machine readable medium of claim 15, wherein program code comprises java source code and bytecode.
17. The machine readable medium of claim 15, wherein instructions causing the machine to extract metadata from program code, cause the machine to:
parse the program code; and
identify metadata in the program code.
18. The machine readable medium of claim 15, wherein instructions causing the machine to build the java model from the metadata extracted from the program code, cause the machine to:
access a model comprising java classes representing metadata in java code;
identify an instance of a class from the model that represents the extracted metadata; and
map the extracted metadata to the identified instance of the class.
19. The machine readable medium of claim 15, wherein instructions causing the machine to extract metadata from a deployment descriptor, cause the machine to:
parse the deployment descriptor; and
identify metadata in the deployment descriptor.
20. The machine readable medium of claim 15, wherein instructions causing the machine to build the java model from the metadata extracted from the deployment descriptor, cause the machine to:
access a model comprising java classes representing metadata in java code;
identify an instance of a class from the model that represents the extracted metadata; and
map the extracted metadata to the identified instance of the class.
21. The machine readable medium of claim 15, wherein instructions causing the machine to merge, cause the machine to:
parse the first metadata model;
parse the second metadata model;
compare the first metadata model to the second metadata model using a set of rules;
combine the first and second models in a unified model;
construct a logical graph of the unified model; and
assign each element in the unified model a unique identifier representing the absolute path to the model element in the graph.
22. The machine readable medium of claim 21, wherein instructions causing the machine to combine the first model and the second model into a unified model, cause the machine to apply the set of rules so that no conflicts exist in the application logic.
US11966849 2007-04-30 2007-12-28 Enterprise JavaBeans Metadata Model Abandoned US20080270974A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US92698907 true 2007-04-30 2007-04-30
US11966849 US20080270974A1 (en) 2007-04-30 2007-12-28 Enterprise JavaBeans Metadata Model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11966849 US20080270974A1 (en) 2007-04-30 2007-12-28 Enterprise JavaBeans Metadata Model

Publications (1)

Publication Number Publication Date
US20080270974A1 true true US20080270974A1 (en) 2008-10-30

Family

ID=39888336

Family Applications (7)

Application Number Title Priority Date Filing Date
US11966849 Abandoned US20080270974A1 (en) 2007-04-30 2007-12-28 Enterprise JavaBeans Metadata Model
US12022429 Active 2030-11-20 US8261272B2 (en) 2007-04-30 2008-01-30 Method and system for multithreaded request dispatching
US12029677 Active 2031-07-14 US9065843B2 (en) 2007-04-30 2008-02-12 Method, system and article of manufacture for providing connections and connection aliases descriptors by services and libraries archives
US12111127 Abandoned US20080270986A1 (en) 2007-04-30 2008-04-28 System and method for enterprise javabeans container
US12112888 Active 2031-06-04 US8510717B2 (en) 2007-04-30 2008-04-30 Method and system for testing application modules using static tests from a test suite
US12113025 Active 2029-07-31 US7962612B2 (en) 2007-04-30 2008-04-30 Method for connection leak detection and prevention
US12112881 Active 2030-02-08 US8082508B2 (en) 2007-04-30 2008-04-30 Method and system for obtaining and modifying portlets via an application programming interface

Family Applications After (6)

Application Number Title Priority Date Filing Date
US12022429 Active 2030-11-20 US8261272B2 (en) 2007-04-30 2008-01-30 Method and system for multithreaded request dispatching
US12029677 Active 2031-07-14 US9065843B2 (en) 2007-04-30 2008-02-12 Method, system and article of manufacture for providing connections and connection aliases descriptors by services and libraries archives
US12111127 Abandoned US20080270986A1 (en) 2007-04-30 2008-04-28 System and method for enterprise javabeans container
US12112888 Active 2031-06-04 US8510717B2 (en) 2007-04-30 2008-04-30 Method and system for testing application modules using static tests from a test suite
US12113025 Active 2029-07-31 US7962612B2 (en) 2007-04-30 2008-04-30 Method for connection leak detection and prevention
US12112881 Active 2030-02-08 US8082508B2 (en) 2007-04-30 2008-04-30 Method and system for obtaining and modifying portlets via an application programming interface

Country Status (1)

Country Link
US (7) US20080270974A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161930A1 (en) * 2009-12-31 2011-06-30 International Business Machines Corporation Melding of mediation flow service component architecture (sca) components
US20110246294A1 (en) * 2010-03-30 2011-10-06 Beet, Inc. System and method for content management and distribution
US20130019224A1 (en) * 2011-07-11 2013-01-17 Honeywell International Inc. Systems and methods for verifying model equivalence
US8539439B2 (en) * 2011-10-13 2013-09-17 Microsoft Corporation Asynchronous programming model mapping
US8856745B2 (en) 2012-08-01 2014-10-07 Oracle International Corporation System and method for using a shared standard expectation computation library to implement compliance tests with annotation based standard
US9916155B2 (en) * 2015-12-01 2018-03-13 International Business Machines Corporation Projects browser for development environments

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930704B2 (en) 2002-02-06 2011-04-19 Oracle International Corporation J2EE component extension architecture
US7698434B2 (en) * 2002-08-29 2010-04-13 Bea Systems, Inc. J2EE connector architecture
US7730478B2 (en) * 2006-10-04 2010-06-01 Salesforce.Com, Inc. Method and system for allowing access to developed applications via a multi-tenant on-demand database service
US20080270974A1 (en) * 2007-04-30 2008-10-30 Krasimir Topchiyski Enterprise JavaBeans Metadata Model
US7904818B2 (en) * 2007-10-15 2011-03-08 International Business Machines Corporation Summarizing portlet usage captured responsive to trigger events in a portal page
US8191002B2 (en) * 2007-10-15 2012-05-29 International Business Machines Corporation Summarizing portlet usage in a portal page
US7984456B2 (en) * 2007-11-23 2011-07-19 Ketera Technologies Inc. Interceptor framework using java dynamic proxies
US8527965B2 (en) * 2008-04-14 2013-09-03 Oracle America, Inc. Layered static program analysis framework for software testing
US20100017385A1 (en) 2008-07-16 2010-01-21 International Business Machines Creating and managing reference elements of deployable web archive files
CN101686245B (en) * 2008-09-28 2014-06-11 国际商业机器公司 Method and system for isolating hypertext transfer protocol session
US20100131710A1 (en) * 2008-11-24 2010-05-27 Sap Portals Israel Ltd Method and apparatus for sharing content between portals
US8479161B2 (en) * 2009-03-18 2013-07-02 Oracle International Corporation System and method for performing software due diligence using a binary scan engine and parallel pattern matching
US8949421B2 (en) * 2009-07-29 2015-02-03 Teradata Us, Inc. Techniques for discovering database connectivity leaks
US8495048B2 (en) * 2009-08-26 2013-07-23 International Business Machines Applying user-generated deployment events to a grouping of deployable portlets
US8782676B2 (en) * 2009-09-30 2014-07-15 Sap Ag System and method for communication between portal applications and portlet containers
US8078922B2 (en) * 2009-09-30 2011-12-13 Sap Ag Internal server error analysis
US8527992B2 (en) * 2009-09-30 2013-09-03 Sap Ag HTTP request preservation
US20110106835A1 (en) * 2009-10-29 2011-05-05 International Business Machines Corporation User-Defined Profile Tags, Rules, and Recommendations for Portal
US8707263B2 (en) * 2010-04-19 2014-04-22 Microsoft Corporation Using a DSL for calling APIS to test software
US9374437B2 (en) * 2010-12-30 2016-06-21 Sap Se Schema validation proxy
US20120239739A1 (en) * 2011-02-09 2012-09-20 Gaurav Manglik Apparatus, systems and methods for dynamic adaptive metrics based application deployment on distributed infrastructures
US8903702B2 (en) 2011-08-31 2014-12-02 International Business Machines Corporation Generating specifications for expression language expressions and tag libraries
US8949774B2 (en) 2011-09-06 2015-02-03 Microsoft Corporation Generated object model for test automation
US8752012B2 (en) * 2011-09-19 2014-06-10 Nec Corporation Process evaluation device, program and method
US8843889B2 (en) * 2012-04-04 2014-09-23 International Business Machines Corporation Managing application template artifacts in a networked computing environment
GB2503920A (en) 2012-07-12 2014-01-15 Ibm Using a tag to identify the application context for a program object
WO2014021872A1 (en) * 2012-07-31 2014-02-06 Hewlett-Packard Development Company, L.P. Constructing test-centric model of application
KR20150043295A (en) * 2012-08-15 2015-04-22 소니 주식회사 Broadband delivery of personalization information for advanced tv services
CN103164273A (en) * 2012-09-06 2013-06-19 佳都新太科技股份有限公司 Method for changing synchronous service call to asynchronous parallel call with self-expanding choking algorithm
US20140229619A1 (en) * 2013-02-11 2014-08-14 Liferay, Inc. Resilient Portals Through Sandboxing
US9092292B2 (en) 2013-05-16 2015-07-28 Sap Se Shared application binary storage
US9965380B2 (en) * 2013-10-02 2018-05-08 International Business Machines Corporation Automated test runs in an integrated development environment system and method
US9792203B2 (en) 2013-11-14 2017-10-17 Sap Se Isolated testing of distributed development projects
US9934216B2 (en) * 2014-03-24 2018-04-03 Ca, Inc. Schema validation for metadata builder
US9501556B2 (en) 2014-03-24 2016-11-22 Ca, Inc. Importing metadata into metadata builder
US10013430B2 (en) * 2014-08-18 2018-07-03 Vmware, Inc. Remotely stored application files
US10110683B2 (en) * 2015-08-11 2018-10-23 Unisys Corporation Systems and methods for maintaining ownership of and avoiding orphaning of communication sessions
US9569335B1 (en) * 2015-10-07 2017-02-14 Sap Se Exploiting software compiler outputs for release-independent remote code vulnerability analysis
US9838505B2 (en) * 2015-12-11 2017-12-05 Sap Se Application based context pooling
US9870314B1 (en) * 2016-12-12 2018-01-16 Red Hat, Inc. Update testing by build introspection
US20180293160A1 (en) * 2017-04-11 2018-10-11 Semmle Limited Comparing software projects having been analyzed using different criteria

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039728A1 (en) * 2002-08-23 2004-02-26 Diring Software Method and system for monitoring distributed systems
US6745208B2 (en) * 2001-05-31 2004-06-01 International Business Machines Corporation Method and apparatus for synchronizing an XML document with its object model
US20040111702A1 (en) * 2002-12-10 2004-06-10 Chan Kin Ming Method and apparatus for visual programming
US20060143223A1 (en) * 2004-12-27 2006-06-29 Viktoriya Ivanova System and method for common object/relational mapping
US20070118551A1 (en) * 2005-11-23 2007-05-24 International Business Machines Corporation Semantic business model management
US7260819B2 (en) * 2002-02-22 2007-08-21 Bea Systems, Inc. System and method for software application scoping
US7302609B2 (en) * 2003-03-12 2007-11-27 Vladimir Matena Method and apparatus for executing applications on a distributed computer system

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584507B1 (en) * 1999-03-02 2003-06-24 Cisco Technology, Inc. Linking external applications to a network management system
US6704806B1 (en) * 1999-05-27 2004-03-09 Computer Associates Think, Inc. Method and device for monitoring the creation and destruction of child processes within an application executing in a computer system
US6684387B1 (en) * 1999-09-23 2004-01-27 International Business Machines Corporation Method and apparatus for verifying Enterprise Java Beans
FR2800183B1 (en) * 1999-10-26 2002-02-22 Bull Sa System and component persistence management PROCESS ejb in a directory accede by ldap
US6976061B1 (en) * 2000-05-24 2005-12-13 Sun Microsystems, Inc. Resource adapter and XML descriptor for use in a client server environment utilizing an enterprise information system
US7089584B1 (en) * 2000-05-24 2006-08-08 Sun Microsystems, Inc. Security architecture for integration of enterprise information system with J2EE platform
US6721777B1 (en) * 2000-05-24 2004-04-13 Sun Microsystems, Inc. Modular and portable deployment of a resource adapter in an application server
GB0017336D0 (en) * 2000-07-15 2000-08-30 Ibm Preferable modes of software package deployment
US7065568B2 (en) * 2000-11-30 2006-06-20 Microsoft Corporation System and method for managing states and user context over stateless protocols
US20020112201A1 (en) * 2000-12-04 2002-08-15 Flanagan Cormac Andrias Method and apparatus for automatically inferring annotations for an extended static checker
US7246351B2 (en) * 2001-02-20 2007-07-17 Jargon Software System and method for deploying and implementing software applications over a distributed network
US7502833B2 (en) * 2001-05-11 2009-03-10 International Business Machines Corporation Method for dynamically integrating remote portlets into portals
US7080119B2 (en) * 2001-07-17 2006-07-18 Bea Systems, Inc. System and method for transaction processing with delegated commit feature
US8473922B2 (en) * 2001-09-19 2013-06-25 Hewlett-Packard Development Company, L.P. Runtime monitoring in component-based systems
US6886041B2 (en) * 2001-10-05 2005-04-26 Bea Systems, Inc. System for application server messaging with multiple dispatch pools
US20030182550A1 (en) * 2002-02-21 2003-09-25 Michael Chen System and method for dynamic activation of enterprise Java beans
US7769825B2 (en) * 2002-02-22 2010-08-03 Bea Systems, Inc. System and method for web services Java API-based invocation
EP1361509B1 (en) * 2002-05-08 2013-07-10 Sap Ag Software delivery manager
US7506342B2 (en) * 2002-07-23 2009-03-17 Bea Systems, Inc. System and method for implementing J2EE connector architecture
US7698434B2 (en) * 2002-08-29 2010-04-13 Bea Systems, Inc. J2EE connector architecture
US7395526B2 (en) * 2002-12-23 2008-07-01 Sun Microsystems, Inc. Method and system for managing application server lifecycle
US7444620B2 (en) * 2003-02-28 2008-10-28 Bea Systems, Inc. Systems and methods for a common runtime container framework
US7069553B2 (en) * 2003-03-03 2006-06-27 Computer Associates Think, Inc. Universal deployment tool
US20050009467A1 (en) * 2003-07-11 2005-01-13 Nuber Raymond Mark System and method for satellite communication with a hybrid payload and DAMA support
US7340726B1 (en) * 2003-08-08 2008-03-04 Coverity, Inc. Systems and methods for performing static analysis on source code
US20050091535A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
CA2449534A1 (en) * 2003-11-14 2005-05-14 Ibm Canada Limited - Ibm Canada Limitee On-demand software module deployment
US7707572B2 (en) * 2004-05-19 2010-04-27 Bea Systems, Inc. System and method for application container architecture
US7343379B2 (en) * 2004-05-21 2008-03-11 Bea Systems, Inc. System and method for controls
US7627671B1 (en) * 2004-05-22 2009-12-01 ClearApp, Inc. Monitoring and performance management of component-based applications
US20050267918A1 (en) * 2004-05-28 2005-12-01 Gatev Andrei A System and method for bundling deployment descriptor files within an enterprise archive for fast reliable resource setup at deployment time
US7562342B2 (en) * 2004-12-02 2009-07-14 International Business Machines Corporation Method and apparatus for incrementally processing program annotations
US7536409B2 (en) * 2005-02-15 2009-05-19 International Business Machines Corporation Having a single set of object relational mappings across different instances of the same schemas
GB0507801D0 (en) * 2005-04-19 2005-05-25 Ibm A system for processing a request to a portlet
US8413134B2 (en) * 2005-05-10 2013-04-02 International Business Machines Corporation Method, system and computer program for installing software products based on package introspection
CN100580670C (en) * 2005-06-03 2010-01-13 国际商业机器公司 Method and computer system for content recovery due to user triggering
US7711551B2 (en) * 2005-06-13 2010-05-04 Microsoft Corporation Static analysis to identify defects in grammars
US7840944B2 (en) * 2005-06-30 2010-11-23 Sap Ag Analytical regression testing on a software build
US7707552B2 (en) * 2005-10-17 2010-04-27 International Business Machines Corporation Method and system for autonomically prioritizing software defects
US8001477B2 (en) * 2005-11-11 2011-08-16 International Business Machines Corporation Method for exchanging portlet configuration data
US8209690B2 (en) * 2006-01-19 2012-06-26 University Of Maryland System and method for thread handling in multithreaded parallel computing of nested threads
US7853882B2 (en) * 2006-04-11 2010-12-14 International Business Machines Corporation Portlets having different portlet specific enablement states
US20070245013A1 (en) * 2006-04-13 2007-10-18 Fischer International Identity Llc Cross domain provisioning methodology and apparatus
US20070294371A1 (en) * 2006-06-15 2007-12-20 Petri John E Method for determining input focus for web pages having aggregated content
US8214811B2 (en) * 2006-10-23 2012-07-03 International Business Machines Corporation Instantiating an interface or abstract class in application code
US20080270974A1 (en) * 2007-04-30 2008-10-30 Krasimir Topchiyski Enterprise JavaBeans Metadata Model

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6745208B2 (en) * 2001-05-31 2004-06-01 International Business Machines Corporation Method and apparatus for synchronizing an XML document with its object model
US7260819B2 (en) * 2002-02-22 2007-08-21 Bea Systems, Inc. System and method for software application scoping
US20040039728A1 (en) * 2002-08-23 2004-02-26 Diring Software Method and system for monitoring distributed systems
US20040111702A1 (en) * 2002-12-10 2004-06-10 Chan Kin Ming Method and apparatus for visual programming
US7302609B2 (en) * 2003-03-12 2007-11-27 Vladimir Matena Method and apparatus for executing applications on a distributed computer system
US20060143223A1 (en) * 2004-12-27 2006-06-29 Viktoriya Ivanova System and method for common object/relational mapping
US20070118551A1 (en) * 2005-11-23 2007-05-24 International Business Machines Corporation Semantic business model management
US7761478B2 (en) * 2005-11-23 2010-07-20 International Business Machines Corporation Semantic business model management

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161930A1 (en) * 2009-12-31 2011-06-30 International Business Machines Corporation Melding of mediation flow service component architecture (sca) components
US8650540B2 (en) * 2009-12-31 2014-02-11 International Business Machines Corporation Melding of mediation flow service component architecture (SCA) components
US20120254834A1 (en) * 2009-12-31 2012-10-04 International Business Machines Corporation Melding of mediation flow service component architecture (sca) components
US8640095B2 (en) * 2009-12-31 2014-01-28 International Business Machines Corporation Melding of mediation flow service component architecture (SCA) components
US20120303469A1 (en) * 2010-03-30 2012-11-29 Diy Media, Inc. System and method for content management and distribution
US20110246294A1 (en) * 2010-03-30 2011-10-06 Beet, Inc. System and method for content management and distribution
US20130019224A1 (en) * 2011-07-11 2013-01-17 Honeywell International Inc. Systems and methods for verifying model equivalence
US9063672B2 (en) * 2011-07-11 2015-06-23 Honeywell International Inc. Systems and methods for verifying model equivalence
US8539439B2 (en) * 2011-10-13 2013-09-17 Microsoft Corporation Asynchronous programming model mapping
US8856745B2 (en) 2012-08-01 2014-10-07 Oracle International Corporation System and method for using a shared standard expectation computation library to implement compliance tests with annotation based standard
US9916155B2 (en) * 2015-12-01 2018-03-13 International Business Machines Corporation Projects browser for development environments

Also Published As

Publication number Publication date Type
US8082508B2 (en) 2011-12-20 grant
US20080270617A1 (en) 2008-10-30 application
US20080271044A1 (en) 2008-10-30 application
US8261272B2 (en) 2012-09-04 grant
US20080270924A1 (en) 2008-10-30 application
US9065843B2 (en) 2015-06-23 grant
US20080270992A1 (en) 2008-10-30 application
US20080270600A1 (en) 2008-10-30 application
US7962612B2 (en) 2011-06-14 grant
US20080270986A1 (en) 2008-10-30 application
US8510717B2 (en) 2013-08-13 grant

Similar Documents

Publication Publication Date Title
Thomas et al. Programming Ruby: the pragmatic programmers' guide
Roman et al. Mastering enterprise javabeans
US6718516B1 (en) Method for verifying context between multiple related XML tags in document object model (DOM)
US6178546B1 (en) System and method of making software product deliverables
Armstrong et al. The J2EE 1.4 tutorial
US7890543B2 (en) Architecture for distributed computing system and automated design, deployment, and management of distributed applications
Dig et al. How do APIs evolve? A story of refactoring
Ponnekanti et al. Interoperability among independently evolving web services
Hopkins Component primer
US6836883B1 (en) Method and system for compiling multiple languages
US7437712B1 (en) Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved
US7206827B2 (en) Dynamic administration framework for server systems
Richter Applied Microsoft. NET framework programming
US20040015870A1 (en) System and method for combinatorial test generation in a compatibility testing environment
US20050216885A1 (en) Attribute-Based Component Programming System and Methodology for Object-Oriented Languages
US20040205179A1 (en) Integrating design, deployment, and management phases for systems
US20080059504A1 (en) Method and system for rendering graphical user interface
US7412497B2 (en) Generation of Administration framework for server systems
US20030097650A1 (en) Method and apparatus for testing software
US6654953B1 (en) Extending program languages with source-program attribute tags
US20100077380A1 (en) Framework for automatically merging customizations to structured code that has been refactored
US20050065953A1 (en) System and method for changing defined elements in a previously compiled program using a description file
US20060064667A1 (en) System and method of model-driven development using a transformation model
US20090064196A1 (en) Model based device driver code generation
US7318215B1 (en) Stored procedure interface language and tools

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAP AG, GERMANY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TOPCHIYSKI, KRASIMIR;IVANOVA, ALEXANDRINA;SABEV, HRISTO;AND OTHERS;REEL/FRAME:020549/0944;SIGNING DATES FROM 20071218 TO 20080108

AS Assignment

Owner name: SAP SE, GERMANY

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

Effective date: 20140707