Upload
makingx
View
1.047
Download
0
Embed Size (px)
DESCRIPTION
JJUG CCC 2014 SpringのLT資料です。 https://github.com/making/categolj2-backend の説明
Citation preview
Intoroduction of CategoLJ2
@making (Toshiaki Maki) http://blog.ik.am
JJUG CCC 2014 Spring LT 2014/05/18
What is CategoLJ2
Originally, Categorizer written in Lisp (since 2009)
Rewrite with Java (2011)
2nd version (2013)
Used as a simple blogware History: http://blog.ik.am/#/entries/193
https://github.com/making/categolj2-backend
Featuare
Simple! Portable! RESTful!
Used TechnologiesJava8 & Spring 4
Spring MVC
Spring Security OAuth
Spring Data JPA & JPA 2.1 (Hibernate)
Hibernate Search
Flyway
Backbone.js
Normal RESTful Architecture
Resource Server
Authorization Server
Client
OAuth API
Resource API
access token
CategoLJ2 Architecture
All in One jar file
Resource
Authorization Client (Admin)
Embedded Tomcat
Client (Frontend)
Flyway
Hazelcast RDB (H2 or MySQL)
CategoLJ2 Architecture
All in One jar file
Resource
Authorization Client (Admin)
Embedded Tomcat
Client (Frontend)
Flyway
Hazelcast RDB (H2 or MySQL)
CategoLJ2 Architecture
All in One jar file
Resource
Authorization Client (Admin)
Embedded Tomcat
Client (Frontend)
Flyway
Hazelcast RDB (H2 or MySQL)
Resource Owner Password Credentials Grant
Technology StackClient(Admin) Resource Server
Backbone.js
Handlebars
Spring
Spring MVC
Jackson2
Spring Data JPA
Hibernate
Embedded Tomcat
Java 8
Admin Console
Admin Console
Admin Console
Admin Console
Admin Console
(Default) Frontend
Quick Launch
wget https://github.com/making/categolj2-backend/releases/download/0.12.0/categolj2-backend.jar
java -jar categolj2-backend.jar
Download & Run!
Default Behavior
Use file based H2 database
DB migration using Flyway
No need to set up any middleware
See Document
https://github.com/making/categolj2-backend#quick-launch
Scalable
java -jar xxx.jar -httpPort 8081
port: 8080
port: 8081
java -jar xxx.jar -httpPort 8080
LB
Hazelcast
Hazelcast
RDB
Distributed Cache
multicast
Scalable
java -jar xxx.jar -
java -jar xxx.jar -
LB
Hazelcast
Hazelcast
RDB
Hazelcast
Hazelcast
Hazelcast
Hazelcast
Hazelcast
Hazelcast
Write your own client!
All in One jar file
Resource
Authorization Client (Admin)
Embedded Tomcat
Client (Frontend)
Flyway
Hazelcast
Your Client (Frontend)
REST API
Write your own client!
All in One jar file
Resource
Authorization Client (Admin)
Embedded Tomcat
Client (Frontend)
Flyway
Hazelcast
Your Client (Frontend)
REST API
JavaScript, JavaFX, JSF, Other langs …
client written in Go lang
https://github.com/making/categolj2-cli
Command Line Interface for CategoLJ2
$ catego gets $ catego get {entryId} $ catego post hogehoge.md $ catego put {entryId}.md
REST API Document
https://github.com/making/categolj2-backend#backend-apis
Comming soon…
using Swagger
Replace your blog!
Thank you