A method for modeling and rapidly building high performance object oriented database applications for web environments is disclosed. The modeling encompasses behavioral object modeling as well as structural data modeling according to a set of rules that yields a layered object model with no compromises on the database design, the application's functionality or code reusability and extensibility. A high level mechanism based on the Extensible Markup Language (XML) is used to declare the structure and behavior of modeled persistent objects that exhibit functionally complete object orientation and whose implementations are realized through packages of database stored procedures and associated structures. Code generators produce the necessary application and database code from the XML specification, enabling rapid development. The packages of stored procedures encapsulate all aspects of the database design and database programming, yielding performance, flexibility and future-proofing of the applications from changing requirements, database versions and database performance tuning. The generated code, in conjunction with a lightweight run time infrastructure, provides performance and development productivity features that are specifically geared for the stateless web environment in order to support scrolling of very large result sets from the database, to automatically detect conflicting changes from multiple concurrent users, and to automatically render the state of persistent objects in XML for personalization and data interchange. Additional performance features include high-concurrency caching of persistent objects with transactional semantics for ensuring transaction isolation among multiple threads of execution.
展开▼