[[DSL-DSL]]
= DSL

Camel uses a Java _Domain Specific Language_ or DSL for creating
xref:enterprise-integration-patterns.adoc[Enterprise Integration
Patterns] or Routes in a variety of domain-specific
languages (DSL) as listed below.

* xref:java-dsl.adoc[Java DSL] - A Java based DSL using the fluent
builder style.
* xref:components::spring.adoc[Spring XML] - A XML based DSL in Spring XML files
* Blueprint XML - A XML based
DSL in OSGi Blueprint XML files
* Rest DSL - A DSL to define REST services using a
REST style in either Java or XML.
* xref:bean-integration.adoc[Annotation DSL] - Use annotations in Java
beans.

The main entry points for the DSL are

* xref:camelcontext.adoc[CamelContext] for creating a Camel routing
rulebase
* RouteBuilder for creating a collection of
routes using the routing DSL

