Diploma Thesis Santiago Gómez Sáez - IAAS
Diploma Thesis Santiago Gómez Sáez - IAAS
Diploma Thesis Santiago Gómez Sáez - IAAS
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5.3. SQL Support Architectural Overview<br />
bundles, as well as the needed isolation of sensible tenant configuration information from<br />
third party bundles. The system provides a set of operations which ease the creation of<br />
multi-tenant aware keys for persisting frontend authentication data, and queries results form<br />
the backend database systems.<br />
The NMR API is shipped in ServiceMix as an OSGi bundle which exports its API as an OSGi<br />
service. The set of operations included in its API allows OSGi bundles to create, send, and<br />
receive message exchanges to JBI endpoints (see Figure 5.4). Before creating the message<br />
exchange, the MySQL Proxy Bundle must build dynamically the target endpoint’s URL by<br />
injecting the tenant context information, and service and endpoint name.<br />
External Application<br />
Legend<br />
Data Access Layer<br />
(MySQL ConnectorJ)<br />
T1 ... TN<br />
(*)<br />
Tenant-aware Endpoint<br />
Tenant1 ... TenantN<br />
Query and data transformation<br />
might exist<br />
Multi-tenant context & messaging<br />
SELECT * FROM myTable /<br />
INSERT * INTO * VALUES *<br />
OSGi<br />
JBI Environment<br />
<br />
Registry-Cache<br />
SQL Cache<br />
instance<br />
SQL Server (port 3306)<br />
<br />
MySQL Proxy Bundle<br />
Standardised Interfaces for Binding<br />
Components<br />
<br />
Normalized<br />
Message API<br />
!"#$%&'()*+,)--%.)+/"01)#+<br />
(*)<br />
!"#$%#&%'()%*+$")&,#-)(*,.&*!)&/'-)*0$1'$)(*<br />
<br />
Camel JDBC<br />
T1 T2 T3<br />
...<br />
Camel JBI<br />
TN<br />
<br />
Smx-Camel-mt<br />
PostgreSQL<br />
Service<br />
Registry<br />
Amazon RDS<br />
Local VM<br />
MySQL Oracle ... MySQL PostgreSql<br />
Figure 5.4.: Architectural overview of the design approach one to support the MySQL<br />
communication protocol and routing to backend SQL databases.<br />
57