building web applications with j2ee l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Building Web Applications With J2EE PowerPoint Presentation
Download Presentation
Building Web Applications With J2EE

Loading in 2 Seconds...

play fullscreen
1 / 29

Building Web Applications With J2EE - PowerPoint PPT Presentation


  • 305 Views
  • Uploaded on

Building Web Applications With J2EE. By Sandeep Dixit, Partner. Ohioedge Enterprise Java Solutions Provider Since 1996. Assumptions Audience Background. Elementary knowledge of J2EE Currently planning or in the process of building Web applications with J2EE.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Building Web Applications With J2EE' - Sophia


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
building web applications with j2ee

Building Web Applications With J2EE

By Sandeep Dixit, Partner

Ohioedge

Enterprise Java Solutions Provider

Since 1996

assumptions audience background
AssumptionsAudience Background

Elementary knowledge of J2EE

Currently planning or in the process of building Web applications with J2EE

assumptions audience expectations
AssumptionsAudience Expectations

Want to learn or verify essential concepts of Web application development with J2EE

Want to see live demonstrations of

  • sample applications
  • deploying sample applications in J2EE-compliant application server
  • how a proper implementation of these concepts results in robustness, quality, and improved productivity
today s agenda
Today’s Agenda
  • Origin of J2EE
  • Mindset for building Web applications
  • Generalization: J2EE Patterns
  • Three-tier component: EJB-JavaBean-JSP
  • XML schema-driven applications
  • Directory structure: Effective organization of java, jsp, xml, sql and bat script files
  • Package structure: Effective grouping of Java and JSP source code
  • Live Demonstration of J2eeBuilder Framework & component plug-in
j2ee facts
J2EE Facts

J2EE is not a programming language.

J2EE is a specification for writing enterprise applications (distributed computing)

J2EE specification compliant code is portable between J2EE-compliant application servers.

1985 1992
1985-1992
  • One programming language for building distributed (client-server) applications
  • IDE for compilation, debugging, execution and file management
  • Procedural programming
slide7
1990+
  • VB brings client-server (distributed) application development environment to desktops
  • Procedural programming
  • GUI development is more user-friendly
slide8
1995+
  • Java, an OS independent, pure Object-oriented, programming language starts gaining ground
  • Object-oriented programming is more user friendly
  • Java Remote Method Invocation (RMI) is made available for distributed computing
slide9
1997+
  • Apache Web Server becomes de-facto web server
  • Java RMI is further strengthened by a specification - J2EE specification - on how to write an RMI server.
  • Developing distributed applications is made more user friendly.
slide10
1999+
  • Servlet/JSP makes HTML-based Web GUI a real thing for enterprise applications
  • Object-oriented programming is further extended into XML definition driven object-oriented programming
  • J2EE incorporates XML as the way to specify data
slide11
2000+
  • Enthusiastic software developers start using J2EE.
  • Container Managed Persistence becomes a reality
  • Methodologies for writing J2EE applications are discovered.
slide12
2001+
  • Various articles, papers, and books on J2EE Patterns, Practices, and Strategies are published and presented
  • Jboss an open-source J2EE 1.3-compliant application server is used by more than 1 Million developers world-wide
  • J2EE is free. J2EE is open. J2EE is here to stay.
mindset for building web applications
Mindset for building Web applications

Application

Server

CRM

  • Think in terms of “Servicing a request”
  • For example, a click on a “create” button on a “customer” page in a browser is a request.
  • Building a Web application requires an approach of handling and processing http requests and sending appropriate responses back to the requesters
generalization of services
Generalization of Services
  • Generalization of how http requests are serviced by presentation-tier, middle-tier, and data-tier results in a generic, inter-tier dependent, reusable library of source code - J2EE patterns
generalization of services15
Generalization of Services
  • For an example, the application processing “customer-create” request needs to verify if the requester is valid, requester’s session is valid, and license to use application itself is valid. These validation steps are independent of “customer-create” request and are applicable to any requests such as, “customer-delete”, “contact-find”, etc.
  • This requires that every time a request is received it should be first passed-on to a “generic validation service” that would either permit or deny further servicing of the request.
  • Typically, validation service would get categorized under “presentation services”. Depending upon the layer where the services are called, they would be categorized under either - presentation, business, or data services.
servicing a request
Servicing a request

Http request originates in a browser

URL

Presentation-tier

Business-tier

Http response ends in the browser

j2ee patterns presentation tier
J2EE Patterns: Presentation-tier
  • Front Controller
  • View Helper
  • Composite View
  • Service To Worker
  • Dispatcher View
brief overview of presentation tier patterns
Brief overview of Presentation-tier patterns
  • Front Controller: Provides a centralized controller for managing the handling of a request
  • View Helper: Encapsulates logic that is not related to presentation formatting into Helper components

<servlet-mapping>

<servlet-name>TheViewController</servlet-name>

<url-pattern>*.ctrl</url-pattern>

</servlet-mapping>

brief overview of presentation tier patterns19
Brief overview of Presentation-tier patterns
  • Dispatcher View: Similar to Service To Worker; Dispatcher plays a limited role in the processing of requests - Dispatcher plays limited to moderate role in view management.
    • Limited role: No outside resources are utilized in order to choose the view. The information encapsulated in the request is sufficient to determine the view to dispatch the request. For example: http://my.server.com/myContextRoot/Controller?next=login.jsp
    • Moderate role: The information contains an action to be completed: http://my.server.com/myContextRoot/Controller?action=login The responsibility of the dispatcher component here is to translate the logical name ‘login’ into the resource name of an appropriate view, such as ‘login.jsp’, and dispatch to that view. To accomplish this translation, the dispatcher may access resources such as an XML configuration file that specifies the appropriate view to display.
  • Service To Worker: Combines a Dispatcher component with the Front Controller and View Helper patterns - Dispatcher plays moderate to large role in view management. Dispatcher is more sophisticated. The dispatcher may invoke a business service to determine the appropriate view to display.
    • For example: http://my.server.com/myContextRoot/Customer.ctrl?submit=Set
service to worker
Service To Worker

URL

Business-tier

processing the request

Value

Object

Business

Delegate

EJB

Requests EJB/Business

Service

Locates

Business

Service

Service

Locator

Processing the request

URL

j2ee patterns business tier
J2EE Patterns: Business-tier
  • Business Delegate
  • Value Object
  • Session Façade
  • Composite Entity
  • Value Object Assembler
  • Value List Handler
  • Service Locator
brief overview of business tier patterns
Brief overview of Business-tier patterns
  • Business Delegate: De-couples presentation and service tiers, and provides a façade and proxy interface to the services.
  • Value Object: Facilitates data exchange between EJB and BusinessDelegate
  • Value List Handler: Manages query execution, results caching, and results processing.
  • Service Locator: Encapsulates complexity of business service lookup and creation; locates business service factories.
j2ee patterns for servicing requests
J2EE Patterns for Servicing Requests

Presentation-tier

Business-tier

Data-tier

  • Front Controller
  • View Helper
  • Composite View
  • Service To Worker
  • Dispatcher View
  • Business Delegate
  • Value Object
  • Session Façade
  • Composite Entity
  • Value Object Assembler
  • Value List Handler
  • Service Locator
  • Service Activator
  • Data Access Object
directory structure
Directory Structure
  • Source Code
  • Scripts
  • J2EE Specification Code
    • ejb.xml
    • web.xml
    • application.xml
  • J2EE Application Specific Code
    • jboss.xml
    • jboss-web.xml
  • Java/Jar Specific Code
    • manifest.mf
package structure
Package Structure
  • Business Functionality code
    • extends framework code
  • Framework code
    • implementation of patterns
j2eebuilder framework
J2eeBuilder Framework
  • Demonstration of a framework
    • Implementation of patterns
    • Session Management
    • User Management
    • License Management
    • j2eebuilder-config.xml
  • Demonstration of plugging-in a “product” component into the framework
summary
Summary
  • J2EE is Java, EJB specification, Servlet, JSP, Html, and XML
  • Use open-source software such JDOM, LOG4J, Apache Web Server, Tomcat Servlet Container, and JBoss Application Server
  • Document your architecture, data-structure, functional scope, directory structure, and package structure, before launching a full-scale development
  • Understand key concepts. Learn to do-it by hand using simple TextPad before using IDEs.
  • Keep it J2EE compliant. Avoid getting locked into any vendor specific technology.
  • You build a generic framework and robustness, quality and productivity will come.