Post on 09-Mar-2018
Outline
• CAMEL Features
• CAMEL Use in PaaSage Workflow
• Integration
• Tool Support
• Sustainability
• Tool Training
3
Camel Features
• Multi-purpose Multi-DSL
• Integration of all DSLs into coherent whole
• Coverage of all relevant aspects: requirements, deployment, provider, organisation, security, metrics, scalability, units & types
• Re-use existing languages (developed within consortium)
• Cater for models@runtime support
• Type-instance pattern
• Syntactic & semantic model validation
4
Application implementation
Application design
Java, Python, … Application source
code, binaries, scripts
UML Application model
Provisioning and deployment modelling
Quality of service
modelling
CloudML Provisioning and
deployment requirements
SRL Scalability rules
WS-Agreement Service-level
objectives
Provider modelling
Organisation modelling
Saloon Provider Models
CERIF Organisation models
CAMEL Configuration model Profiler Constraint problem Reasoner
CAMEL Deployment model
Adapter
Execution scripts Executionware
Infrastructure / Platform
Infrastructure / Platform
Historical data
Configuration phase
Deployment phase
Execution phase 7
User-specific
provider models
Model XML Database Grammar
M3
M2
M1
conformsTo
Ecore meta-metamodel
CloudML metamodel
CloudML model
XML schema
WS-Agreement schema
definition
SLA
Relational algebra
CERIF relational schema
CERIF database
tuples
EBNF
Java grammar
Java program
Technical spaces
9
Integration
• Associate concepts from different domain-specific languages
• Delete overlapping concepts
• Add OCL constraints to enforce the semantics of the domain
11
Tool Support
Editor Model Valid.
Aspects Rep. Integr.
Control. Access
Format Roles Notes
Tree All ~ XMI any Default
Textual All - - Textual (ed.), XMI
devops Xtext-based
Graphical Req. & Org.
Both any Eclipse RAP
13
Sustainability
• OW2 Community
• Other projects:
• CloudSocket (www.cloudsocket.eu)
14
Links
• Documentation: https://tuleap.ow2.org/plugins/git/paasage/camel?p=camel.git&a=blob_plain&h=62d67508d3611f64d67a88ead10afeef350f711e&f=documents/CAMELDocumentation.pdf&noheader=1
• Training Material: http://www.paasage.eu/training-materials/modelling-with-camel
• Deliverables: http://www.paasage.eu/images/documents/docs/D2.1.3_CAMEL_Documentation.pdf
• Code (domain code & textual editor): https://tuleap.ow2.org/plugins/git/paasage/camel
• Dedicated web page: www.camel-dsl.org
15
Tool Training
• Focus on CAMEL Textual Editor
• Involves specifying a CAMEL Configuration model for Sugar CRM application
• Focus on how to use the editor
• Audience can use any textual editor to follow
• Camel file available at SummerSoc program http://summersoc.eu/wp-content/uploads/SugarCRMPaasagePlatformFlexiantOnly.rar
• @Home: use the CAMEL textual editor
• Installation Instructions at Back Up Slides
16
Sugar CRM
• Offered by SugarCRM company
• Community & Commercial Editions
• Functionality includes:
• sales-force automation
• marketing campaigns
• customer support
• collaboration
• mobile/social CRM
• reporting
17
Sugar CRM Deployment Structure
18
AppVM – VM
SugarCRMApp
FlexiantMedium RequirementSet
OSRequirement: UbuntuOS
LocationRequirement: UK
HWRequirement:
minCPU: 1, maxCPU: 4
minCores: 2, maxCores: 8
minRAM: 1024, maxRAM: 8192
minStorage: 60, maxStorage: 500
hosting
vmRequirementSet
2090 providedCommunicationPort
MysqlDB communication
CAMEL Textual Editor Installation
• Install latest Eclipse version (Mars)
• Install EMF, OCL & Xtext plugins
• Download & Import CAMEL Code (4 plugins)
• Go to eu.paasage.camel.dsl plugin
• Right-click on eu.paasage.camel.dsl.GenerateCamelDsl.mwe2 & press run as MWE2 workflow
• Follow instructions
21