Re: The best way for learning struts (stupid question)

2003-01-19 Thread joni santoso
i am looking forward to it.

On Fri, 17 Jan 2003 00:01:48 -0500
 "V. Cekvenich" <[EMAIL PROTECTED]> wrote:

I will post here when I am ready soon. Glad there is 
interest, I got some private e-mail.

As I plan to donate materials to Jakarta I would like 
to see if some of the Advanced Pros would want to 
participate, so that one of them could teach next online 
seminar, or maybe even document some of the presentation.
.V

Joyce Gu wrote:
Hello,
Do you have the web address and we can refer to when you 
start your 
training session? I have worked on Strut for seven months 
now. I learned 
by myself. However, I would like to have a formal 
training and I really 
like that the idea that you will give home work too.
Thanks

At 08:31 AM 1/16/2003 -0500, you wrote:

http://www.sdtimes.com/news/063/story2.htm
Tomcat has most market share (above) and  best 
support.
(Check out PostgreSQL and Eclipse).

Re: training:
I plan to do public training "Intermediate Struts" via 
the Internet, 
in about a month.
4 Sessions Saturdays at 10:15 for about an hour, giving 
labs for  
home work due for next week labs. The cost will be only 
to cover the 
cost of webex, and so that it is not FREE.
It will cover is Struts review, Tiles, Master/Detail, 
Multi Row 
Update, Option Selections, Development Process, CRUD 
testing, and how 
to develop very very fast,  etc.

I have done lots of public (and private training) Struts 
training (and 
won best training by JDJ) and am looking to showcase my 
training 
approach, so someone else can do this kind of an online 
training 
seminar next time so I can see other training 
aproaches(but I would 
like them to take the class first, or even contribute to 
it, and then 
maybe donate all back to Struts). If I sign up at least 
20 people I 
will do it.

.V

(This is not intro to Struts, some pre-reqs for the class 
are at least 
some MVC, and some books such as "SQL for Smarties", 
"Java Web 
Compoent Developer Certification" or at least "JSP 
Weekend Crash Course")

joni santoso wrote:



* The Servlet API -- foundation to every Java-based web 
application


It's probably worth throwing in "installing and 
configuring a servlet
container like Tomcat" at about this point.  Many of us 
have the 
luxury of
sysadmins who takt that task on, but it's a very useful 
skill to 
know how
to set Tomcat up on your development PC.

I wonder if Tomcat is used in real and critical 
application by major 
companies? What other servlet containers out there? I 
once played 
with orion.
=== 

Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain 
Kartu Eletronik 
dengan Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu 
Elektronik Natal 
dan Tahun Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom 
http://www.plasa.com/belajar/reuni.html 
=== 





--
To unsubscribe, e-mail:   

For additional commands, e-mail: 



Joyce GuM.S
Scientific Programmer
Biomedical Computing Facility
Baylor College of Medicine
Phone: (713)502-7024(C)
Fax: (713)798-6822
email: [EMAIL PROTECTED]




--
To unsubscribe, e-mail: 
 
For additional commands, e-mail: 



Regards,

Joni
===
Meriahkan Tahun Baru Imlek dengan mengirimkan Kartu Elektronik PlasaCom kepada kerabat dan teman Anda
KSI PlasaCom - Reuni Alumni STTTelkom http://www.plasa.com/belajar/reuni.html 
===

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



RE: The best way for learning struts (stupid question)

2003-01-17 Thread Edgar Dollin
I would add, learning a java based IDE, eclipse is a good one, and logging
(or do you count that as part of learning the container?).

Edgar



-Original Message-
From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
Sent: Thursday, January 16, 2003 1:57 AM
To: 'Struts Users Mailing List'
Subject: Re: The best way for learning struts (stupid question)




On Thu, 16 Jan 2003, joni santoso wrote:

> Date: Thu, 16 Jan 2003 11:33:21 +0700
> From: joni santoso <[EMAIL PROTECTED]>
> Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: The best way for learning struts (stupid question)
>
> Hi,
>
> Now, I can already make struts read the new setting
> changes without resetting Tomcat.
>
> My question is now : what should I learn first? what
> should I master? As I see there are "too many" concepts
> and technical terms
>

When I'm learning something new, I have always preferred to go "bottom
up".  For a prospective Struts developer, that probably means starting at
the appropriate point (for you) on the following list, depending on what
you're already familiar with:

* Fundamentals of object-oriented programming

* Java as a programming language

* Design patterns (at the programming level)

* Unit testing concepts and test-first design (JUnit is a wonderful
  tool for this in the Java space)

* Basics of relational databases, SQL, and the
  corresponding Java API (JDBC).

* Fundamentals of XML and XSLT (if you're going to be doing
  web services or XML-heavy applications)

* Architecture of the web (particularly how HTTP, HTML, and
  JavaScript work)

* The Servlet API -- foundation to every Java-based web application

* Basics of the view-layer technology (such as JSP) you plan to use
  If you're planning to use JSPs, plan on spending some time on:
  - Custom tags
  - JSTL 1.0 and the expression language

* Design patterns (at the architectural level)

* Implementations of the design patterns you plan to use
  (i.e. Struts as an implementation of the MVC design pattern)

* Use of advanced Struts features and extensions

The above list presumes you are going to be responsible for the entire
application.  In larger-scale environments there tend to be folks that
specialize on the various layers or tiers (persistent data storage,
business logic, presentation logic) -- if that is the place you are at,
you should spend more time on the technologies relevant to that specialty.

In all cases, there are an abundance of articles, tutorials, and books
around - the Struts resources pages include at least some starting points
for many of these areas.  To find more, "Google is your friend" :-).

Yes, that list is very long.  But the rewards for persevering and becoming
an expert are very great :-).

Craig


--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




RE: The best way for learning struts (stupid question)

2003-01-17 Thread Mark Galbreath
You can also join the design patterns user group:

http://archives.java.sun.com/archives/j2eepatterns-interest.html


Mark

-Original Message-
From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]] 
Sent: Friday, January 17, 2003 12:02 AM
To: Struts Users Mailing List
Subject: Re: The best way for learning struts (stupid question)


Snipping to just the questions.

On Thu, 16 Jan 2003, joni santoso wrote:

> >* Design patterns (at the programming level)
>
> any good sites for learning this? I read already the theoretical ones 
> but at the programming level, sometimes I'm still confused to use 
> which DP.
>

The classic text (and the one that really popularized the notion of caring
about the "design patterns" concept) is by four authors colloquially known
as the "Gang of Four" (or GoF):

  Gamma, Helms, Johnson, Vlissides, DESIGN PATTERNS:  ELEMENTS
OF REUSABLE OBJECT-ORIENTED SOFTWARE, Addison-Wesley, 1995.

Punch "design patterns" into Google or Amazon and you'll find lots of info
sources, including many focused on Java or J2EE (servlet/JSP are the
standard web tier technologies for J2EE).

On "when to use which patterns", it's a skill that comes from practice and
experience.  However, I'd start by seeing if your problem space is similar
to things in the "Applicability" section of many pattern descriptions. And
check the "Consequence" (both good and bad) to see if applying this pattern
would help you towards better results.

> >
> >* Unit testing concepts and test-first design (JUnit is a wonderful
> >   tool for this in the Java space)
>
> I learned this too. But, it seems that there're a few tutorial on 
> JUnit. Can anyone here refer me?
>

There's some philosophical and introductory stuff on the JUnit web site
(www.junit.org).  But JUnit is primarily a tool to implement a philosophy
-- the philosophy of "unit testing" as a discipline.  You might want to
search for that term to get some references.

One thing you might want to do is download the source code to a small bit of
code that is heavily unit tested (such as commons-beanutils that Struts
uses), and see what we did -- the intent was to write tests for every
possible invocation of every possible method.  Having the tests in place
does two primary things for us:
* Documented proof that the method being tested behaves
  according to it's (Javadoc) specification
* Protection from future developers making changes and
  inadvertently changing the behavior that users of the
  code depend on.

You can grab a source distro of commons-beanutils (pick any recent nightly
build) at:

 
http://jakarta.apache.org/builds/jakarta-commons/nightly/commons-beanutils/

and look in the "src/test" directory for the unit tests.

Unit testing is also one of the foundations of a development approach called
Extreme Programming (XP), so there will be lots of pointers and examples in
the information about XP as well.

> >* Architecture of the web (particularly how HTTP, HTML,
> >and
> >   JavaScript work)
>
> can you elaborate more? As a Software Developer for mostly web, I know 
> how the JS and HTML work. But why I should know about HTTP?
>

Well, the web runs on HTTP.  The facts that HTTP is synchronous
(request/response) oriented, and stateless, are critically important.
The facts of how security and cookies work are driven by the HTTP
standards.  Little details like the fact that HTTP headers are sent at the
beginning of a message, so you can't usually add them at the end of your
servlet, will help you avoid lots of frustration.

It's sort of like learning to drive -- if you focus on the mechanics of
steering a car, but don't understand the driving laws in your country,
you're likely to have a lot more problems than if you had studied both
:-).

>
> >
> >* The Servlet API -- foundation to every Java-based web
> >application
>
> done. Though, I don't explore them thoroughly. Only, when
> I meet a very special case like how to limit the number of
> access a user can make to the web app, delivering image on
> the fly, creating an excel file, etc.
>

It's fine to learn the details as you need them, but if you haven't done
a pretty complete overview, then how do you know what's there that you
*haven't* needed yet?  Servlets are foundational to understanding JSP.

Craig




--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




Re: The best way for learning struts (stupid question)

2003-01-17 Thread V. Cekvenich
I will post here when I am ready soon. Glad there is interest, I got 
some private e-mail.

As I plan to donate materials to Jakarta I would like to see if some 
of the Advanced Pros would want to participate, so that one of them 
could teach next online seminar, or maybe even document some of the 
presentation.
.V

Joyce Gu wrote:
Hello,
Do you have the web address and we can refer to when you start your 
training session? I have worked on Strut for seven months now. I learned 
by myself. However, I would like to have a formal training and I really 
like that the idea that you will give home work too.
Thanks

At 08:31 AM 1/16/2003 -0500, you wrote:

http://www.sdtimes.com/news/063/story2.htm
Tomcat has most market share (above) and  best support.
(Check out PostgreSQL and Eclipse).

Re: training:
I plan to do public training "Intermediate Struts" via the Internet, 
in about a month.
4 Sessions Saturdays at 10:15 for about an hour, giving  labs for  
home work due for next week labs. The cost will be only to cover the 
cost of webex, and so that it is not FREE.
It will cover is Struts review, Tiles, Master/Detail, Multi Row 
Update, Option Selections, Development Process, CRUD testing, and how 
to develop very very fast,  etc.

I have done lots of public (and private training) Struts training (and 
won best training by JDJ) and am looking to showcase my training 
approach, so someone else can do this kind of an online training 
seminar next time so I can see other training aproaches(but I would 
like them to take the class first, or even contribute to it, and then 
maybe donate all back to Struts). If I sign up at least 20 people I 
will do it.

.V

(This is not intro to Struts, some pre-reqs for the class are at least 
some MVC, and some books such as "SQL for Smarties",  "Java Web 
Compoent Developer Certification" or at least "JSP Weekend Crash Course")

joni santoso wrote:



* The Servlet API -- foundation to every Java-based web application



It's probably worth throwing in "installing and configuring a servlet
container like Tomcat" at about this point.  Many of us have the 
luxury of
sysadmins who takt that task on, but it's a very useful skill to 
know how
to set Tomcat up on your development PC.

I wonder if Tomcat is used in real and critical application by major 
companies? What other servlet containers out there? I once played 
with orion.
=== 

Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain Kartu Eletronik 
dengan Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu Elektronik Natal 
dan Tahun Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom 
http://www.plasa.com/belajar/reuni.html 
=== 





--
To unsubscribe, e-mail:   

For additional commands, e-mail: 



Joyce GuM.S
Scientific Programmer
Biomedical Computing Facility
Baylor College of Medicine
Phone: (713)502-7024(C)
Fax: (713)798-6822
email: [EMAIL PROTECTED]




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: The best way for learning struts (stupid question)

2003-01-17 Thread Craig R. McClanahan
Snipping to just the questions.

On Thu, 16 Jan 2003, joni santoso wrote:

> >* Design patterns (at the programming level)
>
> any good sites for learning this? I read already the
> theoretical ones but at the programming level, sometimes
> I'm still confused to use which DP.
>

The classic text (and the one that really popularized the notion of caring
about the "design patterns" concept) is by four authors colloquially known
as the "Gang of Four" (or GoF):

  Gamma, Helms, Johnson, Vlissides, DESIGN PATTERNS:  ELEMENTS
OF REUSABLE OBJECT-ORIENTED SOFTWARE, Addison-Wesley, 1995.

Punch "design patterns" into Google or Amazon and you'll find lots of info
sources, including many focused on Java or J2EE (servlet/JSP are the
standard web tier technologies for J2EE).

On "when to use which patterns", it's a skill that comes from practice and
experience.  However, I'd start by seeing if your problem space is similar
to things in the "Applicability" section of many pattern descriptions.
And check the "Consequence" (both good and bad) to see if applying this
pattern would help you towards better results.

> >
> >* Unit testing concepts and test-first design (JUnit is a
> >wonderful
> >   tool for this in the Java space)
>
> I learned this too. But, it seems that there're a few
> tutorial on JUnit. Can anyone here refer me?
>

There's some philosophical and introductory stuff on the JUnit web site
(www.junit.org).  But JUnit is primarily a tool to implement a philosophy
-- the philosophy of "unit testing" as a discipline.  You might want to
search for that term to get some references.

One thing you might want to do is download the source code to a small bit
of code that is heavily unit tested (such as commons-beanutils that Struts
uses), and see what we did -- the intent was to write tests for every
possible invocation of every possible method.  Having the tests in place
does two primary things for us:
* Documented proof that the method being tested behaves
  according to it's (Javadoc) specification
* Protection from future developers making changes and
  inadvertently changing the behavior that users of the
  code depend on.

You can grab a source distro of commons-beanutils (pick any recent nightly
build) at:

  http://jakarta.apache.org/builds/jakarta-commons/nightly/commons-beanutils/

and look in the "src/test" directory for the unit tests.

Unit testing is also one of the foundations of a development approach
called Extreme Programming (XP), so there will be lots of pointers and
examples in the information about XP as well.

> >* Architecture of the web (particularly how HTTP, HTML,
> >and
> >   JavaScript work)
>
> can you elaborate more? As a Software Developer for mostly
> web, I know how the JS and HTML work. But why I should
> know about HTTP?
>

Well, the web runs on HTTP.  The facts that HTTP is synchronous
(request/response) oriented, and stateless, are critically important.
The facts of how security and cookies work are driven by the HTTP
standards.  Little details like the fact that HTTP headers are sent at the
beginning of a message, so you can't usually add them at the end of your
servlet, will help you avoid lots of frustration.

It's sort of like learning to drive -- if you focus on the mechanics of
steering a car, but don't understand the driving laws in your country,
you're likely to have a lot more problems than if you had studied both
:-).

>
> >
> >* The Servlet API -- foundation to every Java-based web
> >application
>
> done. Though, I don't explore them thoroughly. Only, when
> I meet a very special case like how to limit the number of
> access a user can make to the web app, delivering image on
> the fly, creating an excel file, etc.
>

It's fine to learn the details as you need them, but if you haven't done
a pretty complete overview, then how do you know what's there that you
*haven't* needed yet?  Servlets are foundational to understanding JSP.

Craig




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: The best way for learning struts (stupid question)

2003-01-16 Thread Joyce Gu
Hello,
Do you have the web address and we can refer to when you start your 
training session? I have worked on Strut for seven months now. I learned by 
myself. However, I would like to have a formal training and I really like 
that the idea that you will give home work too.
Thanks

At 08:31 AM 1/16/2003 -0500, you wrote:
http://www.sdtimes.com/news/063/story2.htm
Tomcat has most market share (above) and  best support.
(Check out PostgreSQL and Eclipse).

Re: training:
I plan to do public training "Intermediate Struts" via the Internet, in 
about a month.
4 Sessions Saturdays at 10:15 for about an hour, giving  labs for  home 
work due for next week labs. The cost will be only to cover the cost of 
webex, and so that it is not FREE.
It will cover is Struts review, Tiles, Master/Detail, Multi Row Update, 
Option Selections, Development Process, CRUD testing, and how to develop 
very very fast,  etc.

I have done lots of public (and private training) Struts training (and won 
best training by JDJ) and am looking to showcase my training approach, so 
someone else can do this kind of an online training seminar next time so I 
can see other training aproaches(but I would like them to take the class 
first, or even contribute to it, and then maybe donate all back to 
Struts). If I sign up at least 20 people I will do it.

.V

(This is not intro to Struts, some pre-reqs for the class are at least 
some MVC, and some books such as "SQL for Smarties",  "Java Web Compoent 
Developer Certification" or at least "JSP Weekend Crash Course")

joni santoso wrote:


* The Servlet API -- foundation to every Java-based web application


It's probably worth throwing in "installing and configuring a servlet
container like Tomcat" at about this point.  Many of us have the luxury of
sysadmins who takt that task on, but it's a very useful skill to know how
to set Tomcat up on your development PC.

I wonder if Tomcat is used in real and critical application by major 
companies? What other servlet containers out there? I once played with orion.
=== 

Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain Kartu Eletronik 
dengan Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu Elektronik Natal dan 
Tahun Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom 
http://www.plasa.com/belajar/reuni.html 
=== 




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



Joyce GuM.S
Scientific Programmer
Biomedical Computing Facility
Baylor College of Medicine
Phone: (713)502-7024(C)
Fax: (713)798-6822
email: [EMAIL PROTECTED]




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: The best way for learning struts (stupid question)

2003-01-16 Thread Mark Galbreath
Yep - the product (BizFlo) I was just hired to use for EAI for clients all
over North America uses Tomcat 4.x as its container:

www.handysoft.com


Mark

-Original Message-
From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]] 
Sent: Thursday, January 16, 2003 12:47 PM

On Thu, 16 Jan 2003, joni santoso wrote:
>
> I wonder if Tomcat is used in real and critical
> application by major companies? What other servlet
> containers out there? I once played with orion.

Tomcat gets around 100,000 downloads per month (10x-15x times what Struts
gets).  Many of those users are developers needing a place to build their
apps, but there are lots of high volume production users as well.

Craig



--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Re: The best way for learning struts (stupid question)

2003-01-16 Thread Craig R. McClanahan


On Thu, 16 Jan 2003, joni santoso wrote:

> Date: Thu, 16 Jan 2003 14:13:38 +0700
> From: joni santoso <[EMAIL PROTECTED]>
> Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> To: Struts Users Mailing List <[EMAIL PROTECTED]>
> Subject: Re: The best way for learning struts (stupid question)
>
>
> >> * The Servlet API -- foundation to every Java-based web
> >>application
> >>
> >
> >It's probably worth throwing in "installing and
> >configuring a servlet
> >container like Tomcat" at about this point.  Many of us
> >have the luxury of
> >sysadmins who takt that task on, but it's a very useful
> >skill to know how
> >to set Tomcat up on your development PC.
> >
>
> I wonder if Tomcat is used in real and critical
> application by major companies? What other servlet
> containers out there? I once played with orion.

Tomcat gets around 100,000 downloads per month (10x-15x times what Struts
gets).  Many of those users are developers needing a place to build their
apps, but there are lots of high volume production users as well.

Craig


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




Re: The best way for learning struts (stupid question)

2003-01-16 Thread V. Cekvenich
http://www.sdtimes.com/news/063/story2.htm
Tomcat has most market share (above) and  best support.
(Check out PostgreSQL and Eclipse).

Re: training:
I plan to do public training "Intermediate Struts" via the Internet, in 
about a month.
4 Sessions Saturdays at 10:15 for about an hour, giving  labs for  home 
work due for next week labs. The cost will be only to cover the cost of 
webex, and so that it is not FREE.
It will cover is Struts review, Tiles, Master/Detail, Multi Row Update, 
Option Selections, Development Process, CRUD testing, and how to develop 
very very fast,  etc.

I have done lots of public (and private training) Struts training (and 
won best training by JDJ) and am looking to showcase my training 
approach, so someone else can do this kind of an online training seminar 
next time so I can see other training aproaches(but I would like them to 
take the class first, or even contribute to it, and then maybe donate 
all back to Struts). If I sign up at least 20 people I will do it.

.V

(This is not intro to Struts, some pre-reqs for the class are at least 
some MVC, and some books such as "SQL for Smarties",  "Java Web Compoent 
Developer Certification" or at least "JSP Weekend Crash Course")

joni santoso wrote:


* The Servlet API -- foundation to every Java-based web application



It's probably worth throwing in "installing and configuring a servlet
container like Tomcat" at about this point.  Many of us have the 
luxury of
sysadmins who takt that task on, but it's a very useful skill to know how
to set Tomcat up on your development PC.


I wonder if Tomcat is used in real and critical application by major 
companies? What other servlet containers out there? I once played with 
orion.
=== 

Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain Kartu Eletronik 
dengan Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu Elektronik Natal dan 
Tahun Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom 
http://www.plasa.com/belajar/reuni.html 
=== 




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: The best way for learning struts (stupid question)

2003-01-16 Thread Jacob Hookom
If you want to do up a simple application that involves persisting data,
here is what you want to start out with (includes open source library
recommendations):

First you need to do RDD Analysis, which is Responsibility Driven
Design.That means, make a list of everything you want your
application to do, usually this is referred to as an FRD or MRD in some
circles (Functionality/Marketing Requirements Document).  Note,
sometimes the requirements documentation is proceeded by Use Cases or a
narrative of how a user interacts with the application.  Once you have
all your requirements listed, you, as a programmer, should start
grouping or assigning these requirements to hypothetical services or
layers.  Remember it is good to have lots of layers (well, not more than
5 or 6 in most cases).  Sometimes these steps are accompanied by
extensive FUDs (F***ed up diagrams) to help get your ideas down quickly
(including your site map of all the pages).

Once you have your requirements broken up to layers, start defining the
objects that will accomplish your application's goals.  I usually lay
out my whole application in interfaces before actually ever creating an
Object.  This will force you into the Bridge Pattern methodology along
with extensive uses of the Factory or Factory Method Pattern.  This is
the key for pluggable design.  You will need to think about things such
as how transactions will take place-- like what are the steps for
creating and validating a User.  Usually these flows are taken from Use
Cases or from FUDs.  Match each step with a service layer and an object
to take care of it.

Now for the gritty technical stuff.

Persistence:
If you have a RDBMS available to you, such as SQL Server or MySQL, then
the easiest route is OJB (don't let others tell you differently,
especially if you aren't a follower of Joe Celko, author of "SQL for
Smarties").  OJB is available at Jakarta's web site and works perfectly
with the concept of interfacing all of your business objects.  The neat
thing is that OJB will take care of all the SQL stuff for you.  Granted,
it will take a few days to get OJB setup, but the development process
goes VERY FAST once everything's setup.

Another option is storing data as XML.  Don't learn XML unless your boss
wants you to or if you get a kick out of learning other people's syntax.
There are a few libraries available to you such as Digester, Castor, and
Betwixt.  All three libraries will take care of automatically converting
your Java Objects into well formatted XML and visa versa.  I recommend
Betwixt for the beginner because everything is VERY simple.  It also
extends the Digester Libraries in reading XML and converting it to a
Java Object for use.  If you want to go hog wild with lots of
customizability, then check out Castor (www.castor.org).  I've used it
on a few projects and I'm quite happy with it.

The Fire Break
Now, back to layering...  As per my original email, we would want to
isolate the persistence layer, so put in an intermediate service layer
that acts like a curtain.  We can call this intermediate layer the Fire
Break.  The Fire Break hides your persistence layer from Struts so if
you end up changing the persistence layer, you don't have to change any
of your controller or view level code.  The Fire Break in itself can act
like a controller or container of services, not only for persisting
objects.  You could write up a Fire Break so it operated like such:

FireBreak fireBreak = FireBreak.getInstance(servletContext);
PersistenceService pServ = fireBreak.getPersistenceService();
pServ.store(myEmployeeObject);

By looking at the code, we've hid the persistence implementation via
interfaces so to the Struts Action, we don't know if we are storing
myEmployeeObject as XML or in a DB, we just know it was stored.  Of
course, you might want to setup some kind of transaction object where
you ask the PersistenceService for a transaction object to use, and then
do all of your persistence tasks, then commit them or roll them back to
assure the ACID properties.

NOTE:  If you are doing up something fast and gritty, then feel free to
throw the persistence layer calls in your Struts Actions, I will show an
example below of how to do this with OJB.

Controller (Struts):
If you did your job correctly above, your code in the Action's execute()
method should be less than 20 lines, possibly 10 lines:

// example without firebreak

public ActionForward execute(Blah blah blah)
{
 EmployeeForm empForm = (EmployeeForm) form;
 try 
 {
  PersistenceBroker pb = pbFactory.getPersistenceBroker();
  Employee empObject = new EmployeeObject();
  BeanUtils.copyProperties(empForm, empObject);
  pb.store(empObject);
 }
 catch (Exception e)
 {
// do exception handling
 }
 return mappings.findForward("success");
}

That's all there is to it if you have your EmployeeForm pre-validated
with the Validator libraries.  One thing t

Re: The best way for learning struts (stupid question)

2003-01-15 Thread joni santoso


* Fundamentals of object-oriented programming

* Java as a programming language


done them.



* Design patterns (at the programming level)


any good sites for learning this? I read already the 
theoretical ones but at the programming level, sometimes 
I'm still confused to use which DP.


* Unit testing concepts and test-first design (JUnit is a 
wonderful
  tool for this in the Java space)

I learned this too. But, it seems that there're a few 
tutorial on JUnit. Can anyone here refer me?

Oh yeah, I also learn Cocoon, Apache FOP, JDOM, and Ant.


* Basics of relational databases, SQL, and the
  corresponding Java API (JDBC).


done 


* Fundamentals of XML and XSLT (if you're going to be 
doing
  web services or XML-heavy applications)

is learning.



* Architecture of the web (particularly how HTTP, HTML, 
and
  JavaScript work)

can you elaborate more? As a Software Developer for mostly 
web, I know how the JS and HTML work. But why I should 
know about HTTP?



* The Servlet API -- foundation to every Java-based web 
application

done. Though, I don't explore them thoroughly. Only, when 
I meet a very special case like how to limit the number of 
access a user can make to the web app, delivering image on 
the fly, creating an excel file, etc.


* Basics of the view-layer technology (such as JSP) you 
plan to use
  If you're planning to use JSPs, plan on spending some 
time on:
  - Custom tags
  - JSTL 1.0 and the expression language

is learning too.


* Use of advanced Struts features and extensions


still learning the basics :).


Yes, that list is very long.  But the rewards for 
persevering and becoming
an expert are very great :-).

Craig

thx for the advice.
===
Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain Kartu Eletronik dengan Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu Elektronik Natal dan Tahun Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom http://www.plasa.com/belajar/reuni.html 
===

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



[OT] rewards for persevering and becoming [WAS: RE: The best way for learning struts (stupid question)]

2003-01-15 Thread Andrew Hill

Yes, that list is very long.  But the rewards for persevering and becoming
an expert are very great :-).


Is it?
So far all I noticed in 4 years of working is that more experience gains you
same pay, more workload, and less time for hacking round with interesting
technology or even for more mundane pursuits (such as sleeping or spending
time with family)...
:-(

-Original Message-
From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
Sent: Thursday, 16 January 2003 14:57
To: Struts Users Mailing List
Subject: Re: The best way for learning struts (stupid question)




On Thu, 16 Jan 2003, joni santoso wrote:

> Date: Thu, 16 Jan 2003 11:33:21 +0700
> From: joni santoso <[EMAIL PROTECTED]>
> Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: The best way for learning struts (stupid question)
>
> Hi,
>
> Now, I can already make struts read the new setting
> changes without resetting Tomcat.
>
> My question is now : what should I learn first? what
> should I master? As I see there are "too many" concepts
> and technical terms
>

When I'm learning something new, I have always preferred to go "bottom
up".  For a prospective Struts developer, that probably means starting at
the appropriate point (for you) on the following list, depending on what
you're already familiar with:

* Fundamentals of object-oriented programming

* Java as a programming language

* Design patterns (at the programming level)

* Unit testing concepts and test-first design (JUnit is a wonderful
  tool for this in the Java space)

* Basics of relational databases, SQL, and the
  corresponding Java API (JDBC).

* Fundamentals of XML and XSLT (if you're going to be doing
  web services or XML-heavy applications)

* Architecture of the web (particularly how HTTP, HTML, and
  JavaScript work)

* The Servlet API -- foundation to every Java-based web application

* Basics of the view-layer technology (such as JSP) you plan to use
  If you're planning to use JSPs, plan on spending some time on:
  - Custom tags
  - JSTL 1.0 and the expression language

* Design patterns (at the architectural level)

* Implementations of the design patterns you plan to use
  (i.e. Struts as an implementation of the MVC design pattern)

* Use of advanced Struts features and extensions

The above list presumes you are going to be responsible for the entire
application.  In larger-scale environments there tend to be folks that
specialize on the various layers or tiers (persistent data storage,
business logic, presentation logic) -- if that is the place you are at,
you should spend more time on the technologies relevant to that specialty.

In all cases, there are an abundance of articles, tutorials, and books
around - the Struts resources pages include at least some starting points
for many of these areas.  To find more, "Google is your friend" :-).

Yes, that list is very long.  But the rewards for persevering and becoming
an expert are very great :-).

Craig


--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




Re: The best way for learning struts (stupid question)

2003-01-15 Thread joni santoso


* The Servlet API -- foundation to every Java-based web 
application


It's probably worth throwing in "installing and 
configuring a servlet
container like Tomcat" at about this point.  Many of us 
have the luxury of
sysadmins who takt that task on, but it's a very useful 
skill to know how
to set Tomcat up on your development PC.


I wonder if Tomcat is used in real and critical 
application by major companies? What other servlet 
containers out there? I once played with orion.
===
Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain Kartu Eletronik dengan Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu Elektronik Natal dan Tahun Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom http://www.plasa.com/belajar/reuni.html 
===

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



Re: The best way for learning struts (stupid question)

2003-01-15 Thread Craig R. McClanahan


On Wed, 15 Jan 2003, Craig R. McClanahan wrote:

> Date: Wed, 15 Jan 2003 22:56:53 -0800 (PST)
> From: Craig R. McClanahan <[EMAIL PROTECTED]>
> Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> To: Struts Users Mailing List <[EMAIL PROTECTED]>
> Subject: Re: The best way for learning struts (stupid question)
>
>
>
> On Thu, 16 Jan 2003, joni santoso wrote:
>
> > Date: Thu, 16 Jan 2003 11:33:21 +0700
> > From: joni santoso <[EMAIL PROTECTED]>
> > Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> > To: [EMAIL PROTECTED]
> > Subject: The best way for learning struts (stupid question)
> >
> > Hi,
> >
> > Now, I can already make struts read the new setting
> > changes without resetting Tomcat.
> >
> > My question is now : what should I learn first? what
> > should I master? As I see there are "too many" concepts
> > and technical terms
> >
>
> When I'm learning something new, I have always preferred to go "bottom
> up".  For a prospective Struts developer, that probably means starting at
> the appropriate point (for you) on the following list, depending on what
> you're already familiar with:
>
> * Fundamentals of object-oriented programming
>
> * Java as a programming language
>
> * Design patterns (at the programming level)
>
> * Unit testing concepts and test-first design (JUnit is a wonderful
>   tool for this in the Java space)
>
> * Basics of relational databases, SQL, and the
>   corresponding Java API (JDBC).
>
> * Fundamentals of XML and XSLT (if you're going to be doing
>   web services or XML-heavy applications)
>
> * Architecture of the web (particularly how HTTP, HTML, and
>   JavaScript work)
>
> * The Servlet API -- foundation to every Java-based web application
>

It's probably worth throwing in "installing and configuring a servlet
container like Tomcat" at about this point.  Many of us have the luxury of
sysadmins who takt that task on, but it's a very useful skill to know how
to set Tomcat up on your development PC.

> * Basics of the view-layer technology (such as JSP) you plan to use
>   If you're planning to use JSPs, plan on spending some time on:
>   - Custom tags
>   - JSTL 1.0 and the expression language
>
> * Design patterns (at the architectural level)
>
> * Implementations of the design patterns you plan to use
>   (i.e. Struts as an implementation of the MVC design pattern)
>
> * Use of advanced Struts features and extensions
>
> The above list presumes you are going to be responsible for the entire
> application.  In larger-scale environments there tend to be folks that
> specialize on the various layers or tiers (persistent data storage,
> business logic, presentation logic) -- if that is the place you are at,
> you should spend more time on the technologies relevant to that specialty.
>
> In all cases, there are an abundance of articles, tutorials, and books
> around - the Struts resources pages include at least some starting points
> for many of these areas.  To find more, "Google is your friend" :-).
>
> Yes, that list is very long.  But the rewards for persevering and becoming
> an expert are very great :-).
>
> Craig

Craig


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




Re: The best way for learning struts (stupid question)

2003-01-15 Thread joni santoso
On Wed, 15 Jan 2003 22:56:31 -0600
 "Hookom, Jacob John" <[EMAIL PROTECTED]> wrote:

I agree with Andrew about jumping into it.  Really 
though, you should become familiar with J2EE Design 
Patterns, there are quite a few books out there to pick 
up.  Once you know the patterns, then things just come 
easier when you see people talk about Service Layers and 
MVC, etc.

Actually, I read and tried some tutorials out there 
already. Something like creating an ActionForm and Action. 
It's just then I realised I should learn it (read : new 
technology) in a systematic manner. (What do you think?)

I think up writing a very obvious and ubiquitous 
application : input data, display it, give a link/button 
for editing/deleting, and page it using DB and XML. 

This is easy if done using JSP/Servlet or other Web dev 
tools.

Can anyone suggest me how to do that using Struts in a 
simple language :).

 
One good practice to look at right away is the concept of 
layering in your application.  Struts describes the 
Model, View, and Controller (see documentation for 
clarification).  But if you are writing applications with 
hopes of easy maintainability, then you need to add 
additional application or service layers.
 
That means that your Action really doesn't have any 
"logic" in it persay, but you call methods on another 
layer or object that handles logic for you.  One of the 
best ways to implement layers is via the Bridge Pattern 
with the Factory Pattern where you do up interfaces that 
describe the layer or service.

does this have anything to do with Desing Patterns? Now, I 
wonder too how to determine that this framework employing 
which DP? And, what DP I should use to tackle a certain 
problem?

 
An example would be writing a persistence layer that 
stores your Employee Objects.  Well, what if you want to 
store Employee data in XML files initially, but switch to 
a DB later?  By layering your application, you can swap 
the XML implementation with a DB implementation without 
changing any of your Struts code because you've isolated 
persistence to a seperate layer.  Others will thank you 
later by incorporating layers of logic that allow for 
changes later (anyone who's worked with a fickle (sp) 
client knows it's going to change about 10 times before 
it's finalized).

Yes, I have experienced that too.



 
As for Struts specific technologies, just start out with 
Action/ActionForms and error handling.  That means first, 
try manually checking for errors in your ActionForm 
object or at the Action, then try dipping into the 
Validator Libraries, which will handle validation for you 
by isolating the logic to a seperate XML file.  The Tiles 
technology is nice, but for me, I would rather stick with 
straight JSTL and JSP includes.
 
I hope this gives you some ideas,

Thank you
===
Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain Kartu Eletronik dengan Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu Elektronik Natal dan Tahun Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom http://www.plasa.com/belajar/reuni.html 
===

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 



Re: The best way for learning struts (stupid question)

2003-01-15 Thread Craig R. McClanahan


On Thu, 16 Jan 2003, joni santoso wrote:

> Date: Thu, 16 Jan 2003 11:33:21 +0700
> From: joni santoso <[EMAIL PROTECTED]>
> Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: The best way for learning struts (stupid question)
>
> Hi,
>
> Now, I can already make struts read the new setting
> changes without resetting Tomcat.
>
> My question is now : what should I learn first? what
> should I master? As I see there are "too many" concepts
> and technical terms
>

When I'm learning something new, I have always preferred to go "bottom
up".  For a prospective Struts developer, that probably means starting at
the appropriate point (for you) on the following list, depending on what
you're already familiar with:

* Fundamentals of object-oriented programming

* Java as a programming language

* Design patterns (at the programming level)

* Unit testing concepts and test-first design (JUnit is a wonderful
  tool for this in the Java space)

* Basics of relational databases, SQL, and the
  corresponding Java API (JDBC).

* Fundamentals of XML and XSLT (if you're going to be doing
  web services or XML-heavy applications)

* Architecture of the web (particularly how HTTP, HTML, and
  JavaScript work)

* The Servlet API -- foundation to every Java-based web application

* Basics of the view-layer technology (such as JSP) you plan to use
  If you're planning to use JSPs, plan on spending some time on:
  - Custom tags
  - JSTL 1.0 and the expression language

* Design patterns (at the architectural level)

* Implementations of the design patterns you plan to use
  (i.e. Struts as an implementation of the MVC design pattern)

* Use of advanced Struts features and extensions

The above list presumes you are going to be responsible for the entire
application.  In larger-scale environments there tend to be folks that
specialize on the various layers or tiers (persistent data storage,
business logic, presentation logic) -- if that is the place you are at,
you should spend more time on the technologies relevant to that specialty.

In all cases, there are an abundance of articles, tutorials, and books
around - the Struts resources pages include at least some starting points
for many of these areas.  To find more, "Google is your friend" :-).

Yes, that list is very long.  But the rewards for persevering and becoming
an expert are very great :-).

Craig


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: The best way for learning struts (stupid question)

2003-01-15 Thread Hookom, Jacob John
I agree with Andrew about jumping into it.  Really though, you should become familiar 
with J2EE Design Patterns, there are quite a few books out there to pick up.  Once you 
know the patterns, then things just come easier when you see people talk about Service 
Layers and MVC, etc.
 
One good practice to look at right away is the concept of layering in your 
application.  Struts describes the Model, View, and Controller (see documentation for 
clarification).  But if you are writing applications with hopes of easy 
maintainability, then you need to add additional application or service layers.
 
That means that your Action really doesn't have any "logic" in it persay, but you call 
methods on another layer or object that handles logic for you.  One of the best ways 
to implement layers is via the Bridge Pattern with the Factory Pattern where you do up 
interfaces that describe the layer or service.
 
An example would be writing a persistence layer that stores your Employee Objects.  
Well, what if you want to store Employee data in XML files initially, but switch to a 
DB later?  By layering your application, you can swap the XML implementation with a DB 
implementation without changing any of your Struts code because you've isolated 
persistence to a seperate layer.  Others will thank you later by incorporating layers 
of logic that allow for changes later (anyone who's worked with a fickle (sp) client 
knows it's going to change about 10 times before it's finalized).
 
As for Struts specific technologies, just start out with Action/ActionForms and error 
handling.  That means first, try manually checking for errors in your ActionForm 
object or at the Action, then try dipping into the Validator Libraries, which will 
handle validation for you by isolating the logic to a seperate XML file.  The Tiles 
technology is nice, but for me, I would rather stick with straight JSTL and JSP 
includes.
 
I hope this gives you some ideas,
Jacob Hookom

-Original Message- 
From: joni santoso [mailto:[EMAIL PROTECTED]] 
Sent: Wed 1/15/2003 10:33 PM 
To: [EMAIL PROTECTED] 
Cc: 
Subject: The best way for learning struts (stupid question)



Hi,

Now, I can already make struts read the new setting
changes without resetting Tomcat.

My question is now : what should I learn first? what
should I master? As I see there are "too many" concepts
and technical terms

Thx,

===
Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain Kartu Eletronik dengan 
Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu Elektronik Natal dan Tahun 
Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom http://www.plasa.com/belajar/reuni.html

===

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




<>--
To unsubscribe, e-mail:   
For additional commands, e-mail: 


RE: The best way for learning struts (stupid question)

2003-01-15 Thread Phase Web and Multimedia
Books! Struts In Action - Ted Husted, et al(Manning Publishing), Struts Kick
Start - James Turner, Kevin Bedell(Sams), Programming Jakarta Struts - Chuck
Cavaness (Oreilly)

Brandon Goodin
Phase Web and Multimedia
P (406) 862-2245
F (406) 862-0354
[EMAIL PROTECTED]
http://www.phase.ws


-Original Message-
From: joni santoso [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 15, 2003 9:33 PM
To: [EMAIL PROTECTED]
Subject: The best way for learning struts (stupid question)


Hi,

Now, I can already make struts read the new setting
changes without resetting Tomcat.

My question is now : what should I learn first? what
should I master? As I see there are "too many" concepts
and technical terms

Thx,

===
Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain Kartu Eletronik dengan
Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu Elektronik Natal dan
Tahun Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom
http://www.plasa.com/belajar/reuni.html

===

--
To unsubscribe, e-mail:

For additional commands, e-mail:




--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: The best way for learning struts (stupid question)

2003-01-15 Thread Andrew Hill
Best way to learn a new tech is usually to try using it to do something -
just leap in and start work on whatever project you will be using it for.
Of course you may later need to refactor early mistakes , but thats all part
of the learning process ;-)

-Original Message-
From: joni santoso [mailto:[EMAIL PROTECTED]]
Sent: Thursday, 16 January 2003 12:33
To: [EMAIL PROTECTED]
Subject: The best way for learning struts (stupid question)


Hi,

Now, I can already make struts read the new setting
changes without resetting Tomcat.

My question is now : what should I learn first? what
should I master? As I see there are "too many" concepts
and technical terms

Thx,

===
Meriahkan Hari Valentine Anda dan Ikuti Lomba Desain Kartu Eletronik dengan
Tema Valentine
Ikuti Polling Pemilihan Pemenang Lomba Desain Kartu Elektronik Natal dan
Tahun Baru 2003 di http://kartu.plasa.com/lomba
KSI PlasaCom - Reuni Alumni STTTelkom
http://www.plasa.com/belajar/reuni.html

===

--
To unsubscribe, e-mail:

For additional commands, e-mail:



--
To unsubscribe, e-mail:   
For additional commands, e-mail: