Know Your GlassFish Gem Jacob Kessler. Overview ● Fast, simple, easy – gem install glassfish – glassfish. ● Everything from GlassFish to serve a Ruby.

Slides:



Advertisements
Similar presentations
Todd Tannenbaum Condor Team GCB Tutorial OGF 2007.
Advertisements

Introduction to Linux Recap Installing programs Introduction to Video Editing with Linux.
A Comprehensive Web Application Development and Deployment Platform.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Chapter Apache Installation in Linux- Mandrake. Acknowledgment The following information has been obtained directly from
Programming project #4 1 CS502 Spring 2006 Programming Project #4 Web Server CS-502 Operating Systems Spring 2006.
NuGet Sweet, but not edible Chris
27-Jun-15 Rails. What is Rails? Rails is a framework for building web applications This involves: Getting information from the user (client), using HTML.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 8 Introduction to Printers in a Windows Server 2008 Network.
CS-3103 & CS-502, Summer 2006 Programming Project #31 Programming Project #3 Web Server CS-3103 & CS-502 Operating Systems.
SETUP AND CONFIGURATIONS WEBLOGIC SERVER. 1.Weblogic Installation 2.Creating domain through configuration wizard 3.Creating domain using existing template.
Server Design Discuss Design issues for Servers Review Server Creation in Linux.
Scottish Legal Aid Board Content Management using OpenCms Martin Spinks CTO Navyblue Tuesday, March 16, 2010.
AppCMD Quick Reference Guide for IIS 7 installed on Win2k8 Servers.
Apache Tomcat Web Server SNU OOPSLA Lab. October 2005.
Booting and boot levels
Chocolate Bar! luqili. Milestone 3 Speed 11% of final mark 7%: path quality and speed –Some cleverness required for full marks –Implement some A* techniques.
11 Getting Started with C# Chapter Objectives You will be able to: 1. Say in general terms how C# differs from C. 2. Create, compile, and run a.
SIMPLE ROUTER The slide made by Salim Malakouti. Next we will create the Router  What do I we mean by a router?  Routers work similar to a map. It receives.
AN OVERVIEW OF SERVLET TECHNOLOGY SERVER SETUP AND CONFIGURATION WEB APPLICATION STRUCTURE BASIC SERVLET EXAMPLE Java Servlets - Compiled By Nitin Pai.
Cricket and SNMP Using Cricket to manage SNMP objects.
SNORT Tutorial Sreekanth Malladi (modifying original by N. Youngworth)
By: Maksim Surguy & Cesar Acosta require 'sinatra‘ get ‘/' do "Hello World!" end.
Ruby on Rails Your first app. Rails files app/ Contains the controllers, models, views and assets for your application. You’ll focus on this folder for.
Lecture 11 Rails Topics SaaSSaaS Readings: SaaS book Ch February CSCE 740 Software Engineering.
Sage ACT! 2013 SDK Update Brian P. Mowka March 23, 2012 Template date: October 2010.
Ruby on Rails (Slides modified by ements-2ed.shtml)
USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with.
Managing SX.e and TWL with MARC and Scripts Jeremiah Curtis
Topic Java EE installation (Eclipse, glassfish, etc.) Eclipse configuration for EE Creating a Java Web Dynamic Project Creating your first servlet.
Wordpress with Mina Automated Deployment Solution Jonathan Gravato DIG 4104c.
Ruby on Rails By S. Christopher Hellriegel. Overview 1. What is Ruby on Rails? 2. What is MVC? 3. Simple example 4. Wow, that was cool!
The Log4E logging plug-in David Gallardo. What is logging good for? Tracing program execution during development Debugging Providing an audit trail for.
Philip Repsher October 29 th, 2008 Or Maybe November 3 rd, 2008.
Servo Motors Precise angular motion. Servo Motors Raspberry Pi Webcam Interfaces Keeping track of things.
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
1 Rails for the Ruby-Impaired John Paul Ashenfelter CTO/Transitionpoint.
 Each interface card that was detected correctly will be listed under the Network Devices section. Ethernet devices in Linux are named eth0, eth1, eth2,
Project Cumulus Overview March 15, End Goal Unified Public & Private PaaS for GlassFish/Java EE Simplify deployment of Java EE Apps on top of.
Presentation Title Up to Three Lines Long Arial 28pt Name, 26pt Speaker Company, 18pt Misc. Info, 16pt Speaker logo centered below photo.
GlassFish Gem Vivek Pandey Sun Microsystems, Inc.
BY: SALMAN 1.
Tutorial: Condor on Windows
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Stress Free Deployments with Octopus Deploy
Product Training Program
Admin Console for Glassfish v2
BY: SALMAN.
Physics validation database
Section 4 – Link Access Module (Lam) aka Data Adapters
Google App Engine Mandeep Singh (37926)
Ruby Tooling in NetBeans
Logging In ASP.Net Core 1.1.
Azure CLI Deep Dive Neil Peterson Content Developer Microsoft.
JRuby Charles Oliver Nutter
Ruby, Rails, GUIs, and More
MapServer In its most basic form, MapServer is a CGI program that sits inactive on your Web server. When a request is sent to MapServer, it uses.
Programming Assignment 1
J2EE Application Development
Apache Tomcat Web Server
Logging In ASP.Net Core 2.0.
SpiraTest/Plan/Team Deployment Considerations
Nate Nelson I*LEVEL, Inc.
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Chapter 15 Introduction to Rails.
Configuration Of A Pull Network.
Your code is not just…your code
Last.Backend is a Continuous Delivery Platform for Developers and Dev Teams, Allowing Them to Manage and Deploy Applications Easier and Faster MICROSOFT.
LANL HPC PRE-team Paul Ferrell, Nick Sly, Francine Lapid, Kody Everson, Jen Green, Chris Dejager.
Your code is not just…your code
Presentation transcript:

Know Your GlassFish Gem Jacob Kessler

Overview ● Fast, simple, easy – gem install glassfish – glassfish. ● Everything from GlassFish to serve a Ruby on Rails application in Gem form ● Production-ready

By Default... ● Default command: “glassfish” – Deploy a Rails, Merb, or Sinatra app ● With the root in the current directory ● On port 3000 ● With context root '/' ● In the development environment ● Logging to./log/glassfish.log ● Using a single JRuby runtime ● Normally fine for most things

Let's start changing things! ● -c, --contextroot PATH ● -p, --port PORT ● -e, --environment ENV – One of development, test, or production ● Change some basic things about the server – Self-explanatory

How Can You Be In Two Places At Once? ● -n, --runtimes NUMBER – Activates the JRuby runtime pool for non-threadsafe applications ● Automatically creates and manages multiple Rails instances for your application – Control size with --runtimes-min and --runtimes-max ● Normally safe to use 1 and the limit of your server – Not applicable with config.threadsafe! or thread-safe frameworks ● Option is ignored

Daemons in the Deep! ● -d, --daemon – Enter daemon mode (Unix and Linux only) ● -P, --pid FILE – file to store PID information for daemonized gem – Defaults to tmp/pids/glassfish.pid

In Case Something Goes Wrong ● -l, --log FILE – file to write the server log to – Defaults to./log/glassfish.log – -l or --log with no arguments logs to console ● --log-level {0-7} – Sets the log level – Higher levels will generate more logging – Default 3 (INFO)

You Can't Get There From Here... ● Final token is the path to the application to deploy – Defaults to current directory (glassfish.) – glassfish /home/jacob/rails/helloworld

Anatomy of a GlassFish ● glassfish -c /helloworld/ -p 80 -e production -n 2 --runtimes-min 1 --runtimes-max 4 -d -P /home/jacob/rails/helloworld/pid -l /home/jacob/rails/helloworld/server.log --log-level 1 /home/jacob/rails/helloworld

Anatomy of a GlassFish ● glassfish -c /helloworld/ -p 80 -e production -n 2 --runtimes-min 1 --runtimes-max 4 -d -P /home/jacob/rails/helloworld/pid -l /home/jacob/rails/helloworld/server.log --log-level 1 /home/jacob/rails/helloworld

Anatomy of a GlassFish ● glassfish -c /helloworld/ -p 80 -e production -n 2 --runtimes-min 1 --runtimes-max 4 -d -P /home/jacob/rails/helloworld/pid -l /home/jacob/rails/helloworld/server.log --log-level 1 /home/jacob/rails/helloworld

Anatomy of a GlassFish ● glassfish -c /helloworld/ -p 80 -e production -n 2 --runtimes-min 1 --runtimes-max 4 -d -P /home/jacob/rails/helloworld/pid -l /home/jacob/rails/helloworld/server.log --log-level 1 /home/jacob/rails/helloworld

Anatomy of a GlassFish ● glassfish -c /helloworld/ -p 80 -e production -n 2 --runtimes-min 1 --runtimes-max 4 -d -P /home/jacob/rails/helloworld/pid -l /home/jacob/rails/helloworld/server.log --log-level 1 /home/jacob/rails/helloworld

Anatomy of a GlassFish ● glassfish -c /helloworld/ -p 80 -e production -n 2 --runtimes-min 1 --runtimes-max 4 -d -P /home/jacob/rails/helloworld/pid -l /home/jacob/rails/helloworld/server.log --log-level 1 /home/jacob/rails/helloworld

Anatomy of a GlassFish ● glassfish -c /helloworld/ -p 80 -e production -n 2 --runtimes-min 1 --runtimes-max 4 -d -P /home/jacob/rails/helloworld/pid -l /home/jacob/rails/helloworld/server.log --log-level 1 /home/jacob/rails/helloworld ● Somewhat contrived

I'm Not Typing That Every Time! ● --config FILE – Reads configuration data from a file – Generate a template file using “gfrake config” – yml format

So, what does this mean? ● Can replace Mongrel/Thin in both development and production ● Equivalent or faster speed ● Fully threaded implementation – Pooled Rails instances – Threadsafe Rails – Minimal locking

What else does this mean? ● Same environment in development and production ● Proven stability and engineering – Same code and web server as GlassFish V3

When Should I use Gem? ● You want the stability and power of GlassFish without having to set up a full app server ● You want a Ruby-like way of doing things ● You don't need the other capabilities of a full GlassFish server

But I want Automated Management! ● GlassFish Gem works with Capistrano – GlassFish server does too ● Only minimal changes needed, can be a drop-in replacement in existing scripts and deployments – Each Capistrano task is just a remapping of an existing command ● Example scripts available at nd_glassfish_now_with

Capistrano