SlideShare a Scribd company logo
1 of 39
OPEN API SERVICE
PLATFORM BASED ON
SAAS


METADATA DRIVEN
SERVICE PLATFORM   HongSeong Jeon
                   hsjeon70@gmail.com
                   jlook consulting
PLATFORM FEATURES
q Metadata driven service development platform
q Software as a service platform
q Open API service platform for web and mobile
   application
q Shared services platform
PLATFORM FUNCTIONAL
SPECIFICATION
q  Security
     q  Domain management
     q  User, Role, Group management
     q  Data Access Rule management
     q  Menu Access Rule management
q  Common
    q    Preference : System, Domain, User preference
    q    Star Rating and Comments
    q    Announcement
    q    Menu
    q    Calendar
    q    Article
PLATFORM FUNCTIONAL
SPECIFICATION
q  Metadata
     q  Entity, Data Type management
     q  Attribute management
     q  Validation : Enumeration, Pattern, Range
q  Utilities
    q  File Attachment
    q  Array Value support
APPLICATION LOGICAL
ARCHITECTURE
                                Meta Driven Open API Service Platform
                                 Interfaces                   Services                  Repositories
                              Security Controller          Security Service           Security Repository
Open API Service Interfaces




                                                                                                            Metadata Management
                              Generic Controller           Generic Service            Generic Repository

                              Domain Controller            Domain Service             Domain Repository

                              Metadata Controller          Metadata Service           Metadata Repository


                                                           Infrastructures
                                Security            Component          Transaction         OR Mapping
                              Management            Management         Management          Management
                              Attachment            Dynamic View       Task & Batch         JDBC Pool
                              Management              Resolver          Scheduler          Management
SYSTEM ARCHITECTURE


 Domain Admin



                Apache HTTP
                Server 2.0    Web Application Server   Database Server
                              §  Apache Tomcat 6.0    §  H2 Database
  Mobile User                 §  JDK 1.6
                              §  SaaS Platform
                                  Application
APPLICATION TECHNICAL
SPECIFICATION
q  Spring framework
     q  Spring IoC Container
     q  Spring Web MVC
     q  Spring Security
q  JBoss – Hibernate, Javassist
q  Google h2 Database
q  Google gson
q  MVEL 2.0
q  Apache Velocity Template engine
q  Java & Spring framework Annotation
q  Qdox
SHARED SERVICES
PLATFORM
                       Domain Users




       software as a service platform
    User Domain   User Domain   User Domain   User Domain


     Domain
      Domain       Domain
                    Domain       Domain
                                  Domain        Domain
                                                 Domain
      Entity
       Entity       Entity
                     Entity       Entity
                                   Entity        Entity
                                                  Entity



                  Platform System Domain
      Account       Security     Metadata     StarRating
      Service       Service       Service      Service      Shared
                                                            Services
     Preference    Announce      Calendar     Attachment
      Service       Service       Service       Service
DOMAIN ENTITY
PUBLISHING PROCESS
1.  Metadata Definition
    q  Define Entity metadata
                                                      Metadata Management
    q  Define Attribute metadata
2.  Entity Mapping                      1    Entity         Attribute     Data Type

                                                               2
    q  Create table in database                        Domain Database
    q  Create constraints for entity
                                                              Table
3.  Access to entity by Open API
    q    Pagination list data                          Generic Open API
    q    Create data to table
                                                              3
    q    Update data to table
                                            Create / Update / Delete / Pagination
    q    Delete data to table                    Mobile, Web Application
ENTITY INHERITANCE
SUPPORT
q  Support entity inheritance from another entity.
 SYSTEM METADATA
                                       JValidation


        JUser           JRange             JEnum      JPattern


      USERINFO     ç Domain User Entity
OPEN API SUMMARY
q  Security
    q  SignIn, SignOut
    q  User Registration
    q  Domain management
    q  Role, Group management
    q  Data and Menu Access Control
q  Generic Service
     q  Summary view(table pagination list)
     q  Detail view
     q  Create, Update, Delete
q  File Attachment
    q  File Upload and Update
    q  File Download
    q  Mobile application download (version control)
OPEN API SUMMARY
q  Preference
    q  Preference list (System, Domain, User)
    q  Update Preference value (Domain, User)
    q  Create Preference (Domain, User)
q  Star Rating and comment
     q  Create start Rating and comment
     q  Get Star Rating and comment list
q  Announcement
     q  Announcement list(System, Domain, User)
     q  Create Announcement
q  Metadata Management
    q  Create entity
    q  Delete entity
OPEN API SUMMARY
q  Calendar
q  Article
q  Menu
q  Gallery
OPEN API SPECIFICATION
OPEN API SPECIFICATION
q  Generate open API specification automatically.

          Interface Java
          Source
                     OpenAPI
                     Generator   XML



                                                       HTML
                                                XSLT   Open API
                                       XSL             Specification
OPEN API TESTING PAGE
DATA FILTERING
 q  Domain data filtering
      q  All domains data is separated from each other.
      q  System domain data is shared to all domains.
 q  Entity Summary Filtering
         q  Can configure data filtering logic for each entity.
                                                           §    SQL Conditional clause
                              if( juser.admin ) {                for current entity.
§    If-else Control flow
§    Signed user
                                 "type!='ABSTRACT'"
      information : “jUser”   } else {
                                  "category!='jlook.framework.domain.metadata'"
                              }
DATA FILTERING
q  Reserved context variable
   q  ‘juser’ : User session object
JOBJECT RULE
      q  Entity JObject Rule
           q  Execute custom logics of JObject Rule before creating or
               updating JObject.
                                          §  Current JObject
           q  Expression Language            reference


§     Current action :       if(jaction==‘create’ && jobject.description==null) {
       “create” or “update”
                                  jobject.description = jobject.category+”.”+jobject.name
                              }
JOBJECT POST ACTION
q  JObjectPostAction Interface
   q  Execute custom business logic after creating, updating and
       deleting JObject.
   q  Inheritance JObjectPostAction interface or
       JObjectPostActionSupport class and configure implemented
       class to JClass metadata.
JOBJECT POST ACTION
public class JBatchInstancePostAction extends JObjectPostActionSupport {
              @Override
              public void doCreate(JObject jObject) throws JActionException {
                            JBatchInstance jBatch = (JBatchInstance)jObject;
                            JBatchManager manager = (JBatchManager)context.getBean(JBatchManager.ID);
                            manager.addJBatch(jBatch);
              }

            @Override
            public void doUpdate(JObject jObject) throws JActionException {
                          JBatchManager manager = (JBatchManager)context.getBean(JBatchManager.ID);
                          JBatchInstance jBatch = (JBatchInstance)jObject;
                          manager.updateJBatch(jBatch);
            }

            @Override
            public void doDelete(JObject jObject) throws JActionException {
                          JBatchInstance jBatch = (JBatchInstance)jObject;
                          JBatchManager manager = (JBatchManager)context.getBean(JBatchManager.ID);
                          manager.removeJBatch(jBatch);
            }

}
GENERIC DATA
VALIDATION
q  Support three types of validation
     q  Enumeration : male and female, hobbies, business code data
     q  Pattern : email, telephone number
     q  Range : number range validation
q  Configure validation at JAttribute


                            JValidation


              JRange         JEnum          JPattern


                           JEnumDetail
OPEN API SERVICE
INTERFACES
q  Restful Open API based on HTTP
q  Support dynamic view resolver (JSon, XML, File, HTML
    Message)

 Restful HTTP Request
                                   Controller                         Service
    Content-Type
    §  application/json
    §  application/xml
    §  application/octet-stream                            View
    §  text/html                       View
                                                           Resolver


                                   JSonView     FileView
      HTTP Response
      §    JSon
                                   XmlView      JspView
      §    XML
      §    File
      §    HTML
DYNAMIC VIEW FROM
METADATA
BATCH SERVICE
q  Configure batch definition
   q  Batch Definition : basic information for batch




   q  Batch Parameter Name : parameter information for batch
BATCH SERVICE
q  Configure for batch instance
   q  Batch Instance : configure batch instance from batch definition




   q  Batch Parameter Value : configure parameter value for batch
       parameter name
BATCH SERVICE
q  Batch Job Task
package jlook.framework.infrastructure.batch;

import jlook.framework.infrastructure.util.Log;

public class EchoBatch extends JBatchTaskSupport {
             private static Log logger = Log.getLog(EchoBatch.class);

            @Override
            public void doExecute() throws JBatchException {
                 if(logger.isInfoEnabled()) {
                         logger.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> executing. "+this.context);
                 }
                 // implements batch logic
            }

}
BATCH SERVICE
q  JBatchContext API
package jlook.framework.infrastructure.batch;

public interface JBatchContext {
             public static final String PARAM_BATCH_USER = "batchUser";

            public String getName() ;
            public String getServer();
            public Long getInstanceId();
            public Long getDefinitionId();
            public String uuid();

            public Object getParameter(String name);
            public Object getEnvironment(String name);

            public void put(String key, Object value);
            public Object get(String key);

            public String currentDateTime();
            public Object getBean(String beanName);
}
MULTI-TASK SERVICE
q  Support to execute task by multiple threads.
q  Support retry if exception is occurred on executing task.

                                                  ThreadPool
                                                 TaskExecutor
                         JTaskExecutor                     Thread-1

                                                           Thread-2
             Run Task
                                         Queue
                                                           Thread-3

                    JTask                                  Thread-4


           Inheritance                              Execute


                Custom Task
MULTI-TASK SERVICE
q  Define custom task class
package jlook.framework.infrastructure.task;

import jlook.framework.infrastructure.util.Log;

public class EchoTask extends JTaskSupport {
             private static Log logger = Log.getLog(EchoTask.class);

            @Override
            public void doExecute() throws JTaskException {
                if(logger.isDebugEnabled()) {
                         logger.debug("########################################"+this.retryCount+
                                      "/"+this.maxRetryCount);
                }
                // implements task logic
            }

}
PREFERENCE SERVICE
q  Support three types preferences
     q  System Preference : Application global properties
     q  Domain Preference : Domain specific properties
     q  User Preference : User specific properties
q  Pre-defined Preferences
    Name                         Type    Description
    application.name            SYSTEM   Platform Application Name
    application.version         SYSTEM   Platform Application Version
    application.administrator   SYSTEM   Platform Administrator email address
    domain.name                 DOMAIN   Domain name
    domain.version              DOMAIN   Domain version
    domain.signIn.redirectUrl   DOMAIN   Domain redirect url after sigining in
    domain.administrator        DOMAIN   Domain administrator email address
    user.contact.info           USER     User contact information
    user.signIn.redirectUrl     USER     User redirect url after signing in
STAR RATING AND
COMMENT SERVICE
q  Support star rating and comments for any entity
ANNOUNCE MESSAGE
SERVICE
q  Support three types of announce message
     q  System announce message
     q  Domain announce message
     q  User announce message
q  Support announce message to multiple targets
SECURITY SERVICE
q  Spring security framework
q  User, Group and Role management
q  Data Access Control management
     q  JDataAccessRule : JClass – JRole
     q  Create, Read, Update, Delete for Entity.
q  Menu Access Control management
    q  JMenuAccessRule : JMenu - JRole
CALENDAR SERVICE
MENU SERVICE
ATTACHMENT SERVICE
q  Provide Open API for uploading and downloading a file.
METADATA SERVICE
q  Provide Open API for Entity, Attribute metadata
     q  Entity metadata : name
     q  Attribute : name, label, type, length, required, validation
q  Make view dynamically from metadata
PLATFORM
ADMINISTRATION
Security             Management
  Domain               Access Log
  User                 Thread Dump
  Group                System Properties
  Role                 Environment Properties
  Data Access Rule     Log4j Management
                       JDBC Management
Metadata
  Entity             Common
  Attribute            Validation
  Data Type            Preference
                       Announcement
Statistics
                             System administrator
                             Domain administrator

More Related Content

What's hot

The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUGArun Gupta
 
High Performance Cloud Native APIs Using Apache Geode
High Performance Cloud Native APIs Using Apache Geode High Performance Cloud Native APIs Using Apache Geode
High Performance Cloud Native APIs Using Apache Geode VMware Tanzu
 
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Developing and deploying applications with Spring Boot and Docker (@oakjug)Developing and deploying applications with Spring Boot and Docker (@oakjug)
Developing and deploying applications with Spring Boot and Docker (@oakjug)Chris Richardson
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepGuo Albert
 
TeraGrid's GRAM Auditing & Accounting, & its Integration with the LEAD Scienc...
TeraGrid's GRAM Auditing & Accounting, & its Integration with the LEAD Scienc...TeraGrid's GRAM Auditing & Accounting, & its Integration with the LEAD Scienc...
TeraGrid's GRAM Auditing & Accounting, & its Integration with the LEAD Scienc...marcuschristie
 
IDENTITY-BASED ENCRYPTION WITH OUTSOURCED REVOCATION IN CLOUD COMPUTING
 IDENTITY-BASED ENCRYPTION WITH OUTSOURCED REVOCATION IN CLOUD COMPUTING IDENTITY-BASED ENCRYPTION WITH OUTSOURCED REVOCATION IN CLOUD COMPUTING
IDENTITY-BASED ENCRYPTION WITH OUTSOURCED REVOCATION IN CLOUD COMPUTINGNexgen Technology
 
Vaadin 7 - Java Enterprise Edition integration
Vaadin 7 - Java Enterprise Edition integrationVaadin 7 - Java Enterprise Edition integration
Vaadin 7 - Java Enterprise Edition integrationPeter Lehto
 
Understanding AngularJS HTML5 DataServices
Understanding AngularJS HTML5 DataServicesUnderstanding AngularJS HTML5 DataServices
Understanding AngularJS HTML5 DataServicesThomas Burleson
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesArun Gupta
 

What's hot (11)

The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUGThe Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
The Java EE 7 Platform: Productivity & HTML5 at San Francisco JUG
 
Building REST and Hypermedia APIs with PHP
Building REST and Hypermedia APIs with PHPBuilding REST and Hypermedia APIs with PHP
Building REST and Hypermedia APIs with PHP
 
High Performance Cloud Native APIs Using Apache Geode
High Performance Cloud Native APIs Using Apache Geode High Performance Cloud Native APIs Using Apache Geode
High Performance Cloud Native APIs Using Apache Geode
 
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Developing and deploying applications with Spring Boot and Docker (@oakjug)Developing and deploying applications with Spring Boot and Docker (@oakjug)
Developing and deploying applications with Spring Boot and Docker (@oakjug)
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By Step
 
TeraGrid's GRAM Auditing & Accounting, & its Integration with the LEAD Scienc...
TeraGrid's GRAM Auditing & Accounting, & its Integration with the LEAD Scienc...TeraGrid's GRAM Auditing & Accounting, & its Integration with the LEAD Scienc...
TeraGrid's GRAM Auditing & Accounting, & its Integration with the LEAD Scienc...
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
IDENTITY-BASED ENCRYPTION WITH OUTSOURCED REVOCATION IN CLOUD COMPUTING
 IDENTITY-BASED ENCRYPTION WITH OUTSOURCED REVOCATION IN CLOUD COMPUTING IDENTITY-BASED ENCRYPTION WITH OUTSOURCED REVOCATION IN CLOUD COMPUTING
IDENTITY-BASED ENCRYPTION WITH OUTSOURCED REVOCATION IN CLOUD COMPUTING
 
Vaadin 7 - Java Enterprise Edition integration
Vaadin 7 - Java Enterprise Edition integrationVaadin 7 - Java Enterprise Edition integration
Vaadin 7 - Java Enterprise Edition integration
 
Understanding AngularJS HTML5 DataServices
Understanding AngularJS HTML5 DataServicesUnderstanding AngularJS HTML5 DataServices
Understanding AngularJS HTML5 DataServices
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
 

Viewers also liked

Jlook open api platform-sysdevguide
Jlook open api platform-sysdevguideJlook open api platform-sysdevguide
Jlook open api platform-sysdevguideHongSeong Jeon
 
시시콜콜 및 OPEN API 설명
시시콜콜 및 OPEN API 설명시시콜콜 및 OPEN API 설명
시시콜콜 및 OPEN API 설명건우 이
 
OpenFest 2016 - Open Microservice Architecture
OpenFest 2016 - Open Microservice ArchitectureOpenFest 2016 - Open Microservice Architecture
OpenFest 2016 - Open Microservice ArchitectureNikolay Stoitsev
 
open api seminar
open api seminaropen api seminar
open api seminarNamhoon Kim
 
Understanding Open Api Service
Understanding Open Api ServiceUnderstanding Open Api Service
Understanding Open Api Service준일 엄
 
Geo Service Open API 플랫폼 구축 전략
Geo Service Open API 플랫폼 구축 전략Geo Service Open API 플랫폼 구축 전략
Geo Service Open API 플랫폼 구축 전략Channy Yun
 
Open api개발을 위한 자료1
Open api개발을 위한 자료1Open api개발을 위한 자료1
Open api개발을 위한 자료1도성 김
 
Daum 음성인식 API (김한샘)
Daum 음성인식 API (김한샘)Daum 음성인식 API (김한샘)
Daum 음성인식 API (김한샘)Daum DNA
 
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)Channy Yun
 
Open API 발표자료 - 김연수
Open API 발표자료 - 김연수Open API 발표자료 - 김연수
Open API 발표자료 - 김연수Yeon Soo Kim
 
API Management Reference Architecture
API Management Reference ArchitectureAPI Management Reference Architecture
API Management Reference ArchitectureSeong-Bok Lee
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftMuleSoft
 
Naver Open Api Reference Manual
Naver Open Api Reference ManualNaver Open Api Reference Manual
Naver Open Api Reference Manual성웅 강
 
Welcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyWelcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyMuleSoft
 

Viewers also liked (16)

Jlook open api platform-sysdevguide
Jlook open api platform-sysdevguideJlook open api platform-sysdevguide
Jlook open api platform-sysdevguide
 
Open platform
Open platformOpen platform
Open platform
 
Open platform/API overview
Open platform/API overviewOpen platform/API overview
Open platform/API overview
 
시시콜콜 및 OPEN API 설명
시시콜콜 및 OPEN API 설명시시콜콜 및 OPEN API 설명
시시콜콜 및 OPEN API 설명
 
OpenFest 2016 - Open Microservice Architecture
OpenFest 2016 - Open Microservice ArchitectureOpenFest 2016 - Open Microservice Architecture
OpenFest 2016 - Open Microservice Architecture
 
open api seminar
open api seminaropen api seminar
open api seminar
 
Understanding Open Api Service
Understanding Open Api ServiceUnderstanding Open Api Service
Understanding Open Api Service
 
Geo Service Open API 플랫폼 구축 전략
Geo Service Open API 플랫폼 구축 전략Geo Service Open API 플랫폼 구축 전략
Geo Service Open API 플랫폼 구축 전략
 
Open api개발을 위한 자료1
Open api개발을 위한 자료1Open api개발을 위한 자료1
Open api개발을 위한 자료1
 
Daum 음성인식 API (김한샘)
Daum 음성인식 API (김한샘)Daum 음성인식 API (김한샘)
Daum 음성인식 API (김한샘)
 
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
Open API - 웹 플랫폼 생태계를 만드는 기술 (2011)
 
Open API 발표자료 - 김연수
Open API 발표자료 - 김연수Open API 발표자료 - 김연수
Open API 발표자료 - 김연수
 
API Management Reference Architecture
API Management Reference ArchitectureAPI Management Reference Architecture
API Management Reference Architecture
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
 
Naver Open Api Reference Manual
Naver Open Api Reference ManualNaver Open Api Reference Manual
Naver Open Api Reference Manual
 
Welcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API StrategyWelcome to the API Economy: Developing Your API Strategy
Welcome to the API Economy: Developing Your API Strategy
 

Similar to Jlook open api server platform

Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 javatwo2011
 
Yogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’sYogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’sYogesh Kushwah
 
Syllabus PS03CINT05 detailing
Syllabus PS03CINT05 detailingSyllabus PS03CINT05 detailing
Syllabus PS03CINT05 detailingOPENLANE
 
Slice: OpenJPA for Distributed Persistence
Slice: OpenJPA for Distributed PersistenceSlice: OpenJPA for Distributed Persistence
Slice: OpenJPA for Distributed PersistencePinaki Poddar
 
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...goodfriday
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingThorsten Kamann
 
(ATS3-DEV05) Coding up Pipeline Pilot Components
(ATS3-DEV05) Coding up Pipeline Pilot Components(ATS3-DEV05) Coding up Pipeline Pilot Components
(ATS3-DEV05) Coding up Pipeline Pilot ComponentsBIOVIA
 
Dev309 from asgard to zuul - netflix oss-final
Dev309  from asgard to zuul - netflix oss-finalDev309  from asgard to zuul - netflix oss-final
Dev309 from asgard to zuul - netflix oss-finalRuslan Meshenberg
 
Introduction to share point 2010 development
Introduction to share point 2010 developmentIntroduction to share point 2010 development
Introduction to share point 2010 developmentEric Shupps
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
 
Designing Enterprise IT Systems with REST - QCon San Francisco 2008
Designing Enterprise IT Systems with REST - QCon San Francisco 2008Designing Enterprise IT Systems with REST - QCon San Francisco 2008
Designing Enterprise IT Systems with REST - QCon San Francisco 2008Stuart Charlton
 
A great api is hard to find
A great api is hard to findA great api is hard to find
A great api is hard to findDan Diephouse
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Servicesgoodfriday
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Servicesgoodfriday
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repositorynobby
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An IntroductionThorsten Kamann
 
SVG in Data Acquisition and Control Systems
SVG in Data Acquisition and Control SystemsSVG in Data Acquisition and Control Systems
SVG in Data Acquisition and Control SystemsTao Jiang
 

Similar to Jlook open api server platform (20)

Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
 
Yogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’sYogesh kumar kushwah represent’s
Yogesh kumar kushwah represent’s
 
Syllabus PS03CINT05 detailing
Syllabus PS03CINT05 detailingSyllabus PS03CINT05 detailing
Syllabus PS03CINT05 detailing
 
Slice: OpenJPA for Distributed Persistence
Slice: OpenJPA for Distributed PersistenceSlice: OpenJPA for Distributed Persistence
Slice: OpenJPA for Distributed Persistence
 
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
NET RIA Services - Building Data-Driven Applications with Microsoft Silverlig...
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte Frühling
 
Session18 Madduri
Session18  MadduriSession18  Madduri
Session18 Madduri
 
(ATS3-DEV05) Coding up Pipeline Pilot Components
(ATS3-DEV05) Coding up Pipeline Pilot Components(ATS3-DEV05) Coding up Pipeline Pilot Components
(ATS3-DEV05) Coding up Pipeline Pilot Components
 
From Code to Kubernetes
From Code to KubernetesFrom Code to Kubernetes
From Code to Kubernetes
 
Dev309 from asgard to zuul - netflix oss-final
Dev309  from asgard to zuul - netflix oss-finalDev309  from asgard to zuul - netflix oss-final
Dev309 from asgard to zuul - netflix oss-final
 
Introduction to share point 2010 development
Introduction to share point 2010 developmentIntroduction to share point 2010 development
Introduction to share point 2010 development
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Designing Enterprise IT Systems with REST - QCon San Francisco 2008
Designing Enterprise IT Systems with REST - QCon San Francisco 2008Designing Enterprise IT Systems with REST - QCon San Francisco 2008
Designing Enterprise IT Systems with REST - QCon San Francisco 2008
 
Dropwizard
DropwizardDropwizard
Dropwizard
 
A great api is hard to find
A great api is hard to findA great api is hard to find
A great api is hard to find
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
Introducing SQL Server Data Services
Introducing SQL Server Data ServicesIntroducing SQL Server Data Services
Introducing SQL Server Data Services
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
Spring 3 - An Introduction
Spring 3 - An IntroductionSpring 3 - An Introduction
Spring 3 - An Introduction
 
SVG in Data Acquisition and Control Systems
SVG in Data Acquisition and Control SystemsSVG in Data Acquisition and Control Systems
SVG in Data Acquisition and Control Systems
 

Recently uploaded

JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightSafe Software
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceIES VE
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxMarkSteadman7
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaWSO2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 

Recently uploaded (20)

JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Jlook open api server platform

  • 1. OPEN API SERVICE PLATFORM BASED ON SAAS METADATA DRIVEN SERVICE PLATFORM HongSeong Jeon hsjeon70@gmail.com jlook consulting
  • 2. PLATFORM FEATURES q Metadata driven service development platform q Software as a service platform q Open API service platform for web and mobile application q Shared services platform
  • 3. PLATFORM FUNCTIONAL SPECIFICATION q  Security q  Domain management q  User, Role, Group management q  Data Access Rule management q  Menu Access Rule management q  Common q  Preference : System, Domain, User preference q  Star Rating and Comments q  Announcement q  Menu q  Calendar q  Article
  • 4. PLATFORM FUNCTIONAL SPECIFICATION q  Metadata q  Entity, Data Type management q  Attribute management q  Validation : Enumeration, Pattern, Range q  Utilities q  File Attachment q  Array Value support
  • 5. APPLICATION LOGICAL ARCHITECTURE Meta Driven Open API Service Platform Interfaces Services Repositories Security Controller Security Service Security Repository Open API Service Interfaces Metadata Management Generic Controller Generic Service Generic Repository Domain Controller Domain Service Domain Repository Metadata Controller Metadata Service Metadata Repository Infrastructures Security Component Transaction OR Mapping Management Management Management Management Attachment Dynamic View Task & Batch JDBC Pool Management Resolver Scheduler Management
  • 6. SYSTEM ARCHITECTURE Domain Admin Apache HTTP Server 2.0 Web Application Server Database Server §  Apache Tomcat 6.0 §  H2 Database Mobile User §  JDK 1.6 §  SaaS Platform Application
  • 7. APPLICATION TECHNICAL SPECIFICATION q  Spring framework q  Spring IoC Container q  Spring Web MVC q  Spring Security q  JBoss – Hibernate, Javassist q  Google h2 Database q  Google gson q  MVEL 2.0 q  Apache Velocity Template engine q  Java & Spring framework Annotation q  Qdox
  • 8. SHARED SERVICES PLATFORM Domain Users software as a service platform User Domain User Domain User Domain User Domain Domain Domain Domain Domain Domain Domain Domain Domain Entity Entity Entity Entity Entity Entity Entity Entity Platform System Domain Account Security Metadata StarRating Service Service Service Service Shared Services Preference Announce Calendar Attachment Service Service Service Service
  • 9. DOMAIN ENTITY PUBLISHING PROCESS 1.  Metadata Definition q  Define Entity metadata Metadata Management q  Define Attribute metadata 2.  Entity Mapping 1 Entity Attribute Data Type 2 q  Create table in database Domain Database q  Create constraints for entity Table 3.  Access to entity by Open API q  Pagination list data Generic Open API q  Create data to table 3 q  Update data to table Create / Update / Delete / Pagination q  Delete data to table Mobile, Web Application
  • 10. ENTITY INHERITANCE SUPPORT q  Support entity inheritance from another entity. SYSTEM METADATA JValidation JUser JRange JEnum JPattern USERINFO ç Domain User Entity
  • 11. OPEN API SUMMARY q  Security q  SignIn, SignOut q  User Registration q  Domain management q  Role, Group management q  Data and Menu Access Control q  Generic Service q  Summary view(table pagination list) q  Detail view q  Create, Update, Delete q  File Attachment q  File Upload and Update q  File Download q  Mobile application download (version control)
  • 12. OPEN API SUMMARY q  Preference q  Preference list (System, Domain, User) q  Update Preference value (Domain, User) q  Create Preference (Domain, User) q  Star Rating and comment q  Create start Rating and comment q  Get Star Rating and comment list q  Announcement q  Announcement list(System, Domain, User) q  Create Announcement q  Metadata Management q  Create entity q  Delete entity
  • 13. OPEN API SUMMARY q  Calendar q  Article q  Menu q  Gallery
  • 15. OPEN API SPECIFICATION q  Generate open API specification automatically. Interface Java Source OpenAPI Generator XML HTML XSLT Open API XSL Specification
  • 17. DATA FILTERING q  Domain data filtering q  All domains data is separated from each other. q  System domain data is shared to all domains. q  Entity Summary Filtering q  Can configure data filtering logic for each entity. §  SQL Conditional clause if( juser.admin ) { for current entity. §  If-else Control flow §  Signed user "type!='ABSTRACT'" information : “jUser” } else { "category!='jlook.framework.domain.metadata'" }
  • 18. DATA FILTERING q  Reserved context variable q  ‘juser’ : User session object
  • 19. JOBJECT RULE q  Entity JObject Rule q  Execute custom logics of JObject Rule before creating or updating JObject. §  Current JObject q  Expression Language reference §  Current action : if(jaction==‘create’ && jobject.description==null) { “create” or “update” jobject.description = jobject.category+”.”+jobject.name }
  • 20. JOBJECT POST ACTION q  JObjectPostAction Interface q  Execute custom business logic after creating, updating and deleting JObject. q  Inheritance JObjectPostAction interface or JObjectPostActionSupport class and configure implemented class to JClass metadata.
  • 21. JOBJECT POST ACTION public class JBatchInstancePostAction extends JObjectPostActionSupport { @Override public void doCreate(JObject jObject) throws JActionException { JBatchInstance jBatch = (JBatchInstance)jObject; JBatchManager manager = (JBatchManager)context.getBean(JBatchManager.ID); manager.addJBatch(jBatch); } @Override public void doUpdate(JObject jObject) throws JActionException { JBatchManager manager = (JBatchManager)context.getBean(JBatchManager.ID); JBatchInstance jBatch = (JBatchInstance)jObject; manager.updateJBatch(jBatch); } @Override public void doDelete(JObject jObject) throws JActionException { JBatchInstance jBatch = (JBatchInstance)jObject; JBatchManager manager = (JBatchManager)context.getBean(JBatchManager.ID); manager.removeJBatch(jBatch); } }
  • 22. GENERIC DATA VALIDATION q  Support three types of validation q  Enumeration : male and female, hobbies, business code data q  Pattern : email, telephone number q  Range : number range validation q  Configure validation at JAttribute JValidation JRange JEnum JPattern JEnumDetail
  • 23. OPEN API SERVICE INTERFACES q  Restful Open API based on HTTP q  Support dynamic view resolver (JSon, XML, File, HTML Message) Restful HTTP Request Controller Service Content-Type §  application/json §  application/xml §  application/octet-stream View §  text/html View Resolver JSonView FileView HTTP Response §  JSon XmlView JspView §  XML §  File §  HTML
  • 25. BATCH SERVICE q  Configure batch definition q  Batch Definition : basic information for batch q  Batch Parameter Name : parameter information for batch
  • 26. BATCH SERVICE q  Configure for batch instance q  Batch Instance : configure batch instance from batch definition q  Batch Parameter Value : configure parameter value for batch parameter name
  • 27. BATCH SERVICE q  Batch Job Task package jlook.framework.infrastructure.batch; import jlook.framework.infrastructure.util.Log; public class EchoBatch extends JBatchTaskSupport { private static Log logger = Log.getLog(EchoBatch.class); @Override public void doExecute() throws JBatchException { if(logger.isInfoEnabled()) { logger.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> executing. "+this.context); } // implements batch logic } }
  • 28. BATCH SERVICE q  JBatchContext API package jlook.framework.infrastructure.batch; public interface JBatchContext { public static final String PARAM_BATCH_USER = "batchUser"; public String getName() ; public String getServer(); public Long getInstanceId(); public Long getDefinitionId(); public String uuid(); public Object getParameter(String name); public Object getEnvironment(String name); public void put(String key, Object value); public Object get(String key); public String currentDateTime(); public Object getBean(String beanName); }
  • 29. MULTI-TASK SERVICE q  Support to execute task by multiple threads. q  Support retry if exception is occurred on executing task. ThreadPool TaskExecutor JTaskExecutor Thread-1 Thread-2 Run Task Queue Thread-3 JTask Thread-4 Inheritance Execute Custom Task
  • 30. MULTI-TASK SERVICE q  Define custom task class package jlook.framework.infrastructure.task; import jlook.framework.infrastructure.util.Log; public class EchoTask extends JTaskSupport { private static Log logger = Log.getLog(EchoTask.class); @Override public void doExecute() throws JTaskException { if(logger.isDebugEnabled()) { logger.debug("########################################"+this.retryCount+ "/"+this.maxRetryCount); } // implements task logic } }
  • 31. PREFERENCE SERVICE q  Support three types preferences q  System Preference : Application global properties q  Domain Preference : Domain specific properties q  User Preference : User specific properties q  Pre-defined Preferences Name Type Description application.name SYSTEM Platform Application Name application.version SYSTEM Platform Application Version application.administrator SYSTEM Platform Administrator email address domain.name DOMAIN Domain name domain.version DOMAIN Domain version domain.signIn.redirectUrl DOMAIN Domain redirect url after sigining in domain.administrator DOMAIN Domain administrator email address user.contact.info USER User contact information user.signIn.redirectUrl USER User redirect url after signing in
  • 32. STAR RATING AND COMMENT SERVICE q  Support star rating and comments for any entity
  • 33. ANNOUNCE MESSAGE SERVICE q  Support three types of announce message q  System announce message q  Domain announce message q  User announce message q  Support announce message to multiple targets
  • 34. SECURITY SERVICE q  Spring security framework q  User, Group and Role management q  Data Access Control management q  JDataAccessRule : JClass – JRole q  Create, Read, Update, Delete for Entity. q  Menu Access Control management q  JMenuAccessRule : JMenu - JRole
  • 37. ATTACHMENT SERVICE q  Provide Open API for uploading and downloading a file.
  • 38. METADATA SERVICE q  Provide Open API for Entity, Attribute metadata q  Entity metadata : name q  Attribute : name, label, type, length, required, validation q  Make view dynamically from metadata
  • 39. PLATFORM ADMINISTRATION Security Management Domain Access Log User Thread Dump Group System Properties Role Environment Properties Data Access Rule Log4j Management JDBC Management Metadata Entity Common Attribute Validation Data Type Preference Announcement Statistics System administrator Domain administrator