SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Model-driven Cloud Computing and Technology Consulting
SaaS 비즈니스 전환 전략
Open Cloud Engine Team
Difficulties in developing a “Successful” SaaS app.
Converting Single- to
Multi- tenancy
N-Screen
Big-Data Analysis
IaaS handling
Mobility
Elasticity
(Scalability)
Manageability
Model-
Architecture
Customer Self-
Service & Easy
Provider Support
Marketing / Strategy
By IaaS
Refactor!
Cloud
Migration
Options
Replace
Rehost
RefactorRevise
Rebuild
• Replace by SaaS
Adopting SalesCloud for SFA and WorkDay for HR
Process
• Apps Moved to IaaS
Moving J2EE apps to EC2 Linux
instances from AWS
• Apps Moved to PaaS
Moving .NET apps to Azure
Using Corent-Technology for adopting existing apps
• Apps Redesign for PaaS
Redesigning a monolithic Java app into service-oriented architecture
and then deploying on Rackspace Cloud Servers
• Apps Rebuilt on PaaS
Building a force.com application
for order management
Gartner’s Cloud Migration Options
Economics / Security Options on SaaS
© 2013 uEngineCloud, Inc.
Share more, More cheap offering, More
Competitive in the market !
Share less, More easy & Secure !
Multi-tenancy Support Issues & Approaches
Multi-tenancy
Issues
Isolation &
Customizability
Branding
Logo / Look & Feel Tenant-aware static fields
IBM J9 JVM’s
@TenantScope
Locale / Message Tenant-aware Message Bundle
(java.util.Bundle)
uEngineCloud
Workflow
Business Process Tenant-aware BPM (Business
Process Management)
Stratos
uEngineCloud
Business Rules Tenant-aware BRE (Business
Rule Engine)
Stratos
uEngineCloud
Integration
Process
Tenant-aware EAI (Enterprise
Application Integration)
Stratos
uEgineCloud
Customized App.
Logic
Tenant-aware BCI (Byte Code
Injection)
uEngineCloud
Data Model DBMS
NoSQL Mongo DB, Cassandra
JDBC Proxy
Stratos’ plan
uEngineCloud
(database sharing)
DB Driver hooking
Corent-technology
(Schema sharing)
ORM Framework
Hibernate’s filter
(schema sharing)
(JPA) POJO injection
EclipseLink’s
DiscriminatorColumn
(schema sharing but
not-stable yet)
Access Control
© 2013 uEngineCloud, Inc.
SPOSAD Architecture Style
– The Common Architecture for multi-tenancy applications
© 2013 uEngineCloud, Inc.
Tenant-aware! Inject tenant-specific logics, workflows, brand
Tenant-specific
Store
OCE PaaS Runtime
OCE Provider Portal
OCE SaaSfier Architecture
© 2013 uEngineCloud, Inc.
Application Platform
MulCat
Multi-tenanted DB Connection Pool
UI Framework
N-Screen UI (Metaworks3)
Jasper Extension
Model Platform
Business Process Service
Business Rule Service
EAI Service
uClipse Cloud IDE
OCE Consumer Portal
(Self-Service Portal)
Billing / Metering
Meta data definition
& ModelingUser Directory
Brand / UI
Customization
Workflow / Rule
Customization
Tenant-awareness
1. By Adding a Servlet Filter
1. E.g. Spring’s SpringSecurityFilter
2. uEngineCloud’s org.uengine.cloud.saasfier.TenantAwareFilter stands for this
© 2013 uEngineCloud, Inc.
TenantContext
(ThreadLocal Object)
ServletFilter
Server Thread for the request
Request
creates
JSPs, Servlets, Spring Beans
ORM Framework
or
JDBC
(Prepared stmt.)
url: www.abc.com/tenantId/~
or tenantId.abc.com/~
Tenant-specific Customization > Branding
1. If your code loads the messages, properties and images from ClassLoader.getResource(…), you
don’t need to change your code.
1. MulCat’s custom classloader loads the resources from different location per tenant automatically.
© 2013 uEngineCloud, Inc.
TenantContext
(ThreadLocal Object)
ServletFilter
Server Thread for the request
Request
2. Get tenant Id
JSPs, Servlets, Spring Beans
static String logoLocation = bundle.getMessage(“logo.src”)
ORM Framework
or
JDBC
(Prepared stmt.)
OCE Application Platform
MulCat
(Multi-tenanted ClassLoader)
1. getBundle().getMessage() 3. per-tenant messages, logos
Multi-tenanted DBCP
Metadata repo.
Tenant-specific Customization > Forms (UI)
1. JSPs and Web-Standard UIs can include tenant-specific UIs (either partly or entirely)
1. uEngineCloud’s UI Framework serves UI generation and design tools.
© 2013 uEngineCloud, Inc.
TenantContext
(ThreadLocal Object)
ServletFilter
Server Thread for the request
Request
2. Get tenant Id
JSPs, Servlets, Spring Beans
Replacing customization part with
<iframe> or <%uengine:include ~ %>
ORM Framework
or
JDBC
(Prepared stmt.)
OCE UI Framework
Metaworks3 UI
1. load 3. per-tenant forms / UI / JSPs
Jasper Extension
Metadata repo.
uEngine Model Platform
Tenant-specific Customization > Business Process / Rules / EAI
1. By Replacing (or Injecting) Your Core Business Logics to invoke Model-objects
1. Using Spring DI or uEngine’s ProcessManagerBean Factory
2. Injecting org.uengine.processmanager.ProcessManagerRemote stands for this
© 2013 uEngineCloud, Inc.
TenantContext
(ThreadLocal Object)
ServletFilter
Server Thread for the request
Request
2. Get tenant info
JSPs, Servlets, Spring Beans
@Autowired
ProcessManagerBean processManager;
…
processManager.executeProcess(“pricing”)
ORM Framework
or
JDBC
(Prepared stmt.)
Business Process Service
Business Rule Service
EAI Service
1. invoke
3. per-tenant
process, rule, integration
Metadata repo.
Tenant-specific Customization > Custom Database Schema
1. For shared database strategy, refactoring not required
2. For shared schema, JPA annotation injection (can reuse iBatis DAO definitions only) or
rebuilding required
© 2013 uEngineCloud, Inc.
TenantContext
(ThreadLocal Object)
ServletFilter
Server Thread for the request
Request
2. Get tenant info
JSPs, Servlets, Spring Beans
ORM Framework
or
JDBC
(Prepared stmt.)
1. DriverManager.getConnection()
3. per-tenant
db connection
OCE Application Platform
java.util.ResourceBundle Hack
JDBC Driver Hack
Metadata repo.
Tenant-specific Customization > Custom Database Schema > Shared
Database vs. Shared schema
© 2013 uEngineCloud, Inc.
Rigid, shared
table
Extension tables
Datatype-specific
pivot tables
Private tables
Universal table
with XML
document
Universal table
For shared schema, you have to migrate/refactor/rebuild your DAO objects
© 2013 uEngineCloud, Inc.
Tenant-specific Customization > Custom Database Schema > Shared schema
uEngine DBRE
(Database Re-engineer)
JPA (standard)
DAOs
Existing Schema
iBatis DAO
(non-standard DAO)
Hiberate DAO
(non-standard DAO)
Inserting
JPA annoation
uEngine Application Platform
Tenant aware - JPA impl.
1. Migration approach
2. refactor approach
Rebuilding JPA based DAOs
(from the scratch)
3. Reuild approach
N-Screen UI generation
© 2013 uEngineCloud, Inc.
Tenant-specific Customization > Bonus on using uEngine Re-engineer
uEngine DBRE
(Database Re-engineer)
JPA (standard)
DAOs
Existing Schema
iBatis DAO
(non-standard DAO)
Hiberate DAO
(non-standard DAO)
Inserting
JPA annoation
uEngine Application Platform
Tenant aware - JPA impl.
1. Migration approach
2. refactor approach
Rebuilding JPA based DAOs
(from the scratch)
3. Reuild approach
N-Screen UIs
Inserting
UI-related annotations
uEngine UI Framework
(metaworks 3)
Marketing / Business Strategy
© 2013 uEngineCloud, Inc.
앱 (Contents)
사용료
소비자
공급자
(ISV)
플랫폼 (Platform)
• 서비스1
• 서비스2
• 서비스3
공급자 포털
(관리 서비스)
• 태넌트별
복잡 커스터마이징
요건 (코드레벨)
• 과금 모니터링
• 서비스 조합 및
연동
고객 포털
(셀프서비스)
• 가입
• 조직관리
• 설정관리
• 사용(과금)한
도설정
• 결재
CPNT model
• Contents
• Platform
• Network
• Terminal
T사 Software 분석
• UI Framework :
• Mi-Platform : non web standard  hard to support N-Screen and tenant-specific form customization  regenerate from schema from
MiPlatform Form xml file (implementation required)
• DAO & DBMS:
• i-Batis : non-standard, non-ORM  hard to automatic tenant-specific field injection  shared database or rebuilding DAOs
• DBMS ?
• Business Logic :
• Partially C++ Native logics (stateful or stateless ?)
•If stateful, tenant-awareness refactoring on C++ code is required
•(Optional) Replacing invocation java code to call model object Business Rules, Processes rather than C++ logic
• Lets Easy support for customer self-service and maintenance.
• Use File System: N/A
• Use Directory Service: N/A
© 2013 uEngineCloud, Inc.
Recommended Approach on company T software
Multi-tenancy
Issues
Isolation &
Customizability
Branding
Logo / Look & Feel Tenant-aware static fields IBM J9 JVM’s
@TenantScope
Locale / Message Tenant-aware Message Bundle
(java.util.Bundle)
uEngineCloud
Workflow
Business Process
Tenant-aware BPM (Business
Process Management)
Stratos
uEngineCloud
Business Rules
Tenant-aware BRE (Business
Rule Engine)
Stratos
uEngineCloud
Integration
Process
Tenant-aware EAI (Enterprise
Application Integration)
Stratos
uEgineCloud
Customized App.
Logic
Tenant-aware BCI (Byte Code
Injection)
uEngineCloud
Data Model DBMS
NoSQL Mongo DB, Cassandra
JDBC Proxy
Stratos’ plan
uEngineCloud
(database sharing)
DB Driver hooking Corent-technology
(Schema sharing)
ORM Framework
Hibernate’s filter
(schema sharing)(JPA) POJO injection
EclipseLink’s
DiscriminatorColumn
(schema sharing but
not-stable yet)
Access Control
© 2013 uEngineCloud, Inc.
Recommendations
ThankYou

Weitere ähnliche Inhalte

Was ist angesagt?

Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus WSO2
 
Unified Mobile Application to Integrate SalesForce, Oracle EBS, Taleo, Outloo...
Unified Mobile Application to Integrate SalesForce, Oracle EBS, Taleo, Outloo...Unified Mobile Application to Integrate SalesForce, Oracle EBS, Taleo, Outloo...
Unified Mobile Application to Integrate SalesForce, Oracle EBS, Taleo, Outloo...RapidValue
 
A Multi Criteria Recommendation Engine Model for Cloud Renderfarm Services
A Multi Criteria Recommendation Engine Model for Cloud Renderfarm Services  A Multi Criteria Recommendation Engine Model for Cloud Renderfarm Services
A Multi Criteria Recommendation Engine Model for Cloud Renderfarm Services IJECEIAES
 
Apex and Virtual Private Database
Apex and Virtual Private DatabaseApex and Virtual Private Database
Apex and Virtual Private DatabaseJeffrey Kemp
 
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJava EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJosh Juneau
 
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현Oracle Korea
 
Java EE7: Developing for the Cloud
Java EE7: Developing for the CloudJava EE7: Developing for the Cloud
Java EE7: Developing for the CloudDmitry Buzdin
 
Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10IMC Institute
 
My sql enterprise for managed hosting & saas providers
My sql enterprise for managed hosting & saas providersMy sql enterprise for managed hosting & saas providers
My sql enterprise for managed hosting & saas providersxKinAnx
 
Struts An Open-source Architecture for Web Applications
Struts An Open-source Architecture for Web ApplicationsStruts An Open-source Architecture for Web Applications
Struts An Open-source Architecture for Web Applicationselliando dias
 
Evento IDC & IBM: SAP in cloud
Evento IDC & IBM: SAP in cloudEvento IDC & IBM: SAP in cloud
Evento IDC & IBM: SAP in cloudOtello Costa
 
Sql Server 2012 overview and licensing
Sql Server 2012 overview and licensingSql Server 2012 overview and licensing
Sql Server 2012 overview and licensingRay Cochrane
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionArun Gupta
 
Introduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring MvcIntroduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring MvcAbdelmonaim Remani
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Tuna Tore
 
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...Kalaiselvan (Selvan)
 

Was ist angesagt? (20)

Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus
 
Unified Mobile Application to Integrate SalesForce, Oracle EBS, Taleo, Outloo...
Unified Mobile Application to Integrate SalesForce, Oracle EBS, Taleo, Outloo...Unified Mobile Application to Integrate SalesForce, Oracle EBS, Taleo, Outloo...
Unified Mobile Application to Integrate SalesForce, Oracle EBS, Taleo, Outloo...
 
J2EE pattern 5
J2EE pattern 5J2EE pattern 5
J2EE pattern 5
 
A Multi Criteria Recommendation Engine Model for Cloud Renderfarm Services
A Multi Criteria Recommendation Engine Model for Cloud Renderfarm Services  A Multi Criteria Recommendation Engine Model for Cloud Renderfarm Services
A Multi Criteria Recommendation Engine Model for Cloud Renderfarm Services
 
Apex and Virtual Private Database
Apex and Virtual Private DatabaseApex and Virtual Private Database
Apex and Virtual Private Database
 
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVCJava EE 8 Web Frameworks: A Look at JSF vs MVC
Java EE 8 Web Frameworks: A Look at JSF vs MVC
 
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
[2015 Oracle Cloud Summit] 4. Database Cloud Service_ DB12c의 모든 기능을 클라우드로 구현
 
Java EE7: Developing for the Cloud
Java EE7: Developing for the CloudJava EE7: Developing for the Cloud
Java EE7: Developing for the Cloud
 
Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10
 
My sql enterprise for managed hosting & saas providers
My sql enterprise for managed hosting & saas providersMy sql enterprise for managed hosting & saas providers
My sql enterprise for managed hosting & saas providers
 
Struts An Open-source Architecture for Web Applications
Struts An Open-source Architecture for Web ApplicationsStruts An Open-source Architecture for Web Applications
Struts An Open-source Architecture for Web Applications
 
Struts course material
Struts course materialStruts course material
Struts course material
 
Evento IDC & IBM: SAP in cloud
Evento IDC & IBM: SAP in cloudEvento IDC & IBM: SAP in cloud
Evento IDC & IBM: SAP in cloud
 
NetWeaver Gateway- Introduction to OData
NetWeaver Gateway- Introduction to ODataNetWeaver Gateway- Introduction to OData
NetWeaver Gateway- Introduction to OData
 
Sql Server 2012 overview and licensing
Sql Server 2012 overview and licensingSql Server 2012 overview and licensing
Sql Server 2012 overview and licensing
 
cloud computing
cloud computingcloud computing
cloud computing
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
 
Introduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring MvcIntroduction To Building Enterprise Web Application With Spring Mvc
Introduction To Building Enterprise Web Application With Spring Mvc
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
 
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
Silicon India Java Conference: Building Scalable Solutions For Commerce Silic...
 

Andere mochten auch

[중앙도서관 페이스북강좌 5강] 페이스북 페이지 운영방안 가이드_130528
[중앙도서관 페이스북강좌 5강] 페이스북 페이지 운영방안 가이드_130528[중앙도서관 페이스북강좌 5강] 페이스북 페이지 운영방안 가이드_130528
[중앙도서관 페이스북강좌 5강] 페이스북 페이지 운영방안 가이드_130528규문 최
 
우리들만의 리그 사업계획서
우리들만의 리그 사업계획서우리들만의 리그 사업계획서
우리들만의 리그 사업계획서Sang-hoon Choi
 
페이스북 기업페이지기획 소개자료
페이스북 기업페이지기획 소개자료페이스북 기업페이지기획 소개자료
페이스북 기업페이지기획 소개자료Jennifer Bell
 
SNS 를 통한 비즈니스 프로세스 실행 방안 - 프로세스 코디를 기반으로
SNS 를 통한 비즈니스 프로세스 실행 방안 - 프로세스 코디를 기반으로SNS 를 통한 비즈니스 프로세스 실행 방안 - 프로세스 코디를 기반으로
SNS 를 통한 비즈니스 프로세스 실행 방안 - 프로세스 코디를 기반으로uEngine Solutions
 
비콘커뮤니케이션 Credential 2015_ver1.0
비콘커뮤니케이션 Credential 2015_ver1.0비콘커뮤니케이션 Credential 2015_ver1.0
비콘커뮤니케이션 Credential 2015_ver1.0영현 김
 
페이스북한글메뉴얼[1]
페이스북한글메뉴얼[1]페이스북한글메뉴얼[1]
페이스북한글메뉴얼[1]Tommy Baek
 
페이스북 초보 매뉴얼
페이스북 초보 매뉴얼페이스북 초보 매뉴얼
페이스북 초보 매뉴얼Sunghyun Shin
 
초보자들을 위한 페이스북 가이드(Facebook Guide For Korean Newbie)
초보자들을 위한 페이스북 가이드(Facebook Guide For Korean Newbie)초보자들을 위한 페이스북 가이드(Facebook Guide For Korean Newbie)
초보자들을 위한 페이스북 가이드(Facebook Guide For Korean Newbie)Jae-min Sung
 
처음마케팅코칭프로그램 소개서V2
처음마케팅코칭프로그램 소개서V2처음마케팅코칭프로그램 소개서V2
처음마케팅코칭프로그램 소개서V2cheommarkting
 
[페이스북심화과정 3기] 맞춤타겟과 그래프서치를 활용한 페이스북 광고운용전략 150503
[페이스북심화과정 3기] 맞춤타겟과 그래프서치를 활용한 페이스북 광고운용전략 150503[페이스북심화과정 3기] 맞춤타겟과 그래프서치를 활용한 페이스북 광고운용전략 150503
[페이스북심화과정 3기] 맞춤타겟과 그래프서치를 활용한 페이스북 광고운용전략 150503규문 최
 
페이스북 광고의 기획과 집행[오리콤_양윤직 부장]
페이스북 광고의 기획과 집행[오리콤_양윤직 부장]페이스북 광고의 기획과 집행[오리콤_양윤직 부장]
페이스북 광고의 기획과 집행[오리콤_양윤직 부장]CheolHwan Kim
 
[페이스북 광고 제작 가이드] 효과적인 페이스북 광고 만들기
[페이스북 광고 제작 가이드] 효과적인 페이스북 광고 만들기[페이스북 광고 제작 가이드] 효과적인 페이스북 광고 만들기
[페이스북 광고 제작 가이드] 효과적인 페이스북 광고 만들기ninefactory
 
기업 소셜 미디어(SNS) 운영 전략
기업 소셜 미디어(SNS) 운영 전략기업 소셜 미디어(SNS) 운영 전략
기업 소셜 미디어(SNS) 운영 전략Plan2F
 

Andere mochten auch (13)

[중앙도서관 페이스북강좌 5강] 페이스북 페이지 운영방안 가이드_130528
[중앙도서관 페이스북강좌 5강] 페이스북 페이지 운영방안 가이드_130528[중앙도서관 페이스북강좌 5강] 페이스북 페이지 운영방안 가이드_130528
[중앙도서관 페이스북강좌 5강] 페이스북 페이지 운영방안 가이드_130528
 
우리들만의 리그 사업계획서
우리들만의 리그 사업계획서우리들만의 리그 사업계획서
우리들만의 리그 사업계획서
 
페이스북 기업페이지기획 소개자료
페이스북 기업페이지기획 소개자료페이스북 기업페이지기획 소개자료
페이스북 기업페이지기획 소개자료
 
SNS 를 통한 비즈니스 프로세스 실행 방안 - 프로세스 코디를 기반으로
SNS 를 통한 비즈니스 프로세스 실행 방안 - 프로세스 코디를 기반으로SNS 를 통한 비즈니스 프로세스 실행 방안 - 프로세스 코디를 기반으로
SNS 를 통한 비즈니스 프로세스 실행 방안 - 프로세스 코디를 기반으로
 
비콘커뮤니케이션 Credential 2015_ver1.0
비콘커뮤니케이션 Credential 2015_ver1.0비콘커뮤니케이션 Credential 2015_ver1.0
비콘커뮤니케이션 Credential 2015_ver1.0
 
페이스북한글메뉴얼[1]
페이스북한글메뉴얼[1]페이스북한글메뉴얼[1]
페이스북한글메뉴얼[1]
 
페이스북 초보 매뉴얼
페이스북 초보 매뉴얼페이스북 초보 매뉴얼
페이스북 초보 매뉴얼
 
초보자들을 위한 페이스북 가이드(Facebook Guide For Korean Newbie)
초보자들을 위한 페이스북 가이드(Facebook Guide For Korean Newbie)초보자들을 위한 페이스북 가이드(Facebook Guide For Korean Newbie)
초보자들을 위한 페이스북 가이드(Facebook Guide For Korean Newbie)
 
처음마케팅코칭프로그램 소개서V2
처음마케팅코칭프로그램 소개서V2처음마케팅코칭프로그램 소개서V2
처음마케팅코칭프로그램 소개서V2
 
[페이스북심화과정 3기] 맞춤타겟과 그래프서치를 활용한 페이스북 광고운용전략 150503
[페이스북심화과정 3기] 맞춤타겟과 그래프서치를 활용한 페이스북 광고운용전략 150503[페이스북심화과정 3기] 맞춤타겟과 그래프서치를 활용한 페이스북 광고운용전략 150503
[페이스북심화과정 3기] 맞춤타겟과 그래프서치를 활용한 페이스북 광고운용전략 150503
 
페이스북 광고의 기획과 집행[오리콤_양윤직 부장]
페이스북 광고의 기획과 집행[오리콤_양윤직 부장]페이스북 광고의 기획과 집행[오리콤_양윤직 부장]
페이스북 광고의 기획과 집행[오리콤_양윤직 부장]
 
[페이스북 광고 제작 가이드] 효과적인 페이스북 광고 만들기
[페이스북 광고 제작 가이드] 효과적인 페이스북 광고 만들기[페이스북 광고 제작 가이드] 효과적인 페이스북 광고 만들기
[페이스북 광고 제작 가이드] 효과적인 페이스북 광고 만들기
 
기업 소셜 미디어(SNS) 운영 전략
기업 소셜 미디어(SNS) 운영 전략기업 소셜 미디어(SNS) 운영 전략
기업 소셜 미디어(SNS) 운영 전략
 

Ähnlich wie Model-driven Cloud Consulting

Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)IRJET Journal
 
Swarn Singh_CV_SSE
Swarn Singh_CV_SSESwarn Singh_CV_SSE
Swarn Singh_CV_SSESwarn Singh
 
Technology Overview
Technology OverviewTechnology Overview
Technology OverviewLiran Zelkha
 
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - ConceroCTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - ConceroSpiffy
 
Azure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overviewAzure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overviewGeorge Walters
 
Netserv Technology Services
Netserv Technology ServicesNetserv Technology Services
Netserv Technology Servicessthicks14
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택uEngine Solutions
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architectureAdeel Javaid
 
IBM SmartCloud Orchestration
IBM SmartCloud OrchestrationIBM SmartCloud Orchestration
IBM SmartCloud OrchestrationIBM Danmark
 
Build on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingBuild on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingAmazon Web Services
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
Migrating Monoliths to Microservices -- M3
Migrating Monoliths to Microservices -- M3Migrating Monoliths to Microservices -- M3
Migrating Monoliths to Microservices -- M3Asir Selvasingh
 
Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1Lai Yoong Seng
 
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Eduardo Patrocinio
 
Enabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeEnabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeVMware Tanzu
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld
 
Why NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasWhy NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasDatavail
 
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandPaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandCisco IT
 

Ähnlich wie Model-driven Cloud Consulting (20)

Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)
 
Swarn Singh_CV_SSE
Swarn Singh_CV_SSESwarn Singh_CV_SSE
Swarn Singh_CV_SSE
 
Technology Overview
Technology OverviewTechnology Overview
Technology Overview
 
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - ConceroCTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
CTU June 2011 - Hybrid Cloud Management with Microsoft System Center - Concero
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
Azure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overviewAzure SQL Database Managed Instance - technical overview
Azure SQL Database Managed Instance - technical overview
 
Netserv Technology Services
Netserv Technology ServicesNetserv Technology Services
Netserv Technology Services
 
Aqua presentation
Aqua presentationAqua presentation
Aqua presentation
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
IBM SmartCloud Orchestration
IBM SmartCloud OrchestrationIBM SmartCloud Orchestration
IBM SmartCloud Orchestration
 
Build on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingBuild on AWS: Migrating and Platforming
Build on AWS: Migrating and Platforming
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
Migrating Monoliths to Microservices -- M3
Migrating Monoliths to Microservices -- M3Migrating Monoliths to Microservices -- M3
Migrating Monoliths to Microservices -- M3
 
Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1Cloud Management With System Center Application Controller ver1
Cloud Management With System Center Application Controller ver1
 
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
 
Enabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using SteeltoeEnabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using Steeltoe
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
 
Why NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasWhy NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB Atlas
 
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandPaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
 

Mehr von uEngine Solutions

이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기uEngine Solutions
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture LearninguEngine Solutions
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3uEngine Solutions
 
Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2uEngine Solutions
 
Event storming based msa training commerce example
Event storming based msa training commerce exampleEvent storming based msa training commerce example
Event storming based msa training commerce exampleuEngine Solutions
 
Event Storming and Implementation Workshop
Event Storming and Implementation WorkshopEvent Storming and Implementation Workshop
Event Storming and Implementation WorkshopuEngine Solutions
 
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...uEngine Solutions
 
Safe cloud native transformation approaches
Safe cloud native transformation approachesSafe cloud native transformation approaches
Safe cloud native transformation approachesuEngine Solutions
 
microservice architecture public education v2
microservice architecture public education v2microservice architecture public education v2
microservice architecture public education v2uEngine Solutions
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementationuEngine Solutions
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)uEngine Solutions
 
Distributed transanction in microservices
Distributed transanction in microservicesDistributed transanction in microservices
Distributed transanction in microservicesuEngine Solutions
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementationuEngine Solutions
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsuEngine Solutions
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos uEngine Solutions
 
Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례uEngine Solutions
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented ArchitectureuEngine Solutions
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickuEngine Solutions
 

Mehr von uEngine Solutions (20)

이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
이벤트스토밍과 BDD 를 혼합하여 소프트웨어 디자인과 테스트 자동화하기
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2
 
Event storming based msa training commerce example
Event storming based msa training commerce exampleEvent storming based msa training commerce example
Event storming based msa training commerce example
 
Event Storming and Implementation Workshop
Event Storming and Implementation WorkshopEvent Storming and Implementation Workshop
Event Storming and Implementation Workshop
 
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
 
Microservice coding guide
Microservice coding guideMicroservice coding guide
Microservice coding guide
 
Safe cloud native transformation approaches
Safe cloud native transformation approachesSafe cloud native transformation approaches
Safe cloud native transformation approaches
 
microservice architecture public education v2
microservice architecture public education v2microservice architecture public education v2
microservice architecture public education v2
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementation
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
Distributed transanction in microservices
Distributed transanction in microservicesDistributed transanction in microservices
Distributed transanction in microservices
 
From event storming to spring cloud implementation
From event storming to spring cloud implementationFrom event storming to spring cloud implementation
From event storming to spring cloud implementation
 
Micro service architecture
Micro service architectureMicro service architecture
Micro service architecture
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS Snapshots
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented Architecture
 
Building multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quickBuilding multi tenancy enterprise applications - quick
Building multi tenancy enterprise applications - quick
 

Model-driven Cloud Consulting

  • 1. Model-driven Cloud Computing and Technology Consulting SaaS 비즈니스 전환 전략 Open Cloud Engine Team
  • 2. Difficulties in developing a “Successful” SaaS app. Converting Single- to Multi- tenancy N-Screen Big-Data Analysis IaaS handling Mobility Elasticity (Scalability) Manageability Model- Architecture Customer Self- Service & Easy Provider Support Marketing / Strategy By IaaS Refactor!
  • 3. Cloud Migration Options Replace Rehost RefactorRevise Rebuild • Replace by SaaS Adopting SalesCloud for SFA and WorkDay for HR Process • Apps Moved to IaaS Moving J2EE apps to EC2 Linux instances from AWS • Apps Moved to PaaS Moving .NET apps to Azure Using Corent-Technology for adopting existing apps • Apps Redesign for PaaS Redesigning a monolithic Java app into service-oriented architecture and then deploying on Rackspace Cloud Servers • Apps Rebuilt on PaaS Building a force.com application for order management Gartner’s Cloud Migration Options
  • 4. Economics / Security Options on SaaS © 2013 uEngineCloud, Inc. Share more, More cheap offering, More Competitive in the market ! Share less, More easy & Secure !
  • 5. Multi-tenancy Support Issues & Approaches Multi-tenancy Issues Isolation & Customizability Branding Logo / Look & Feel Tenant-aware static fields IBM J9 JVM’s @TenantScope Locale / Message Tenant-aware Message Bundle (java.util.Bundle) uEngineCloud Workflow Business Process Tenant-aware BPM (Business Process Management) Stratos uEngineCloud Business Rules Tenant-aware BRE (Business Rule Engine) Stratos uEngineCloud Integration Process Tenant-aware EAI (Enterprise Application Integration) Stratos uEgineCloud Customized App. Logic Tenant-aware BCI (Byte Code Injection) uEngineCloud Data Model DBMS NoSQL Mongo DB, Cassandra JDBC Proxy Stratos’ plan uEngineCloud (database sharing) DB Driver hooking Corent-technology (Schema sharing) ORM Framework Hibernate’s filter (schema sharing) (JPA) POJO injection EclipseLink’s DiscriminatorColumn (schema sharing but not-stable yet) Access Control © 2013 uEngineCloud, Inc.
  • 6. SPOSAD Architecture Style – The Common Architecture for multi-tenancy applications © 2013 uEngineCloud, Inc. Tenant-aware! Inject tenant-specific logics, workflows, brand Tenant-specific Store
  • 7. OCE PaaS Runtime OCE Provider Portal OCE SaaSfier Architecture © 2013 uEngineCloud, Inc. Application Platform MulCat Multi-tenanted DB Connection Pool UI Framework N-Screen UI (Metaworks3) Jasper Extension Model Platform Business Process Service Business Rule Service EAI Service uClipse Cloud IDE OCE Consumer Portal (Self-Service Portal) Billing / Metering Meta data definition & ModelingUser Directory Brand / UI Customization Workflow / Rule Customization
  • 8. Tenant-awareness 1. By Adding a Servlet Filter 1. E.g. Spring’s SpringSecurityFilter 2. uEngineCloud’s org.uengine.cloud.saasfier.TenantAwareFilter stands for this © 2013 uEngineCloud, Inc. TenantContext (ThreadLocal Object) ServletFilter Server Thread for the request Request creates JSPs, Servlets, Spring Beans ORM Framework or JDBC (Prepared stmt.) url: www.abc.com/tenantId/~ or tenantId.abc.com/~
  • 9. Tenant-specific Customization > Branding 1. If your code loads the messages, properties and images from ClassLoader.getResource(…), you don’t need to change your code. 1. MulCat’s custom classloader loads the resources from different location per tenant automatically. © 2013 uEngineCloud, Inc. TenantContext (ThreadLocal Object) ServletFilter Server Thread for the request Request 2. Get tenant Id JSPs, Servlets, Spring Beans static String logoLocation = bundle.getMessage(“logo.src”) ORM Framework or JDBC (Prepared stmt.) OCE Application Platform MulCat (Multi-tenanted ClassLoader) 1. getBundle().getMessage() 3. per-tenant messages, logos Multi-tenanted DBCP Metadata repo.
  • 10. Tenant-specific Customization > Forms (UI) 1. JSPs and Web-Standard UIs can include tenant-specific UIs (either partly or entirely) 1. uEngineCloud’s UI Framework serves UI generation and design tools. © 2013 uEngineCloud, Inc. TenantContext (ThreadLocal Object) ServletFilter Server Thread for the request Request 2. Get tenant Id JSPs, Servlets, Spring Beans Replacing customization part with <iframe> or <%uengine:include ~ %> ORM Framework or JDBC (Prepared stmt.) OCE UI Framework Metaworks3 UI 1. load 3. per-tenant forms / UI / JSPs Jasper Extension Metadata repo.
  • 11. uEngine Model Platform Tenant-specific Customization > Business Process / Rules / EAI 1. By Replacing (or Injecting) Your Core Business Logics to invoke Model-objects 1. Using Spring DI or uEngine’s ProcessManagerBean Factory 2. Injecting org.uengine.processmanager.ProcessManagerRemote stands for this © 2013 uEngineCloud, Inc. TenantContext (ThreadLocal Object) ServletFilter Server Thread for the request Request 2. Get tenant info JSPs, Servlets, Spring Beans @Autowired ProcessManagerBean processManager; … processManager.executeProcess(“pricing”) ORM Framework or JDBC (Prepared stmt.) Business Process Service Business Rule Service EAI Service 1. invoke 3. per-tenant process, rule, integration Metadata repo.
  • 12. Tenant-specific Customization > Custom Database Schema 1. For shared database strategy, refactoring not required 2. For shared schema, JPA annotation injection (can reuse iBatis DAO definitions only) or rebuilding required © 2013 uEngineCloud, Inc. TenantContext (ThreadLocal Object) ServletFilter Server Thread for the request Request 2. Get tenant info JSPs, Servlets, Spring Beans ORM Framework or JDBC (Prepared stmt.) 1. DriverManager.getConnection() 3. per-tenant db connection OCE Application Platform java.util.ResourceBundle Hack JDBC Driver Hack Metadata repo.
  • 13. Tenant-specific Customization > Custom Database Schema > Shared Database vs. Shared schema © 2013 uEngineCloud, Inc. Rigid, shared table Extension tables Datatype-specific pivot tables Private tables Universal table with XML document Universal table
  • 14. For shared schema, you have to migrate/refactor/rebuild your DAO objects © 2013 uEngineCloud, Inc. Tenant-specific Customization > Custom Database Schema > Shared schema uEngine DBRE (Database Re-engineer) JPA (standard) DAOs Existing Schema iBatis DAO (non-standard DAO) Hiberate DAO (non-standard DAO) Inserting JPA annoation uEngine Application Platform Tenant aware - JPA impl. 1. Migration approach 2. refactor approach Rebuilding JPA based DAOs (from the scratch) 3. Reuild approach
  • 15. N-Screen UI generation © 2013 uEngineCloud, Inc. Tenant-specific Customization > Bonus on using uEngine Re-engineer uEngine DBRE (Database Re-engineer) JPA (standard) DAOs Existing Schema iBatis DAO (non-standard DAO) Hiberate DAO (non-standard DAO) Inserting JPA annoation uEngine Application Platform Tenant aware - JPA impl. 1. Migration approach 2. refactor approach Rebuilding JPA based DAOs (from the scratch) 3. Reuild approach N-Screen UIs Inserting UI-related annotations uEngine UI Framework (metaworks 3)
  • 16. Marketing / Business Strategy © 2013 uEngineCloud, Inc. 앱 (Contents) 사용료 소비자 공급자 (ISV) 플랫폼 (Platform) • 서비스1 • 서비스2 • 서비스3 공급자 포털 (관리 서비스) • 태넌트별 복잡 커스터마이징 요건 (코드레벨) • 과금 모니터링 • 서비스 조합 및 연동 고객 포털 (셀프서비스) • 가입 • 조직관리 • 설정관리 • 사용(과금)한 도설정 • 결재 CPNT model • Contents • Platform • Network • Terminal
  • 17. T사 Software 분석 • UI Framework : • Mi-Platform : non web standard  hard to support N-Screen and tenant-specific form customization  regenerate from schema from MiPlatform Form xml file (implementation required) • DAO & DBMS: • i-Batis : non-standard, non-ORM  hard to automatic tenant-specific field injection  shared database or rebuilding DAOs • DBMS ? • Business Logic : • Partially C++ Native logics (stateful or stateless ?) •If stateful, tenant-awareness refactoring on C++ code is required •(Optional) Replacing invocation java code to call model object Business Rules, Processes rather than C++ logic • Lets Easy support for customer self-service and maintenance. • Use File System: N/A • Use Directory Service: N/A © 2013 uEngineCloud, Inc.
  • 18. Recommended Approach on company T software Multi-tenancy Issues Isolation & Customizability Branding Logo / Look & Feel Tenant-aware static fields IBM J9 JVM’s @TenantScope Locale / Message Tenant-aware Message Bundle (java.util.Bundle) uEngineCloud Workflow Business Process Tenant-aware BPM (Business Process Management) Stratos uEngineCloud Business Rules Tenant-aware BRE (Business Rule Engine) Stratos uEngineCloud Integration Process Tenant-aware EAI (Enterprise Application Integration) Stratos uEgineCloud Customized App. Logic Tenant-aware BCI (Byte Code Injection) uEngineCloud Data Model DBMS NoSQL Mongo DB, Cassandra JDBC Proxy Stratos’ plan uEngineCloud (database sharing) DB Driver hooking Corent-technology (Schema sharing) ORM Framework Hibernate’s filter (schema sharing)(JPA) POJO injection EclipseLink’s DiscriminatorColumn (schema sharing but not-stable yet) Access Control © 2013 uEngineCloud, Inc. Recommendations