LittleSoft J-Programming(略してLSJ)は、JavaによるWebアプリケーション開発を革新的に スピードアップさせるソリューション製品です。
LSJは無駄を省き、シンプルで洗練されたアーキテクチャを採用。
クロスプラットフォーム性、堅牢なVM、デバッグ・トレースの容易性など、 Webアプリケーション開発プラットフォームとしてのJavaの素養の良さを120%活かしながら、 PHPやRuby on Railsを凌駕するWebシステム開発パフォーマンスを実現します。
ライセンスの詳細:http://www.littlesoft.jp/lsj/license.html
Webアプリケーションのユーザービリティを向上させる技術:AJAXをサポート。
インターネットサービスからエンタープライズな基幹システムまで、あらゆるシーンのWebアプリケーションに 優れたユーザーインターフェースと堅牢な動作を、極めてシンプルな開発プロセスで実現します。
LSJ AJAX UI コンポーネントは100%HTML+CSS+JavaScriptで作成されている為、特別なプラグインやソフトウェアインストールの必要はありません。
LSJ SQLパッケージのコンポーネントを利用すると、データベース構造に縛られないアジャイルな開発スタイルを実現することが可能です。
@TableDef(name="T_EMP", schema="PUBLIC")
static public class Employee implements ITableDef {
@ColumnDef(name="EMP_ID", caption="社員ID")
public Long id;
@ColumnDef(name="DEPT_CODE", caption="所属")
public Integer deptCode;
@ColumnDef(name="NAME", caption="氏名")
public String name;
@ColumnDef(name="ENTER_DATE", caption="入社日", formatPattern="yyyy/MM/dd")
public Date enterDate;
@ColumnDef(name="SEX", caption="性別", defaultValue="1")
public Short sex;
@ColumnDef(name="SALARY", caption="給与", formatPattern="#,##0.00;-#,##0.00")
public BigDecimal salary;
@ColumnDef(name="MEMO", caption="メモ", defaultValue="中途/新卒")
public String memo;
@ColumnDef(name="CREATE_DATETIME", caption="登録日時")
public Timestamp createDatetime;
@ColumnDef(name="UPDATE_DATETIME", caption="更新日時",
formatPattern=DataUtil.XWareki.FORMAT_DATETIME_SHORT)
public Timestamp updateDatetime;
public MetaData<?> createMetaData() {
return new MetaData<Employee>() {{
addPrimaryKey($$.id);
addForeginKey($$.deptCode)
.references(DB.Department.class)
.onDelete(FKOption.CASCADE)
.usingIndex(true);
}};
}
}
また、LSJ SQL APIはデータモデルの変更に対して柔軟な対応を可能にする「SQL文字列編集をしないSQLコーディング 」を実現します。
/**
* WebSQLTableオブジェクト(社員情報テーブル)
* SELECT EMP_ID, NAME, DEPT_NAME
* FROM T_EMP E INNER JOIN M_DEPT D
* ON E.DEPT_CODE = D.DEPT_CODE WHERE E.EMP_ID = :EMP_ID");
*/
static public class EmployeeView implements Serializable {
public Long id;
public String name;
public String deptName;
}
public WebSQLTable<EmployeeView> tableWorkEmp = new WebSQLTable<EmployeeView>(){{
DB.Employee e = $useDummy(DB.Employee.class);
DB.Department d = $useDummy(DB.Department.class);
select(
$(e.id).into($$.id),
$(e.name).into($$.name),
$(d.name).into($$.deptName)
)
.from(e).innerJoin(d).on(e.deptCode).is(d.code).end
.where(e.id).is(":EMP_ID").end
.prepare();
}};
社員一覧編集や勤務表入力を行うデモです。
⇒⇒ デモを開始する
ダウンロードに付属するサンプルアプリケーションと基本的に同じものですが、 web.xmlのサーブレット初期化パラメータの設定とJDBCコネクションの取得方法を変更し、GAE環境とSQL4Gに対応させています。
SQL4Gライブラリの組込みアドミニストレーター用ツール
⇒ デモを開始する
このツールもLSJで開発されたWebアプリケーションです。
LSJ Sample Applicationの社員テーブルや所属テーブルをブラウズできます。左上のデータベースメニューからLS_SAMPLEDBをオープンしてください。(パスワードは"ls"を入力してください)
LSJのダウンロードはこちらから。