Open Source for Open Cloud Nov 24~25, 2010Paris, France
A Cloud Platform for Delivering
Instant Development Service with
Service Oriented Approaches
Hailong Sun
Beihang University (BUAA), Beijing, China Nov. 24, 2010
Agenda
Service oriented software development
Service cloud platform
Service–oriented software design & development
Basic approach
Improve the productivity of software development through
reusing of loosely-coupled services over Internet
Applications Component Services Infrastructure
Key issues
Service management
Service composition
Runtime management
Quality and Security Management
Middleware supporting platform
Service resources
Web service CORBA EJB Other
components
Operating
system DB
Network service
Service & management
toolkits Service schedule
Software production platform
Toolkits for registry and deploy Require. Specification toolkits for Software Developing
From WebSASE to XServices
XML Doc Security XML Information Process XKMS Service SAML Service XACL Service WebSASE SOAP Protocol UDDI Protocol Web Service Object Container & Runtime Server Manage Console XServices 1.0 Web Console Web Service Portal & WSRP Web Service Workflow & Tool Web Service Transaction Web Service Runtime 1.5 XServices 2.0 Web Service Application server - XService XLinker -Light Weight WSR Web Service Workflow 2.0 Web Service Reliable Message Web Console 2.0 XServices 3.0 AJAX UI WSRF Web Service QoS SOA/ESB Web Service Workflow 3.0 Semantic UDDI …… 1999 1999 2000-2002 2000-2002 2002 & 2003 2002 & 2003 2004-2006 2004-2006 2007-2008 2007-2008 XServices 4.0 WSRuntime BPELEngine BPMNEngine UDDI、SWSR WSDT WSManager …… 2009-2010 2009-2010 BPELDesigner BPMNDeveloper 863 program HGJ programSuccess stories: applications
Application domains: e-Government, Satellites, Remote Sensing, Health, Geology, ITS
7 applications:
SOA based telecontrol and telemetering system of satellites Remote sensing data public service platform
Management and service system of large scale spatial data Collaborative visualization system of 3D geological data Collaborative analysis system of medical data
Remote control services of microscope Traffic information publishing system
12 Collaborating organizations
Nonprofit Orgs: OW2 Opensource Consortium, Internet Open Standards Lab(ISOL)
Research Institutes:Chinese Standards Institute of Electronic
Technology, 27th Institute of Chinese Electronic Technology Inc. , Chinese Academic of Spatial Technology, Peking University
Companies:French Thales Inc., CVICSE, InterVision, China Center for
Resource Satellite Data & Application(CRESDA), Jandar, Petrochina Daqing Oilfield, Sinopec Shengli Oilfield
Trustie project & SOARWare
Trustie project: a key 863 project from MOST
2007-2010
Highly-trustworthy software production tools and
environments
For us: Beihang University
Focusing on service–oriented software design &
development, and the trustworthy characteristics of
software quality
SOARWare
: Service oriented software production and
running environment
Service resource management
Design and development
SOARBase Active service collecting Service i nfo. coll ecting Service development tool Business process modeling tool Service choreography tool
Service test & verification tool Service deployment tool Other tools Software modeling and development Service Re g./D isco very deploy
SaaS-oriented Software Service Provisioning and Consuming Environment
Online modeling and
development Service access Service provisioning
Service Info. Mgmt.
Monitoring
Service evolution
mgmt. and evolution Service running
Service Bus Service Container Composite service engine Service Oriented SPL
Architecture of SOARWare
SOARBase: service management
Service resources
Atomic services
Composite services
(business process)
Functionality
Collecting: 17,000+
Registration & search
Mgmt of service attributes
(non-functional)
Availability Response time ReputationService mining
Service recommendation
ServiceXchange
The released
version of
SOARBase
www.servicexcha
nge.cn
Not including
business process
management
A totally new look
will be seen very
soon
SOARBase Active service collecting Service mining Service i nfo. coll ecting Service development tool Business process modeling tool Service choreography tool
Service test & verification tool Service deployment tool Other tools Software modeling and development Service Re g./D isco very deploy
SaaS-oriented Software Service Provisioning and Consuming Environment
Online modeling and
development Service access Service provisioning
Service Info. Mgmt.
Monitoring
Service evolution
mgmt. and evolution Service running
Service Bus Service Container Composite service engine Service Oriented SPL
Architecture of SOARWare
Service Oriented SPL
Service Oriented SPL
Developer
Intermediate
assets Business
model Web service
Execution model Composite service Business requirement Software product
Service oriented SPL
SPL config & management tool
Configue software production process
Mgmt. of software production process
Assign and Mgmt. of production tasks
Mgmt of intermediate assets
Various software production tools
BP modeling tool
Service choreography
Service encapsulation
Test and verification
…
BPIDE-Business Process IDE
Collaboration between multi-roles
Domain experts
App. analysts
Service developers
A suite of tools
Modeling tool
Service encapsulation
Service orchestration
Verification tool
Testing tools
SOARBase Active service collecting Service mining Service i nfo. coll ecting Service development tool Business process modeling tool Service choreography tool
Service test & verification tool Service deployment tool Other tools Software modeling and development Service Re g./D isco very deploy
SaaS-oriented Software Service Provisioning and Consuming Environment
Online modeling and
development Service access Service provisioning
Service Info. Mgmt.
Monitoring
Service evolution
mgmt. and evolution Service running
Service Bus Service Container Composite service engine Service Oriented SPL
Architecture of SOARWare
Service running and evolution
Service bus
Message exchanging
QoS-aware service scheduling
Monitoring of composite service engines and service
instances
Service container
Axis2 powered
Easy service deployment
Container management
Composite service engine
Distributed processing of BPMN service
Dynamic service evolution
Source code statistics(~600K LOC)
604,712 13,629 3668 Total 24765 262 87 Web platform 38453 1040 357 Software Production Line 59198 1398 494 SOAR Base 84088 1165 570 SOAR Explorer 9224 247 88 SOAR Home 61535 673 255 BPMN Engine 8843 234 64 Service Bus 318606 9283 1753 BPIDE LOC Size of source files(KB) Source files
Successful applications
Funded by 863 program
Digital China
Government tax service
Wonders Information
Agenda
Service oriented software development
Service cloud platform
Reflections- many development
supporting software involved
Tools
Business process modeler
Service composition tool
Verification and test tool
Service deployment tool
Monitoring tool
Middleware
Service container
Composite service execution engine (workflow engine)
Service bus
Problems
The extra work for developers
Install and configure various development
tools
Install and configure runtime supporting
middleware
Obtain and maintain underlying resources
Machines
Networks
However they should focus on
“development”.
The crux of cloud computing
Service
IaaS: Infrastructure as a Service
PaaS: Platform as a Service
SaaS: Software as a Service
Can we make use of cloud computing to
save developers from the extra work?
An online development environment
A hosting platform
Our goal
Building a cloud platform for service
oriented software development
Instant development without installing tools
Instant deployment without installing
middleware
Instant running without knowing the underlying
resources
Moving towards a cloud platform
Online application development
Browser-based IDE
Business process centric development
Online sharing of software services
Transparent deployment and running
Similar to Google AppEngine, etc.
Service composition Service composition AS API AS API Infrastructure resources (compute, storage, network…) Infrastructure resources (compute, storage, network…) Software Appliance: Service Container、BPMNEngine、App Server Software Appliance: Service Container、BPMNEngine、App Server SA org. and mgmt. SA org. and mgmt. CS API
CS API RM APIRM API
Scheduling, running & monitoring Scheduling, running & monitoring Service deployment Service deployment
AppEngine
(PaaS)
IaaS
Trustw orthiness Trustw orthiness Service Mgmt . Service Mgmt . Online development ServiceXchange MyCloudMyCloudSaaS
AppStore AppStore
IaaS: software appliance provisioning
Software appliance=VM/PM+ middleware
Dynamic provisioning
Manageability
Functions
Dynamic deployment/un-deployment of SAs
Lifecycle management
Monitoring
Logging
BPMNEngine BPMNEngine App Server App Server Agent SA Manager SA ManagerAppEngine and SaaS tools
Atomic Service API
Atomic Service API Composite Service APIComposite Service API Runtime APIRuntime API
AppEngine
(PaaS)
Online development
ServiceXchange MyCloudMyCloud AppStoreAppStore
SaaS
Online App Access
… API … API
App Engine: hosting environment
Kernel Kernel Lightweight service bus Lightweight service bus AS deployment AS deployment AS invocation AS invocation CS deployment CS deployment CS invocation CS invocation CS monitoring CS monitoring Load balancing Load balancing Data management Data management Software appliance Software appliance … SA Manager SA ManagerMyCloud
Personalized development environment
Service subscription
App development tools
Instant development tools: BPIDELite- a
light-weight BPMN editor and service composition
tool suite.
Instant deployment interface
Instant running-Virtual runtime environment
MyServiceContainer
MyBPMNEngine
BPIDELite
Flex-based development toolset
BPMN-based business process modeling
Service orchestration
MyServiceContainer
Virtual service container
Service deployment/un-deployment
WSDL file browsing
MyBPMNEngine
Virtual composite service execution engine
BPMN compliant
CS deployment
BPMN model browsing
Service invocation
Online monitoring
Flex-based composite service monitoring
Instance state
App Store
Application management
App publishing
App categorizing
App search
Agenda
Service oriented software develoment
Service cloud platform
Summary: Past, Present and Future
The past
We have a lot of work in service oriented software
From WebSASE to XService and SOARWare
The present
We are building a cloud platform for service oriented software
development so as to provide instant service for developers
Instant development Instant deployment Instant running
The future
Richer online development tools
Better multi-tenant support
Load balancing Separation
Dependability
Service Cloud Platform Currency Exchange Ca <->Cb Currency Exchange Ca <->Cb RMB → ISK? S: Ca→USD→Cb RMB → ISK? S: Ca→USD→Cb S’: Ca→Cb? Yes: Ca→Cb No: Ca→USD→Cb S’: Ca→Cb? Yes: Ca→Cb No: Ca→USD→Cb operator Mary EUR‐>USD;USD‐>EUR; ISK‐>USD;USD‐>ISK; GBP‐>USD;USD‐>GBP RMB‐>USD;USD‐>RMB RMB‐>EUR; EUR‐>RMB search
search convert convert paymentpayment
John
Each conversion will need some cost!
A short demo of SCP
Any
problem?
Thank you & Merci!
Q&A
Service oriented software solution stacks
体系结构:
Service Portal
E-Gov. & E-Com. ITS ……
External Interfaces and Specifications of System
Services Workflow Engine Services Runtime
Services Development
Messaging
Naming Events monitor Safety
System Services
System Management Tools
Etc. Telecom
Services Information Portal
directory
Security and Quality
Service-Oriented Applications on Internet
Video Meeting
Deployment Services
Monitor tool Service requester WSClient Development tool WSWF Transa ,WSRF Rliable HTTP 1.1 XService XLinker WS WSWSWS UDDI WS Portal Service developer WSDesigner monitor WSMT Modeling tool developer WSWD Service provider WS XService bi nd find publish monito r development find bi nd bind mo nit or development find