Develop A Simple Web Application With Apache Wicket And .

2y ago
17 Views
3 Downloads
679.93 KB
27 Pages
Last View : 24d ago
Last Download : 3m ago
Upload by : Mara Blakely
Transcription

Develop a simple Web application with ApacheWicket and Apache GeronimoCombine Wicket, Geronimo, and Apache Derby to form an opensource Java Web development platformSkill Level: IntermediateRobi Sen (rsen@department13.com)Vice PresidentDepartment 13 LLC10 Jul 2007Apache Wicket is an innovative Java Web application framework that wasintroduced a couple of years ago. It helps simplify Web application development byclearly separating the roles of developers and designers. It lets you remove logicalcode from the view layer, eliminating the need for JavaServer Pages (JSP), providinga simple plain old Java object (POJO)-centric mode of development, and removingmuch of the need for XML and other configuration file formats. In this tutorial, learnhow to set up your system to develop a simple Web application with Wicket, usingApache Geronimo as your application server and Apache Derby as the embeddeddatabase.Section 1. Before you startThis tutorial is designed for developers who have found Java frameworks, such asStruts, lacking in needed functionality. If you're interested in developing Webapplications in a more object-oriented manner, where the view is clearly separatedfrom logic and there's minimal configuration and mapping, then Wicket is for you!This tutorial walks you through the basics of how Wicket works, while using ApacheGeronimo to set up a Java Platform, Enterprise Edition (Java EE) server, Webserver, and embedded database in just minutes. Combining Wicket with Geronimolets you develop data-driven, scalable Web applications using software that's allopen source.Develop a simple Web application with Apache Wicket and Apache Geronimo Copyright IBM Corporation 1994, 2008. All rights reserved.Page 1 of 27

developerWorks ibm.com/developerWorksAbout this tutorialDeveloping Java Web applications can be awkward and frustrating. For yearsdevelopers have tried to solve problems with Java application development bycreating frameworks that solve specific problems. But few have been able to simplifyWeb development, separate roles, clearly separate the view from the model andremove special markup, and define a totally POJO-centric model of development —until now. Enter Apache Wicket.Wicket, an innovative Java Web application framework introduced a couple of yearsago, simplifies Web application development by clearly separating roles ofdevelopers and designers, in part by removing logical code from the view layer. Thissimple and pure approach to Model-View-Controller (MVC) development, coupledwith its simple development workflow that lacks XML configuration files, makeWicket a powerful and enjoyable development framework. It solves a number ofdevelopment challenges, allowing you to focus more on functionality and less on theapplication configuration.In this tutorial, you zero in on how to set up and configure a project to use the Wicketframework with Databinder, which allows Wicket and Hibernate to work nicelytogether. You combine these applications with the Apache Derby embeddeddatabase to create a simple Web application in record time. From there, you learnhow to deploy your application on Geronimo.System requirementsYou need the following tools to follow along with this tutorial: Apache Geronimo 2.0-M2 with Tomcat 6 — Geronimo is the Java EEapplication server that you deploy to. An operating system — This application was developed usingMicrosoft Windows XP, but everything involved has been widely usedon Linux and OS X. So you should be able to follow the tutorial usingplatforms other than Windows. Java JDK 1.5 or later — Java 1.5 11 was used to develop all the code inthis tutorial, but 1.5 and later JDKs should work. Embedded database — This tutorial uses Apache Derby, the lightweight,100% Java-based database. Because Geronimo already has Derby builtin, you don't need to download anything. Eclipse — In this tutorial, you use Eclipse 3.2 as the IDE. It's notrequired, but it greatly simplifies your development process. Apache Maven 2 — You use Maven 2 in this project to automaticallygather required files and build projects.Develop a simple Web application with Apache Wicket and Apache GeronimoPage 2 of 27 Copyright IBM Corporation 1994, 2008. All rights reserved.

ibm.com/developerWorksdeveloperWorks Databinder — A lightweight utility written by Nathan Hamblen,Databinder is a tool that lets Wicket and Hibernate work togetherextremely well, greatly simplifying development of data-driven Wicketapplications.Section 2. Setting the stageFew Java Web application developers would argue that developing Java Webapplications is a straightforward, simple-to-manage, and delightful process. OftenJava Web application frameworks, while solving many problems, end up being brittleand difficult to change after their initial development. Furthermore, many frameworks— while espousing separation of concerns and decoupling of logic from presentation— often mix logic and presentation, thus forcing developers to manage overlycomplex XML files used in configuration and mapping.Wicket solves all of these problems in a novel and elegant way by using only plainHTML on the view layer and POJOs for everything else. Wicket in part solves thisproblem by extending HTML in a compliant way by introducing the Wicketnamespace (wicket:id), which allows Wicket to map specific dynamic functionality toareas of your Web site and associate them with specific models represented by aJava class and subclasses.For most people, the easiest way to learn is by doing, so let's set up an environmentand start building your Wicket application. To get started, you need to downloadMaven 2, which you use to streamline the setup and creation of your Wicket project.You also need to download and set up Geronimo, and finally, if you're not alreadyusing it, Eclipse. Download links are available in the System requirements section.Install Java 1.5Before you do anything, make sure you have Java JDK 1.5 installed on your systemand the environment variables PATH pointing to your JDK bin directory. You mustalso have the Java environment variable JAVA HOME pointing to your Java installdirectory.Set up GeronimoFor this tutorial, you use Apache Geronimo not only as your Java application server,but also as your database server. Geronimo is a fully compliant Java 2 Platform,Enterprise Edition (J2EE)-certified server that includes an implementation of aservlet container, an Enterprise JavaBeans (EJB) container, a Java MessageService (JMS) provider, a J2EE Connector architecture (JCA) container, and thelightweight Derby database, all licensed under the Apache license.Develop a simple Web application with Apache Wicket and Apache Geronimo Copyright IBM Corporation 1994, 2008. All rights reserved.Page 3 of 27

developerWorks ibm.com/developerWorksSetting up Geronimo is simple. To install it:1.Download it, and unpack it to a directory. For this example, you useC:\geronimo, but you can unpack it anywhere you want.2.After it's unpacked, there are two ways you can start Geronimo: Go to the bin directory where you placed Geronimo, which in thiscase is C:\geronimo\bin, and type java -jar server.jar. Simply call the startup.bat in the bin directory, or double-click it.The Geronimo server should now start up.3.After it's started, you can test that everything is working correctly by goingto http://localhost:8080/, where you should see something like Figure 1.Figure 1. Successful startup of the Geronimo serverNote: The Geronimo server will want to use port 8080 for the server, andDevelop a simple Web application with Apache Wicket and Apache GeronimoPage 4 of 27 Copyright IBM Corporation 1994, 2008. All rights reserved.

ibm.com/developerWorksdeveloperWorks if you know that port is already being used, you'll need to edit theconfig.xml file, which you can find in C:\geronimo\var\config. For moreinformation about installing Geronimo, refer to the Apache Geronimo wiki(see Resources for a link).Now that you have Geronimo working, it's time to use Maven to set up yourenvironment for working with Wicket.Install and test Maven 2For this tutorial to help you set up and configure your projects, you're going to useMaven 2 (see System requirements for a link). Maven is a software-managementtool that provides a wealth of functionality, from helping manage dependencies toproviding project reporting. You need to be connected to the Internet while usingMaven.1.Get the Maven binary (see System requirements for a link), and install the2.0.7 binary according to the instructions.2.To test it, open a command prompt, and type mvn -version. Youshould see something like Maven version: 2.0.7.Now you need to download all the prerequisite JAR files for your project and set upthe initial Wicket project. Almost everything you need for this tutorial is automaticallydownloaded by Maven, except for two JAR files. One is the Sun Java TransactionAPI (JTA), which, for licensing reasons, can't be held there.3.For this file, you need to go to the Sun JTA page, select Class Files1.0.1B, and download it.4.After it's downloaded, navigate to that download directory, and either typeor paste the code shown in Listing 1 into a command shell prompt.Listing 1. Adding Sun JTA to your local Maven repositorymvn install:install-file -DgroupId javax.transaction-DartifactId jta-Dversion 1.0.1B -Dpackaging jar -Dfile jta-1 0 1B-classes.zipThis should add the JTA to your local Maven repository. Now you need to set up andcreate a Databinder project. Databinder is the toolkit that makes working withHibernate and Derby from Wicket much easier (see System requirements for a link).5.To create the Databinder project, type or paste the commands in thecommand prompt (see Listing 2) in a directory in which you want to createDevelop a simple Web application with Apache Wicket and Apache Geronimo Copyright IBM Corporation 1994, 2008. All rights reserved.Page 5 of 27

developerWorks ibm.com/developerWorksthe new project. For this tutorial, I assume you'll use c:\projects, but youcan do this anywhere in your file system.Listing 2. Create the Databinder projectmvn archetype:create -DarchetypeGroupId net.databinder-DarchetypeArtifactId data-app-DarchetypeVersion 1.0 -DgroupId developerworks-DartifactId ToDoNote: The DartificatId is essentially what you want your project to becalled, and the DgroupId is usually something unique, such as yourcompany, organization, or domain name.You should see something like Figure 2 when your project is created.Figure 2. Databinder archetype being created by Maven 2Develop a simple Web application with Apache Wicket and Apache GeronimoPage 6 of 27 Copyright IBM Corporation 1994, 2008. All rights reserved.

ibm.com/developerWorksdeveloperWorks Now that your resources and project have been set up, you can move on to the nextsection where you configure your project to easily import it into Eclipse.Develop a simple Web application with Apache Wicket and Apache Geronimo Copyright IBM Corporation 1994, 2008. All rights reserved.Page 7 of 27

developerWorks ibm.com/developerWorksSet up EclipseNow that the archetype is created, you can set it up so you can work with it fromEclipse. Here I assume you're using Eclipse 3.2, but 3.1 should work fine.1.To prepare this project to be imported into Eclipse, you need to first addthe Maven repository to your Eclipse workspace (here I'm assuming it's inC:\projects), like this: mvn -Declipse.workspace /projectseclipse:add-maven-repo.2.Now tell Maven to get all of the Databinder dependencies, source, and soon by first changing the ToDo directory that was created previously whenyou created the project, and either typing or pasting the followingcommand: mvn -Declipse.downloadSources trueeclipse:eclipse. This may take a while, depending on your Internetconnection, because Maven downloads all the files and dependenciesyou need to a local repository so that you can build your application later.You should see something like Figure 3.Figure 3. Maven downloading and configuring the ToDo projectbefore importing into EclipseDevelop a simple Web application with Apache Wicket and Apache GeronimoPage 8 of 27 Copyright IBM Corporation 1994, 2008. All rights reserved.

ibm.com/developerWorksdeveloperWorks 3.When the download is complete, start Eclipse, and choose File Import.4.Select Existing Projects into Workspace, then select the ToDoDevelop a simple Web application with Apache Wicket and Apache Geronimo Copyright IBM Corporation 1994, 2008. All rights reserved.Page 9 of 27

developerWorks ibm.com/developerWorksdirectory. This should add the ToDo project to your Eclipse IDE.In the next section, you make a few more changes to your configuration so that youcan get started developing the Wicket application.Final stepsYou have only a few more steps to complete before you can start development:1.Add a directory called lib under ToDo\src\main\webapp\WEB-INF, andplace a copy of the derbyclient.jar (which can be found ent\10.2.2.0) in thedirectory.2.Edit the hibernate.properties file found inToDo\src\main\java\developerworks so that it looks like Listing 3. This isnecessary for Hibernate to interact with Derby.Listing 3. Edit the hibernate.properties filehibernate.dialect tion.driver class tion.url jdbc:derby://localhost:1527/ToDo;create truehibernate.connection.username adminhibernate.connection.password admin3.Go to ToDo\target and open pom.xml with the text editor option inEclipse. Make sure you have the code from Listing 4 added to yourpom.xml file, and make sure your pom.xml file looks like Listing 5.Listing 4. Dependency dependency groupId org.apache.derby /groupId artifactId derby /artifactId version 10.2.2.0 /version /dependency Listing 5. Updated pom.xml project xmlns "http://maven.apache.org/POM/4.0.0"xmlns:xsi emaLocation che.org/maven-v4 0 0.xsd" modelVersion 4.0.0 /modelVersion groupId developerworks /groupId artifactId ToDo /artifactId build plugins plugin groupId org.apache.maven.plugins /groupId artifactId maven-compiler-plugin /artifactId configuration Develop a simple Web application with Apache Wicket and Apache GeronimoPage 10 of 27 Copyright IBM Corporation 1994, 2008. All rights reserved.

ibm.com/developerWorksdeveloperWorks source 1.5 /source target 1.5 /target /configuration /plugin plugin groupId org.mortbay.jetty /groupId artifactId maven-jetty-plugin /artifactId configuration scanIntervalSeconds 10 /scanIntervalSeconds systemProperties systemProperty name org.apache.commons.logging.Log /name value org.apache.commons.logging.impl.SimpleLog /value /systemProperty /systemProperties /configuration /plugin plugin artifactId maven-release-plugin /artifactId configuration tagBase svn://localhost/todo/ /tagBase /configuration /plugin /plugins resources resource directory src/main/java /directory includes include ** /include /includes excludes exclude **/*.java /exclude /excludes /resource /resources /build packaging war /packaging version 1.0-SNAPSHOT /version name Databinder Application /name dependencies dependency groupId net.databinder /groupId artifactId databinder /artifactId version 1.0 /version /dependency dependency groupId org.apache.derby /groupId artifactId derby /artifactId version 10.2.2.0 /version /dependency /dependencies !-- uncomment to download prerelease versions of Databinder repositories repository id databinder-snapshots /id name Databinder snapshot repository /name url http://databinder.net/snapshot /url /repository /repositories -- /project Now that your development environment is set up and ready, take a quick look athow Wicket works, then you can build a simple data-driven Web application.Develop a simple Web application with Apache Wicket and Apache Geronimo Copyright IBM Corporation 1994, 2008. All rights reserved.Page 11 of 27

developerWorks ibm.com/developerWorksSection 3. Build the Wicket applicationAt the heart of Wicket is the idea of separation of concerns between Java code andHTML code, and between coders and designers. Wicket does this by associatingJava and HTML in parallel via a Wicket HTML namespace extension, or a Wicket ID.In this section, you build a simple application that uses Wicket as your framework;Hibernate and Databinder to abstract persistence; and Geronimo as your applicationserver, database server, and Web server.The ToDo layoutFor your Wicket example, you're going to create a simple to-do list application.Generally, with small Web applications, a designer creates the overall design of theapplication in HTML. So for your application, assume that a designer has alreadyprovided you with the HTML, CSS, and other resources for a static site, which youuse later. The designer might create something that looks like Figure 4.Figure 4. Prototype design for your Wicket siteKeep in mind that the application needs to let the user add or delete a simple taskthat has a name or description. The tasks should then be displayed in two columnsunder the ToDo list text.Now your job is to create the ToDo list application with these simple requirements inmind. To do that, you first need to create a Wicket application.Develop a simple Web application with Apache Wicket and Apache GeronimoPage 12 of 27 Copyright IBM Corporation 1994, 2008. All rights reserved.

ibm.com/developerWorksdeveloperWorks The Wicket applicationAs an application developer, your job is to create the Java components that let theapplication post new tasks, delete tasks, or whatever else you decide the applicationneeds.Wicket applications usually start with implementation of the Web Applicationclass. In this application, however, you first extend DataApplication, which is aDatabinder extension for Wicket that functions the same way as the WebApplication class, but lets you leverage Hibernate to map your Task objects tothe database.In this initial class, you create an Application object that lets you describe theorganization and configuration of the application. It also lets you define the Javaclass, which defines the page functionality for the HTML template. Wicket Webpages are all Java classes that map to an HTML template, with the same name asthe Java class, which you'll see in a later section.Wicket Application classes are named using a simple convention likeYourApplicationNameApplication.java.1.Go to Eclipse, and navigate to the ToDo\src\main\java\developerworksdirectory, where you'll see that Maven has already created example JavaWicket classes for you.2.You can either delete them or rename the MyApplication.java classto ToDoApplication.java.3.Type or paste the code in Listing 6 into Eclipse, and save it.Listing 6. ToDoApplication.javapackage developerworks;import net.databinder.DataApplication;import org.hibernate.cfg.AnnotationConfiguration;public class ToDoApplication extends DataApplication {/*** @return Page to display when no specific page isrequested* ListAndAdd class is the Java class, which needs to mapto an HTML* template named ListAndAdd.html*/@Overridepublic Class getHomePage() {return ListAndAdd.class;}/*** Add annotated classes to config, leaving the call tosuper-implementation* in most cases.* @param config Hibernate configuration*/Develop a simple Web application with Apache Wicket and Apache Geronimo Copyright IBM Corporation 1994, 2008. All rights reserved.Page 13 of 27

developerWorks ibm.com/developerWorks/** Set default configuration and mapping for Tasks. */protected void configureHibernate(AnnotationConfigurationconfig) tedClass(Task.class);}Note the reference to ListAndAdd.class and Task.class.ListAndAdd.class is going to be the home page, and, as stated earlier, WicketWeb pages are all Java classes that map to an HTML template with the same name.In this Application class, you're telling Wicket via the getHomePage method thatthis is the application's home page. All initial requests to the application call the Javaobject ListAndAdd and render HTML based on ListAndAdd.html.Listing 7 configures Hibernate to map the Task object to the database.Listing 7. Configuring Hibernate to map the Task object to the databaseprotected void configureHibernate(AnnotationConfigurationconfig) tedClass(Task.class);}Task, in this case, is an object that represents one of the to-do items that you wantto persist in Derby. With that in mind, you can create a Task class.The Task classLooking at Figure 4, note that you have a simple form for your to-do list that definesa task as a name and a description. To model this as an object to be persisted byHibernate into Derby, you create a simple JavaBeans component or POJO thatcontains attributes relating to a task name and a task description.This class also needs to provide accessor and mutator (in other words, getterand setter) methods for the two major attributes id and date. To do this, create aclass called Task in the same directory as ToDoApplication.java, and eithertype or paste the code in Listing 8 into the directory.Listing 8. Task.javapackage developerworks;import java.io.Serializable;import istence.TemporalType;Develop a simple Web application with Apache Wicket and Apache GeronimoPage 14 of 27 Copyright IBM Corporation 1994, 2008. All rights reserved.

ibm.com/developerWorksdeveloperWorks /*** Task type with name and description properties,automatically persisted.*/@Entitypublic class Task implements Serializable {private Integer id;private String name;private String description;private Date created new Date();@Id @GeneratedValue(strategy GenerationType.AUTO)public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String getDescription() {return description;}public void setDescription(String description) {this.description description;}public String getName() {return name;}public void setName(String name) {this.name name;}@Temporal(TemporalType.TIMESTAMP)public Date getCreated() {return created;}protected void setCreated(Date created) {this.created created;}}As you can probably see, this is just a POJO with nothing special about it, which isone of the great things about Wicket. Because all your models are POJOs, they'reeasily testable and portable. Now that you have the Task class to store tasks, nextyou can create a Wicket Web page for viewing, adding, and deleting tasks.Create a Wicket Web pageReferring back to Figure 4, the Web page that's going to be created needs to allowyou to show, add, and delete tasks. To do this in Wicket, usually a developer createsa dynamic Web page by extending the Wicket WebPage class. In this case,however, you use some of Databinder's magic to create a DataPage by extendingthe DataPage class, which functions much like Wicket's WebPage class, but letsyou easily work with Hibernate and Wicket via Databinder.Start by creating a new class called ListAndAdd.java, as shown in Listing 9.Listing 9. ListAndAdd.javaListing X: ListAndAdd.javapackage developerworks;import java.net.URL;Develop a simple Web application with Apache Wicket and Apache Geronimo Copyright IBM Corporation 1994, 2008. All rights reserved.Page 15 of 27

developerWorks Model;/*** Single page for adding and deleting bookmarks.*/public class ListAndAdd extends DataPage {/** Used in DataPage as the page title, and below withinthe page. */protected String getName() {return "To Do List";}/** Adds components to page.public ListAndAdd() {super();*/// adds the page name as component for on-page displayadd(new Label("pageTitleHeader", new Model() {public Object getObject(Component component) {return getName();}}));// custom styles for this pageadd(new StyleLink("taskStylesheet",ListAndAdd.class));// form to hold delete image buttonForm deleteForm new Form("deleteForm");add(deleteForm);// data to listIModel listModel new HibernateListModel("from Taskorder by name");// turn list into two vertically ordered columnsfinal IModel sublistModel newSublistProjectionModel.Transposed(1, listModel);// view of listdeleteForm.add(new ListView("taskRow", sublistModel) {protected void populateItem(ListItem parentItem){parentItem.add(new PropertyListView("task",parentItem.getModel()) {protected void populateItem(finalListItem item) {item.setRenderBodyOnly(true);// span tag here would beinvaliditem.add(new wResourceReference(this.getClass(), "delete 24.png")) {/** Delete from persistentstorage, commit transaction. */Develop a simple Web application with Apache Wicket and Apache GeronimoPage 16 of 27 Copyright IBM Corporation 1994, 2008. All rights reserved.

ibm.com/developerWorksdeveloperWorks protected void onSubmit() tach();}});// date the item was added, withformat stringitem.add(new DateLabel("created","MMM d k:mm z"));}});}});add(new EntryForm("entryForm"));}/*** Form for entering new task objects.*/public class EntryForm extends DataForm {/** Add entry components.*/public EntryForm(String id) {super(id, Task.class);// embeds new Task ina HibernateModel// inside aBoundCompoundPropertyModeladd(new RequiredTextField("name").setLabel(new Model("Name"))); // Labelsused in error messagesadd(new RequiredTextField("description") //required, type validation.setLabel(new Model("Description")));}/*** Disassociates from its model after submission,because this form is* for creating new objects only.*/protected void onSubmit() {super.onSubmit();// saves topersistent storage, commits txnclearPersistentObject();// clears from form}}}Let's look at the code a little more carefully and break down what's going on(although I hope it's fairly intuitive). First, in your constructor you lay out the elementsof the Web page — all of which are going to need a wicket:id in the HTML to tiethem back to the class. For example, Listing 10 shows how to add a page titledynamically to the Web page.Listing 10. Adding a page title dynamically to the Web page// adds the page name as component for on-page displayadd(new Label("pageTitleHeader", new Model() {public Object getObject(Component component) {return getName();}}));Develop a simple Web application with Apache Wicket and Apache Geronimo Copyright IBM Corporation 1994, 2008. All rights reserved.Page 17 of 27

developerWorks ibm.com/developerWorksListing 10 calls the method getName, which returns the string that's your page title.Later, to reference the page title and get it to render in your HTML template, you dosomething like h1 wicket:id "pageTitleHeader" Some Title /h1 ,which tells Wicket when it renders to HTML to actually present this instead: h1wicket:id "pageTitleHeader" To Do List /h1 .The same pattern applies for other HTML elements, such as images or even formbuttons. You do something more complex in Listing 11.Listing 11. Create a custom model of a ListModel from a Hibernate queryIModel listModel new HibernateListModel("from Taskorder by name");// turn list into two vertically ordered columnsfinal IModel sublistModel newSublistProjectionModel.Transposed(2, listModel);In Listing 11, you use IModel to create a custom model of a ListModel from theHibernate query from Task order by name. This is passed toSublistProjectionModel to create a sublist with a single column.This list is then added to the page view and a label for the Task name; a deletebutton, which is represented as an image; and the date in a single task row, shownin Listing 12.Listing 12. The date in a task rownew ListView("taskRow", sublistModel) {protected void populateItem(ListItem parentItem){parentItem.add(new PropertyListView("task",parentItem.getModel()) {protected void populateItem(finalListItem item) {item.setRenderBodyOnly(true);// span tag here would beinvaliditem.add(new w ResourceReference(this.getClass(), "delete 24.png")) {/** Delete from persistentstorage, commit transaction. */protected void onSubmit() tach();}}ListView holds list items — in this case the sublistModel — which can then berepresented in HTML, as shown in Listing 13.Listing 13. Representing the sublistModel in HTMLDevelop a simple Web application with Apache Wicket and Apache GeronimoPage 18 of 27 Copyright IBM Corporation 1994, 2008. All rights reserved.

ibm.com/developerWorksdeveloperWorks tbody tr wicket:id "taskRow" td span wicket:id "taskname" span wicket:id "name" Task 1 /span /span /td .Listing 13 creates a sim

Install and test Maven 2 For this tutorial to help you set up and configure your projects, you're going to use Maven 2 (see System requirements for a link). Maven is a software-management tool that provides a wealth of functionality, from helping manage dependencies to

Related Documents:

WEYGANDT FINANCIAL ACCOUNTING, IFRS EDITION, 2e CHAPTER 10 LIABILITIES Number LO BT Difficulty Time (min.) BE1 1 C Simple 3–5 BE2 2 AP Simple 2–4 BE3 3 AP Simple 2–4 BE4 3 AP Simple 2–4 BE5 4 AP Simple 6–8 BE6 5 AP Simple 4–6 BE7 5 AP Simple 3–5 BE8 5 AP Simple 4–6 BE9 6 AP Simple 3–5

How to Develop a Simple Crud Application Using Ejb3 and Web Dynpro . Introducion . This document will cover the process to develop a simple CRUD (Create, Retrieve, Update and Delete) application exploring the new characteristics of SAP NetWeaver CE 7.1

2. WEB SERVER APPLICATION DEVELOPMENT Figure 2 Working of CGI A. CGI and WSGI - Web Server Application Development using Python Standard Library A.1 CGI In a static web, documents (static web pages) over the web can be returned easily to the client on its request. However, dynamic web involves generating the reply on the fly based

Objectives: To impart the skills needed for web programming, web administration, and web site development. After studying this course student can develop; static web pages; dynamic web pages; data Processing on web pages. S. No. Description 1. Internet Fundamentals: Introduction to Internet, Web browser, web page, website, homepage, hyperlinks,

akuntansi musyarakah (sak no 106) Ayat tentang Musyarakah (Q.S. 39; 29) لًََّز ãَ åِاَ óِ îَخظَْ ó Þَْ ë Þٍجُزَِ ß ا äًَّ àَط لًَّجُرَ íَ åَ îظُِ Ûاَش

Collectively make tawbah to Allāh S so that you may acquire falāḥ [of this world and the Hereafter]. (24:31) The one who repents also becomes the beloved of Allāh S, Âَْ Èِﺑاﻮَّﺘﻟاَّﺐُّ ßُِ çﻪَّٰﻠﻟانَّاِ Verily, Allāh S loves those who are most repenting. (2:22

Common Microsoft FrontPage tasks Work with and manage Web pages F8 Run the accessibility checker. CTRL N Create a new Web page. CTRL O Open a Web page. CTRL F4 Close a Web page. CTRL S Save a Web page. CTRL P Print a Web page. F5 Refresh a Web page; refresh the Folder List. CTRL TAB Switch between open Web pages. CTRL SHIFT B Preview a Web page .

Resignation, Clearance, Training, etc. This system also aims to address the concern in a work from home environment as this is deployed in a Web environment. 1.2 Information System The Human Resources Database Web (HRDB Web) is a Web-based application that runs in any up-to-date web and mobile browsers. The HRDB Web is connected to the HRDB.