Introduction to Multi-Tenant Architecture Iowa

Learn how to create websites with similar functionality yet different UIs and maintain them across one shared code base using Multi-Tenant Website Architecture.

Local Companies

Medilutions
515-326-4666
4507 Wakonda Pkwy.
Des Moines, IA
Ingle's Computer Services Lc
(319) 626-7697
North Liberty, IA
New World Partnership Computer Services
(319) 447-4267
1076 13th St
Marion, IA
Professional Computer Services
(712) 266-0784
Sioux City, IA
A-Plus Computer Services
319-215-9293
1602 Commercial st.
Waterloo, IA
Shared Med IT, LLC
563-355-7473
3319 Sprint Street
Davenport, IA
Ingle's Computer Services Lc
(319) 626-3295
North Liberty, IA
Computer Services Co
(563) 432-6353
303 E 1st St
Mechanicsville, IA
Ingle's Computer Services Lc
(319) 626-4641
North Liberty, IA

Have you ever built multiple websites that have similar core functionality but really differ only in a few ways, such as layout and UI? This can be costly and time consuming. Instead of copying and pasting code, giving it different namespaces, and then setting each to a different site name, I will discuss an architecture concept referred to as Multi-Tenant Websites, which helps improve upon the scenario I just mentioned. These websites allow developers to create a multitude of sites with slight discrepancies, while maintaining a shared code-base and appearing different to the end-user. I will go into the main concepts that the Multi-Tenant Architecture Utilizes and show some examples of these.



Tenants



The first piece to start with is having a table in your database to map each tenant (NOTE: When I refer to "Tenant," this term can be used interchangeable with "Website" to limit confusion) to an ID. For this case, a simple Database Table with an Identity column and name of the tenant as shown in Figure 1 will be enough.


Figure 1: Table Containing List of Tenants using the website.

This Table will allow you to Map all tenant specific data to its proper tenant.



App URL and App Settings



This next piece is the most critical concept to successfully differentiate websites from each other sharing the same code base and, in most cases, the same database. From the first section, you might wonder how you determine which tenant is active as a user is navigating to its respective site. Well, you can utilize the URL string and create a mapping table of all the possible URLs for the web server and relate it to its corresponding tenant ID (I will demonstrate the mapping later on in the article). Figure 2 illustrates the table used for the mapping.

Read the Rest of this Article at Developer.com

Featured Local Company

A-Plus Computer Services

319-215-9293
1602 Commercial st.
Waterloo, IA

Related Articles
- GlassFish ESB V2 for SOA Tooling Iowa
Are you finding it hard to obtain funding to finish building out your Service Oriented Architecture (SOA) technology stack? You may have heard about the Open Source GlassFish Java 5 EE Application Server, but did you know that there is a GlassFish ESB (Enterprise Service Bus) Project that integrates the Open ESB Project? See what it can do for you.
- Java Standardization Request 168 Iowa
- Pattern Summaries: Chain of Responsibility Iowa
- Service Oriented Architecture Iowa
- Portal Development Factory Iowa
- Component Architecture-Based Applications Iowa
- Highly Effective Datacenters Iowa
- Enterprise Java Application Architecture and Design Iowa
Related Articles
- GlassFish ESB V2 for SOA Tooling Iowa
Are you finding it hard to obtain funding to finish building out your Service Oriented Architecture (SOA) technology stack? You may have heard about the Open Source GlassFish Java 5 EE Application Server, but did you know that there is a GlassFish ESB (Enterprise Service Bus) Project that integrates the Open ESB Project? See what it can do for you.
- Java Standardization Request 168 Iowa
- Pattern Summaries: Chain of Responsibility Iowa
- Service Oriented Architecture Iowa
- Portal Development Factory Iowa
- Component Architecture-Based Applications Iowa
- Highly Effective Datacenters Iowa
- Enterprise Java Application Architecture and Design Iowa

Topics: 
Architecture & Design Languages & Tools Project Management Web Services
Database Microsoft & .NET Security Wireless
Java Open Source Techniques XML