OSCi WorkshopBeijing, China
A Cloud Platform for Service Oriented Software Development & Running
Hailong [email protected]
Beihang University (BUAA), Beijing, ChinaMarch 23, 2011
2
Agenda
Service oriented software developmentService cloud platformiVIC projectSummary
3
Service–oriented software design & developmentBasic approach
Improve the productivity of software development through reusing of loosely-coupled services over Internet
Applications
ComponentServices
Infrastructure
Key issuesService management Service compositionRuntime management
Service oriented software development
4
From WebSASE to XServices
XML Doc Security
XML InformationProcess
XKMS Service
SAML Service
XACL Service
WebSASE
SOAP Protocol
UDDI Protocol
Web Service Object Container& Runtime Server
Manage Console
XServices1.0
Web Console
Web ServicePortal & WSRPWeb ServiceWorkflow & ToolWeb ServiceTransactionWeb ServiceRuntime 1.5
XServices2.0
Web ServiceApplication server- XService
XLinker -Light Weight WSRWeb ServiceWorkflow 2.0Web ServiceReliable Message
Web Console 2.0
XServices3.0
AJAX UI
WSRF
Web Service QoS
SOA/ESB
Web ServiceWorkflow 3.0
Semantic UDDI
……
19991999
2000-2002
2000-2002
2002 &2003
2002 &2003
2004-2006
2004-2006
2007-2008
2007-2008
XServices4.0
WSRuntime
BPELEngine
BPMNEngine
UDDI、SWSR
WSDT
WSManager
……
2009-2010
2009-2010
BPELDesigner
BPMNDeveloper
863 programHGJ program
5
Success stories: applicationsApplication domains: e-Government, Satellites, Remote Sensing, Health, Geology, ITS7 applications:
SOA based telecontrol and telemetering system of satellitesRemote sensing data public service platformManagement and service system of large scale spatial dataCollaborative visualization system of 3D geological dataCollaborative analysis system of medical dataRemote control services of microscopeTraffic information publishing system
12 Collaborating organizationsNonprofit 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 UniversityCompanies:French Thales Inc., CVICSE, InterVision, China Center for Resource Satellite Data & Application(CRESDA), Jandar, PetrochinaDaqing Oilfield, Sinopec Shengli Oilfield
6
Trustie project & SOARWare
Trustie project: a key 863 project from MOST2007-2010
Highly-trustworthy software production tools and environments
For us: Beihang UniversityFocusing on service–oriented software design & development, and the trustworthy characteristics of software qualitySOARWare : Service oriented software production and running environment
Service resource managementDesign and developmentRuntime support
7
SOARBase Active service collecting
Service mining
Service info. collecting
Service development
tool
Business process
modeling tool
Service choreography
tool
Service test & verification
tool
Service deployment
toolOther tools
Software
modeling and
development
Service Reg./Discovery
deploy
SaaS-oriented Software Service Provisioning and Consuming Environment
Online modeling and development Service provisioningService access
Service Info. Mgmt.
MonitoringService
evolution mgmt. Service running
and evolution
Service Bus
Service Container
Composite service engine
Service Oriented SPL
Architecture of SOARWare
8
ServiceXchangeA stable and simplified version of SOARBase
www.servicexchange.cnNot including business process resource management
9
10
Agenda
Service oriented software developmentService cloud platformiVIC projectSummary
11
Reflections- many development supporting software involved
ToolsBusiness process modelerService composition toolVerification and test toolService deployment toolMonitoring tool
MiddlewareService containerComposite service execution engine (workflow engine)Service bus
12
ProblemsThe extra work for developers
Install and configure various development toolsInstall and configure runtime supporting middlewareObtain and maintain underlying resources
MachinesNetworks
However they should focus on “development”.
13
Our goal
Building a cloud platform for service oriented software development
Instant development without installing toolsInstant deployment without installing middlewareInstant running without knowing the underlying resources
14
Moving towards a cloud platform
Online application development: SaaSBrowser-based IDEBusiness process centric developmentOnline sharing of software services
Transparent deployment and running: PaaSSimilar to Google AppEngine, etc.
15
Some key issues
On-demand hosting environment provisioningLoad balancing
Clusters of service containersFault tolerance and recovery
Service replicationSecurity by separation
Service→runtime middlewareService→Service
16
Service compositionService composition
AS APIAS API
Infrastructure resources (compute, storage, network…)Infrastructure resources (compute, storage, network…)
Software Appliance: Service Container、BPMNEngine、App ServerSoftware Appliance: Service Container、BPMNEngine、App Server
SA org. and mgmt.SA org. and mgmt.
CS APICS API RM APIRM API
Scheduling, running& monitoring
Scheduling, running& monitoring
Service deploymentService deployment
AppEngine(PaaS)
IaaS
Trustworthiness
Trustworthiness
Service Mgm
t.Service M
gmt.
Online development
ServiceXchange MyCloudMyCloudSaaS
AppStoreAppStore
SCP: Service Cloud Platform
17
Software appliance provisioning
Software appliance=VM/PM+ middlewareDynamic provisioningManageability
FunctionsDynamic deployment/un-deployment of SAsLifecycle managementMonitoringLogging
Service ContainerService Container
BPMNEngineBPMNEngine
App ServerApp ServerAgent
VM/PM
SA ManagerSA Manager
18
AppEngine and SaaS tools
Atomic Service APIAtomic Service API Composite Service APIComposite Service API Runtime APIRuntime API
AppEngine(PaaS)
Online development
ServiceXchange MyCloudMyCloud AppStoreAppStore
SaaS
Online App Access
… API… API
19
App Engine: hosting environment
KernelKernel
Lightweight service bus
Lightweight service bus
AS deploymentAS deployment
AS invocationAS invocation
CS deploymentCS deployment
CS invocationCS invocation
CS monitoringCS monitoring
Load balancingLoad balancing
Data managementData managementSoftware appliancemanagement
Software appliancemanagement
…
SA ManagerSA Manager
20
MyCloud
Personalized development environmentService subscriptionApp development tools
Instant development tools: BPIDELite- a light-weight BPMN editor and service composition tool suite.Instant deployment interface
Instant running-Virtual runtime environmentMyServiceContainerMyBPMNEngineOnline monitoring tool
21
BPIDELiteFlex-based development toolset
BPMN-based business process modelingService orchestrationInstant deployment
22
MyServiceContainerVirtual service container
Service deployment/un-deploymentWSDL file browsingService invocation
23
MyBPMNEngineVirtual composite service execution engine
BPMN compliantCS deployment BPMN model browsingService invocation
24
Online monitoring
Flex-based composite service monitoringInstance stateIntermediate state (similar to debugging)
25
App Store
Application managementApp publishingApp categorizingApp search
26
Agenda
Service oriented software develomentService cloud platformiVIC projectSummary
2727
iVICThe Internet-oriented Virtual Computing InfrastructureTowards resource virtualization
Design Goals (**)Support resource allocation based on VM instances
To provide another software encapsulate methodImage creation, dissemination and optimizationContainer for VM Images: Load VM images dynamically
To provide internet-scale resource allocation and adaptionWide-Area Network VM Migration
Support the network application virtualizationLinking virtual machine instances via virtual network overlays
2828
iVICThe Internet-oriented Virtual Computing InfrastructureTowards resource virtualization
Design Goals (**)Support resource allocation based on VM instances
To provide another software encapsulate methodImage creation, dissemination and optimizationContainer for VM Images: Load VM images dynamically
To provide internet-scale resource allocation and adaptionWide-Area Network VM Migration
Support the network application virtualizationLinking virtual machine instances via virtual network overlays
vHaaS: virtualized Hardware as a Service
vSaaS: virtualized Software as a Service
2929
Assistant designing tools
Backendmodule
Integrated manage view
design
Virtual running environmentdeploy、monitor、schedule
Physical resources
install
1. vHaaS
3030
MotivationTo support wide-area resource sharing, like department, organization, city, or anything bigger than an officeunderlying resource may not be in the same LAN (link, subnet)
Current VM technology lacks in support of WAN MigrationNetwork Problem: VM’s IP address will be unavailable to other Internet hostStorage Problem: Hosts must share a network storage, which is inefficient for WAN hosts
AppAppProvide Service
Migration transparent to UserMigration transparent to User
3131
Similar problem with Mobile IPMobile IP deals with actual physical device movementVM migration only involve with runtime-state movement
Our solution: Hypervisor Controlled Mobile IPHyperMIP: Hypervisor Controlled Mobile IP
Combine Proxy-mode mobile-ip stack with hosts VM Migration:VM does not need to install Mobile IP stackVMMs manage Network restoration for VM
3232
iVIC ClientsvProcess ServersvSpace Servers
vSpace User Storage
vStore (Software Libs)
Presentation
Streaming
ApplicationStreaming
Subscribe, Pay per use…
3333
From you laptopBy using browser with iVIC Client Plugins.
By plug a USB Flash Disk into any computer.
From you mobile phoneBy install an iVIC Mobile Client.
34
iVIC PlatformProgrammable virtual computingenvironmentLow cost, high flexibility and reliabilityVirtualized Software as a Service
Key technologiesVM Migration over WAN P2P based iVIC-VPNVM high availabilitySoftware streaming
ApplicationsSoftware labMassive data processing (MapReduce)HPC - vClusterHigh scalability web hosting
Summary of iVIC
35
Agenda
Service oriented software develomentService cloud platformiVIC projectSummary
36
Summary
SaaS
PaaS
IaaS
Service Cloud Platform
37
Possible synergies with some OW2 project (1)
With JASMINeThe OW2 JASMINe project aims to develop an administration tool dedicated to Java EE (Apache, JOnAS, EasyBeans, ...), MOM (JORAM, ...) or SOA distributed applications (Orchestra, Bonita, Petals, ...) in order to facilitate the job of the system administrator.JASMINe Design, Deploy, Monitoring and Self-management can be used to improve our service cloud platform
38
Possible synergies with some OW2 project (1)
With JASMINeThe OW2 JASMINe project aims to develop an administration tool dedicated to Java EE (Apache, JOnAS, EasyBeans, ...), MOM (JORAM, ...) or SOA distributed applications (Orchestra, Bonita, Petals, ...) in order to facilitate the job of the system administrator.JASMINe Design, Deploy, Monitoring and Self-management can be used to improve our service cloud platform
39
Possible synergies with some OW2 project (2)
With JOnASJOnAS is the basis of a more global middleware suite delivered within OW2. It is the cornerstone of the Service Oriented Architecture, which includes other famous OW2 projects like the workflow manager Bonita, the BPEL engine Orchestra or the portal eXoPlatform. JOnAS provides runtime support for Java EE-based service applicationsWe can adopt JOnAS clustering management and deployment technologies for services
40
Possible synergies with some OW2 project (3)
With ProActiveProActive features Java Parallel Programming seamlessly integrated with Scheduling and Resource Management. ProActive simplifies the programming and execution of parallel applications on Linux, Windows and Mac, together with the management of resources such as Desktop, Servers, Clusters, Enterprise GRIDs and Clouds.Our service cloud platform focuses on PaaS and SaaSlayers, thus ProActive can be leveraged to facilitate infrastructural resource management.
41
Thank you!
Q&A