16.01.2014 Views

Diploma Thesis Santiago Gómez Sáez - IAAS

Diploma Thesis Santiago Gómez Sáez - IAAS

Diploma Thesis Santiago Gómez Sáez - IAAS

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!