Combining software transactional memory with a domain modeling language to simplify web application development
João Cachopo, António Rito-Silva · 2006
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.