Content in English
This is a short summary of English content on my homepage:
| Content | Year | Description |
|---|---|---|
| Handling Application Properties - Simplify Application Customization in Different Environments | 2009 |
This paper aims at evolving a language of patterns dealing with application properties. It contains patterns dealing with flexible ways of loading properties, providing common properties for multiple deployments and enforcing the explicit setting of some properties. Using the patterns facilitates maintenance of properties, allows for simplified refactoring and gives the possibility to keep varying environment settings under version control. As property storages, property files and database tables are discussed. |
| Using a Profiler Efficiently - Strategies that Help you to Find Performance Problems and Memory Leaks | 2008 |
Sooner than later most software development projects suffer from severe runtime problems. When features are given top priority, caring for non-functional requirements such as performance or stability is most often postponed during the initial development phase. Once a system is in production, however, performance problems and memory leaks quickly catch more attention. A Profiler is a very useful development tool to find the causes of these problems. Using a Profiler is not that easy; you need good strategies to detect the actual causes. This paper gives you advice how to use a Profiler efficiently. |
| Shepherding Workshop at EuroPLoP 2008 | 2008 | Collected notes for a workshop at EuroPLoP 2008 on how to become a shepherd or how to become a better shepherd, respectively. Shepherding is a process in which an experienced pattern authors gives feedback to another author who submitted a paper to a pattern conference. The shepherd works closely with the author so that he or she can improve the paper before the actual conference starts. |
| Object Prefetch Filter - A Pattern for Improving the Performance of Object Retrieval of Object-Relational Mapping Tools | 2007 |
Object-relational mapping tools provide a bridge between object-oriented programming languages and relational database systems. Although the concepts of object-relational mapping are well understood, the performance of object retrieval still is a crucial point in using the tools. Prefetching objects is a means to improve the performance, in particular to avoid the so-called n+1 selects problem. This problem arises when a list of objects is retrieved from a database and for each object another database call needs to be executed to retrieve referenced objects. This paper presents a pattern that, if applied to the implementation of a mapping tool, gives application developers the choice to explicitly define for every query which part of a network of objects to prefetch. |
| Business Logic in the Presentation Layer - Design Patterns on the Implementation of Business Logic on the Client-Side | 2006 |
As a general rule of thumb, business logic in a multi-layered information system should be implemented in a dedicated domain layer and be separated from the presentation layer. Although this rule has demonstrated its validity, it restricts the options for designing information systems. At times, there may be good reasons to deploy some types of business logic locally in the presentation layer. This paper presents a collection of design patterns that address the forces of implementing business logic in the presentation layer in the context of an object-oriented business domain layer. |
| User Interfaces for Searching - A Pattern Language | 2005 | The ability to perform search requests in business data is an important asset of any information system. To be accepted by its users, an information system needs a front-end user interface that leverages the features and complexity of the back-end search facilities. Intended for GUI designers and developers, this paper proposes a pattern language for the design of such user interfaces. |
| Query Engine - A pattern for performing dynamic searches in information systems | 2004 | This paper presents an architecture pattern for information systems that require complex search capabilities. The pattern includes means to generically describe search requests, a service that interprets search requests and executes them on data sources, and strategies for transmitting results back to the requesting clients. |
| DB OBjects for Java | 2000-2001 | Open Source project, includes a library for object/relational mapping; hosted at Source Forge |
| Binonymizer - A Two-Way Web-Browsing Anonymizer | 1999 | Research report, on behalf of the Venture Capital company Equinet Venture Partners AG, Frankfurt |
| Global Surveillance and Economic Espionage | 1999 | Seminar paper, written at the University of British Columbia, Vancouver |
| Social Impact of Y2K | 1999 | Seminar paper, written at the University of British Columbia, Vancouver |