I'm new to Java, I've been mostly a scripter. I recently started working at an all Java shop and have been investigating the architecture. I've encountered more than one project with a directory structure like this:
| src/
---| api/
---| app/
---| dal/
---| sal/
---| metrics/
---| worker/
API, app, metrics are pretty straightforward. API is the public interface, app is the product, metrics is for measurement. I event understand the DAL (data access layer?) and SAL (service access layer) to some extent, but not entirely.
Whats really throwing me off is this "Worker Layer". What is it for? I've read online the the Worker Pattern is meant to distribute a large load across a limited pool of computation resources. Still, how does it work? How does this layer interact with a larger system?
Please help me understand.