dirigible powered by orion for cloud development (eclipsecon eu 2015)
TRANSCRIPT
![Page 1: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/1.jpg)
DIRIGIBLENedelcho Delchev (@delchevn)
EclipseCon EU 2015
![Page 2: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/2.jpg)
Agenda
• Overview• Highlights• Driving Forces• Technical Look• Future Look• Recap
![Page 3: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/3.jpg)
Overview
![Page 4: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/4.jpg)
What is it?Dirigible is an Integrated Development Environment as a Service (IDEaaS) for dynamic applications. It provides both development tools and runtime environment.Dirigible is part of the Eclipse Cloud Development TLP (ECD), along with Orion, Che, Flux and CloudFoundry Tools.
![Page 5: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/5.jpg)
ECD?
![Page 6: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/6.jpg)
What can you do with it?Everything you need for your next generation cloud application:• Database management• Scripting services• Shell commands• Flows & Jobs• Web content• Wiki documents• Lifecycle management• Monitoring logs
![Page 7: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/7.jpg)
Highlights
![Page 8: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/8.jpg)
Building BlocksThree major pillars:• Repository• IDE• Runtime
![Page 9: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/9.jpg)
Web IDEDirigible has a full-fledged Web IDE running entirely in a browser, hence doesn’t require any installation and configuration steps. Focused on JavaScript support client- and server-side.
![Page 10: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/10.jpg)
Orion EditorEmbedded Orion editor is the default one for JavaScript and HTML5/CSS authoring. Dirigible’s injected API is integrated in code-completion as well.
http://www.dirigible.io/blogs/2015/10/28/blogs_dirigible_orion_editor.html
![Page 11: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/11.jpg)
Standard Eclipse PluginsBy using single source paradigm of Eclipse RAP, it is possible ~90% of the functionality to run server-less in the standalone Eclipse IDE. In this way you can still use your favorite tools e.g. JDT, JSDT, eGit. Focused mainly on the Java services development.
http://www.dirigible.io/help/eclipse-rcp.html
![Page 12: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/12.jpg)
Deployment OptionsDirigible is entirely modularized leveraging OSGi by Eclipse Equinox. It provides a few default options of packaging - Trial, All-In-One, Runtime and RCP Update Site with platform specific builds for SAP HANA Cloud Platform and Apache Tomcat (standalone or CloudFoundry or OpenShift).
http://www.dirigible.io/help/tomcat.html
![Page 13: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/13.jpg)
Off-line OptionsThere are three options for off-line mode development using Dirigible:• Self-contained executable jar• Local instance deployed on Java Web container
such as Apache Tomcat• Native plugins in Eclipse
http://download.eclipse.org/dirigible/
![Page 14: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/14.jpg)
Branding
http://www.dirigible.io/blogs/2015/10/28/blogs_dirigible_branding.html
![Page 15: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/15.jpg)
Bring-Your-Own-LanguageIn case you want to use a language different than the built-in ones - JavaScript and Java, you can easily implement a bridge extension for JVM languages like Groovy, jRuby, Jython, Scala, etc.
http://www.dirigible.io/blogs/2015/10/21/blogs_dirigible_impl_sql_plugin.html
![Page 16: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/16.jpg)
Usage?So far internally at SAP and very few customers and partners as well as a learning tool at universities and schools
![Page 17: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/17.jpg)
Driving Forces
![Page 18: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/18.jpg)
The Ultimate GoalDirigible promotes so called In-System Programming development model. It avoids the side-effects of a simulated (local) environment, gives access to the live data, ensures all the dependencies and integrations are on place and at the end results to the shortest development turn-around time ever.
![Page 19: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/19.jpg)
Dynamic Applications• Built for change• Consist of atomic components• Promote REST/Web 2.0 patterns• Built on micro-services architecture• Cover vertical scenarios• Provide end-to-end completeness• Extensible and adaptable
http://www.dirigible.io/help/dynamic_applications.html
![Page 20: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/20.jpg)
Vertical ScenariosEnd-to-end coverage with tools for vertical scenarios.
http://www.dirigible.io/blogs/2015/09/24/blogs_dirigible_tools_for_vertical_scenarios.html
![Page 21: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/21.jpg)
Pull PrincipleIn fact, the absolute pull principle – we develop the toolkit in the way we ourselves need it and use it.
![Page 22: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/22.jpg)
RAD Technics• Fast prototyping• Predefined templates• Wizards and specialized editors• Reusable artifacts• Enforce best-practices
![Page 23: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/23.jpg)
Injected ServicesDirigible has a concepts of Injected Services and Execution Context. • Injected Services are predefined objects or
platform services wrappers, which are accessible directly during the script execution.
• The Context is a standard way to pass parameters throughout the process of separated modules.
It is possible to extend the set of Injected Services e.g. based on Cloud Platform in use.
http://www.dirigible.io/help/api.html
![Page 24: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/24.jpg)
Content TransportAll the artifacts for a given project in Dirigible are stored in the underlying Repository component. It has an abstract File System like structure, hence it can be easily bundled and transported to another instance. There is a remote interface as well as CLI, which can be used for integration with the legacy transport management systems in your landscape.
Registry Content
New Instance
Zip archive via HTTPor Git clone
![Page 25: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/25.jpg)
ScalingDirigible promotes architectural patterns proven in the cloud computing space. By wizards, templates and other RAD technics, it tries to enforce Web 2.0 paradigm and micro-services architecture. In case the application follows the best practices, it can be possible to scale horizontally afterwards on production landscape.
![Page 26: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/26.jpg)
Technical Look
![Page 27: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/27.jpg)
Create, Import or Clone a Project
![Page 28: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/28.jpg)
Data Models
![Page 29: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/29.jpg)
Inspect the Database state• Database Perspective has Database Viewer and
SQL Console for low level manipulations.
![Page 30: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/30.jpg)
Generate a RESTful serviceOnce you have the data model in place, you can generate a CRUD service for it.
![Page 31: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/31.jpg)
What is generated?Based on the database table definition, all server-side JavaScript artifacts are produced using predefined templates. After activation, you have a fully capable REST service exposing your data from the database layer as JSON content over HTTP.
Template
Metadata
Generator
REST service
![Page 32: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/32.jpg)
JavaScript - Node.js or?Dirigible uses Mozilla Rhino.• Mature and stable framework• Supports CommonJS for dynamic loading of
modules• Built-in debugger with simple API• Possibility to invoke standard Java objects directly
![Page 33: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/33.jpg)
Activate or Publish?• Activate copy the artifacts from the user’s
workspace to the sandbox for testing.• Publish copy the artifacts to the public registry
space.activate
publishWorkspac
e
Sandbox
Registry
![Page 34: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/34.jpg)
Debugging the code?Dirigible provides a Debug perspective for the default language – JavaScript.
![Page 35: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/35.jpg)
User InterfaceTo be complete for the entity management scenario, we added templates for pattern based user interface generation. Default technologies as of now:• Bootstrap + AngularJS• OpenUI5
![Page 36: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/36.jpg)
Process declarations?In the context of Cloud Applications, usually it is required integrations with external 3-thd party services or just declarative description of consecutive calls. In Dirigible we semantically separated such services by adding: • Flows – simple context based routing in JSON • Jobs – asynchronous triggers with CRON
expressions in JSON
![Page 37: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/37.jpg)
ExtensibilityThere is a generic extensibility concept in place. You can define extension points at the “packaged software” part, hence it is possible for others to introduce extensions to these extension points. There is no syntactical contract definition, it is bilateral.
![Page 38: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/38.jpg)
SecurityThere is easy way to secure the endpoints of your services or user interfaces. You can choose from the set of predefined roles.It is possible to add more roles, if needed.
![Page 39: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/39.jpg)
DocumentationTo make your application ready-to-use for your users it is not enough just to cover all the functional requirements. The documentation is considered as integral part of the application itself. The supported wiki formats are confluence, markdown, textile, tracwiki and twiki.
![Page 40: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/40.jpg)
SCMGit is the SCM of choice for Dirigible. There is a simplified Git interaction support in the Web IDE. In case of more complex “merge” situations you can commit your changes in a new branch and continue with the fixes by using your favorite Git client or via the Terminal view.
![Page 41: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/41.jpg)
Monitoring
![Page 42: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/42.jpg)
Future Look
![Page 43: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/43.jpg)
What is next?Some of the hot topics in discussion:• More widgets and enhancements in UI templates• Enhanced templates authoring• More integrations – no-SQL databases, messaging
busses• non-JVM Runtime implementations• More languages – groovy, ruby, python, DSLs, …• More form-based editors for major artifacts• WYSIWYG enhancements and binding support• Tutorials and courses• More samples and show-cases• Market place for reusable services• … your own deliveries
![Page 44: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/44.jpg)
Worth to join?
?
![Page 45: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/45.jpg)
Why to contribute? You have some Eclipse based plugins and you are
curious whether they can run in Dirigible environment? You are keen on using Web IDE based development, but
you miss important features? You are cloud platform provider and you want to see
your services as injected objects? You are in software business and want to boost the
productivity by developing new services in the cloud You are creator or a fan of a great programming language
and you want to integrate it as a scripting language? You are a teacher looking for an easy-to-use tool for your
courses … or you just know that to contribute to open source
projects is still considered cool by younger people
![Page 46: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/46.jpg)
How to contribute?• Go to:https://github.com/eclipse/dirigible
clone, fork, make pull requests…
If in doubt, just contact us.
![Page 47: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/47.jpg)
Recap
![Page 48: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/48.jpg)
Key Takeaways• There is a project in Eclipse Foundation called
Dirigible• It provides development environment that can run
everywhere• It claims to provide everything you need as a
developer• It claims to provide fastest developer turn-around
time• It claims to promote the most powerful development
model• It enforces best-practices in your applications• It starts establishing ecosystem for business services
around it• It is built with care and love
![Page 49: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/49.jpg)
References• http://www.dirigible.io• https://www.eclipse.org/dirigible/• https://github.com/eclipse/dirigible• http://www.dirigible.io/blogs.html• @dirigible_io• https://www.youtube.com/channel/UCY
nsiVQ0M9iQLqP5DXCLMBA/videos• http://scn.sap.com/docs/DOC-33139
(Topic:IDEaaS)
![Page 50: Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)](https://reader035.vdocument.in/reader035/viewer/2022081521/58ee93fa1a28ab29428b458f/html5/thumbnails/50.jpg)
Thank You!