Database Mapping Object,Business Logic Object and Service Object

Project Initialization

This chapter will use NetBeans as the IDE. Before we started,please make sure you have downloaded and installed NetBeans. Create a Java Class Library project with nepenthes-demo-3.0 name.
Add the following libs to the project Libraries.
Create the following packages in the project.
  • com.yourcompany.schema
  • com.yourcompany.service

Schema Object

According to Nepenthes protocol,database mapping object is table name with Schema suffix. Here we will create a class to show you all kinds of field types that supported by Nepenthes.
package com.yourcompany.schema;

public class UserSchema 
    public int ID=0;
    public String Name="";
    public String Gender="";
    public int Age=0;
    public double Height=0.00;
    public String Birthdate="";
    public String Demo="";
    public String RegisterTime="";

BL Object

Business Logic Objec to manipulate database via Schema Object,the parent class BLGeneral provides all the operations including create the table if not exists.

import java.sql.Connection;

public class BLUser extends BLGeneral
    private final String createSQL="Name VARCHAR(30),"+
                                   "Gender CHAR(1),"+
                                   "Age INT,"+
                                   "Height DECIMAL(4,2),"+
                                   "Birthdate DATE,"+
                                   "Memo TEXT,"+
                                   "RegisterTime DATETIME";
    private final String indexSQL="Name,Gender";
    public BLUser(Connection con) 
        super.init(createSQL, indexSQL);

Service Object

Provides service with JSON for iOS/Mac remote invoke. Service Object is wrapped as Servlet.
package com.yourcompany.service;

import com.yourcompany.schema.UserSchema;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.NamingException;
import org.everdow.nepenthes.service.ServiceServlet;

public class UserService extends ServiceServlet
    public void init()
            this.schema=new UserSchema();
            this.blGeneral=new BLUser(this.getConnection());
        catch (NamingException | SQLException ex) 
            Logger.getLogger(UserService.class.getName()).log(Level.SEVERE, null, ex);

Service Finalization

You need to complete the following steps to enable the service functional.
  • Build the project
  • Swith Projects panel to Files
  • Right click to show Context Menu:Tool->Show In Finder
  • Copy nepenthes-demo-3.0.jar to /usr/local/apache-tomcat-7.0.55/webapps/NepenthesDemo/WEB-INF/lib
  • open /usr/local/apache-tomcat-7.0.55/webapps/NepenthesDemo/WEB-INF/web.xml,add the following contents.
  • Now web.xml has the following contents,please verify with yours.
  • To make sure UserService enabled properly,please restart Tomcat. Open Terminal,execute the following commands.
    sudo ./
    sudo ./
  • Here you have alread developed backend service for table User.
Next:iOS Client