Creating Composite Applications