US7448024B2 - System and method for software application development in a portal environment - Google Patents

System and method for software application development in a portal environment Download PDF

Info

Publication number
US7448024B2
US7448024B2 US10/733,989 US73398903A US7448024B2 US 7448024 B2 US7448024 B2 US 7448024B2 US 73398903 A US73398903 A US 73398903A US 7448024 B2 US7448024 B2 US 7448024B2
Authority
US
United States
Prior art keywords
webflow
design
application
time environment
portal
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
US10/733,989
Other versions
US20060206856A1 (en
Inventor
Timothy Breeden
Doug Dew
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.)
Oracle International Corp
Original Assignee
BEA Systems Inc
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 BEA Systems Inc filed Critical BEA Systems Inc
Priority to US10/733,989 priority Critical patent/US7448024B2/en
Priority to AU2003297864A priority patent/AU2003297864A1/en
Priority to PCT/US2003/039380 priority patent/WO2004055633A2/en
Assigned to BEA SYSTEMS, INC. reassignment BEA SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BREEDEN, TIMOTHY
Publication of US20060206856A1 publication Critical patent/US20060206856A1/en
Application granted granted Critical
Publication of US7448024B2 publication Critical patent/US7448024B2/en
Assigned to ORACLE INTERNATIONAL CORPORATION reassignment ORACLE INTERNATIONAL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEA SYSTEMS, INC.
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

Definitions

  • the invention relates generally to software application development, and particularly to a system and method for application development in a Web portal environment.
  • JSP Java Server Page
  • An embodiment of the invention provides both a design-time and runtime system that makes it easy for developers of varying levels of expertise to build enterprise applications with dynamic user interfaces, and then to deploy those applications on enterprise application platforms, for example on a portal product such as BEA's WebLogic Server Portal.
  • the system provides a framework that allows for building dynamic web pages which connect to data sources and web services on the back-end, and which may be integrated into a portal on the front end. Additional embodiments extend the functionality of the system to accommodate both heterogeneous and disconnected clients, and to more tightly integrate the framework with existing content management and portal platforms.
  • FIG. 1 shows an architectural overview of the principal design-time and runtime components of an embodiment of the present invention.
  • FIG. 2 illustrates a design/compile-time environment in accordance with an embodiment of the invention.
  • FIG. 3 illustrates a runtime environment in accordance with an embodiment of the invention.
  • FIG. 4 illustrates a flowchart of an application development process in accordance with an embodiment of the invention.
  • An embodiment of the invention provides both a design-time and runtime system that makes it easy for developers of varying levels of expertise to build enterprise applications with dynamic user interfaces, and then to deploy those applications on enterprise application platforms, for example on a portal product such as BEA's WebLogic Server Portal.
  • the system provides a framework that allows for building dynamic web pages which connect to data sources and web services on the back-end, and which may be integrated into a portal on the front end. Additional embodiments extend the functionality of the system to accommodate both heterogeneous and disconnected clients, and to more tightly integrate the framework with existing content management and portal platforms.
  • an embodiment of the present invention provides an application development system that assists in the developing, debugging, testing, deploying, and running of web applications.
  • the features of this application development system include:
  • a model for server-side controls that in turn provides a simple model for constructing and re-using presentation and application logic for web applications
  • Embodiments of the invention can be used to provide the same integrated development environment (IDE), framework, and model, for building the application user interface (UI) as is also used for building the server-side resources such as web services. This helps unify development models across the various tiers of a complex application; and,
  • a model for creating complete web applications not just web pages.
  • the system may utilize such features as webflow technology to provide an overall framework for how developers should think about building their web pages and applications.
  • the overall effect of these features is to provide a system that allows developers to build web applications for use on an application server, and particularly for use in a portal environment, much faster than with the traditional JSP style of development.
  • the use of the present invention results in a significant increase in the developers productivity, including allowing for one-click integration of portal applications and other applications.
  • Web pages that participate in business processes may be easily deployed and integrated into the portal framework.
  • an embodiment of the present invention provides a framework for next-generation User Interface (UI) development, which can be tightly integrated with other development products such as BEA's WebLogic Workshop, includes extensibility for controls, and provides a model and architecture that can be extended over time to support additional types of clients, such as J2ME and Flash clients.
  • UI User Interface
  • FIG. 1 shows an architectural overview of the principal design-time and runtime components of one embodiment of the present invention.
  • the design/compile time environment 102 (hereafter simply referred to as design-time environment) is provided to the developer as an integrated development environment (IDE) 100 .
  • the IDE includes design-time components, for example a Java Server Page (JSP) Design/Source Editor 104 , and a Webflow Design/Source Editor 108 .
  • JSP Design/Source Editor is used to edit and create JSP pages prior to deployment, while the Webflow Design/Source Editor 108 is used to edit the Webflow that will eventually determine the logical flow of the application once it's deployed.
  • the runtime environment 202 exists or executes upon or as part of an application server or a comparable server, such as for example the WebLogic Server Portal product from BEA Systems, Inc.
  • the runtime components include a Control Container and Lifecycle Driver 204 and a Control Factory 206 , which together are used to determine the actual look-and-feel of the application interface.
  • An Application Flow and State Management component 208 uses the previously created webflow information to determine the current state and logical flow of the application as it is being used. Since the design-time and runtime environments are provided as part of a single framework, the developer can easily move or switch (as indicated by the bidirectional arrow) 210 from one environment to the next, and back again, to quickly update and deploy portal applications.
  • FIG. 2 illustrates a design-time environment 102 in accordance with an embodiment of the invention.
  • the design-time environment 102 allows a portal application developer to develop JSP-based portal applications using a collection of easy-to-use design and source editors.
  • a JSP design and source editor 104 can be used by the developer to create and edit the Java Server Page source code for a JSP-based portal application page, (as indicated by its JSP design view 107 ). Support for additional or third-party JSP compilers 106 may also be included.
  • a webflow design and source editor 108 allows the developer to edit the webflow file or similar logical properties underlying the application (also indicated by its JSP design view 109 ). Support for additional webflow compilers 110 may similarly be included.
  • a visual test and debug component or module 112 is included, which allows the developer to visually test and debug their portal application prior to launching it as an active portal.
  • the design-time environment also includes, in some embodiments, a multi-language compiler 114 , to provide support for multiple languages, document type extension support 116 , and test harnesses and views 118 (where desired). Additional components or modules 120 can be incorporated as necessary to provide additional functionality.
  • the JSP design and source editor 104 includes a visual editor.
  • the visual editor provides the graphical design surface that is used by the application developer to design their web pages. From the developer's point of view the visual editor provides the face of the development system from a page perspective, not from a site perspective. Palettes of available controls can be provided and can be placed by the developer onto a page via a drag-and-drop mechanism. The application developer may access such controls from a visual perspective, and a close-to-WYSIWYG (what you see is what you get) design surface is ultimately rendered.
  • the application developer is at all times able to switch to a source view of the JSPX page from the design surface of the JSP visual editor.
  • the JSPX source code or source file contains references to controls whose appearance is much like a tag library instance.
  • the application developer can also access a backing .java file, which defines the logic found in the page, and which may or may not be separate from the JSPX source file.
  • the .java file typically contains event processing code corresponding to User Interface (UI) control events, and assists in separating the presentation logic from the business logic.
  • UI User Interface
  • the webflow design and source editors 108 include a set of Application Flow and State Management editors.
  • Application Flow and State Management editors provide the backbone of actual web site editing, beyond the page design offered by the JSP visual and source editors described above.
  • the Application Flow visual editor provides a visual snapshot of the site flow, and any site processing that dictates flow decisions. Similar to a flowchart, the Application Flow visual editor provides a mechanism by which the application developer can specify the site flow through a series of pages, page groups, flows, and subflows.
  • the application developer has access to the webflow (.wfl) source file editor from within the Application Flow visual editor. Any editing done in either the visual or source Application Flow tools is automatically reflected in the other as the developer designs and tests their site flow.
  • the WebFlow represents each page in a given WebFlow, the transitions between the pages, and the interactions of the pages with server-side components.
  • the primary purposes of the WebFlow designer are:
  • a WebFlow Designer tool which provides a graphical representation of a WebFlow file.
  • a primary goal of the WebFlow designer is simplicity, clarity, and seamless integration with the web page design views. This accords with the notion that it's more important that the model presented by the designer work correctly than it merely appear nice.
  • the WebFlow Designer is closely integrated with a facility for writing the code for the transitions between pages.
  • a webflow Source View editor is included which allows the developer to edit the source file that actually describes the WebFlow of the application.
  • the editing experience of this file is similar to that of editing .jws files—together with common code-editing features such as code complete, syntax color highlighting, squiggling underlining, debugging (with the ability to set breakpoints), etc.
  • the Source View Editor (and the file itself) is designed to be something that the developer is comfortable editing, with the possible assistance of the WebFlow designer.
  • the Source View also interacts seamlessly with the Design View, so that any action the user can take in the design view is also “doable” in the source view.
  • Embodiments of the invention include a means to render within the IDE a “design view” of .JSP, .JSPX, and .HTML pages.
  • the goal of the design view is not fidelity of representation, but rather providing a reasonable approximation of the overall layout of a page so that the developer can make basic formatting (but not necessarily graphic design) decisions.
  • the design view renders both embedded controls and standard HTML, and includes a palette of controls that are used by dragging and dropping onto the design surface.
  • the design view also contains properties for each instance of a control on the design surface, as well as properties for the overall page.
  • a means is provided for navigating between the design view of a page and the design view of a webflow that contains the page, together with basic editing features such as undo/redo, cut/copy/past, print, etc.
  • Embodiments of the invention include a file editor, with which the developer is also able to edit .JSP, .JSPX JSPX, and HTML files in “source view”.
  • the JSP editor enables developers to write, debug, and test standard JSP pages and custom tag libraries.
  • the .JSPX editor provides all the support for tags that a developer might expect: including syntax color highlighting, squiggly underlining, prompting for mandatory tag attributes, validation of tag attributes, etc., and also provides the ability for customers to easily write HTML in the IDE. HTML tags can be automatically recognized, or highlighted, etc.
  • Embodiments of the invention allow page properties to be set from either the Page editor (when no control is selected, the page properties are displayed), or from WebFlow (when a page is selected, its properties are displayed).
  • Page properties are likely to include values such as: the Page Title; the use of Caching—i.e. programmatically determine how and for how long a web page is cached on the server; Default styles; Input parameters, and output values; Security—i.e. who is entitled to view the page; and, how the page state is persisted (i.e., server side vs. client side).
  • Embodiments of the invention allow backing files to be debugged using a Java debugger.
  • a developer may also choose to debug through a given WebFlow so that they can, for example, set a breakpoint in the transition from one page to another, or within a backing file. Developers can set these webflow breakpoints using a code view of the WebFlow file, or from the graphic design-view of the webflow.
  • controls can be used within the source and page editors to embed functionality within the application page or portal.
  • the following section lists some controls that can be used with the invention to allow the developer to create complex web and portal applications in a quick and easy manner.
  • controls can be divided into two categories—“Presentation Controls”, and “Business Controls”.
  • Presentation Controls are generally directly translatable into HTML.
  • the following presentation controls are example of those that may be provided:
  • Business Controls provide a standard Java interface to resources such as EJBs, web services, SQL commands that are to be executed against a database, etc. Developers can then consume business controls in two ways: either by writing Java code and WebFlows that interact with these controls; or by binding page controls (such as tables and forms) to business controls.
  • FIG. 3 shows a run-time environment in accordance with an embodiment of the invention.
  • the run-time environment 202 allows a portal application developer to quickly deploy JSP-based portal applications previously created in the design-time environment 102 .
  • the run-time environment includes a Control Container and Lifecycle driver 204 , which together with the control factory 206 is used to provide the presentation and business controls on the portal application.
  • An application flow and state management 208 is used to control the logic of the portal application.
  • the run-time environment also includes support for accessing EJB containers 210 , servlet containers 212 , and Web applications 214 .
  • the control container 204 uses a factory for control creation, and subsequently drives control lifecycles during application request handling. In one embodiment this lifecycle control is accomplished by the control container using wire-up code generation via JSP-compilation (JSPC) modification, in concert with the generated _jspService( ) method of the (JSP) servlet.
  • JSP-compilation JSP-compilation
  • Other models may be supported, including those specified in the Java Standards Requirement JSR- 127 standards document, incorporated herein by reference.
  • the controls that live within the container may span such categories as HTML controls, HTML forms controls, data-bound controls, and “rich” controls (for example smart forms/smart tables).
  • IDE's created in accordance with the present invention provide features beyond simple ASP or .NET style products by offering instead a site-centric approach to web page and web application design.
  • Proper application state management 208 from page to page is the inherent responsibility of the Application Flow engine.
  • a WebFlow infrastructure is used to support and form the backbone of the system.
  • Such WebFlow infrastructures can be provided by e-commerce products such as the Personalization Server product from BEA Systems, Inc.
  • Application Flow and State Management is guided by a file format (.wfl) which exploits annotations that declare possible destinations of a flow transition, according to flow processing.
  • the .wfe file format dictates what state is shared between which pages, and between which page groups.
  • FIG. 4 illustrates a flowchart of an application development process in accordance with an embodiment of the invention.
  • the process includes Design time and Runtime steps.
  • the application developer uses the JSP (Java Server Page) Design Editor to create or update a JSP page, together with embedded controls where desired.
  • the application developer uses the Webflow Design Editor to create a webflow and store the webflow as a webflow file (or in some other manner depending on the specific system implementation).
  • the developer may, in step 254 , perform a visual test or debug of the application. If everything is satisfactory the application is deployed to the server, in step 256 .
  • step 258 the application or portal server populates the Control Container with any needed business and presentation controls from the Control Factory.
  • the application is then displayed or executed, in step 260 , together with any applicable controls.
  • step 262 the system continuously determines the current state of the application, parses the webflow to determine the application logical flow, and then automatically updates the display to the user.
  • the software developers who may benefit most from the development system of the present invention include those who do the “bread and butter” of enterprise UI development today. These developers may currently use products and technologies such as VisualBasic, Swing, or Powerbuilder for thick client UI development, or they may use products such as ColdFusion, .ASP, CGI, or .JSP for web development.
  • This class of software developers have a few things in common: They are essentially procedural developers, and they are comfortable writing code, very often script, but they are not as comfortable with heavy-duty Java or C++. Such developers have no problem understanding what objects are, and are familiar with consuming objects, but they are less likely to design objects or EJBs themselves. In short, the target developer is typically one that prefers simplicity to complexity.
  • JDBC and JNDI represent barriers to J2EE that these developers don't want to have to surmount.
  • These developers utilize an iterative development cycle, and typically want to very quickly iterate between the process of constructing their code and testing it out.
  • the development framework must enable them to very rapidly write code and then debug or test it.
  • the invention also addresses the needs of those developers who may not be particularly skilled graphic designers. These target developers are those who focus on writing the application logic and presentation logic for web applications. For them, the look and feel won't be as important in these instances (e.g. for developing an intranet expense reporting system), and a graphic designer may not be involved at all. In other instances the web developers will work closely with a graphic designer who might be using a graphical development product such as Macromedia's Dreamweaver.
  • Analysts work with customers (internal and/or external) to understand and document the business requirements of the application to be built, and engineers to determine what is possible and what is not. They write the functional specifications for the application, and they also participate in defining what the screens should look like, writing content for the pages, reviewing prototypes, and testing.
  • Graphic designers take the functional specifications and work with the web developers, customers, and analysts to understand what the screens should look like. They are primarily interested in aspects such as branding, look and feel, usability, and basic design principles. They deliver complete screen mock-ups of what the page should look like, and may have some basic HTML experience, which they might use in performing the mock-ups, but will typically never write script or other code.
  • Web developers take the design and the functional specification and write the front-end of the application. In small projects they may do most of the design work; while in large projects they may do no design work at all. This includes the HTML, client-side script, server-side script for generating dynamic web pages, in addition to any code for integrating with databases or back-end systems. They work with the analysts and the designers to iterate through designs until the overall design is complete and work with the systems engineers and database administrators (DBAs) to understand how to interface to back-end systems.
  • DBAs database administrators
  • Integration/applications developer These engineers have similar skills to a web developer, but they are focused on integration with systems, and very often with packaged applications. For example, the application developer might use SAP's ABAP interface to design interfaces for the web developer to then call into a SAP system, they may design workflows (with data transformations) using a Business Process Management (BPM) tool, etc. Or they might use the development system to build web services.
  • BPM Business Process Management
  • the web developer typically must work with the integration engineer to understand how to get at the data he/she needs.
  • Systems engineers These engineers build the middle-tier logic and communications infrastructure, such as applications that expose legacy systems, or that implement the application security architecture, etc.
  • System engineers typically design a lot of the business objects that the web developer ends up consuming. They may also review the design work done by the rest of the team.
  • Database Administrators/Developers There are two types of Database Administrators (DBA): those who primarily just manage the DB (perform back-ups, own security rights, etc.) and those who also design and approve schema changes, write stored procedures, triggers, etc. Depending on the project, the web developer or systems engineer may ask the DBA to run a script which they have created, or they request the DBA do the design work and implementation themselves. In the case of large projects and/or mission-critical databases, the DBA will have a lot of authority and will act as a gatekeeper, reviewing any and all changes to the DB schema and code.
  • DBA Database Administrators/Developers
  • the present invention assists in the application development process by providing a development system that can be used by all developers, and particularly by those target developers described above, to build applications for deployment throughout the enterprise, on the web, and at a portal.
  • Enterprise web applications share a number of common development problems:
  • Web forms may be bound to a web service, an “activity” in BPM, or a stateless session bean. It is possible to use the development system provided by an embodiment of the invention to create a form that invokes a web service or stateless session bean.
  • the call is synchronous, the resulting response can be easily represented in the return page.
  • the return (or callback) values may stored in a server-side object.
  • a Web form may also be bound to a data object.
  • the system can be used to create a form that performs a query or update on a database object.
  • Basic data validation of the form input can be performed on a field-by-field basis, for example by setting properties on the controls that make up the form (e.g. text box, radio buttons, etc.) Validation is done in the context of the entire form (e.g. one radio button choice may not be valid for a certain range in a given text box).
  • a Web table may be bound to a data object.
  • the system can be used to create tables that then are used to represent result sets from a database query performed at runtime.
  • Conditional or dynamic pages may be generated based on server-side state.
  • pages will be displayed conditionally or dynamically based up on either a) the values submitted by the user via a form, b) the link clicked by the user, c) the state of a server-side object or service, or d) the availability of a resource.
  • Developers can describe how various pages are related to one another. This gives them a framework for describing and managing their overall application. The following example illustrates the distinction between conditional generation and dynamic generation:
  • the present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure.
  • Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art.
  • the present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the present invention.
  • the storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.

Abstract

A design/compile-time, and runtime software development system that allows developers of varying levels of expertise to build enterprise applications with dynamic user interfaces. The system allows for building dynamic web pages which connect to data sources on the back-end, and which may be integrated into a portal on the front end. In one embodiment the system comprises an IDE having a design-time environment that allows the design of a portal application, said design-time environment including a Java Server Page design editor component, and a webflow design editor component; a run-time environment for execution on a server and that runs said portal application, said run-time environment including a control container and lifecycle driver component, a control factory component, and an application flow and state management component; wherein the system can be switched from the design-time environment to the run-time environment, to automatically effectuate changes from one environment to the other.

Description

CLAIM OF PRIORITY
This application claims the benefit of U.S. Provisional Application “SYSTEM AND METHOD FOR SOFTWARE APPLICATION DEVELOPMENT IN A PORTAL ENVIRONMENT”, Ser. No. 60/432,749; filed Dec. 12, 2002, and incorporated herein by reference.
COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
FIELD OF THE INVENTION
The invention relates generally to software application development, and particularly to a system and method for application development in a Web portal environment.
BACKGROUND
The development of software applications is an important activity of most modern technology companies, particularly those that are involved with e-commerce. However, while much attention has been given to software development suites that allow for the development of the underlying software application logic, less attention has been given to creating development suites that can be used to generate a complete software application user interface. This is particularly relevant in the portal application arena (including for example web portals, Internet portals, enterprise portals, etc.), since a portal is designed to provide a wide variety of applications in a graphically rich yet consistent environment.
Common complaints about traditional development suite offerings include that the widely-used Java Server Page (JSP) programming language is by itself too difficult for software developers to use in developing portal applications. These users (i.e., software developers and the companies who use these development suites) report that they spend too much time, money, and expertise building web applications. They would like to be able to have developers who are not Java experts to be able to productively build web pages.
Another common complaint is that “Net” style applications are changing the world: including the rise of instant messaging (IM), web services, and pervasive computing, etc. The twin innovations of heterogeneous client devices (including, for example, browsers on PCs; and other types of client software such as Java 2 Micro Edition (J2ME)), and service-oriented architectures, create both an opportunity and a threat to today's current application server vendors in that the prototypical applications that people build are changing fundamentally. If those vendors don't respond to these demands then they will be exposed to other vendors who are more agile. Current technologies, such as Microsoft's .NET framework contain an application development environment for building dynamic web pages using Application Server Pages (ASP), and market research indicates a development suite IDE offering is incomplete without a User Interface (UI) component. However, to date none of the Java-based application server providers have developed a system that caters to this category of developers and provides them with an easy yet powerful means for creating web and portal applications.
SUMMARY
An embodiment of the invention provides both a design-time and runtime system that makes it easy for developers of varying levels of expertise to build enterprise applications with dynamic user interfaces, and then to deploy those applications on enterprise application platforms, for example on a portal product such as BEA's WebLogic Server Portal. As described herein, the system provides a framework that allows for building dynamic web pages which connect to data sources and web services on the back-end, and which may be integrated into a portal on the front end. Additional embodiments extend the functionality of the system to accommodate both heterogeneous and disconnected clients, and to more tightly integrate the framework with existing content management and portal platforms.
BRIEF DESCRIPTION OF THE FIGURES
FIG. 1 shows an architectural overview of the principal design-time and runtime components of an embodiment of the present invention.
FIG. 2 illustrates a design/compile-time environment in accordance with an embodiment of the invention.
FIG. 3 illustrates a runtime environment in accordance with an embodiment of the invention.
FIG. 4 illustrates a flowchart of an application development process in accordance with an embodiment of the invention.
DETAILED DESCRIPTION
An embodiment of the invention provides both a design-time and runtime system that makes it easy for developers of varying levels of expertise to build enterprise applications with dynamic user interfaces, and then to deploy those applications on enterprise application platforms, for example on a portal product such as BEA's WebLogic Server Portal. As described herein, the system provides a framework that allows for building dynamic web pages which connect to data sources and web services on the back-end, and which may be integrated into a portal on the front end. Additional embodiments extend the functionality of the system to accommodate both heterogeneous and disconnected clients, and to more tightly integrate the framework with existing content management and portal platforms.
More particularly, an embodiment of the present invention provides an application development system that assists in the developing, debugging, testing, deploying, and running of web applications. The features of this application development system include:
A model for server-side controls that in turn provides a simple model for constructing and re-using presentation and application logic for web applications;
Separation of the presentation logic from the application and business logic, thereby focusing development more specifically on the different users involved (for example web designers, web developers, and J2EE developers);
A common programming model to be used for all development tasks. Embodiments of the invention can be used to provide the same integrated development environment (IDE), framework, and model, for building the application user interface (UI) as is also used for building the server-side resources such as web services. This helps unify development models across the various tiers of a complex application; and,
A model for creating complete web applications, not just web pages. The system may utilize such features as webflow technology to provide an overall framework for how developers should think about building their web pages and applications.
The overall effect of these features is to provide a system that allows developers to build web applications for use on an application server, and particularly for use in a portal environment, much faster than with the traditional JSP style of development. By providing an easy-to-use framework, together with controls for constructing elements of dynamic web pages, the use of the present invention results in a significant increase in the developers productivity, including allowing for one-click integration of portal applications and other applications. Web pages that participate in business processes may be easily deployed and integrated into the portal framework.
As described herein, an embodiment of the present invention provides a framework for next-generation User Interface (UI) development, which can be tightly integrated with other development products such as BEA's WebLogic Workshop, includes extensibility for controls, and provides a model and architecture that can be extended over time to support additional types of clients, such as J2ME and Flash clients.
System Architecture
FIG. 1 shows an architectural overview of the principal design-time and runtime components of one embodiment of the present invention. As shown in FIG. 1, the design/compile time environment 102 (hereafter simply referred to as design-time environment) is provided to the developer as an integrated development environment (IDE) 100. The IDE includes design-time components, for example a Java Server Page (JSP) Design/Source Editor 104, and a Webflow Design/Source Editor 108. The JSP Design/Source Editor is used to edit and create JSP pages prior to deployment, while the Webflow Design/Source Editor 108 is used to edit the Webflow that will eventually determine the logical flow of the application once it's deployed. The runtime environment 202 exists or executes upon or as part of an application server or a comparable server, such as for example the WebLogic Server Portal product from BEA Systems, Inc.
In accordance with one embodiment, the runtime components include a Control Container and Lifecycle Driver 204 and a Control Factory 206, which together are used to determine the actual look-and-feel of the application interface. An Application Flow and State Management component 208 uses the previously created webflow information to determine the current state and logical flow of the application as it is being used. Since the design-time and runtime environments are provided as part of a single framework, the developer can easily move or switch (as indicated by the bidirectional arrow) 210 from one environment to the next, and back again, to quickly update and deploy portal applications.
The following sections provide descriptions of the major modules of the system shown in FIG. 1.
Design-Time Environment
FIG. 2 illustrates a design-time environment 102 in accordance with an embodiment of the invention. The design-time environment 102 allows a portal application developer to develop JSP-based portal applications using a collection of easy-to-use design and source editors. A JSP design and source editor 104 can be used by the developer to create and edit the Java Server Page source code for a JSP-based portal application page, (as indicated by its JSP design view 107). Support for additional or third-party JSP compilers 106 may also be included. A webflow design and source editor 108 allows the developer to edit the webflow file or similar logical properties underlying the application (also indicated by its JSP design view 109). Support for additional webflow compilers 110 may similarly be included.
In the embodiment shown in FIG. 2, a visual test and debug component or module 112 is included, which allows the developer to visually test and debug their portal application prior to launching it as an active portal. The design-time environment also includes, in some embodiments, a multi-language compiler 114, to provide support for multiple languages, document type extension support 116, and test harnesses and views 118 (where desired). Additional components or modules 120 can be incorporated as necessary to provide additional functionality.
JSP Visual and Source Editors
In accordance with one embodiment, the JSP design and source editor 104 includes a visual editor. The visual editor provides the graphical design surface that is used by the application developer to design their web pages. From the developer's point of view the visual editor provides the face of the development system from a page perspective, not from a site perspective. Palettes of available controls can be provided and can be placed by the developer onto a page via a drag-and-drop mechanism. The application developer may access such controls from a visual perspective, and a close-to-WYSIWYG (what you see is what you get) design surface is ultimately rendered.
The application developer is at all times able to switch to a source view of the JSPX page from the design surface of the JSP visual editor. The JSPX source code or source file contains references to controls whose appearance is much like a tag library instance.
In addition to the graphical design editor, the application developer can also access a backing .java file, which defines the logic found in the page, and which may or may not be separate from the JSPX source file. The .java file typically contains event processing code corresponding to User Interface (UI) control events, and assists in separating the presentation logic from the business logic.
Application Flow/State Management Visual and Source Editors
In accordance with one embodiment, the webflow design and source editors 108 include a set of Application Flow and State Management editors. Application Flow and State Management editors provide the backbone of actual web site editing, beyond the page design offered by the JSP visual and source editors described above.
The Application Flow visual editor provides a visual snapshot of the site flow, and any site processing that dictates flow decisions. Similar to a flowchart, the Application Flow visual editor provides a mechanism by which the application developer can specify the site flow through a series of pages, page groups, flows, and subflows.
In addition to these graphical flow-editing capabilities, the application developer has access to the webflow (.wfl) source file editor from within the Application Flow visual editor. Any editing done in either the visual or source Application Flow tools is automatically reflected in the other as the developer designs and tests their site flow.
WebFlow
The WebFlow represents each page in a given WebFlow, the transitions between the pages, and the interactions of the pages with server-side components. The primary purposes of the WebFlow designer are:
    • a) to provide the developer with an higher-level view of their application than simply a web page, and
b) to make it easier for the developer to code and review conditional display of pages based on a current state.
    • The WebFlow must be described in an easy way so that developers can write the conditional logic that determines which pages get rendered as a result of which state and which user action. This logic can be represented using simple code, such as Xscript for example. In one embodiment when the developer is viewing a WebFlow, the IDE provides two navigator tabs, enabling the developer to easily navigate between the design view and the source view.
In accordance with one embodiment, a WebFlow Designer tool is included which provides a graphical representation of a WebFlow file. A primary goal of the WebFlow designer is simplicity, clarity, and seamless integration with the web page design views. This accords with the notion that it's more important that the model presented by the designer work correctly than it merely appear nice. The WebFlow Designer is closely integrated with a facility for writing the code for the transitions between pages.
Features that may be included in the WebFlow Designer in accordance with one embodiment include:
    • A palette for creating new representations of web pages (which may actually be a new page, or a page that has already been created);
    • A design surface representing the web pages and their relationships. The surface fills the main window of the IDE, with the palette and properties available from the same view on a side bar;
    • The ability to click on the design view of a transition between pages and then use an easy mechanism (e.g. dialog box) to write the code that handles incoming state from the input page and from the server-side object, the decision of which page to render, and the outgoing state to the new page;
    • The ability to set page properties (for example name, caching characteristics, input values, etc.) by selecting a page in the WebFlow design view;
    • The ability to resize the flow representation;
    • The ability to jump to the code of a specific web page by double-clicking on its representation;
    • A wizard/dialog box/task help;
    • A “mini” view of the WebFlow from the IDE when the user is editing a WebPage;
    • The re-use of WebFlows. A given WebFlow file may be used in multiple applications, or in multiple places within a single application;
    • The ability to wire two WebFlows together, assuming that the landing page of one becomes the input page of the other (i.e., sequential interactions.)
    • The ability to invoke a debugger at the WebFlow level; and,
    • The ability to select a subset of the pages in the WebFlow, set properties on them, reuse them, and cut/paste/copy into the design view. This is the notion of “page groupings”.
It should be noted that these features are illustrative of features that can be provided by various embodiments of the invention, and that some or all of such features may or may not be included in any particular implementation.
In accordance with one embodiment a webflow Source View editor is included which allows the developer to edit the source file that actually describes the WebFlow of the application. For the software developer, the editing experience of this file is similar to that of editing .jws files—together with common code-editing features such as code complete, syntax color highlighting, squiggling underlining, debugging (with the ability to set breakpoints), etc. The Source View Editor (and the file itself) is designed to be something that the developer is comfortable editing, with the possible assistance of the WebFlow designer. The Source View also interacts seamlessly with the Design View, so that any action the user can take in the design view is also “doable” in the source view.
Design View
Embodiments of the invention include a means to render within the IDE a “design view” of .JSP, .JSPX, and .HTML pages. The goal of the design view is not fidelity of representation, but rather providing a reasonable approximation of the overall layout of a page so that the developer can make basic formatting (but not necessarily graphic design) decisions. The design view renders both embedded controls and standard HTML, and includes a palette of controls that are used by dragging and dropping onto the design surface. The design view also contains properties for each instance of a control on the design surface, as well as properties for the overall page. A means is provided for navigating between the design view of a page and the design view of a webflow that contains the page, together with basic editing features such as undo/redo, cut/copy/past, print, etc.
File Editor
Embodiments of the invention include a file editor, with which the developer is also able to edit .JSP, .JSPX JSPX, and HTML files in “source view”. The JSP editor enables developers to write, debug, and test standard JSP pages and custom tag libraries. The .JSPX editor provides all the support for tags that a developer might expect: including syntax color highlighting, squiggly underlining, prompting for mandatory tag attributes, validation of tag attributes, etc., and also provides the ability for customers to easily write HTML in the IDE. HTML tags can be automatically recognized, or highlighted, etc.
Page Properties
Embodiments of the invention allow page properties to be set from either the Page editor (when no control is selected, the page properties are displayed), or from WebFlow (when a page is selected, its properties are displayed). Page properties are likely to include values such as: the Page Title; the use of Caching—i.e. programmatically determine how and for how long a web page is cached on the server; Default styles; Input parameters, and output values; Security—i.e. who is entitled to view the page; and, how the page state is persisted (i.e., server side vs. client side).
Debugging
Embodiments of the invention allow backing files to be debugged using a Java debugger. A developer may also choose to debug through a given WebFlow so that they can, for example, set a breakpoint in the transition from one page to another, or within a backing file. Developers can set these webflow breakpoints using a code view of the WebFlow file, or from the graphic design-view of the webflow.
Controls
In accordance with an embodiment of the present invention, controls can be used within the source and page editors to embed functionality within the application page or portal. The following section lists some controls that can be used with the invention to allow the developer to create complex web and portal applications in a quick and easy manner. Generally, controls can be divided into two categories—“Presentation Controls”, and “Business Controls”.
Presentation Controls are generally directly translatable into HTML. The following presentation controls are example of those that may be provided:
    • Form controls and their contents (text boxes, radio buttons, list boxes, buttons, labels, etc.): Forms and form controls may optionally be bound to data validation logic, server-side objects (e.g. db control), or webflow depending upon the properties set on the controls. For example, a Button can have bi-modal behavior depending on whether or not it is set to invoke or to continue a webflow.
    • Placeholder controls: These controls are used for representing a block of .HTML.
    • Label/Imagine/Anchor controls: These controls are used for linking HTML, JPEGS, or GIFs to other web pages.
    • Style/layout controls: The system provides the ability to describe flow within a page. This requires being able to select, using style/layout controls, a group of presentation controls within a page.
Business Controls provide a standard Java interface to resources such as EJBs, web services, SQL commands that are to be executed against a database, etc. Developers can then consume business controls in two ways: either by writing Java code and WebFlows that interact with these controls; or by binding page controls (such as tables and forms) to business controls.
Run-Time Environment
Once the portal page or application has been developed, it can then be deployed onto a server and made accessible to the end user. In addition to providing an integrated development environment, the system described herein also provides support for post-deployment runtime features. FIG. 3 shows a run-time environment in accordance with an embodiment of the invention. The run-time environment 202 allows a portal application developer to quickly deploy JSP-based portal applications previously created in the design-time environment 102. As shown in FIG. 3, in accordance with one embodiment, the run-time environment includes a Control Container and Lifecycle driver 204, which together with the control factory 206 is used to provide the presentation and business controls on the portal application. An application flow and state management 208 is used to control the logic of the portal application. The run-time environment also includes support for accessing EJB containers 210, servlet containers 212, and Web applications 214.
The control container 204 uses a factory for control creation, and subsequently drives control lifecycles during application request handling. In one embodiment this lifecycle control is accomplished by the control container using wire-up code generation via JSP-compilation (JSPC) modification, in concert with the generated _jspService( ) method of the (JSP) servlet. Other models may be supported, including those specified in the Java Standards Requirement JSR- 127 standards document, incorporated herein by reference. The controls that live within the container may span such categories as HTML controls, HTML forms controls, data-bound controls, and “rich” controls (for example smart forms/smart tables).
Development systems or IDE's created in accordance with the present invention provide features beyond simple ASP or .NET style products by offering instead a site-centric approach to web page and web application design. Proper application state management 208 from page to page is the inherent responsibility of the Application Flow engine. As used in one embodiment, a WebFlow infrastructure is used to support and form the backbone of the system. Such WebFlow infrastructures can be provided by e-commerce products such as the Personalization Server product from BEA Systems, Inc. As used in these products, Application Flow and State Management is guided by a file format (.wfl) which exploits annotations that declare possible destinations of a flow transition, according to flow processing. In addition, the .wfe file format dictates what state is shared between which pages, and between which page groups.
FIG. 4 illustrates a flowchart of an application development process in accordance with an embodiment of the invention. As shown in FIG. 4, the process includes Design time and Runtime steps. In step 250, the application developer uses the JSP (Java Server Page) Design Editor to create or update a JSP page, together with embedded controls where desired. In step 252, the application developer uses the Webflow Design Editor to create a webflow and store the webflow as a webflow file (or in some other manner depending on the specific system implementation). Optionally, the developer may, in step 254, perform a visual test or debug of the application. If everything is satisfactory the application is deployed to the server, in step 256. In step 258, the application or portal server populates the Control Container with any needed business and presentation controls from the Control Factory. The application is then displayed or executed, in step 260, together with any applicable controls. In step 262, the system continuously determines the current state of the application, parses the webflow to determine the application logical flow, and then automatically updates the display to the user.
Target Developers
The software developers who may benefit most from the development system of the present invention include those who do the “bread and butter” of enterprise UI development today. These developers may currently use products and technologies such as VisualBasic, Swing, or Powerbuilder for thick client UI development, or they may use products such as ColdFusion, .ASP, CGI, or .JSP for web development. This class of software developers have a few things in common: They are essentially procedural developers, and they are comfortable writing code, very often script, but they are not as comfortable with heavy-duty Java or C++. Such developers have no problem understanding what objects are, and are familiar with consuming objects, but they are less likely to design objects or EJBs themselves. In short, the target developer is typically one that prefers simplicity to complexity. Application Program Interfaces such as JDBC and JNDI represent barriers to J2EE that these developers don't want to have to surmount. These developers utilize an iterative development cycle, and typically want to very quickly iterate between the process of constructing their code and testing it out. The development framework must enable them to very rapidly write code and then debug or test it.
The invention also addresses the needs of those developers who may not be particularly skilled graphic designers. These target developers are those who focus on writing the application logic and presentation logic for web applications. For them, the look and feel won't be as important in these instances (e.g. for developing an intranet expense reporting system), and a graphic designer may not be involved at all. In other instances the web developers will work closely with a graphic designer who might be using a graphical development product such as Macromedia's Dreamweaver.
The following section outlines the various types of people who may be working on an application development team together with the target developer.
Analysts: Analysts work with customers (internal and/or external) to understand and document the business requirements of the application to be built, and engineers to determine what is possible and what is not. They write the functional specifications for the application, and they also participate in defining what the screens should look like, writing content for the pages, reviewing prototypes, and testing.
Graphic designers: Graphic designers take the functional specifications and work with the web developers, customers, and analysts to understand what the screens should look like. They are primarily interested in aspects such as branding, look and feel, usability, and basic design principles. They deliver complete screen mock-ups of what the page should look like, and may have some basic HTML experience, which they might use in performing the mock-ups, but will typically never write script or other code.
Web developers: Web developers take the design and the functional specification and write the front-end of the application. In small projects they may do most of the design work; while in large projects they may do no design work at all. This includes the HTML, client-side script, server-side script for generating dynamic web pages, in addition to any code for integrating with databases or back-end systems. They work with the analysts and the designers to iterate through designs until the overall design is complete and work with the systems engineers and database administrators (DBAs) to understand how to interface to back-end systems.
Integration/applications developer: These engineers have similar skills to a web developer, but they are focused on integration with systems, and very often with packaged applications. For example, the application developer might use SAP's ABAP interface to design interfaces for the web developer to then call into a SAP system, they may design workflows (with data transformations) using a Business Process Management (BPM) tool, etc. Or they might use the development system to build web services. The web developer typically must work with the integration engineer to understand how to get at the data he/she needs.
Systems engineers: These engineers build the middle-tier logic and communications infrastructure, such as applications that expose legacy systems, or that implement the application security architecture, etc. System engineers typically design a lot of the business objects that the web developer ends up consuming. They may also review the design work done by the rest of the team.
Database Administrators/Developers: There are two types of Database Administrators (DBA): those who primarily just manage the DB (perform back-ups, own security rights, etc.) and those who also design and approve schema changes, write stored procedures, triggers, etc. Depending on the project, the web developer or systems engineer may ask the DBA to run a script which they have created, or they request the DBA do the design work and implementation themselves. In the case of large projects and/or mission-critical databases, the DBA will have a lot of authority and will act as a gatekeeper, reviewing any and all changes to the DB schema and code.
EXAMPLE APPLICATIONS
The present invention assists in the application development process by providing a development system that can be used by all developers, and particularly by those target developers described above, to build applications for deployment throughout the enterprise, on the web, and at a portal. Enterprise web applications share a number of common development problems:
Web forms may be bound to a web service, an “activity” in BPM, or a stateless session bean. It is possible to use the development system provided by an embodiment of the invention to create a form that invokes a web service or stateless session bean. When the call is synchronous, the resulting response can be easily represented in the return page. When the call is asynchronous (for example if an asynchronous call to a web service is made), then the return (or callback) values may stored in a server-side object.
A Web form may also be bound to a data object. In accordance with an embodiment of the invention, the system can be used to create a form that performs a query or update on a database object. Basic data validation of the form input can be performed on a field-by-field basis, for example by setting properties on the controls that make up the form (e.g. text box, radio buttons, etc.) Validation is done in the context of the entire form (e.g. one radio button choice may not be valid for a certain range in a given text box).
A Web table may be bound to a data object. The system can be used to create tables that then are used to represent result sets from a database query performed at runtime.
Conditional or dynamic pages may be generated based on server-side state. In a number of instances, pages will be displayed conditionally or dynamically based up on either a) the values submitted by the user via a form, b) the link clicked by the user, c) the state of a server-side object or service, or d) the availability of a resource. Developers can describe how various pages are related to one another. This gives them a framework for describing and managing their overall application. The following example illustrates the distinction between conditional generation and dynamic generation:
Conditional Generation:
    • 1. A user logs in.
    • 2. If the login is valid, a particular page is displayed.
    • 3. If not, a different page is displayed.
      Dynamic Generation (Same Page Structure, Dynamic Content):
    • 1. A user is checking his or her investment portfolio.
    • 2. They click to navigate between one account and other, and thereby moves from page A to page B.
    • 3. As the new page is rendered, the server-side logic discovers that the state of the user's notifications has changed—a “sell” order has just been executed.
    • 4. As a result, page B not only displays the new account information, but also displays a notification in the user's “in” box that a trade has been executed.
The present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art.
In some embodiments, the present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to program a computer to perform any of the processes of the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD-ROMs, microdrive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data.
The foregoing description of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to the practitioner skilled in the art. Particularly, while the embodiments of the system described above are described in the context of BEA WebLogic, WebLogic Workshop, and WebLogic Portal servers, it will be evident that the system may be used with other types of application servers and enterprise servers. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalence.

Claims (24)

1. A system for software application development in a portal environment, the system including a computer comprising at least one processor and at least one memory, the system comprising:
a framework comprising a design-time environment and a run-time environment, the framework adapted to switch between the design-time environment and the run-time environment;
the design-time environment enabling the design and update of a portal application, said design-time environment including
a Java Server Page design editor component to create JSP pages, and
a webflow design editor component providing a graphical interface with a visual display of portal application flow indicating possible transitions between pages of the portal application, the webflow design editor component being used to create and update a webflow file using the graphical interface, the webflow file including annotations, wherein some of the annotations declare possible destinations of a flow transition, and other annotations dictate what state is shared between which JSP pages;
wherein the run-time environment runs said portal application, said run-time environment including
an application flow and state management component using the annotations of the webflow file to determine:
the state and current page of the portal application and
when to execute at least one of the JSP pages,
wherein the run-time environment deploys the at least one of the JSP pages as indicated by the application flow and management component;
wherein switching to the run-time environment includes enabling the user to deploy the portal application as per the webflow file and the JSPs, the webflow file and the JSPs being defined and modified for the deployment instance; and
wherein switching to the design time environment includes enabling the user to access to the Java Server Page design editor component to modify one of the JSPs or to access the webflow design editor and update at least one of the annotations of the webflow file; wherein at least one webflow file is updatable and reusable for one or more the portal application runs; wherein at least one change made in one of the webflow file is dynamically reflected in the webflow editor component.
2. The system of claim 1 wherein the a control container and lifecycle driver component is used to determine the look-and-feel of the portal application interface.
3. The system of claim 1 wherein the a control factory component uses a factory for control creation, and subsequently drives control lifecycles during portal application request handling.
4. The system of claim 1, further comprising using the Java Server Page design editor to create or update embedded controls in a JSP page.
5. The system of claim 1, further comprising performing a visual test or debug of the application.
6. The system of claim 1, further comprising populating a control container at the portal server with business controls and presentation controls from a control factory.
7. The system of claim 6, further comprising displaying or otherwise executing the application, together with business controls and presentation controls.
8. The system of claim 1, further comprising periodically determining the current state of the application on the portal server, and parsing the webflow file to update the application display to the user.
9. A method for software application development in a portal environment, comprising the steps of:
providing a framework comprising a design-time environment and a run-time environment, the framework adapted to switch between the design-time environment and the run-time environment;
wherein the design-time environment allows the design of a portal application, said design-time environment including
a Java Server Page design editor component to create JSP pages, and,
a webflow design editor component providing a graphical interface with a visual display of portal application flow indicating possible transitions between pages of the portal application, the webflow design editor component being used to create and update a webflow file using the graphical interface, the webflow file including annotations, wherein some of the annotations declare possible destinations of a flow transition, and other annotations dictate what state is shared between which JSP pages;
wherein the run-time environment runs said portal application, said run-time environment including
an application flow and state management component using the annotations of the webflow file to determine:
the state and current page of the portal application and
when to execute at least one of the JSP pages,
wherein the run-time environment deploys the at least one of the JSP pages as indicated by the application flow and management component;
wherein switching to the run-time environment includes enabling the user to deploy the portal application as per the webflow file and the JSPs, the webflow file and the JSPs being defined and modified for the deployment instance; and
wherein switching to the design time environment includes enabling the user to access to the Java Server Page design editor component to modify one of the JSPs or to access webflow design editor and update at least one of the annotations of the webflow file, wherein at least one webflow file is updatable and reusable for one or more the portal application runs; wherein at least one change made in one of the webflow file is dynamically reflected in the webflow editor component.
10. The method of claim 9 wherein the a control container and lifecycle driver component is used to determine the look-and-feel of the portal application interface.
11. The method of claim 9 wherein the a control factory component uses a factory for control creation, and subsequently drives control lifecycles during portal application request handling.
12. The method of claim 9 further comprising the step of:
using the Java Server Page design editor to create or update embedded controls in a JSP page.
13. The method of claim 9 further comprising the step of:
performing a visual test or debug of the application.
14. The method of claim 9 further comprising the step of:
populating a control container at the portal server with business controls and presentation controls from a control factory.
15. The method of claim 14 further comprising the step of:
displaying or otherwise executing the application, together with business controls and presentation controls.
16. The method of claim 9 further comprising the step of:
periodically determining the current state of the application on the portal server, and parsing the webflow file to update the application display to the user.
17. A computer readable medium, including instructions stored thereon which when executed cause the computer to perform the method for software application development in a portal environment, comprising the steps of:
providing a framework comprising a design-time environment and a run-time environment, the framework adapted to switch between the design-time environment and the run-time environment;
wherein the design-time environment allows the design of a portal application, said design-time environment including
a Java Server Page design editor component to create JSP pages, and,
a webflow design editor component providing a graphical interface with a visual display of portal application flow indicating possible transitions between pages of the portal application, the webflow design editor component being used to create and update a webflow file using the graphical interface, the webflow file including annotations, wherein some of the annotations declare possible destinations of a flow transition, and other annotations dictate what state is shared between which JSP pages;
wherein the run-time environment runs said portal application, said run-time environment including
an application flow and state management component using the annotations of the webflow file to determine:
the state and cuffent page of the portal application and
when to execute at least one of the JSP pages,
wherein the run-time environment deploys the at least one of the JSP pages as indicated by the application flow and management component;
wherein switching to the run-time environment includes enabling the user to deploy the portal application as per the webflow file and the JSPs, the webflow file and the JSPs being defined and modified for the deployment instance: and wherein switching to the design time environment includes enabling the user to access to the Java Server Page design editor component to modify one of the JSPs or to access webflow design editor and update at least one of the annotations of the webflow file;
wherein at least one webflow file is updatable and reusable for one or more the portal application runs; wherein at least one change made in one of the webflow file is dynamically reflected in the webflow editor component.
18. The computer readable medium of claim 17 wherein the a control container and lifecycle driver component is used to determine the look-and-feel of the portal application interface.
19. The computer readable medium of claim 17 wherein the a control factory component uses a factory for control creation, and subsequently drives control lifecycles during portal application request handling.
20. The computer readable medium of claim 17, further comprising using the Java Server Page design editor to create or update embedded controls in a JSP page.
21. The computer readable medium of claim 17, further comprising performing a visual test or debug of the application.
22. The computer readable medium of claim 17, further comprising populating a control container at the portal server with business controls and presentation controls from a control factory.
23. The computer readable medium of claim 22, further comprising displaying or otherwise executing the application, together with business controls and presentation controls.
24. The computer readable medium of claim 17, further comprising periodically determining the current state of the application on the portal server, and parsing the webflow file to update the application display to the user.
US10/733,989 2002-12-12 2003-12-11 System and method for software application development in a portal environment Active 2024-12-30 US7448024B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/733,989 US7448024B2 (en) 2002-12-12 2003-12-11 System and method for software application development in a portal environment
AU2003297864A AU2003297864A1 (en) 2002-12-12 2003-12-12 System and method for software application development in a portal environment
PCT/US2003/039380 WO2004055633A2 (en) 2002-12-12 2003-12-12 System and method for software application development in a portal environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43274902P 2002-12-12 2002-12-12
US10/733,989 US7448024B2 (en) 2002-12-12 2003-12-11 System and method for software application development in a portal environment

Publications (2)

Publication Number Publication Date
US20060206856A1 US20060206856A1 (en) 2006-09-14
US7448024B2 true US7448024B2 (en) 2008-11-04

Family

ID=32600105

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/733,989 Active 2024-12-30 US7448024B2 (en) 2002-12-12 2003-12-11 System and method for software application development in a portal environment

Country Status (3)

Country Link
US (1) US7448024B2 (en)
AU (1) AU2003297864A1 (en)
WO (1) WO2004055633A2 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257227A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. System and method for utilizing a common framework for portal administration tools
US20070016696A1 (en) * 2005-06-29 2007-01-18 International Business Machines Corporation Method, System, and Software Tool for Emulating a Portal Application
US20070079285A1 (en) * 2005-09-27 2007-04-05 Bea Systems, Inc. System and method for action output/page input mismatch detection and resolution
US20070083853A1 (en) * 2005-09-27 2007-04-12 Bea Systems, Inc. System and method for declarative validation rule editor
US20070143748A1 (en) * 2005-12-20 2007-06-21 International Business Machines Corporation System and method for emulating the processing of Java Server Pages
US20080082572A1 (en) * 2006-10-03 2008-04-03 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US20080126376A1 (en) * 2006-09-22 2008-05-29 Avraham Leff Enabling multi-view applications based on a relational state machine paradigm
US20090210860A1 (en) * 2008-02-15 2009-08-20 Microsoft Corporation Tagging and logical grouping of items in source code change lists
US20090240724A1 (en) * 2008-03-24 2009-09-24 Oracle International Corporation Environment definition files for an environment definition system
US20090307304A1 (en) * 2008-06-10 2009-12-10 International Business Machines Corporation Method for Server Side Aggregation of Asynchronous, Context - Sensitive Request Operations in an Application Server Environment
US20100211926A1 (en) * 2009-02-14 2010-08-19 Asit Dan Capturing information accessed, updated and created by processes and using the same for validation of consistency
US7831919B1 (en) * 2006-12-18 2010-11-09 Symantec Corporation Generic web service frontend
US7908586B1 (en) * 2006-08-07 2011-03-15 Adobe Systems Incorporated Collapse on content property
US8356277B1 (en) 2008-04-04 2013-01-15 Adobe Systems Incorporated System and method for freezing operation of dynamic code of a run-time web page
US8713520B2 (en) * 2008-04-04 2014-04-29 Adobe Systems Incorporated Web development environment that enables a developer to interact with run-time output presentation of a page
US9128917B2 (en) 2005-08-23 2015-09-08 Adobe Systems Incorporated Automatic content expansion indicators
US9535692B2 (en) 2008-03-14 2017-01-03 Adobe Systems Incorporated Systems and methods for managing related files in a software development environment
US10191722B1 (en) 2017-10-23 2019-01-29 Microsoft Technology Licensing, Llc Event synchronization for development computing system
US10198507B2 (en) 2013-12-26 2019-02-05 Infosys Limited Method system and computer readable medium for identifying assets in an asset store
US10558456B2 (en) 2017-06-27 2020-02-11 Red Hat, Inc. Constructing build environments for software
US20230266946A1 (en) * 2020-11-24 2023-08-24 Gney Software Pte Ltd Dynamic enterprise application platform

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516440B2 (en) 2001-10-18 2009-04-07 Bea Systems, Inc. System and method for providing a java interface to an application view component
US7516447B2 (en) 2002-02-22 2009-04-07 Bea Systems, Inc. Methods and apparatus for building, customizing and using software abstractions of external entities
US7257645B2 (en) 2002-05-01 2007-08-14 Bea Systems, Inc. System and method for storing large messages
US8135772B2 (en) 2002-05-01 2012-03-13 Oracle International Corporation Single servlets for B2B message routing
US7155438B2 (en) 2002-05-01 2006-12-26 Bea Systems, Inc. High availability for event forwarding
US7222148B2 (en) 2002-05-02 2007-05-22 Bea Systems, Inc. System and method for providing highly available processing of asynchronous service requests
US7676538B2 (en) 2002-05-02 2010-03-09 Bea Systems, Inc. Systems and methods for application view transactions
US7350184B2 (en) 2002-05-02 2008-03-25 Bea Systems, Inc. System and method for enterprise application interactions
US7293038B2 (en) 2003-02-25 2007-11-06 Bea Systems, Inc. Systems and methods for client-side filtering of subscribed messages
US7752599B2 (en) 2003-02-25 2010-07-06 Bea Systems Inc. Systems and methods extending an existing programming language with constructs
US7774697B2 (en) 2003-02-25 2010-08-10 Bea Systems, Inc. System and method for structuring distributed applications
US20050108682A1 (en) * 2003-02-26 2005-05-19 Bea Systems, Inc. Systems for type-independent source code editing
US7707564B2 (en) 2003-02-26 2010-04-27 Bea Systems, Inc. Systems and methods for creating network-based software services using source code annotations
US7650276B2 (en) 2003-02-26 2010-01-19 Bea Systems, Inc. System and method for dynamic data binding in distributed applications
US8032860B2 (en) * 2003-02-26 2011-10-04 Oracle International Corporation Methods for type-independent source code editing
US7299454B2 (en) * 2003-02-26 2007-11-20 Bea Systems, Inc. Method for multi-language debugging
US7650592B2 (en) 2003-03-01 2010-01-19 Bea Systems, Inc. Systems and methods for multi-view debugging environment
US20040187090A1 (en) * 2003-03-21 2004-09-23 Meacham Randal P. Method and system for creating interactive software
US20050091642A1 (en) * 2003-10-28 2005-04-28 Miller William L. Method and systems for learning model-based lifecycle diagnostics
US7614039B2 (en) * 2004-05-21 2009-11-03 Bea Systems, Inc. Backing files for portal element controls
US20050262358A1 (en) * 2004-05-21 2005-11-24 Bea Systems, Inc. Backing context for portal element controls
US7716640B2 (en) * 2004-05-21 2010-05-11 Sap Portals Israel Ltd. Techniques for developing portal snippets using an integrated development environment (IDE)
US7774378B2 (en) * 2004-06-04 2010-08-10 Icentera Corporation System and method for providing intelligence centers
US20050270973A1 (en) * 2004-06-07 2005-12-08 Raev Kaloyan V Cluster architecture communications
US7634721B1 (en) * 2004-08-23 2009-12-15 Sun Microsystems Inc. Composite component architecture using javaserver pages (JSP) tags
US7590803B2 (en) * 2004-09-23 2009-09-15 Sap Ag Cache eviction
US20060101402A1 (en) * 2004-10-15 2006-05-11 Miller William L Method and systems for anomaly detection
US7617482B2 (en) 2004-11-18 2009-11-10 International Business Machines Corporation Method, system and program product for implementing java server page (JSP) containers as java server faces (JSF) components
US7593930B2 (en) * 2004-12-14 2009-09-22 Sap Ag Fast channel architecture
US7580915B2 (en) * 2004-12-14 2009-08-25 Sap Ag Socket-like communication API for C
US7543302B2 (en) * 2004-12-28 2009-06-02 Sap Ag System and method for serializing java objects over shared closures
US7552153B2 (en) * 2004-12-28 2009-06-23 Sap Ag Virtual machine monitoring using shared memory
US8281014B2 (en) * 2004-12-28 2012-10-02 Sap Ag Session lifecycle management within a multi-tiered enterprise network
US8204931B2 (en) 2004-12-28 2012-06-19 Sap Ag Session management within a multi-tiered enterprise network
US7672949B2 (en) * 2004-12-28 2010-03-02 Sap Ag Connection manager having a common dispatcher for heterogeneous software suites
US8015561B2 (en) * 2004-12-28 2011-09-06 Sap Ag System and method for managing memory of Java session objects
US7562138B2 (en) * 2004-12-28 2009-07-14 Sap Shared memory based monitoring for application servers
US7689989B2 (en) * 2004-12-28 2010-03-30 Sap Ag Thread monitoring using shared memory
US7886294B2 (en) * 2004-12-28 2011-02-08 Sap Ag Virtual machine monitoring
US7523196B2 (en) * 2004-12-28 2009-04-21 Sap Ag Session monitoring using shared memory
US20060143256A1 (en) 2004-12-28 2006-06-29 Galin Galchev Cache region concept
US7523263B2 (en) * 2004-12-28 2009-04-21 Michael Wintergerst Storage plug-in based on shared closures
US7591006B2 (en) 2004-12-29 2009-09-15 Sap Ag Security for external system management
US7917629B2 (en) * 2004-12-29 2011-03-29 Sap Ag Interface for external system management
US7593917B2 (en) * 2004-12-30 2009-09-22 Sap Ag Implementation of application management operations
US8024743B2 (en) * 2004-12-30 2011-09-20 Sap Ag Connection of clients for management of systems
US7610576B2 (en) * 2005-01-19 2009-10-27 Sap Ag System and method for simultaneous display of processes and associated files
US20060161902A1 (en) * 2005-01-19 2006-07-20 Sap Aktiengesellschaft System and method for modifying files defining a graphically displayed process
US7814457B2 (en) * 2005-01-19 2010-10-12 Sap Ag System and method for revising flow diagrams displaying a process
US7853931B2 (en) * 2005-01-19 2010-12-14 Sap Ag System and method for automatically generating flow diagrams
KR100645537B1 (en) * 2005-02-07 2006-11-14 삼성전자주식회사 Method of dynamic Queue management for the stable packet forwarding and Element of network thereof
US20060230396A1 (en) * 2005-04-07 2006-10-12 International Business Machines Corporation Deployment of reusable software components to be hosted in a container running on a modular code runtime platform through a runtime platform extension point
US7853698B2 (en) * 2005-04-29 2010-12-14 Sap Ag Internal persistence of session state information
US8589562B2 (en) 2005-04-29 2013-11-19 Sap Ag Flexible failover configuration
US8024566B2 (en) * 2005-04-29 2011-09-20 Sap Ag Persistent storage implementations for session data within a multi-tiered enterprise network
US20060248283A1 (en) * 2005-04-29 2006-11-02 Galin Galchev System and method for monitoring threads in a clustered server architecture
US8762547B2 (en) * 2005-04-29 2014-06-24 Sap Ag Shared memory implementations for session data within a multi-tiered enterprise network
US7761435B2 (en) * 2005-04-29 2010-07-20 Sap Ag External persistence of session state information
US9317259B2 (en) * 2005-05-12 2016-04-19 International Business Machines Corporation Apparatus, system, and method for automatically generating a reusable software component for interfacing with a web service
US7689660B2 (en) * 2005-06-09 2010-03-30 Sap Ag Application server architecture
US8078954B2 (en) * 2005-09-27 2011-12-13 Oracle International Corporation System and method for page flow editor
US7831600B2 (en) * 2005-12-28 2010-11-09 Sap Ag Cluster communication manager
US7680683B2 (en) 2005-12-29 2010-03-16 Microsoft Corporation Dynamically repositioning workflow by end users
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
US9454734B2 (en) * 2006-02-21 2016-09-27 International Business Machines Corporation Heuristic assembly of a component based application
US7814460B2 (en) * 2006-07-13 2010-10-12 Scriptlogic Corporation Hierarchical modular software packages and associated development tool
US20080127089A1 (en) * 2006-09-07 2008-05-29 Zohar Peretz Method For Managing Software Lifecycle
US8291371B2 (en) * 2006-10-23 2012-10-16 International Business Machines Corporation Self-service creation and deployment of a pattern solution
EP2126713A2 (en) * 2007-02-19 2009-12-02 Ondeego, Inc. Methods and system to create applications and distribute applications to a remote device
US20080218532A1 (en) * 2007-03-08 2008-09-11 Microsoft Corporation Canvas-like authoring experience atop a layout engine
US20080250325A1 (en) * 2007-04-03 2008-10-09 Feigenbaum Barry A Integrated Development Environment with Object-Oriented GUI Rendering Feature
US8769506B2 (en) * 2007-09-24 2014-07-01 Microsoft Corporation Using a command interpreter at design time
US8117601B2 (en) * 2007-11-14 2012-02-14 Microsoft Corporation Internal test and manipulation of an application
US8397207B2 (en) 2007-11-26 2013-03-12 Microsoft Corporation Logical structure design surface
US9454410B2 (en) * 2008-03-04 2016-09-27 Microsoft Technology Licensing, Llc Transparent integration of application components
US8166396B2 (en) * 2008-08-22 2012-04-24 International Business Machines Corporation User interface rendering
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US9268532B2 (en) 2009-02-25 2016-02-23 International Business Machines Corporation Constructing a service oriented architecture shared service
US20100257010A1 (en) * 2009-04-07 2010-10-07 International Business Machines Corporation Managing a service oriented architecture lifecycle
US8621435B2 (en) * 2009-12-23 2013-12-31 Microsoft Corporation Time debugging
CN102270125A (en) * 2010-06-04 2011-12-07 中兴通讯股份有限公司 Device and method for developing Web application
US20120079451A1 (en) * 2010-09-29 2012-03-29 Sap Ag Unified process to design, develop, and configure user interfaces
CN102467366A (en) * 2010-11-04 2012-05-23 北京无线恒远科技有限公司 Page developing method and device based on wireless application protocol (WAP)
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime
CN103164334B (en) * 2011-12-19 2016-03-30 国际商业机器公司 Detect the system and method for the breakaway poing in web application automatic test case
CN102880664B (en) * 2012-08-31 2015-05-13 华为软件技术有限公司 Page editing method, device and system
US10606450B2 (en) * 2016-06-24 2020-03-31 Accenture Global Solutions Limited Method and system for visual requirements and component reuse driven rapid application composition
US11677822B2 (en) * 2017-10-03 2023-06-13 Servicenow, Inc. Portal management
US10684847B2 (en) 2017-11-27 2020-06-16 Salesforce.Com, Inc. Content deployment system having a proxy for continuously providing selected content items to a content publishing engine for integration into a specific release and methods for implementing the same
US10409583B2 (en) * 2017-11-27 2019-09-10 Salesforce.Com, Inc. Content deployment system having a content publishing engine with a filter module for selectively extracting content items provided from content sources for integration into a specific release and methods for implementing the same
CN110851205A (en) * 2019-11-12 2020-02-28 成都九鼎瑞信科技股份有限公司 APP management method based on water affair cloud platform
CN115857885B (en) * 2022-12-27 2023-09-22 深圳市浩科智联科技有限公司 Automobile theme UI full-flow development test deployment system based on SOC software
CN117289924A (en) * 2023-10-13 2023-12-26 河北云在信息技术服务有限公司 Visual task scheduling system and method based on Flink

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047402A1 (en) 2000-03-30 2001-11-29 Akihiro Saimi Method for developing web applications, development support system, and storage medium for storing programs developed according to the method
US6327628B1 (en) 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US6463578B1 (en) 1999-11-23 2002-10-08 International Business Machines Corporation Systems, methods and computer program products for debugging java server page files using compiled java class file modifications
US6647544B1 (en) 1998-11-30 2003-11-11 International Business Machines Corporation Method and system for debugging hybrid source code
US7051316B2 (en) * 1999-10-05 2006-05-23 Borland Software Corporation Distributed computing component system with diagrammatic graphical representation of code with separate delineated display area by type
US7069553B2 (en) * 2003-03-03 2006-06-27 Computer Associates Think, Inc. Universal deployment tool
US7240280B2 (en) * 2001-10-24 2007-07-03 Bea Systems, Inc. System and method for application flow integration in a portal framework

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721804B1 (en) * 2000-04-07 2004-04-13 Danger, Inc. Portal system for converting requested data into a bytecode format based on portal device's graphical capabilities
US6691106B1 (en) * 2000-05-23 2004-02-10 Intel Corporation Profile driven instant web portal
US7246055B1 (en) * 2000-08-28 2007-07-17 Cadence Design Systems, Inc. Open system for simulation engines to communicate across multiple sites using a portal methodology
US6947986B1 (en) * 2001-05-08 2005-09-20 Networks Associates Technology, Inc. System and method for providing web-based remote security application client administration in a distributed computing environment
US8407353B2 (en) * 2001-09-17 2013-03-26 Open Text S.A. Method and system for sharing different web components between different web sites in a portal framework
US6985939B2 (en) * 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647544B1 (en) 1998-11-30 2003-11-11 International Business Machines Corporation Method and system for debugging hybrid source code
US7051316B2 (en) * 1999-10-05 2006-05-23 Borland Software Corporation Distributed computing component system with diagrammatic graphical representation of code with separate delineated display area by type
US6463578B1 (en) 1999-11-23 2002-10-08 International Business Machines Corporation Systems, methods and computer program products for debugging java server page files using compiled java class file modifications
US20010047402A1 (en) 2000-03-30 2001-11-29 Akihiro Saimi Method for developing web applications, development support system, and storage medium for storing programs developed according to the method
US6327628B1 (en) 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US7240280B2 (en) * 2001-10-24 2007-07-03 Bea Systems, Inc. System and method for application flow integration in a portal framework
US7069553B2 (en) * 2003-03-03 2006-06-27 Computer Associates Think, Inc. Universal deployment tool

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BEA Takes Bite Out of Microsoft Pie, Gavin Clarke, Apr. 1, 2002, 3 pages. *
IBM's "Portalizating Domino Applications for WebSphere Portal", Redbooks, Sep. 2003. Whole Manual. *
Walkabout-A Retargetable Dynamic Binary Translation Framework, Cristina Cifuentes et al, Jan. 2002, 30 pages. *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050257227A1 (en) * 2004-05-14 2005-11-17 Bea Systems, Inc. System and method for utilizing a common framework for portal administration tools
US8065415B2 (en) * 2004-05-14 2011-11-22 Oracle International Corporation System and method for utilizing a common framework for portal administration tools
US20070016696A1 (en) * 2005-06-29 2007-01-18 International Business Machines Corporation Method, System, and Software Tool for Emulating a Portal Application
US8250458B2 (en) * 2005-06-30 2012-08-21 International Business Machines Corporation Method, system, and software tool for emulating a portal application
US9128917B2 (en) 2005-08-23 2015-09-08 Adobe Systems Incorporated Automatic content expansion indicators
US9336015B2 (en) * 2005-09-27 2016-05-10 Oracle International Corporation System and method for action output/page input mismatch detection and resolution
US20070079285A1 (en) * 2005-09-27 2007-04-05 Bea Systems, Inc. System and method for action output/page input mismatch detection and resolution
US20070083853A1 (en) * 2005-09-27 2007-04-12 Bea Systems, Inc. System and method for declarative validation rule editor
US20070143748A1 (en) * 2005-12-20 2007-06-21 International Business Machines Corporation System and method for emulating the processing of Java Server Pages
US7987454B2 (en) * 2005-12-20 2011-07-26 International Business Machines Corporation System and method for emulating the processing of java server pages
US7908586B1 (en) * 2006-08-07 2011-03-15 Adobe Systems Incorporated Collapse on content property
US8302075B1 (en) 2006-08-07 2012-10-30 Adobe Systems Incorporated Methods and systems for selective code collapse
US20080126376A1 (en) * 2006-09-22 2008-05-29 Avraham Leff Enabling multi-view applications based on a relational state machine paradigm
US8332436B2 (en) * 2006-10-03 2012-12-11 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US20120054632A1 (en) * 2006-10-03 2012-03-01 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US20120054633A1 (en) * 2006-10-03 2012-03-01 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US20080082572A1 (en) * 2006-10-03 2008-04-03 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US9436345B2 (en) * 2006-10-03 2016-09-06 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US8332437B2 (en) * 2006-10-03 2012-12-11 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US8332435B2 (en) * 2006-10-03 2012-12-11 Salesforce.Com, Inc. Method and system for customizing a user interface to an on-demand database service
US7831919B1 (en) * 2006-12-18 2010-11-09 Symantec Corporation Generic web service frontend
US20090210860A1 (en) * 2008-02-15 2009-08-20 Microsoft Corporation Tagging and logical grouping of items in source code change lists
US8341600B2 (en) * 2008-02-15 2012-12-25 Microsoft Corporation Tagging and logical grouping of items in source code change lists
US9535692B2 (en) 2008-03-14 2017-01-03 Adobe Systems Incorporated Systems and methods for managing related files in a software development environment
US8286131B2 (en) * 2008-03-24 2012-10-09 Oracle International Corporation Environment definition files for an environment definition system
US20090240724A1 (en) * 2008-03-24 2009-09-24 Oracle International Corporation Environment definition files for an environment definition system
US8713520B2 (en) * 2008-04-04 2014-04-29 Adobe Systems Incorporated Web development environment that enables a developer to interact with run-time output presentation of a page
US8356277B1 (en) 2008-04-04 2013-01-15 Adobe Systems Incorporated System and method for freezing operation of dynamic code of a run-time web page
US20090307304A1 (en) * 2008-06-10 2009-12-10 International Business Machines Corporation Method for Server Side Aggregation of Asynchronous, Context - Sensitive Request Operations in an Application Server Environment
US8635585B2 (en) * 2009-02-14 2014-01-21 International Business Machines Corporation Capturing information accessed, updated and created by processes and using the same for validation of consistency
US20100211926A1 (en) * 2009-02-14 2010-08-19 Asit Dan Capturing information accessed, updated and created by processes and using the same for validation of consistency
US10198507B2 (en) 2013-12-26 2019-02-05 Infosys Limited Method system and computer readable medium for identifying assets in an asset store
US10558456B2 (en) 2017-06-27 2020-02-11 Red Hat, Inc. Constructing build environments for software
US11182151B2 (en) 2017-06-27 2021-11-23 Red Hat, Inc. Constructing build environments for software
US10191722B1 (en) 2017-10-23 2019-01-29 Microsoft Technology Licensing, Llc Event synchronization for development computing system
US20230266946A1 (en) * 2020-11-24 2023-08-24 Gney Software Pte Ltd Dynamic enterprise application platform
US11886836B2 (en) * 2020-11-24 2024-01-30 Gney Software Pte Ltd Dynamic enterprise application platform

Also Published As

Publication number Publication date
US20060206856A1 (en) 2006-09-14
WO2004055633A2 (en) 2004-07-01
AU2003297864A8 (en) 2004-07-09
AU2003297864A1 (en) 2004-07-09
WO2004055633A3 (en) 2004-12-16

Similar Documents

Publication Publication Date Title
US7448024B2 (en) System and method for software application development in a portal environment
US9009658B2 (en) Component based software system
US8296665B2 (en) Developing and executing applications with configurable patterns
US7080350B2 (en) Method for developing Web applications, development support system and storage medium for storing programs developed according to the method
US8386996B2 (en) Process extension wizard for coherent multi-dimensional business process models
US7761865B2 (en) Upgrading pattern configurations
US6205575B1 (en) Scenario presentation tool
US7434203B2 (en) Software logistics for pattern-based applications
KR20060087995A (en) An extensible framework for designing workflows
WO2010118416A2 (en) Software database system and process of building and operating the same
US20050267913A1 (en) Detecting and handling changes to back-end systems
US20120060141A1 (en) Integrated environment for software design and implementation
US7168062B1 (en) Object-oriented software system allowing live modification of an application
Powers et al. Microsoft visual studio 2008 Unleashed
Snell et al. Microsoft Visual Studio 2012 Unleashed: Micro Visua Studi 2012 Unl_p2
US20050257190A1 (en) Developing and executing applications with configurable patterns
Merten et al. Simplicity driven application development
US10387130B1 (en) Metadata driven distributed application behavior system and method
JP2002366352A (en) Apparatus for supporting web application development
Fatolahi et al. Towards a Semi-Automated Model-Driven Method for the Generation of Web-based Applications from Use Cases.
Froehlich Hooks: an aid to the use of object-oriented frameworks
Sheldon et al. Professional Visual Basic 2012 and. NET 4.5 Programming
Uusimaa Analysis of SAP Screen Personas benefits in production environment
Tretola et al. Professional Adobe Flex 2
Patterson et al. Modernizing and Improving the Maintainability of RPG Applications Using X-Analysis Version 5.6

Legal Events

Date Code Title Description
AS Assignment

Owner name: BEA SYSTEMS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BREEDEN, TIMOTHY;REEL/FRAME:015839/0707

Effective date: 20040820

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BEA SYSTEMS, INC.;REEL/FRAME:025192/0244

Effective date: 20101008

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

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