SlideShare una empresa de Scribd logo
1 de 50
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!

Más contenido relacionado

La actualidad más candente

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
 
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
Severalnines
 

La actualidad más candente (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
 

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

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
 
Essentials of Hosting Platforms.pptx
Essentials of Hosting Platforms.pptxEssentials of Hosting Platforms.pptx
Essentials of Hosting Platforms.pptx
Atharva Joshi
 
S Kumar Resume
S Kumar ResumeS Kumar Resume
S Kumar Resume
S Kumar
 

Similar 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

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

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)