Presentation Title Up to Three Lines Long Arial 28pt Name, 26pt Speaker Company, 18pt Misc. Info, 16pt Speaker logo centered below photo.

Slides:



Advertisements
Similar presentations
1 Dive into Apache Geronimo 3.0 Xu Haihong Apache Geronimo PMC
Advertisements

Why OSGi matters for Enterprise Java Infrastructures
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
{ Apache - Click By, By, Anupam Mundale. Anupam Mundale. Viraj Kulkarni. Viraj Kulkarni.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Understanding and Managing WebSphere V5
Platform as a Service (PaaS)
UNIT-V The MVC architecture and Struts Framework.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Distributed Multitiered Applications The J2EE platform uses a multitiered distributed application model. Application logic is divided into components 1.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
Slide heading: 28pt Arial Regular, light blue R204 | G204 | B255 Maximum length: 2 lines Slide body: 18pt Arial Regular, white Square bullet color: green.
Play with Cloud Foundry An Open PaaS Shi, Tao May 11, 2012.
Introduction to J2EE Architecture Portions by Kunal Mehta.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
Extending ArcGIS for Server
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Grails Mansura Habiba 13 november Introduction What is Grails? Runs on the Java Virtual Machine Used Java like dynamic language Groovy Inspired.
OSGi in action BlueDavy
Introduction to Web Dimitar Nenchev Ivan Nakov
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
ArcGIS Server for Administrators
1 Apache TomEE // JavaEE Web Profile on Tomcat Jonathan #TomEE.
USING RUBY An Introduction By Evgeny Rahman. About Me Principal Engineer at FirstFuel Software 10+ years in Software Engineering 5 years working with.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Topic Java EE installation (Eclipse, glassfish, etc.) Eclipse configuration for EE Creating a Java Web Dynamic Project Creating your first servlet.
JSF Framework Java Server Faces Presented by Songkran Totiya (6/10/2014)
Java Servlets and Java Server Pages Norman White Stern School of Business.
Philip Repsher October 29 th, 2008 Or Maybe November 3 rd, 2008.
Spring and DWR Frameworks for Rich Web Enterprise Application Thomas Wiradikusuma Presentation to the 20 th.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Topics to be covered (ni) Client side validation JSF (free tools as well) Webservices Tell Resources e.g. sites Packaging and deploying web applications.
Speaker Name Speaker Title Speaker Title Oracle Corporation Olivier Le Diouris Principal Product Manager Oracle Corporation Building Servlet and JSP Applications.
Introduction to Java Web Programming Gregg Sporar
Project Fuji - The Next Generation of OpenESB Andreas Egloff Lead Architect SOA/BI Sun Microsystems, Inc. Fuji is in active development,
Project Cumulus Overview March 15, End Goal Unified Public & Private PaaS for GlassFish/Java EE Simplify deployment of Java EE Apps on top of.
1 NetBeans New and Cool Sun Microsystems, Inc.. 2 Goal of the Talk Learn how NetBeans IDE can help you become more productive Learn about the new features.
GlassFish Workshop 1 Dynamic Languages in GlassFish Arun Gupta blogs.sun.com/arungupta.
Know Your GlassFish Gem Jacob Kessler. Overview ● Fast, simple, easy – gem install glassfish – glassfish. ● Everything from GlassFish to serve a Ruby.
GlassFish Gem Vivek Pandey Sun Microsystems, Inc.
XNAT 1.7: Getting Started 6 June, Introduction In this presentation we’ll discuss:  Features and functions in XNAT 1.7  Requirements  Installing.
GlassFish OSGi - A Modular Runtime for Hybrid Applications
Chapter 13 Web Application Infrastructure
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Admin Console for Glassfish v2
Platform as a Service (PaaS)
OpenLegacy Training Day Four Introduction to Microservices
Prepared by: Assistant prof. Aslamzai
Partner Logo Veropath Offers a Next-Gen Expense Management SaaS Technology Solution, Built Specifically to Harness Big Data Analytics Capabilities in Azure.
Introduction to Microservices Prepared for
JRuby It's What's For Dinner
Ruby, Rails, GUIs, and More
Introduction to J2EE Architecture
Servlet API and Lifecycle
J2EE Application Development
Services-based Systems Architecture, Design and Implementation
TEMPLATE.
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Google App Engine Ying Zou 01/24/2016.
International Living Atlases Workshop Madrid 2018
Web Application Development Using PHP
Presentation transcript:

Presentation Title Up to Three Lines Long Arial 28pt Name, 26pt Speaker Company, 18pt Misc. Info, 16pt Speaker logo centered below photo

2 Agenda > Introduction > Dynamic Languages and the Java Virtual Machine > GlassFish: A Multi-Language app server > JavaEE and Dynamic Languages > Advance Features > Q&A

3 GlassFish v3 A multi-language application server

4 > GlassFish integrates dynamic applications seamlessly ● Grails, Rails, Merb, Sinatra, Django, Lift ● Same deploy command for all frameworks ● asadmin deploy ● No packaging (no WAR files required) ● No change in programming model > Under-the-hood wiring ● Implements Rack, Web Server Gateway Interface (WSGI)

5 Why Is This Cool? > First-class support for dynamic language apps ● asadmin deploy /path/to/dynamic/app ● Just Works > Easy integration of dynamic apps into existing Java deployments ● Can run Ruby apps alongside Jython, Java EE, etc. > Embedded interpreters allow for some extra tricks > Rails runtime pooling > Monitoring and configuration

6 GlassFish v3 Extensibility > Pluggable Containers > Container handles user applications > Each language/framework has it's own container ● JRuby Container (Ruby/Rails/Merb) ● Jython Container (Python/Django) ● Web Container (for Servlet/JSP/Grails based apps) ● Each container is an OSGi bundle > Grizzly adapter to serve HTTP request

7 GlassFish JRuby Module JRubySniffer JRubyContai ner JRubyDeploy er GrizzlyAdapt er register Deploy

8 More on Scripting Containers... > Dynamic runtime pool ● Used for single threaded languages/framework ● Configurable ● Optimized resource usage > Lazy loading ● Loaded on application deployment ● Faster startup

9 GlassFish v3 Runtime

10 (J)Ruby on Rails Rack

11 Ruby support on GlassFish > Rack support ● Wires a web server to a Ruby application ● Based on WSGI from Python > Run any Ruby application that supports Rack > All major Ruby frameworks support Rack ● Rails (Starting 2.3.2), Merb, Sinatra, Campsite... > GlassFish has in built support for Rails, Merb and Sinatra

12 GlassFish gem > Project at RubyForge ● Based on GlassFish v3 Kernel > Lightweight ● Just about 2.5 MB in size > Ruby friendly > More info ●

13 Using GlassFish gem > How simple can it get?

14 Using GlassFish gem > How simple can it get? $ gem install glassfish

15 Using GlassFish gem > How simple can it get? $ gem install glassfish $ glassfish

16 Using GlassFish gem > How simple can it get? $ gem install glassfish $ glassfish -e production

17 Pluggable Framework support > Rack-up script > jruby.applicationType deployment property > GlassFish auto-detects your application Ruby App Deployme nt Ruby App Deployme nt Rack Auto-detector Rack Auto-detector Rails Your Framework Your Framework Merb Sinatr a Rack-up Script Rack-up Script

18 Demo Run your Rack aware Ruby application on GlassFish

19 (J)Python and Django

20 (J)Python and Django on GlassFish > Jython as Python interpreter > Jython container ● Like JRuby, extends GlassFish ● Jython Grizzly Adapter for HTTP processing ● WSGI support makes other Python frameworks simple to plugin > Simple deployment $ asadmin deploy myDjangoApp/

21 Demo Django application on GlassFish v3

22 Groovy and Grails Spring + Hibernate + Groovy = Grails

23 GlassFish v3 is Grails Aware!

24 GlassFish Grails Plugin > Install GlassFish as Grails plugin $ grails install-plugin glassfish --global > Now run your application on GlassFish $ grails run-app > Embedded GlassFish for Grails > Same server for development and production > Supports Grails run-app and run-war command

25 Agenda > Introduction > Dynamic Languages and the Java Virtual Machine > GlassFish: A Multi-Language app server > JavaEE and Dynamic Languages > Advance Features > Q&A

26 JavaEE and Dynamic Languages > JavaEE a mature and robust enterprise platform > Servlet, EJB, JMS, JAX-RS, JAX-WS... > What's possible now ● Co-host JavaEE application with a Ruby application ● Dispatch request from Rails to a Servlet ● Access Rails response inside a JSP ● Write to ServletResponse from inside Rails application > Made possible using JRuby-Rack

27 Servlet 3.0 pluggability > JavaEE 6 and Dynamic Languages ● Simple packaging ● No need to package as WAR ● Hence no Warbler needed ● Place Rails application inside WEB-INF directory ● No boilerplate web.xml ● Dynamically add Jruby-Rack ServletFilter and ServletContextListner ● Achived by implementing javax.servlet.ServletContainerInitializer

28 Servlet 3.0 Pluggability RailsContainerInitializer extends ServletContainerInitializer { public void onStartup(Set >c, ServletContext ctx) { //c will be null if ServletContainerInitializer does //not have annotation on it. InputStream boot = ctx.getResourceAsStream( "WEB-INF/environment/boot.rb"); //There is a Rails application inside this web archive, //lets add the servlet/filter etc. if(boot != null){ FilterRegistration fr = ctx.addFilter( “JRuby Rack Filter”, filterClass); //Use the FilterRegistration fr to add the //Filter related metadata. }

29 Agenda > Introduction > Dynamic Languages and the Java Virtual Machine > GlassFish: A Multi-Language app server > JavaEE and Dynamic Languages > Advance Features > Q&A

30 GlassFish Monitoring > Based on GlassFish probe infrastructure > GlassFish probes ● Emits monitoring data ● Probes exposed as dTrace probes ● JMX beans ● RESTful service > Scripting client ● Write monitoring client in Groovy or JRuby and deploy as a service on GlassFish

31 Ruby Monitoring > What is monitored in Ruby/Rack applications ● Container Probe ● HTTP stats ● JRuby runtime > Monitor using ● dTrace or JMX or your custom script or REST

32 Demo: Rails on Comet

33 Q&A

Speaker Name, Arial 28pt Speaker Contact Info, 22pt Misc Info, 16pt

35 Slide Heading: 36pt Subhead: 28pt > All text is Arial > Level One bullet point: 28pt ● Level Two bullet: 26pt ● Level Three: 22pt ● Level Four and subsequent: 18pt > Text block is aligned to the left