Getting started with DDBS Toolkit
Import modules into your project
Add the needed dependencies into your pom.xml
- Example for MySQL module:
org.ddbstoolkit.toolkit.modules.datastore.mysql ddbstoolkit-mysql 1.0.0-beta2 compile
Create your data model
You need to create your data classes with the following requirements :
- For non distributed data: your classes need to implement IEntity
- For distributed data: your classes need to extend DistributedEntity
Example for distributed Actor data
public class Actor extends DistributedEntity {
@Id
@EntityName(name="actor_id")
private Integer actorId;
@EntityName(name="actor_name")
private String actorName;
@EntityName(name="film_id")
private Integer filmId;
public Integer getActorId() {
return actorId;
}
public void setActorId(Integer actorId) {
this.actorId = actorId;
}
public String getActorName() {
return actorName;
}
public void setActorName(String actorName) {
this.actorName = actorName;
}
public Integer getFilmId() {
return filmId;
}
public void setFilmId(Integer filmId) {
this.filmId = filmId;
}
}
Instantiate your data modules
Example for MySQL Module
MySQLConnector mysqlConnector = new MySQLConnector("jdbc:mysql://localhost:3306/myDB", "user", "password");
DistributableEntityManager manager = new DistributedMySQLTableManager(mysqlConnector);
You can already start to use your data module
Example to add an actor data
manager.open();
Actor anActor = new Actor();
anActor.setActorName("Steven");
manager.add(anActor);
manager.close();
For middleware modules: Create your receiver interface and start to listen
The receiver interface will listen to data transactions and will transmit the command into the data module. Example for JGroups module:
DistributableReceiverInterface receiver = null;
try {
receiver = new JGroupReceiver(manager, "defaultCluster", "receiver");
receiver.start();
} finally {
if(receiver != null) {
receiver.stop();
}
}
For middleware modules: Create your sender interface
The sender module will send commands to your receiver interfaces. Example for JGroups module:
DistributableSenderInterface senderInterface = new JGroupSender("defaultCluster", "sender");
For middleware modules: You can already start to use your middleware module
Example to add an actor data
senderInterface.open();
Actor anActor = new Actor();
anActor.setPeerUid("receiver");
anActor.setActorName("Steven");
senderInterface.add(anActor);
senderInterface.close();
Create your own module
You first need to add the DDBS Toolkit core dependency into your pom.xml
org.ddbstoolkit.toolkit.core ddbstoolkit-core 1.0.0-beta2 compile
In order to create your own data module, you will have to :
- Implement the interface DistributableEntityManager
In order to create your own middleware module, you will have to :
- Implement the interface DistributableSenderInterface
- Implement the interface DistributableReceiverInterface
More information about modules
Data layer modules :
Middleware modules :