1 / 32

Automate Administration with KURL Shayne Koestler

Automate Administration with KURL Shayne Koestler. Introduction. KURL. Kinetic Uniform Request Language KURL is a domain-specific language (DSL) written in Ruby DSL? A language designed to solve a specific set of problems =MIN(A2:A7)

kaden-gomez
Download Presentation

Automate Administration with KURL Shayne Koestler

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automate Administrationwith KURLShayne Koestler

  2. Introduction

  3. KURL • Kinetic Uniform Request Language • KURL is a domain-specific language (DSL) written in Ruby • DSL? • A language designed to solve a specific set of problems • =MIN(A2:A7) • KURL creates catalogs and service items in Kinetic Request • Hides complexity of forms and relationships

  4. KURL History • Previous Names • Shayne-alyzer, Template Generator, Accelerator, etc. • Ruby source to JAR file • Klink to ars models to Remedy Pure Java API • More and more comprehensive

  5. KURL Components • KURL Code • Ruby code containing functions made available in KURL • service_item, page, event, etc. • KURL Jar • Commands executed in command prompt with the kurl.jar • build_catalog, retrieve_service_item, etc

  6. KURL on Community

  7. KURL Components Execute Ruby Request Server Ruby (.rb) file kurl.jar API Calls Print Ruby

  8. Uses for KURL • Import/Export format • Human readable • Suitable for version control • Automate service item development • Generate KURL code from other sources (csv, database, etc.) • Generate KURL code from a service item • Catalog provisioning (service providers)

  9. Uses for KURL

  10. Uses for KURL • Alternative method of service item development • Text editing rather than point-and-click • Reduced duplication • Leverage Ruby features to aid development • Version control • https://github.com/kineticdata/demo-acme

  11. Hello World • Ruby file • Command prompt

  12. About Ruby • Object oriented • Dynamic typing • Clean syntax • Powerful features • Designed for developer happiness • JRuby • Runs on Java platform

  13. Ruby • http://www.ruby-lang.org/

  14. JRuby • http://jruby.org/

  15. Development with KURL • Goals • Adaptable and maintainable • Simplicity • More efficient development • Track development

  16. Development with KURL • Generate a template service item • Look and feel • Common elements • Export template to KURL code • Break into reusable functions • Store reused values as ruby variables

  17. Template Service Item

  18. Template Service Item

  19. Template Service Item

  20. KURL Templates • A piece of KURL code wrapped in a function • Reducing duplication of common behavior • Further abstraction of KURL functions • Created 3 reusable code templates • Standard header – configuration items of service item • Standard content page – standard content at top of request • Standard footer – confirmation page

  21. KURL Templates

  22. KURL Templates Templates • DSL on top of a DSL • The domain is your service items KURLCode Remedy API

  23. Using KURL Templates

  24. Using KURL Templates

  25. Ruby Variables • Store commonly used values as variables • Refer to variables throughout KURL code • Examples • Company name • Web server URL

  26. Ruby Variables

  27. Ruby Variables • Added variables to our templates file

  28. More Ruby • Looping over KURL code • Generate data for portal development • Conditionals to generate dynamic content • Conditionally include templates

  29. Version Control Sample

  30. Questions?

  31. Resources • KURL on Kinetic Community • http://community.kineticdata.com/10_Kinetic_Request/KURL • Get Started – downloads and setup • KURL Functions – documents the Ruby code functions in KURL • JAR Commands – documents the commands of the KURL jar file • Demo Catalog • https://github.com/kineticdata/demo-acme

More Related