Starting A Web Application Based On ZK CDI JPA and Jetty"

From Documentation
m
Line 9: Line 9:
 
Building a Java Web application is always started with a bunch of choices; Choices of which software architecture should pick, layers within picked architecture should be defined, and possible solutions or frameworks that each layer should use.
 
Building a Java Web application is always started with a bunch of choices; Choices of which software architecture should pick, layers within picked architecture should be defined, and possible solutions or frameworks that each layer should use.
  
So in this article, by walking through a development Environment setup and application stack build-up, I want to propose a common practice of building a light weight web app based on Java EE 6(Weld CDI, Hibernate JPA) and ZK on a simple web container (Jetty or Tomcat).
+
In this series of article, I want to propose a practice of building a light weight web-app based on Java EE 6(Weld CDI, Hibernate JPA) and ZK on a simple web container (Jetty or Tomcat). And that might gives you an idea of a possible solution to start a Java web application.
 +
 
 +
in this article, I'll introduce the application stack and Java CDI technology by walking through a development Environment setup and application stack build-up, and the next  article: XXXX I'll introduce some user scenarios and programming practices between each layers.
 +
 
 +
=Application Stack=
 +
In tradition, a web application consists 3 tiers/layers, which are: Presentation, Business and Persistence. And the component that we are using for each layer of our application can be illustrated in this graph:[[File:3_tier_archi.jpg]]
 +
===Aiming of this stack===
 +
* Using Simple Web container.
 +
 
 +
* Jetty:
 +
* ZK as Web framework: good to fast prototyping,
  
This is a series article, and in the next next  article: XXXX I'll introduce some user scenarios and programming practices between each layers.
 
  
 
=Development Environment Setup=
 
=Development Environment Setup=
Line 20: Line 29:
 
# '''Run Jetty Run''': a very light weight Jetty server runner to host the runtime of your web application.
 
# '''Run Jetty Run''': a very light weight Jetty server runner to host the runtime of your web application.
  
=Application Stack=
 
In tradition, a web application consists 3 tiers/layers, which are: Presentation, Business and Persistence. And the component that we are using for each layer of our application can be shown in this graph:[[File:3_tier_archi.jpg]]
 
  
=Light weight Servlet Container=
+
 
=Java EE standard: CDI=
+
Let's see how to configure them.
=Hibernate JPA as Persistence=
+
==Light weight Servlet Container==
 +
 
 +
==Java EE standard: CDI==
 +
==Hibernate JPA as Persistence==
 
=ZK as Presentation=
 
=ZK as Presentation=
 
=Summery=
 
=Summery=
 
==
 
==

Revision as of 05:54, 7 August 2012

WarningTriangle-32x32.png This page is under construction, so we cannot guarantee the accuracy of the content!

DocumentationSmall Talks2012AugStarting A Web Application Based On ZK CDI JPA and Jetty
Starting A Web Application Based On ZK CDI JPA and Jetty

Author
Ian YT Tsai, Engineer, Potix Corporation
Date
Aug 06, 2012
Version
ZK 6

Introduction

Building a Java Web application is always started with a bunch of choices; Choices of which software architecture should pick, layers within picked architecture should be defined, and possible solutions or frameworks that each layer should use.

In this series of article, I want to propose a practice of building a light weight web-app based on Java EE 6(Weld CDI, Hibernate JPA) and ZK on a simple web container (Jetty or Tomcat). And that might gives you an idea of a possible solution to start a Java web application.

in this article, I'll introduce the application stack and Java CDI technology by walking through a development Environment setup and application stack build-up, and the next article: XXXX I'll introduce some user scenarios and programming practices between each layers.

Application Stack

In tradition, a web application consists 3 tiers/layers, which are: Presentation, Business and Persistence. And the component that we are using for each layer of our application can be illustrated in this graph:File:3 tier archi.jpg

Aiming of this stack

  • Using Simple Web container.
  • Jetty:
  • ZK as Web framework: good to fast prototyping,


Development Environment Setup

First, let's prepare our development environment, here is the project resource host link: XXXXXX. You can download & unpack the downloadable zip file or if you are familiar with Git, you can "git clone" it to your local directory. Now, let's see the prerequisites of this project.

Eclipse IDE Preparation

Please download Eclipse 3.6 or 3.7 JavaEE Developer's package, though Eclipse already announced it's newest version "Juno"(4.2), but I haven't make sure all required plugins are functional. The required plugins list is bellow:

  1. M2Eclipse: in order to shrink the project size and manage the project well, I use Maven to manage my project, and M2Eclipse can help you import the project into your eclipse workspace much easier.
  2. Run Jetty Run: a very light weight Jetty server runner to host the runtime of your web application.


Let's see how to configure them.

Light weight Servlet Container

Java EE standard: CDI

Hibernate JPA as Persistence

ZK as Presentation

Summery

==