Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introductions  Two decades in software development  Software Engineering Solutions, Inc. www.swengsol.com www.swengsol.com  Technical Reviewer: Core.

Similar presentations


Presentation on theme: "Introductions  Two decades in software development  Software Engineering Solutions, Inc. www.swengsol.com www.swengsol.com  Technical Reviewer: Core."— Presentation transcript:

1

2 Introductions  Two decades in software development  Software Engineering Solutions, Inc. www.swengsol.com www.swengsol.com  Technical Reviewer: Core JavaServer Faces 3 rd Edition  “Top 1000” reviewer at Amazon.com.

3 Why another Tomcat book?  Current focus is on administrators  Tend to view Tomcat as a black box  Exactly HOW does it do what it does?

4 Pieces of the Puzzle  Java EE  HTML over HTTP  Servlet Container.

5 Java EE

6 Uniform Resource Locators http://www.swengsol.com:80/myWebApp /adobe/invoices/EditInvoice ?id=x123;jsessionid=… schemeporthost context path servlet path info path parameters query string

7 HTML over HTTP

8 Servlet Specification  WAR file format  Servlet  Filter  Listener  Session  web.xml

9 Servlet Container Interaction

10 Concurrency

11 The Tomcat Servlet Container

12 Container Overview  A valve: Extends Tomcat functionality Is Tomcat-specific Must be super-efficient

13 Containment: Server and Service

14 Containment: Connectors

15 Containment: Catalina Engine

16 Containment: Virtual Host  Each FQHN resolves to a specific IP address  Needs dedicated IP addresses

17 Containment: Virtual Host  Multiple FQHNs resolve to a single IP address  Host: request header interrogated  Simple but requires help with SSL

18 Containment: Virtual Host

19 Containment: Context

20 Containment: Another View

21  Benefits Late Binding (assembly of functionality) Security (single choke point) Customization (encrypt, generate, locate) Variance across Time Variance across Space Isolation Zones Advanced Topics: Java Class Loading First Principles

22  Rules Consistency (always return same instance) Delegation (security) Visibility (Delegation hierarchy + CL inversion) Advanced Topics: Java Class Loading First Principles

23  Available Options Implicit class loading: MyClass myClass = new MyClass() Explicit class loading: ClassLoader ldr = ClassLoader.getSystemClassLoader(); Class cls = ldr.loadClass("MyClass"); MyClass myClass = (MyClass) cls.newInstance(); Advanced Topics: Java Class Loading First Principles

24 Advanced Topics: Java Class Loading  No parent  Native code in JVM  Core Java classes from rt.jar  JRE_HOME/jre/lib/ext (implicit CLASSPATH)  Classes on CLASSPATH  Truncated by Tomcat  CATALINA_HOME/lib  Visible to web apps and Tomcat code  Directory configured in catalina.properties  Visible to all web apps  WEB-INF/classes and WEB-INF/lib  Delegates to parent for standard Java classes  Directory configured in [catalina.properties]  Visible only to Tomcat code  Lets you override core JDK classes  JAVA_HOME /lib/endorsed

25 Advanced Topics: Web Application Class Loading

26 Thank You!  damodarchetty@gmail.com  www.swengsol.com www.swengsol.com  651 270 8457 for training/consulting opportunities.


Download ppt "Introductions  Two decades in software development  Software Engineering Solutions, Inc. www.swengsol.com www.swengsol.com  Technical Reviewer: Core."

Similar presentations


Ads by Google