|
ABSTRACT
Current best practices on web application development build on a plethora of design patterns, frameworks, and tools to support commontasks such as handling requests from the user and persisting domain entities: Even the simplest web applications need suchthings. Thus, web application developers are forced to learn anenormous amount of technology before they can start being productivein the development process.This paper proposes a simpler approach to the development of web applications, based on the combination of two elements. First, the use of Software Transactional Memory to bring the transactionsemantics into the programming language level. Second, we propose an object-oriented Domain Modeling Language to specify the domain model.This domain model is transformed into classes that haveinterfaces that an object-oriented programmer would expect, but the objects of these classes are transparently transactional andpersistent.This approach significantly reduces both the effort and the errorsmade during the development of new applications. Rather thandealing with multiple configuration files and tools, which have norelation to the domain problem, programmers can concentrate exclusively on an object-oriented model of the problem they want to solve. By using this approach, we can delay, or completely avoid,the commitment to a particular technology.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
 |
2
|
A. Birrell , M. Jones , E. Wobber, A simple and efficient implementation of a small database, Proceedings of the eleventh ACM Symposium on Operating systems principles, p.149-154, November 08-11, 1987, Austin, Texas, United States
|
| |
3
|
J. Cachopo and A. Rito-Silva. Versioned boxes as the basis for memory transactions. In Workshop on Synchronization and Concurrency in Object-Oriented Languages (SCOOL05), San Diego, USA, Oct. 2005. Available at http://hdl.handle.net/1802/2101.
|
| |
4
|
R. G. G. Cattell , Douglas K. Barry , Mark Berler , Jeff Eastman , David Jordan , Craig Russell , Olaf Schadow , Torsten Stanienda , Fernando Velez, The object data standard: ODMG 3.0, Morgan Kaufmann Publishers Inc., San Francisco, CA, 2000
|
| |
5
|
|
| |
6
|
|
| |
7
|
FénixEDU, 2005. Home page at http://fenixedu.sourceforge.net.
|
| |
8
|
|
| |
9
|
|
| |
10
|
|
 |
11
|
Tim Harris , Keir Fraser, Language support for lightweight transactions, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
 |
12
|
Tim Harris , Simon Marlow , Simon Peyton-Jones , Maurice Herlihy, Composable memory transactions, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
[doi> 10.1145/1065944.1065952]
|
 |
13
|
William Harrison , Charles Barton , Mukund Raghavachari, Mapping UML designs to Java, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.178-187, October 2000, Minneapolis, Minnesota, United States
|
 |
14
|
Maurice Herlihy , Victor Luchangco , Mark Moir , William N. Scherer, III, Software transactional memory for dynamic-sized data structures, Proceedings of the twenty-second annual symposium on Principles of distributed computing, p.92-101, July 13-16, 2003, Boston, Massachusetts
[doi> 10.1145/872035.872048]
|
| |
15
|
Hibernate. Home page at http://www.hibernate.org. \bibitemIbatis:URL iBATIS. Home page at http://ibatis.apache.org/.
|
| |
16
|
JPetStore. Available at the iBATIS Home page at http://ibatis.apache.org/. \bibitemJVSTM:URL JVSTM, 2005. Home page at http://www.esw.inesc-id.pt/jcachopo/jvstm.
|
| |
17
|
|
| |
18
|
Object/Relational Bridge -- OJB. Home page at http://db.apache.org/ojb.
|
| |
19
|
OMG Model Driven Architecture. Home page at http://www.omg.org/mda.
|
| |
20
|
Prevayler. Home page at http://www.prevayler.org.
|
 |
21
|
|
| |
22
|
|
| |
23
|
SUN Microsystems, Inc., Palo Alto, California, USA. Java 2 Platform Enterprise Edition Specification, v. 1.4, final release edition, November 2003.
|
| |
24
|
D. Thomas. UML - Unified or Universal Modeling Language? Journal of Object Technology, 2(1):7--12, January-February 2003.
|
| |
25
|
xPetstore. Home page at http://xpetstore.sourceforge.net.
|
CITED BY 2
|
|
Nuno Carvalho , João Cachopo , Luís Rodrigues , António Rito Silva, Versioned transactional shared memory for the FénixEDU web application, Proceedings of the 2nd workshop on Dependable distributed data management, p.15-18, March 31-31, 2008, Glasgow, Scotland
|
|
|
|
|