# Designing for extensibility Java WebService

**URL:** <https://discuss.elastic.co/t/designing-for-extensibility-java-webservice/5900>\
**Category:** Elasticsearch\
**Created:** [November 17, 2011, 2:42pm UTC](https://discuss.elastic.co/t/designing-for-extensibility-java-webservice/5900 "2011-11-17T14:42:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Activity\_Bob](https://avatars.discourse-cdn.com/v4/letter/a/41988e/32.png) [@Activity\_Bob](https://discuss.elastic.co/u/Activity_Bob)\
**Post date:** [November 17, 2011, 2:42pm UTC](https://discuss.elastic.co/t/designing-for-extensibility-java-webservice/5900/1 "2011-11-17T14:42:57Z")

</div>

Hi all,

My first message. I am a relative beginner to software programming in  
general so please go easy on me if I dont understand your suggestions  
at first or ask silly questions. I am here to learn and have read  
quite a few articles on elasticsearch now, however if you have good  
suggestions for more reading let me know!

I am currently designing a small project and wanted some advice on how  
best to make it more future proof.

I have a basic object Activity and extenstions for it. In a straight  
database world I might have a table for activity a table for each  
extension and an activity-extension join table.

I would then do a join on the appropriate tables to do a search for  
information.

My plan is to use CXF to open it as a web service, java middle tier  
for business logic and elasticsearch at the back to store and query  
data.

My question then is am I thinking of elasticsearch in the right way or  
is the approach (different tables and join) totally wrong. If it is  
correct what would be the best way to represent different "tables" in  
ElasticSearch terminology.

Also for elasticsearch what is the best way to deal with identity  
information in objects. Is it best to map \_id to an id field in each  
object or store my own id field?

Cheers, Rob

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 3:48am UTC](https://discuss.elastic.co/t/designing-for-extensibility-java-webservice/5900/2 "2017-07-06T03:48:18Z")

</div>

Closed on July 6, 2017, 3:48am UTC


