SlideShare una empresa de Scribd logo
1 de 14
Apache Felix Web Console
     Felix Meschberger, Principal Scientist, Adobe




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   1
Problem

   Manage an OSGi Framework
   Remote Access
   Ease of Use
   Extensibility
   Offline Support




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   2
Solutions

   Text based
       Apache Felix Shell
       Apache Felix Gogo
       Knopflerfish Shell
       Equinox Console (built-in)
       OSGi RFC 147 (Command Line Interface)
   GUI based
       Apache Felix Web Console
       Knopflerfish Desktop (Swing)




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   3
Features

   Rich Set of Core Functionality
   JQuery UI based GUI
   REST API
   Pluggable Authentication
   Extensible
   Light-weight
   Manage Bundles
   List Services
   Configuration
   System Information
   Configuration Status




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   4
Installations

   Dependencies:
       OSGi Http Service
       Commons IO 1.4
       Commons File Upload 1.2
       org.json (e.g. Apache Geronimo Bundles: json-20090211)




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   5
Extension Points

   Plugins
   Configuration Printer
   Branding
   Security Provider
   Translations




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   6
Plugins

   javax.servlet.Servlet services
   Extend AbstractWebConsolePlugin (optional)
   Service Properties
       felix.webconsole.label
       felix.webconsole.title




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   7
Sample Plugin #1

    @Component
    @Service(Servlet.class)
    @Properties({
       @Property(name="felix.webconsole.label",
                 value="sample"),
       @Property(name="felix.webconsole.title",
                 value="Sample Plugin #1")
    })
    public class Sample extends HttpServlet {
         public void service(HttpServletRequest req,
                 HttpServletResponse res)
                 throws IOException {
             res.getWriter().println("Hi There...");
         }
    }




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   8
Sample Plugin #2

    public class Sample2 extends SimpleWebConsolePlugin {
        public Sample2(BundleContext ctx) {
            super("sample2", "Sample Plugin #2", null);
            register(ctx);
        }

                  @Override
                  protected void renderContent(
                          HttpServletRequest req,
                          HttpServletResponse res)
                          throws IOException {
                      res.getWriter().println("Hi There ...")
                  }
    }




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   9
Configuration Printer

   Information Dump for Offline Use
   Selective Destination: implements
    ModeAwareConfigurationPrinter
       Screen Only
       All-in-one Text
       ZIP File
   Optional Attachements: implements AttachmentProvider




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   10
Branding

   Service Interface: BrandingPlugin
   Default Branding: DefaultBrandingPlugin
   Branding Fragment
       /META-INF/webconsole.properties
             webconsole.brand.name = Apache Sling Web Console
             webconsole.product.name = Apache Sling
             webconsole.product.url = http://sling.apache.org
             webconsole.product.image = /res/sling/logo.png
             webconsole.favicon = /res/sling/favicon.ico
   Sample
       Sling Web Console Branding Plugin




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   11
Security Provider

   Service interface: WebConsoleSecurityProvider
       HTTP Basic Authentication Based
       Validates Username / Password
       Access Control (hook only)
   Service Interface: WebConsoleSecurityProvider2
       Extends WebConsoleSecurityProvider
       Flexible Authentication (implementing HttpContext.handleSecurity)
   Implementations
       Default: Single configurable User
       Karaf: JAAS based authentication
       Sling
           Authenticates against JCR Repository
           Supports Sling Authentication Setup




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   12
Translations

   Out-of-the-box
       Bulgarian, English, German, Russian
   Extensible
       Fragment to the Web Console
       Based on Standard Bundle Localization
       OSGI-INF/l10n/bundle*.properties




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   13
Maven Sling Plugin

   install
       Install a Bundle after a build
       Similar to deploy:deploy
   install-file
       Install a Bundle independent of a build
       Similar to deploy:deploy-file
   uninstall
       Uninstall a Bundle


   See: http://sling.apache.org/site/sling.html




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   14

Más contenido relacionado

La actualidad más candente

플랫폼 통합을 위한 Client Module 개발 & 배포
플랫폼 통합을 위한 Client Module 개발 & 배포플랫폼 통합을 위한 Client Module 개발 & 배포
플랫폼 통합을 위한 Client Module 개발 & 배포
흥래 김
 

La actualidad más candente (20)

Groovy Component With Mule ESB
Groovy Component With Mule ESBGroovy Component With Mule ESB
Groovy Component With Mule ESB
 
This is how we REST
This is how we RESTThis is how we REST
This is how we REST
 
Ansible with oci
Ansible with ociAnsible with oci
Ansible with oci
 
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정
 
플랫폼 통합을 위한 Client Module 개발 & 배포
플랫폼 통합을 위한 Client Module 개발 & 배포플랫폼 통합을 위한 Client Module 개발 & 배포
플랫폼 통합을 위한 Client Module 개발 & 배포
 
Asp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
 
IIS7 For Non IIS PFEs
IIS7 For Non IIS PFEsIIS7 For Non IIS PFEs
IIS7 For Non IIS PFEs
 
Monitoring OSGi Applications with the Web Console - Carsten Ziegeler
Monitoring OSGi Applications with the Web Console - Carsten ZiegelerMonitoring OSGi Applications with the Web Console - Carsten Ziegeler
Monitoring OSGi Applications with the Web Console - Carsten Ziegeler
 
.NET,ASP .NET, Angular Js,LinQ
.NET,ASP .NET, Angular Js,LinQ.NET,ASP .NET, Angular Js,LinQ
.NET,ASP .NET, Angular Js,LinQ
 
ESIGate dev meeting #4 21-11-2013
ESIGate dev meeting #4 21-11-2013ESIGate dev meeting #4 21-11-2013
ESIGate dev meeting #4 21-11-2013
 
Introduction to OWIN
Introduction to OWINIntroduction to OWIN
Introduction to OWIN
 
JavaCro'14 - Securing web applications with Spring Security 3 – Fernando Redo...
JavaCro'14 - Securing web applications with Spring Security 3 – Fernando Redo...JavaCro'14 - Securing web applications with Spring Security 3 – Fernando Redo...
JavaCro'14 - Securing web applications with Spring Security 3 – Fernando Redo...
 
Os Mcmahan
Os McmahanOs Mcmahan
Os Mcmahan
 
Ready! Steady! SpringBoot!
Ready! Steady! SpringBoot! Ready! Steady! SpringBoot!
Ready! Steady! SpringBoot!
 
Unpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc TechnologiesUnpacking .NET Core | EastBanc Technologies
Unpacking .NET Core | EastBanc Technologies
 
Spring Boot Update
Spring Boot UpdateSpring Boot Update
Spring Boot Update
 
OWIN and Katana Project - Not Only IIS - NoIIS
OWIN and Katana Project - Not Only IIS - NoIISOWIN and Katana Project - Not Only IIS - NoIIS
OWIN and Katana Project - Not Only IIS - NoIIS
 
Introduction in the play framework
Introduction in the play frameworkIntroduction in the play framework
Introduction in the play framework
 
Owin from spec to application
Owin from spec to applicationOwin from spec to application
Owin from spec to application
 
OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)
 

Similar a Apache Felix Web Console

IBM Worklight - Technical Overview
IBM Worklight - Technical OverviewIBM Worklight - Technical Overview
IBM Worklight - Technical Overview
IIC_Barcelona
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
vstorm83
 

Similar a Apache Felix Web Console (20)

Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleMonitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
 
Monitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web ConsoleMonitoring OSGi Applications with the Web Console
Monitoring OSGi Applications with the Web Console
 
Keeping Current with ColdFusion - Adobe Max 2011
Keeping Current with ColdFusion - Adobe Max 2011Keeping Current with ColdFusion - Adobe Max 2011
Keeping Current with ColdFusion - Adobe Max 2011
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
DIY Flex
DIY FlexDIY Flex
DIY Flex
 
Jetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedJetpack, with new features in 2021 GDG Georgetown IO Extended
Jetpack, with new features in 2021 GDG Georgetown IO Extended
 
Running Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic BeanstalkRunning Microservices on AWS Elastic Beanstalk
Running Microservices on AWS Elastic Beanstalk
 
Deploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App EngineDeploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App Engine
 
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
Running Microservices and Docker on AWS Elastic Beanstalk - August 2016 Month...
 
FATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex appsFATC UK - Real time collaborative Flex apps
FATC UK - Real time collaborative Flex apps
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Native REST Web Services with Oracle 11g
Native REST Web Services with Oracle 11gNative REST Web Services with Oracle 11g
Native REST Web Services with Oracle 11g
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
IBM Worklight - Technical Overview
IBM Worklight - Technical OverviewIBM Worklight - Technical Overview
IBM Worklight - Technical Overview
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 Development
 
How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?
 
Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In Action
 
J2 Ee Vs. .Net Workshop
J2 Ee Vs. .Net WorkshopJ2 Ee Vs. .Net Workshop
J2 Ee Vs. .Net Workshop
 

Más de Felix Meschberger

Más de Felix Meschberger (6)

Declarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleDeclarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi Style
 
Server-side OSGi with Apache Sling (OSGiDevCon 2011)
Server-side OSGi with Apache Sling (OSGiDevCon 2011)Server-side OSGi with Apache Sling (OSGiDevCon 2011)
Server-side OSGi with Apache Sling (OSGiDevCon 2011)
 
Declarative Services
Declarative ServicesDeclarative Services
Declarative Services
 
Apache Sling Server Seitiges OSGi
Apache Sling Server Seitiges OSGiApache Sling Server Seitiges OSGi
Apache Sling Server Seitiges OSGi
 
Rapid JCR Applications Development with Sling
Rapid JCR Applications Development with SlingRapid JCR Applications Development with Sling
Rapid JCR Applications Development with Sling
 
Declarative Services Dependency Injection OSGi style
Declarative Services Dependency Injection OSGi styleDeclarative Services Dependency Injection OSGi style
Declarative Services Dependency Injection OSGi style
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Apache Felix Web Console

  • 1. Apache Felix Web Console Felix Meschberger, Principal Scientist, Adobe © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 1
  • 2. Problem  Manage an OSGi Framework  Remote Access  Ease of Use  Extensibility  Offline Support © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 2
  • 3. Solutions  Text based  Apache Felix Shell  Apache Felix Gogo  Knopflerfish Shell  Equinox Console (built-in)  OSGi RFC 147 (Command Line Interface)  GUI based  Apache Felix Web Console  Knopflerfish Desktop (Swing) © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 3
  • 4. Features  Rich Set of Core Functionality  JQuery UI based GUI  REST API  Pluggable Authentication  Extensible  Light-weight  Manage Bundles  List Services  Configuration  System Information  Configuration Status © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 4
  • 5. Installations  Dependencies:  OSGi Http Service  Commons IO 1.4  Commons File Upload 1.2  org.json (e.g. Apache Geronimo Bundles: json-20090211) © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 5
  • 6. Extension Points  Plugins  Configuration Printer  Branding  Security Provider  Translations © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 6
  • 7. Plugins  javax.servlet.Servlet services  Extend AbstractWebConsolePlugin (optional)  Service Properties  felix.webconsole.label  felix.webconsole.title © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 7
  • 8. Sample Plugin #1 @Component @Service(Servlet.class) @Properties({ @Property(name="felix.webconsole.label", value="sample"), @Property(name="felix.webconsole.title", value="Sample Plugin #1") }) public class Sample extends HttpServlet { public void service(HttpServletRequest req, HttpServletResponse res) throws IOException { res.getWriter().println("Hi There..."); } } © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 8
  • 9. Sample Plugin #2 public class Sample2 extends SimpleWebConsolePlugin { public Sample2(BundleContext ctx) { super("sample2", "Sample Plugin #2", null); register(ctx); } @Override protected void renderContent( HttpServletRequest req, HttpServletResponse res) throws IOException { res.getWriter().println("Hi There ...") } } © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 9
  • 10. Configuration Printer  Information Dump for Offline Use  Selective Destination: implements ModeAwareConfigurationPrinter  Screen Only  All-in-one Text  ZIP File  Optional Attachements: implements AttachmentProvider © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 10
  • 11. Branding  Service Interface: BrandingPlugin  Default Branding: DefaultBrandingPlugin  Branding Fragment  /META-INF/webconsole.properties webconsole.brand.name = Apache Sling Web Console webconsole.product.name = Apache Sling webconsole.product.url = http://sling.apache.org webconsole.product.image = /res/sling/logo.png webconsole.favicon = /res/sling/favicon.ico  Sample  Sling Web Console Branding Plugin © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 11
  • 12. Security Provider  Service interface: WebConsoleSecurityProvider  HTTP Basic Authentication Based  Validates Username / Password  Access Control (hook only)  Service Interface: WebConsoleSecurityProvider2  Extends WebConsoleSecurityProvider  Flexible Authentication (implementing HttpContext.handleSecurity)  Implementations  Default: Single configurable User  Karaf: JAAS based authentication  Sling  Authenticates against JCR Repository  Supports Sling Authentication Setup © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 12
  • 13. Translations  Out-of-the-box  Bulgarian, English, German, Russian  Extensible  Fragment to the Web Console  Based on Standard Bundle Localization  OSGI-INF/l10n/bundle*.properties © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 13
  • 14. Maven Sling Plugin  install  Install a Bundle after a build  Similar to deploy:deploy  install-file  Install a Bundle independent of a build  Similar to deploy:deploy-file  uninstall  Uninstall a Bundle  See: http://sling.apache.org/site/sling.html © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 14

Notas del editor

  1. \n
  2. Day (before being acquired by Adobe) started using OSGi in 2007. Except for a handful of people actively working on this, OSGi was still a new technology and there was fear, that we will not be able to manage and administer the frameworks. Providing text based consoles was not an option. Because our application is a Web application based on a framework today known as Apache Sling it is reasonable to use the same mechanism for administration\n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n