...
Tuscany
...
RDB
...
DAS
...
Sample
...
(companyweb)
...
This
...
stand-alone
...
sample
...
demonstrates
...
the
...
SDO
...
RDB
...
Data
...
Access
...
Service
...
in
...
the
...
context
...
of
...
a
...
simple
...
web
...
application.
...
The
...
application
...
starts
...
with
...
a
...
canned
...
database
...
of
...
Companies
...
and
...
their
...
related
...
Departments.
...
Through
...
the
...
web
...
page
...
interface,
...
a
...
user
...
can:
...
- Display
...
- all
...
- Companies
...
- in
...
- the
...
- database
...
- Display
...
- all
...
- Companies
...
- and
...
- related
...
- Departments
...
- Add
...
- a
...
- new
...
- Department
...
- to
...
- a
...
- Company
...
- Delete
...
- all
...
- Departments
...
- from
...
- a
...
- Company
...
- Change
...
- the
...
- names
...
- of
...
- Departments
...
- in
...
- a
...
- Company
...
So,
...
this
...
simple
...
application
...
covers
...
all
...
CRUD
...
operations
...
as
...
well
...
as
...
the
...
some
...
relationship
...
manipulation
...
(adding
...
a
...
Department
...
associates
...
that
...
Department
...
with
...
the
...
Company).
...
The
...
sample
...
runs
...
on
...
Tomcat
...
5.5/6.x
...
and
...
employs
...
a
...
Derby
...
database
...
accessed
...
via
...
a
...
DataSource.
...
Running
...
the
...
sample
...
There
...
are
...
two
...
options
...
for
...
running
...
this
...
sample:
...
- 1.
...
- Run
...
- from
...
- Tomcat
...
- configured
...
- by
...
- the
...
- build
...
- 2.
...
- Deploying
...
- the
...
- CompanyWeb
...
- WAR
...
- into
...
- a
...
- Tomcat
...
- you
...
- configure
...
- yourself
...
- 1.
...
- Running
...
- from
...
- Tomcat
...
- configured
...
- by
...
- the
...
- build
...
This
...
- sample
...
- application
...
- is
...
- deployed
...
- (along
...
- with
...
- the
...
- canned
...
- test
...
- database)
...
- to
...
- an
...
- instance
...
- of
...
- Tomcat
...
- as
...
- part
...
- of
...
- our
...
- automated
...
- sample
...
- testing.
...
- This
...
- means
...
- you
...
- can
...
- run
...
- the
...
- java/das/samples/testing/tomcat
...
- build
...
- (see
...
- java/das/samples/testing/tomcat/readme.htm
...
- )
...
- and
...
- then
...
- access
...
- the
...
- application
...
- by
...
- pointing
...
- your
...
- browser
...
- to
...
...
- 2.
...
- Deploying
...
- the
...
- CompanyWeb
...
- WAR
...
- into
...
- a
...
- Tomcat
...
- you
...
- configure
...
- yourself
...
Alternatively,
...
- you
...
- can
...
- deploy
...
- the
...
- sample
...
- to
...
- your
...
- own
...
- configured
...
- Tomcat
...
- installation
...
- by
...
- following
...
- the
...
instructions
...
- below.
...
- These
...
- instructions
...
- assume
...
- that
...
- you
...
- have
...
- either
...
- 1)
...
- downloaded
...
- the
...
- Tuscany
...
- sample
...
- distribution
...
- or
...
- 2)
...
- Downloaded
...
- the
...
- Tuscany
...
- source
...
- and
...
- run
...
- our
...
- maven
...
- build,
...
- see
...
- the
...
- following
...
- link
...
- to
...
- more
...
- details
...
- steps
...
- on
...
- how
...
- to
...
- build
...
- DAS
...
- Sample
...
- applications
...
...
Set Up
1.
...
Download
...
and
...
install
...
the
...
most
...
recent
...
stable
...
version
...
of
...
Tomcat
...
5.5.
...
You
...
can
...
find
...
it
...
here:
...
http://tomcat.apache.org/download-55.cgi
...
...
Download
...
the
...
most
...
recent
...
official
...
release
...
of
...
Derby
...
from
...
here:
...
http://db.apache.org/derby/index.html
...
...
need
...
from
...
this
...
download
...
is
...
derby.jar
...
3.
...
Stop
...
Tomcat
...
4.
...
Copy
...
derby.jar
...
(from
...
the
...
derby
...
distribution)
...
to
...
Tomcat_Home
...
/common/lib
...
5.
...
Add
...
the
...
sample
...
war
...
file
...
to
...
Tomcat_Home
...
/webapps
...
a.
...
sample-companyweb-xxx.war
...
(e.g.
...
"sample-companyweb-1.0-incubator-M2.war")
...
6.
...
Install
...
the
...
canned
...
Derby
...
database
...
to
...
Tomcat:
...
a.
...
First,
...
create
...
a
...
new
...
directory
...
named
...
"Databases"
...
to
...
hold
...
the
...
sample
...
database.
...
Create Tomcat_Home/Databases
...
b.
...
Copy
...
the
...
dastest
...
folder
...
(and
...
all
...
its
...
contents)
...
from
...
_build
...
directory
...
root
...
OR
...
where
...
samples
...
where
unzipped_/java/das/samples/companyweb
...
to
...
Tomcat_Home
...
/Databases.
...
NOTE:
...
If
...
you
...
are
...
running
...
this
...
from
...
a
...
sample
...
distribution,
...
the
...
canned
...
database
...
is
...
available
...
in
...
the
...
distribution,
...
inside
...
the
...
databases
...
directory.
...
7.
...
Define
...
a
...
DataSource
...
by
...
adding
...
a
...
datasource
...
definition
...
to
...
Tomcat_Home
...
/conf/server.xml.
...
a.
...
Find
...
the
...
end-of-section
...
marker
...
</GlobalNamingResources>
...
and
...
add
...
the
...
following
...
lines
...
just
...
above
...
it:
No Format |
---|
{noformat} <!-- Global Datasource for Derby dastest database --> <Resource name="jdbc/dastest" type="javax.sql.DataSource" auth="Container" description="Derby database for DAS Company sample" maxActive="100" maxIdle="30" maxWait="10000" username="" password="" driverClassName="org.apache.derby.jdbc.EmbeddedDriver" url="jdbc:derby:{absolute path}Databases/dastest"/> {noformat} |
Requirement:
...
You
...
must
...
include
...
the
...
absolute
...
path
...
to
...
the
...
"Databases"
...
directory
...
in
...
the
...
above
...
url
attribute.
...
Fore
...
example:
...
url="jdbc:derby:c:\apache-tomcat-5.5.17\Databases/dastest"/>
...
8.
...
Start
...
tomcat
...
and
...
point
...
your
...
browser
...
to:
...
http://localhost:8080/sample-companyweb-
...
...
...
_/
example:
...
http://localhost:8080/sample-companyweb-1.0-incubator-M2/
...
Sample Architecture
This is a simple, single-page,
...
web
...
application.
...
The
...
main
...
components
...
of
...
this
...
application
...
are:
...
- The
...
- RDB
...
- Data
...
- Access
...
- Service
...
- (DAS)
...
- SDO
- CompanyClient.java
...
- Company.jsp
...
- The
...
- canned
...
- Derby
...
- database
...
The
...
CompanyClient
...
uses
...
the
...
DAS
...
directly
...
and
...
provides
...
high-level
...
services
...
to
...
the
...
jsp
...
such
...
as:
...
public
...
final
...
List
...
getCompanies()
...
This
...
is
...
a
...
good
...
place
...
to
...
look
...
for
...
how
...
you
...
might
...
use
...
the
...
DAS
...
in
...
your
...
own
...
application.
...
The
...
Company.jsp
...
responds
...
to
...
client
...
interaction
...
by
...
invoking
...
services
...
of
...
the
...
CompanyClient.
...
It
...
receives
...
data
...
from
...
the
...
CompanyClient
...
as
...
SDO
...
data
...
graphs
...
and
...
manipulates
...
SDOs
...
directly
...
to
...
display
...
data.
...
The
...
canned
...
Derby
...
database
...
comes
...
preloaded
...
with
...
Companies
...
and
...
related
...
Departments.
...
The
...
Derby
...
database
...
instance
...
is
...
a
...
simple
...
file
...
folder.
...
The
...
DAS
...
accepts
...
directives
...
(commands)
...
from
...
the
...
CompanyClient
...
and
...
reads
...
and
...
writes
...
to
...
the
...
derby
...
database
...
instance
...
appropriately.
...