SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
DIRIGIBLENedelchoDelchev(@delchevn)
EclipseCon EU 2015
Agenda
• Overview
• Highlights
• Driving Forces
• Technical Look
• Future Look
• Recap
Overview
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.
ECD?
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
Highlights
Building Blocks
Three major pillars:
• Repository
• IDE
• Runtime
Web IDE
Dirigible 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.
Orion Editor
Embedded 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_ori
on_editor.html
Standard Eclipse Plugins
By 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
Deployment Options
Dirigible 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
Off-line Options
There 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/
Branding
http://www.dirigible.io/blogs/2015/10/28/blogs_dirigible_bra
nding.html
Bring-Your-Own-Language
In 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
Usage?
So far internally at SAP and very few customers and
partners as well as a learning tool at universities and
schools
Driving Forces
The Ultimate Goal
Dirigible 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.
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
Vertical Scenarios
End-to-end coverage with tools for vertical scenarios.
http://www.dirigible.io/blogs/2015/09/24/blogs_dirigible_too
ls_for_vertical_scenarios.html
Pull Principle
In fact, the absolute pull principle – we develop the toolkit
in the way we ourselves need it and use it.
RAD Technics
• Fast prototyping
• Predefined templates
• Wizards and specialized editors
• Reusable artifacts
• Enforce best-practices
Injected Services
Dirigible 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
Content Transport
All 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 HTTP
or Git clone
Scaling
Dirigible 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.
Technical Look
Create, Import or Clone a Project
Data Models
Inspect the Database state
• Database Perspective has Database Viewer and SQL
Console for low level manipulations.
Generate a RESTful service
Once you have the data model in place, you can generate
a CRUD service for it.
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
Generato
r
REST
service
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
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
publish
Workspace
Sandbo
x
Registry
Debugging the code?
Dirigible provides a Debug perspective for the default
language – JavaScript.
User Interface
To be complete for the entity management scenario, we
added templates for pattern based user interface
generation.
Default technologies as of now:
• Bootstrap + AngularJS
• OpenUI5
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
Extensibility
There 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.
Security
There 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.
Documentation
To 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.
SCM
Git 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.
Monitoring
Future Look
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
Worth to join?
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
How to contribute?
• Go to:
https://github.com/eclipse/dirigible
clone, fork, make pull requests…
If in doubt, just contact us.
Recap
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
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/UCYnsiV
Q0M9iQLqP5DXCLMBA/videos
• http://scn.sap.com/docs/DOC-
33139 (Topic:IDEaaS)
Thank You!

Mais conteúdo relacionado

Mais procurados

Building next gen applications and microservices
Building next gen applications and microservicesBuilding next gen applications and microservices
Building next gen applications and microservicesDev_Events
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureKelly Goetsch
 
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsNane Kratzke
 
Overview of Eclipse technologies
Overview of Eclipse technologiesOverview of Eclipse technologies
Overview of Eclipse technologiesPT.JUG
 
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...martinlippert
 
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...AgileNetwork
 
CICS TS v5.5 support for Node.js applications
CICS TS v5.5 support for Node.js applicationsCICS TS v5.5 support for Node.js applications
CICS TS v5.5 support for Node.js applicationsMark Cocker
 
I T Mentors V S2008 Onramp240 V1
I T Mentors  V S2008  Onramp240 V1I T Mentors  V S2008  Onramp240 V1
I T Mentors V S2008 Onramp240 V1llangit
 
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASlides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASeveralnines
 
Grails At Linked
Grails At LinkedGrails At Linked
Grails At LinkedLinkedIn
 
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...Siva Rama Krishna Chunduru
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Oracle Developers
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
 
Cloud native integration
Cloud native integrationCloud native integration
Cloud native integrationKim Clark
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8PT.JUG
 
IBM Open Cloud Update XCITE Fall 2014
IBM Open Cloud Update   XCITE Fall 2014IBM Open Cloud Update   XCITE Fall 2014
IBM Open Cloud Update XCITE Fall 2014Christopher Ferris
 
Nodifying the Enterprise - Prince Soni, TO THE NEW
Nodifying the Enterprise - Prince Soni, TO THE NEWNodifying the Enterprise - Prince Soni, TO THE NEW
Nodifying the Enterprise - Prince Soni, TO THE NEWNodejsFoundation
 

Mais procurados (20)

Building next gen applications and microservices
Building next gen applications and microservicesBuilding next gen applications and microservices
Building next gen applications and microservices
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Microservices + Oracle: A Bright Future
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
 
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise ArchitectsClouNS - A Cloud-native Application Reference Model for Enterprise Architects
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
 
Overview of Eclipse technologies
Overview of Eclipse technologiesOverview of Eclipse technologies
Overview of Eclipse technologies
 
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
WaveMaker - Spring Roo - SpringSource Tool Suite - Choosing the right tool fo...
 
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
Agile Mumbai 2020 Conference | Value of DevOps - Journey from Automation to N...
 
CICS TS v5.5 support for Node.js applications
CICS TS v5.5 support for Node.js applicationsCICS TS v5.5 support for Node.js applications
CICS TS v5.5 support for Node.js applications
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
 
I T Mentors V S2008 Onramp240 V1
I T Mentors  V S2008  Onramp240 V1I T Mentors  V S2008  Onramp240 V1
I T Mentors V S2008 Onramp240 V1
 
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASlides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
 
Grails At Linked
Grails At LinkedGrails At Linked
Grails At Linked
 
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
Cloud native integration
Cloud native integrationCloud native integration
Cloud native integration
 
Introducing Java 8
Introducing Java 8Introducing Java 8
Introducing Java 8
 
IBM Open Cloud Update XCITE Fall 2014
IBM Open Cloud Update   XCITE Fall 2014IBM Open Cloud Update   XCITE Fall 2014
IBM Open Cloud Update XCITE Fall 2014
 
Nodifying the Enterprise - Prince Soni, TO THE NEW
Nodifying the Enterprise - Prince Soni, TO THE NEWNodifying the Enterprise - Prince Soni, TO THE NEW
Nodifying the Enterprise - Prince Soni, TO THE NEW
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 

Semelhante a Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)

Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Shelly Megan
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018Krishna-Kumar
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx75waytechnologies
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Osconvijayrvr
 
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...GRUC
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareRitwik Das
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment ToolkitBret Piatt
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...Srijan Technologies
 
Essentials of Hosting Platforms.pptx
Essentials of Hosting Platforms.pptxEssentials of Hosting Platforms.pptx
Essentials of Hosting Platforms.pptxAtharva Joshi
 
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfInternship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfVitulChauhan
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...Srijan Technologies
 
S Kumar Resume
S Kumar ResumeS Kumar Resume
S Kumar ResumeS Kumar
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewJames Falkner
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)湯米吳 Tommy Wu
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsVMware Tanzu
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupMatt Ray
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics sbbabu
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationAlex Vranceanu
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Trackvijayrvr
 
What serverless means for enterprise apps
What serverless means for enterprise appsWhat serverless means for enterprise apps
What serverless means for enterprise appsSumit Sarkar
 

Semelhante a Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015) (20)

Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!Prominent Back-end frameworks to consider in 2022!
Prominent Back-end frameworks to consider in 2022!
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
Webcast Presentation: Be lean. Be agile. Work together with DevOps Services (...
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
Essentials of Hosting Platforms.pptx
Essentials of Hosting Platforms.pptxEssentials of Hosting Platforms.pptx
Essentials of Hosting Platforms.pptx
 
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfInternship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
 
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
[Srijan Wednesday Webinar] How to Run Stateless and Stateful Services on K8S ...
 
S Kumar Resume
S Kumar ResumeS Kumar Resume
S Kumar Resume
 
Red Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform OverviewRed Hat OpenShift Container Platform Overview
Red Hat OpenShift Container Platform Overview
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Teched India Vijay Interop Track
Teched India Vijay Interop TrackTeched India Vijay Interop Track
Teched India Vijay Interop Track
 
What serverless means for enterprise apps
What serverless means for enterprise appsWhat serverless means for enterprise apps
What serverless means for enterprise apps
 

Último

Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxAS Design & AST.
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...kalichargn70th171
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdfSteve Caron
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 

Último (20)

Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptx
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 

Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)

  • 2. Agenda • Overview • Highlights • Driving Forces • Technical Look • Future Look • Recap
  • 4. 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.
  • 6. 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
  • 8. Building Blocks Three major pillars: • Repository • IDE • Runtime
  • 9. Web IDE Dirigible 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.
  • 10. Orion Editor Embedded 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_ori on_editor.html
  • 11. Standard Eclipse Plugins By 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
  • 12. Deployment Options Dirigible 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
  • 13. Off-line Options There 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/
  • 15. Bring-Your-Own-Language In 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
  • 16. Usage? So far internally at SAP and very few customers and partners as well as a learning tool at universities and schools
  • 18. The Ultimate Goal Dirigible 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.
  • 19. 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
  • 20. Vertical Scenarios End-to-end coverage with tools for vertical scenarios. http://www.dirigible.io/blogs/2015/09/24/blogs_dirigible_too ls_for_vertical_scenarios.html
  • 21. Pull Principle In fact, the absolute pull principle – we develop the toolkit in the way we ourselves need it and use it.
  • 22. RAD Technics • Fast prototyping • Predefined templates • Wizards and specialized editors • Reusable artifacts • Enforce best-practices
  • 23. Injected Services Dirigible 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
  • 24. Content Transport All 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 HTTP or Git clone
  • 25. Scaling Dirigible 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.
  • 27. Create, Import or Clone a Project
  • 29. Inspect the Database state • Database Perspective has Database Viewer and SQL Console for low level manipulations.
  • 30. Generate a RESTful service Once you have the data model in place, you can generate a CRUD service for it.
  • 31. 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 Generato r REST service
  • 32. 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
  • 33. 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 publish Workspace Sandbo x Registry
  • 34. Debugging the code? Dirigible provides a Debug perspective for the default language – JavaScript.
  • 35. User Interface To be complete for the entity management scenario, we added templates for pattern based user interface generation. Default technologies as of now: • Bootstrap + AngularJS • OpenUI5
  • 36. 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
  • 37. Extensibility There 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.
  • 38. Security There 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.
  • 39. Documentation To 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.
  • 40. SCM Git 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.
  • 43. 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
  • 45. 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
  • 46. How to contribute? • Go to: https://github.com/eclipse/dirigible clone, fork, make pull requests… If in doubt, just contact us.
  • 47. Recap
  • 48. 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
  • 49. 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/UCYnsiV Q0M9iQLqP5DXCLMBA/videos • http://scn.sap.com/docs/DOC- 33139 (Topic:IDEaaS)