Workshop
Workshop Base
Workshop J2EE
Workshop J2EE OSGI
Workshop RCP
RCP Plugin
• Code reuse• Cross-database• Loosely coupled• Cross-platform
Java Project
Osgi Bundle
Developer: LuYang Email: [email protected]
Workshop J2EE12
1
3
【 J2EE Structure 】
【 Maven Structure 】
【 Static Depend 】
4 【 Module Source 】
5 【 Module View 】
6 【 Web Deploy 】
Workshop J2EE1.1
SpringSpring Framework
Workshop CoreMVC Persist Query Cache Log …...
Workshop System ProjectsInstall Security Index Login ……
J2EE StructureWorkshop Web Projects
Workshop Module ProjectsRBAC Layout Help Log ……
Workshop J2EE1.2Maven Structure
Root
Core
MVC
Persist
Query
Cache
Log
……
System
Install
Admin
Index
Security
……
Module
RBAC
Layout
Metadata
Help
Schema
……
Web App
Workshop
Core Module
System
Web App
Workshop J2EE1.3.1Static Depend - POM
Master Web App
Maven Web Project
Slave Module 1
Maven Project
Slave Module N
Maven Project
Web App Project Maven POM
Project Depend based on Maven POM
Workshop J2EE1.3.2Static Depend - JAR
Core JAR 1
Core JAR N
Module Jar N
Module Jar 1
System Jar 1
Import package path
Import package path
Import package path
Import package path
Import package path
Workshop J2EE1.3.3Static Depend - Web
Web
App
WEB-INF
lib
Module Jar 1…N
Third Jar 1…N
View
JSP
Velocity
Module View 1 … N
Public View Resources
Freemarker
Resources
JavaScript Public JavaScript Resources
CSS Public CSS Resources
Images Public Image Resources
Workshop J2EE1.4Module Source
• Module Sources• Domain• Controller• Dao API• Dao IMPL• Service API• Service IMPL• Spring XML
Workshop IDE
Module Source is deployed in the Java Project
Workshop J2EE1.5Module View
• Module Views• Form• Cond
Workshop IDE
Module Views is deployed in the WEB-INF
Workshop J2EE OSGI22
1
3
【 Module Structure 】
【 Maven Structure 】
【 Dynamic Depend 】
4 【 Module Source 】
5 【 Module View 】
6 【 Web Demo 】
Workshop J2EE OSGI2.1Module Structure
SpringSpring Framework
Workshop OSGICore Projects MVC Persist Query Cache Log …...
Workshop OSGISystem Projects Install Security Index Login ……
Workshop OSGI Web Apps
Workshop OSGIModule Projects RBAC Layout Help Log ……
Spring DM
Workshop J2EE OSGI2.2Maven Structure
Root
Core
MVC
Persist
Query
Cache
Log
……
System
Install
Admin
Index
Security
……
Module
RBAC
Layout
Metadata
Help
Schema
……
OSGI
Catalina
Console
Velocity
……
Web App
Workshop
Core Module
System
Web AppOSGI
Workshop J2EE OSGI2.3.1Dynamic Depend - POM
Master Web App
Maven Web Project
Slave Module 1
Maven Project
Slave Module N
Maven Project
Web App Project Maven POM
Project Depend based on Maven POM
Workshop J2EE OSGI2.3.2Dynamic Depend-Plugin
Plugin 1
Require-Bundle
Import-Package
Bundle-Class Path
Export-Package
Plugin N
Require-Bundle
Export-Package
Bundle-Class Path
Import-Package
Third Jars
Workshop J2EE2.3.6Dynamic Depend – Web Master
Web
Mas
ter P
lugi
n WEB-INF
lib
Module Jar 1…N
Third Jar 1…N
View resources
JSP
Velocity
Module View 1 … N
Public View Resources
Freemarker
Resources
JavaScript Public JavaScript Resources
CSS Public CSS Resources
Images Public Image Resources
Workshop J2EE2.3.7Dynamic Depend – Slave Plugin
Slav
e Pl
ugin META-INF
Spring bean/OSGI xml
Private View Resources
MANIFEST.MF
src
src/main/java
src/test/java
src/main/Resource
Workshop J2EE OSGI2.3.8Dynamic Depend - OSGI
OSGI Bundle 1osgi:service
osgi:reference
OSGI Bundle…osgi:service
osgi:reference
OSGI Bundle Nosgi:service
osgi:reference
Master Web App OSGI Bundle
Workshop J2EE2.4Module Source
• Module Sources• Domain• Controller• Dao API• Dao IMPL• Service API• Service IMPL• Spring XML
• META-INF• spring bean xml• spring osgi:service or osgi:reference xml
Workshop IDE
Module Source is deployed in the Java Project
Workshop J2EE2.6.1Web Deploy
eclipse.ignoreApp=trueosgi.noShutdown=trueosgi.console=osgi.clean=true
../workshop/com.sixsun.workshop.core.cache-1.0.0.jar@start,\
../workshop/com.sixsun.workshop.core.config-1.0.0.jar@start,\
../workshop/com.sixsun.workshop.core.log-1.0.0.jar@start,\
../workshop/com.sixsun.workshop.core.persist-1.0.0.jar@start,\
../workshop/com.sixsun.workshop.core.query-1.0.0.jar@start,\
../workshop/com.sixsun.workshop.module.category-1.0.0.jar@start,\……../workshop/com.sixsun.workshop.system.login-1.0.0.jar@start,\……../workshop/com.sixsun.workshop.dm.console-1.0.0.jar@start,\../workshop/com.sixsun.workshop.web.app-1.0.0.war@start
java -jar eclipse/org.eclipse.osgi.jar
Workshop RCP OSGI32
1
3
【 RCP Application Structure 】
【 Plugin Structure 】
【 Upgrade 】
4 【 Plugin Install 】
5 【 Plugins 】
6 【 RCP Demo 】
Workshop RCP OSGI3.1RCP Application Structure
Spring Spring Framework Spring DM
Eclipse
SWT Equinox/OSGI
JFace
Workbench
Workshop System Plugin Install security Login ……
Workshop Core Plugin Persist Query Cache ……
Workshop RCP Framework My JFace/SWT RCP Controller ...
Workshop Web Projects
Workshop Module UI Plugin RBAC Code Log ……
Workshop RCP OSGI3.2Plugin Structure
Root
Core
Persist
Query
Cache
Log
……
System
Install
Admin
Index
Security
……
Module
RBAC
Layout
Metadata
……
RCP App
Workshop
Help
GEF Core
Module
System
RCP App
Workshop RCP OSGI3.3Upgrade
Code reuseJ2EE,J2EE OSGI,RCP
OSGI
Cross-databaseOracle, MySQL,DB2,Sybase,SQLServer… Cross-platforms
J2EE,J2EE OSGI,RCP OSGI
Workshop J2EE
• JAVA Jars
Workshop J2EE OSGI
• OSGI Bundle
Workshop RCP OSGI
• RCP Plugin
Wrap JAVA Jars
Wrap OSGI Bundle
Workshop Integration 42
1
3
【 Hibernate Integration 】
【 Velocity Integration 】
【 Database Integration 】
4 【 Connection Pool Integration 】
4 【 How to develop a J2EE OSGI Bundle? 】
4 【 How to develop an RCP Plugin? 】
Workshop Integration4.1Hibernate Integration
Workshop Hibernate Bundle
ExtensionBundleAnnotationSessionFactoryBean
Workshop Integration4.3Database Integration
Persist Bundle
DB2Bundle
MySQL Bundle
Oracle Bundle
Sybase Bundle
SQL Server Bundle
Other Bundle
Workshop Integration4.4Connection Pool Integration
Persist Bundle
DBCPBundle
ProxoolBundle
C3P0Bundle
JNDIBundle
Other Bundle
Workshop Integration4.5How to develop a OSGI Bundle
Workshop J2EE DM Plugin Bundle
Extensionso easy
ExtensionPlugin Install
• Database install/uninstall
• Plugin Logo• Plugin Menu• Plugin details
Workshop Integration4.6How to develop an RCP plug-in
Workshop RCP DM Plugin Bundle
Extensionso easy
ExtensionPlugin Install
• Database install/uninstall
• Plugin Logo• Plugin Menu• Plugin details