@startuml

skinparam database {
    backgroundColor selectschool #ffffff
}

skinparam component {
	backgroundColor<<war>> #f3f3f3
}

skinparam node {
	backgroundColor<<shared node>> Magenta
}

skinparam rectangle {
	backgroundColor<<VS3>> #ffffff
}

actor caller

package "AppServer [Wildfly 9]" {

    component [frontend] <<war>> {
        component [markup] <<HTML, CSS, JS>>
    }
    component [backend] <<war>> {

                component [resources] <<JAX-RS>>
                component [quickstart-model] <<jar>> as qsm
                interface "quickstart-api" <<jar>> as qsa
                component [quickstart-impl-ejb] <<jar>> as qsie

                qsie .up.> qsa
                qsa .up.> qsm
                resources .down.> qsa
    }
}

database database

qsie -down-> database
caller --down-> markup : "1. Get the presentation."
caller --down-> resources : "2. Presentation gets data."
caller --> caller : "3. Presentation renders data."

@enduml