Your SlideShare is downloading. ×
0
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Osgi based cloud system architecture - Open Cloud Engine
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Osgi based cloud system architecture - Open Cloud Engine

545

Published on

OCE is an OSGi-based Platform As A Service plaform. OSGi makes easy for implementing Enterprise App Store.

OCE is an OSGi-based Platform As A Service plaform. OSGi makes easy for implementing Enterprise App Store.

Published in: Software
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
545
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
29
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • ERP 컴포넌트 레포지토리는 서비스 중심 아키텍처를 기반으로 도출된 컨포넌트들을 말그래도 중심에 두고 컴포넌트를 프로세스 융합 및 프리젠테이션 융합한다.
    화면이 없는 시스템간 통합은 주로 일반적인 웹서비스 표준기반 호출이 일어나지만, 화면이 존재하는 경우 화면간의 상호운영성을 위하여 SSO, 프로비져닝 등을 위하여 WSRP표준이 사용된다.
    ESB는 내부 컴포넌트간의 잦은 웹서비스 호출에 대하여 성능이 느린 SOAP프로토콜을 사용하지 않아 속도가 빠르면서도 할 수 있도록 해준다.
  • Transcript

    • 1. 2014 한국소프트웨어아키텍트대회 OSGi와 SOA 기반의 클라우드 플랫폼 아키텍처 OCE 의장 장진영 Rick.jang@opence.org
    • 2. PaaS Mission vs • Ready-made architecture • All-in-One • One-click integration
    • 3. PaaS Innovation Competitors Provider who using PaaS Install Integrate DevelopDesign plug Choose apps Modeling & Develop with Open APIs Optimize for operation DONE!
    • 4. PaaS: has modularity issues • Multiple Services • Mature SaaS Level Forrester’s PaaS Reference Model SaaS Maturity Level
    • 5. Java for Enterprise PaaS • Mission critical • Transactional • Legacy Integration i.e. J2EE 8’s Multi-tenancy and PaaS Spec • Optimized for SaaS app development (B2C) • Cloud automation
    • 6. Java Module System: ClassLoader i.e. Tomcat’s ClassLoader
    • 7. OSGi: Standard module system for Java • Standard • Simplifies the complex classloader issues by encapsulating-‘Bundle’ • Spring DM and blueprint • IBM J9 and Java jigsaw roadmap
    • 8. Platforms using OSGi • Eclipse plugin Marketplace • Atlassian plugin Marketplace...
    • 9. Platforms using OSGi • Apache ServiceMix WAS • Glassfish WAS • JOnAS WAS
    • 10. OSGi for PaaS • More modular, so share more (at library level) • More dynamic, so easily automated • Provides standard J2EE framework including JAX-RS, JPA and Spring with whiteboard pattern.
    • 11. Sharing Level • Hypervisor-based PaaS vs. OSGi-based PaaS • Share at library level Share more, More cheap offering, More Co mpetitive in the market ! Share less, More easy & Secure !
    • 12. OSGi based PaaS approaches • Apache Ace and Amdatu • Eclipse Gyrex • Vaadin Arvue Master • WSO2’s Stratos • OCE Garuda  Initiative from Korea!
    • 13. Build Time Run-Time Artifacts BPMN (*.process) Visual Mashup BPMN Process Modeler Cloud IDE Vaadin Designer JAVA Composite UI OSGi Bundle packager App Bundle Vaadin UI Calls Stay In SCM (e.g.Git) Automated By CI tool (Jenkins) Package Master HA Proxy App repo. Netra App Bundles (*.jar) VM Template Instance PaaS RT App1 OSGi Container … Node1 App2 PaaS RT App1 OSGi Container Node2 PaaS RT OSGi Container Image Load info forward message Upload to App Store Tools An OSGi-based PaaS Architecture (OCE Garuda) …. instanciation
    • 14. Exposing Platform Services using OSGi and RESTful APIs • Using Apache-CXF by white-board pattern OSGi Container BPMN Web 2.0 UI JAX-RS JPA Servlet Spring Process Mgmt. Integration Persistence Web Service AOP / Security uEngine Vaadin Eclipse Link (Gemini) Jetty Apache Wink (CXF) Spring DM Service Standard Implementation Application
    • 15. Whiteboard Pattern
    • 16. Extender Pattern
    • 17. Services: RESTful Service • Filter by annotation: @Path @Path("saveCustomer") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public String saveCustomer(Customer customer) { }
    • 18. Services: Vaadin UI Service @Title("CRM Web Application") public class CustomerUI extends UI { …. } • Filtered by Class Type: com.vaadin.ui.UI
    • 19. Services: Multi-tenancy • Filtered by Bundle Header: X-Multi-tenant • Inherent isolated class-loader • Database isolation by JPA’s @Discriminator annotation • Tenant information injection by ThreadLocal • Also BPM engine provides tenant-specific Business process and logics(rule)
    • 20. Cloud IDE: Auto OSGi Bundling by Maven  설치 없는 빠른 개발  BPM 플랫폼과 연동되어 빠른 ‘프로세스 앱’ 개발  Import from Cloud - Web Service Import - Database  개발된 결과물 (앱)은 OSGi번들 형식의 표준적 방식으로 패키징됨  J2EE Compliant ▼ Manageable Object Types ▼ Database Objects  Accessing Component Store by code assist. Cf. Google Apps Scripts
    • 21. Cloud IDE: Vaadin UI Platform UI Design in Vaadin wysiwyg designer Source editing in Cloud IDE
    • 22. Cloud IDE: Process Modeling by BPMN  업무 전문가를 위한 실행가능 프로세스 언어 – BPMN  GUI기반 비즈니스 룰 정의  웹서비스 통합 (*CSB)  비즈니스 폼  데이터 매핑 • DB 쿼리 자동화 • SQL 툴
    • 23. Components (onOSGi) Services (Exposed by Apache-wink ) 서비스사용자서비스제공자 Tenant Database SNS Portal BAM Dashboard OpenSocial Mashups Services Process (onBPM) Portal Enterprise Apps Process Apps ERP Services 서비스 (RESTful) 컴포지 트 서비스 (Cubrid) DB Cluster (FastCa t) Search CAS SSO / Apache DS EAM Codi SNS ER P EC M CR M.. Vaadin Custom UIs JDBC Contents Repository Service Customer Services Custom Composite Service SNS Services Search Services Reusing Sharing the SOA Level-8: Dynamically Re-configurable App Regi stry (App Store)
    • 24. Example App: Process based Sales Force Automation Process Portal CRM App (Vaadin) SFA Process RESTful Web Services
    • 25. Related works: Process-based OS sharing (Linux Container) Hypervisor-based Infra Sharing Gear (?)-based Sharing
    • 26. Conclusion • OSGi makes implementing Enterprise PaaS easier by : – Modularity when to integrate existing J2EE technologies and legacy systems. – Dynamicity for provisioning S/W components and services. – Service Oriented Architecture.
    • 27. Future works: IoT Platform • BPMN-based IoT modeling • OSGi - SW provisioning on devices • OCE’s Flamingo – analyze Big data from Things Flamingo Big data Analyzer
    • 28. References • Paul Bakkar, Bert Ertman, Building Modular Cloud Apps with OSGi, O’REILLEY • Open Cloud Engine – Garuda Project, http://www.opence.org • Eclipse Gyrex Project, http://www.eclipse.org/gyrex/ • Apache ACE Project, https://ace.apache.org/

    ×