August 24, 2018 at 10:26 am
Hi SSC,
I'm architecting some stuff which crosses service boundaries, and second guessing myself about how best to handle the identifiers of my various tables/entities.
For example, we have a user management system, and a user is uniquely identified by [cust_num] varchar(16), which is a concatenation of the organization that user is associated with ([marketer] char(2)) and a string (usually a random hash). So for example
Lots of systems rely on this system, and so in the past we've hung business logic on entities like [Marketer] and [cust_num], sometimes to our own detriment. There are a number of variants on these string identifiers in other systems, but they all have similar undesirable traits.
I'm considering creating my own identifiers (probably, literally, an IDENTITY) and use that in my system, and only reference the other identifier in a mapping capacity. Some of my reasons for wanting to do this are
Plus my gut says this is the right approach. However I'm also aware that
August 29, 2018 at 7:33 am
Hey Xedni,
I'm having a tough time following you on this. Maybe because it's early and I've only had 1 cup of coffee 😉 I'll share something below which I think may be related to what you are asking, but I'm not sure.
We have people in 2 different systems (1 system for recruiting and 1 for managing staff). - Actually, we have people in more than 2 systems, but I'm keeping this reply simple.
People can be found in 1 or both systems. In the warehouse, I architect it like this:
Next, I add abstraction through views. The views allow me to do just about anything I need while maintaining maximum flexibility. With the views, I can union candidates and staff and show which source system they come from. Another thing I can do is match candidates and staff based on email to show people who are both candidates and staff.
Hope this helps a little.
Viewing 2 posts - 1 through 1 (of 1 total)
You must be logged in to reply to this topic. Login to reply