WebSphere Commerce suite - Urgently Need Advice on WebSphere Commerce 5.4 Development

This is Interesting: Free IT Magazines  
Home > Archive > WebSphere Commerce suite > February 2004 > Urgently Need Advice on WebSphere Commerce 5.4 Development





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Urgently Need Advice on WebSphere Commerce 5.4 Development
John Giaccotto

2004-01-23, 9:33 am

Hello,

I appologize for this long post. I was encouraged by the postings by Geo
and a response by Glen Burson which asked if anyone needs help.

While reading this please keep in mind that I am very new to WebSphere and
don't have access to support other than what I can find on the net and in
books. Right now I am reading the WebSphere Application Server Bible",
which is shedding alot of light on how things work. I have also read
through documents such as the "Store Develors Guide" and many other
documents related to the WebSphere suite of products.

Here is my problem:

I need to come up with a solution for developing a WebSphere Commerce 5.4
site on the following setup:

The following software is running on a Red Hat (7.2) Linux box.
WebSphere Application Server 4 Advanced Edition
WebSphere Commerce 5.4 Running as an App in WAS
WebSphere MQ 5.3
IBM HTTP Server

There are three developers who will need to be able to edit the JSP files.
The only required source control is check-in/check-out for the web (JSP,
....) files.
For development we have WebSphere Studio 4.0 along with Visual Age for Java.
We also might have WebSphere Studio Application Developer (Although I am not
sure yet).

We need to be able to edit the JSP pages that display the storefront as well
as add/modify the EJB's which contain the backend logic. The client wishes
to integrate their backend order processing (phone/mail purchases) with
WebSphere. The company (a third party) that has provided this integration
has given us an .ear file which is basically the .ear that comes with
Commerce Server 5.4 along few more EJB's and .JSP files. The EJB's contain
additional backend processing that do things such as use WebSphere MQ to
send messages back to the client when an order is placed. I only explain
this because it might be important that even in the begining of development
we will be working with more than what comes out of the box with WebSphere
Commerce 5.4.

Here is what I have looked at as possible options. Please be blunt and let
me know if these are horrible ideas. I am still trying to figure out how
the WebSphere suite of products work. Please don't just say that WebSphere
Application Developer is the best way to go without also providing some
thoughts on the other possiblility that I have listed. It is not guarantied
that we have or will be able to get WSAD. However, at this point we do have
Visual Age and WebSphere Studio 4.0.

These are the two solutions that I have come up with for development:

1) Use WebSphere Application Developer: As I see it the advantage of using
WSAD is that we can import the modified WebSphere Commerce 5.4 ear file.
This will allow us to use the Java perspective to work with the EJB files
and use the Web perspective to work with the war files. My understanding of
WSAD is that it will not work with WAS Advanced Edition but will only work
with WAS Standard Edition. We don't have this and it might not be something
we can get. I also found that remote development can be done using IBM
Agent Controller installed on the server. This still doesn't help us though
because we can't use the Advanced Edition of WAS. Also Commerce Server 5.4
uses a database along with files that are outside of the
<was_install_dir>/installedApps directory. Therefore I don't think
development with WSAD would be as simple as importing the .ear.

2) Use WebSphere Studio 4.0 and Visual Age for Java: The advantage of using
these for development is that we have the software. We also have
instructions on using the modified ejb's with Visual Age. However, the
instructions assume that WAS, WebSphere Commerce 5.4 and WebSphere MQ are
installed on the same computer. As I stated before we are running WAS on
Linux. My understanding is also that Websphere Studio 4.0 and VAJ only
work with Windows.

My main concern is being able to make a change, get it on the server, and
test the change with my browser. WSAD seems to do this nicely but I have
only tried with very simple things such as a .JSP that prints something in
the browser. I like being able to click RUN ON SERVER and have WSAD restart
the server and display the page.

I am also confused by how changes should be placed on the server. Should I
be creating an ear each time I want to add a page or an ejb to WebSphere
Commerce 5.4? Or should I create an ftp entry point that gives access to
<was_install>/installedApps/<WebSphere_EAR>/wcstores/demo? My assumption
(and what I have done) is that if I use WebSphere Studio 4.0 I should set up
a publishing stage that points inside that directory. It seems strange to
be modifying files on the backend inside of the
<was_install>/installedApps/<websphere_EAR>/wcstores/demo folder. Or is
that just how it is meant to be done? It would also
seem like a pain to reinstall the .ear each time a change is made.

Thanks to all those who have read this post. Please respond with any advice
that you have. As you can tell I am a beginner at WebSphere and I don't
have access to any support besides what I can read on the net and in books.

Thanks,
John
hhrj@iup.edu







Matt Fleming

2004-02-04, 6:37 am

This is a long answer to your long question...

We do all of our development on Windows machines using WSAD and CVS (version
control).
The build environment uses Ant, CVS, and Anthill (all Open Source products).
The runtime environment for us is Solaris 8, WAS 4.0.5, MQ 5.3, DB2 7.2. It
is a 3-tier distributed setup (web, app, db).

To start, think of development and deployment as two completely separate
tasks.

Development
1) We downloaded the WSAD integration code from IBM (public site) and ran
the setup instructions contained within.
2) Any modifications to the base package (e.g. jsp change, new ejb, new java
classes) are created in WSAD and checked in to CVS. We never under any
circumstances change the base IBM package.
3) The developers use WSAD to its fullest... each runs the WCS application
on their own box and is able debug/test code, and run JUnit tests.
4) The data accessed by the WCS app initially resided on each developer's
box as well. Once we were comfortable with the application (and the
inherent data mess) we moved the data to a common test database, which is
hooked up to all of the developer's WSAD instances.

Deployment
To start:
We downloaded the instructions found at
(http://www-1.ibm.com/support/docvie...6A&context=SSZL
C2&q1=control+team&uid=swg27001936&loc=en_US&cs=utf-8&lang=en+en). Read the
instructions! In these instructions you will find out how to make a
"deployable" jar file which can be deployed on any WCS runtime instance.
FYI, the jar also will deploy to WSAD, but we believe source control should
update developer's machines not the deployable jar. We then modified the
java classes which make the deployable jar to suit our clustered needs. The
java code works well with a non-clustered (cloned)WCS environment. Also, the
download from above, has been recently modified by IBM. If you can, get the
latest (from May 2002) download from them (ask for the "Setting up a
controlled team development environment.. doc for version 5.4 3Q enhancment
pack).

Here is the flow:
1) Anthill checks out our WCS project from CVS
2) Anthill invokes the Ant build script for our WCS project.
3) The build script: compiles the source, compiles unit tests, runs unit
tests, compiles the functional tests, creates the deployable jar.
4) Anthill invokes the Ant deploy script for our WCS project.
5) The deploy script: copies the deployable jar to the app servers, runs the
deployable jar on each app server, copies static files to the web servers
(we have the traditional 3 tier architecture), and runs the automated
functional tests (against the newly deployed code).

This all was a bit daunting at first.. here is how I broke the steps down:
1) Setup the development environment and CVS. This way the developers could
start coding right away (keep in mind they can 100% test the application
using WSAD without the remaining steps).
2) I gave them the facility to write functional tests (using Canoo, which is
an abstraction of HTTPUnit), and unit tests (using JUnit). These tests are
key because they can be automated.
3) I modified the IBM deployable jar creation code, and created the build
script. To test the build script you should be able to manually deploy the
"deployable jar".
4) Create the deployment script and setup the anthill.
5) Setup MQ to handle outbound orders, etc.

I have done these steps before and it took me about one and a half months to
have the process humming along. With no expertise it probably would have
taken 3 months to be fully automated.

So why did we choose WSAD over VAJ? IBM is not using VAJ anymore for a lot
of reasons, so we weren't going to use it either. Our biggest complaint was
with source control and the test server startup time (12 minutes for the
EJBs). Also, deployment from VAJ or WSAD isn't really pretty, when it comes
to the WCS application. You need to know that WCS is not a true J2EE
application, in that the application is not self-contained or portable. You
will run into a lot of problems if you try a "normal" J2EE approach of
create EAR--> pump through AAT--> deploy EAR. The issues will arise from the
synchronization between the WCS root configuration
(/opt/WebSphere/CommerceServer or C:\WebSphere\CommerceServer) and the EAR
configuration.

good luck,

Matt

"John Giaccotto" <hhrj@iup.edu> wrote in message
news:bus650$4mls$1@news.boulder.ibm.com...
quote:

> Hello,
>
> I appologize for this long post. I was encouraged by the postings by Geo
> and a response by Glen Burson which asked if anyone needs help.
>
> While reading this please keep in mind that I am very new to WebSphere and
> don't have access to support other than what I can find on the net and in
> books. Right now I am reading the WebSphere Application Server Bible",
> which is shedding alot of light on how things work. I have also read
> through documents such as the "Store Develors Guide" and many other
> documents related to the WebSphere suite of products.
>
> Here is my problem:
>
> I need to come up with a solution for developing a WebSphere Commerce 5.4
> site on the following setup:
>
> The following software is running on a Red Hat (7.2) Linux box.
> WebSphere Application Server 4 Advanced Edition
> WebSphere Commerce 5.4 Running as an App in WAS
> WebSphere MQ 5.3
> IBM HTTP Server
>
> There are three developers who will need to be able to edit the JSP files.
> The only required source control is check-in/check-out for the web (JSP,
> ...) files.
> For development we have WebSphere Studio 4.0 along with Visual Age for


Java.
quote:

> We also might have WebSphere Studio Application Developer (Although I am


not
quote:

> sure yet).
>
> We need to be able to edit the JSP pages that display the storefront as


well
quote:

> as add/modify the EJB's which contain the backend logic. The client


wishes
quote:

> to integrate their backend order processing (phone/mail purchases) with
> WebSphere. The company (a third party) that has provided this integration
> has given us an .ear file which is basically the .ear that comes with
> Commerce Server 5.4 along few more EJB's and .JSP files. The EJB's


contain
quote:

> additional backend processing that do things such as use WebSphere MQ to
> send messages back to the client when an order is placed. I only explain
> this because it might be important that even in the begining of


development
quote:

> we will be working with more than what comes out of the box with WebSphere
> Commerce 5.4.
>
> Here is what I have looked at as possible options. Please be blunt and


let
quote:

> me know if these are horrible ideas. I am still trying to figure out how
> the WebSphere suite of products work. Please don't just say that


WebSphere
quote:

> Application Developer is the best way to go without also providing some
> thoughts on the other possiblility that I have listed. It is not


guarantied
quote:

> that we have or will be able to get WSAD. However, at this point we do


have
quote:

> Visual Age and WebSphere Studio 4.0.
>
> These are the two solutions that I have come up with for development:
>
> 1) Use WebSphere Application Developer: As I see it the advantage of


using
quote:

> WSAD is that we can import the modified WebSphere Commerce 5.4 ear file.
> This will allow us to use the Java perspective to work with the EJB files
> and use the Web perspective to work with the war files. My understanding


of
quote:

> WSAD is that it will not work with WAS Advanced Edition but will only work
> with WAS Standard Edition. We don't have this and it might not be


something
quote:

> we can get. I also found that remote development can be done using IBM
> Agent Controller installed on the server. This still doesn't help us


though
quote:

> because we can't use the Advanced Edition of WAS. Also Commerce Server


5.4
quote:

> uses a database along with files that are outside of the
> <was_install_dir>/installedApps directory. Therefore I don't think
> development with WSAD would be as simple as importing the .ear.
>
> 2) Use WebSphere Studio 4.0 and Visual Age for Java: The advantage of


using
quote:

> these for development is that we have the software. We also have
> instructions on using the modified ejb's with Visual Age. However, the
> instructions assume that WAS, WebSphere Commerce 5.4 and WebSphere MQ are
> installed on the same computer. As I stated before we are running WAS on
> Linux. My understanding is also that Websphere Studio 4.0 and VAJ only
> work with Windows.
>
> My main concern is being able to make a change, get it on the server, and
> test the change with my browser. WSAD seems to do this nicely but I have
> only tried with very simple things such as a .JSP that prints something in
> the browser. I like being able to click RUN ON SERVER and have WSAD


restart
quote:

> the server and display the page.
>
> I am also confused by how changes should be placed on the server. Should


I
quote:

> be creating an ear each time I want to add a page or an ejb to WebSphere
> Commerce 5.4? Or should I create an ftp entry point that gives access to
> <was_install>/installedApps/<WebSphere_EAR>/wcstores/demo? My assumption
> (and what I have done) is that if I use WebSphere Studio 4.0 I should set


up
quote:

> a publishing stage that points inside that directory. It seems strange to
> be modifying files on the backend inside of the
> <was_install>/installedApps/<websphere_EAR>/wcstores/demo folder. Or is
> that just how it is meant to be done? It would also
> seem like a pain to reinstall the .ear each time a change is made.
>
> Thanks to all those who have read this post. Please respond with any


advice
quote:

> that you have. As you can tell I am a beginner at WebSphere and I don't
> have access to any support besides what I can read on the net and in


books.
quote:

>
> Thanks,
> John
> hhrj@iup.edu
>
>
>
>
>
>
>




Geo

2004-02-19, 1:33 pm

Did you get all setup from Matt's reply?

Just curious,
george

John Giaccotto wrote:

> Hello,
>
> I appologize for this long post. I was encouraged by the postings by Geo
> and a response by Glen Burson which asked if anyone needs help.
>
> While reading this please keep in mind that I am very new to WebSphere and
> don't have access to support other than what I can find on the net and in
> books. Right now I am reading the WebSphere Application Server Bible",
> which is shedding alot of light on how things work. I have also read
> through documents such as the "Store Develors Guide" and many other
> documents related to the WebSphere suite of products.
>
> Here is my problem:
>
> I need to come up with a solution for developing a WebSphere Commerce 5.4
> site on the following setup:
>
> The following software is running on a Red Hat (7.2) Linux box.
> WebSphere Application Server 4 Advanced Edition
> WebSphere Commerce 5.4 Running as an App in WAS
> WebSphere MQ 5.3
> IBM HTTP Server
>
> There are three developers who will need to be able to edit the JSP files.
> The only required source control is check-in/check-out for the web (JSP,
> ...) files.
> For development we have WebSphere Studio 4.0 along with Visual Age for Java.
> We also might have WebSphere Studio Application Developer (Although I am not
> sure yet).
>
> We need to be able to edit the JSP pages that display the storefront as well
> as add/modify the EJB's which contain the backend logic. The client wishes
> to integrate their backend order processing (phone/mail purchases) with
> WebSphere. The company (a third party) that has provided this integration
> has given us an .ear file which is basically the .ear that comes with
> Commerce Server 5.4 along few more EJB's and .JSP files. The EJB's contain
> additional backend processing that do things such as use WebSphere MQ to
> send messages back to the client when an order is placed. I only explain
> this because it might be important that even in the begining of development
> we will be working with more than what comes out of the box with WebSphere
> Commerce 5.4.
>
> Here is what I have looked at as possible options. Please be blunt and let
> me know if these are horrible ideas. I am still trying to figure out how
> the WebSphere suite of products work. Please don't just say that WebSphere
> Application Developer is the best way to go without also providing some
> thoughts on the other possiblility that I have listed. It is not guarantied
> that we have or will be able to get WSAD. However, at this point we do have
> Visual Age and WebSphere Studio 4.0.
>
> These are the two solutions that I have come up with for development:
>
> 1) Use WebSphere Application Developer: As I see it the advantage of using
> WSAD is that we can import the modified WebSphere Commerce 5.4 ear file.
> This will allow us to use the Java perspective to work with the EJB files
> and use the Web perspective to work with the war files. My understanding of
> WSAD is that it will not work with WAS Advanced Edition but will only work
> with WAS Standard Edition. We don't have this and it might not be something
> we can get. I also found that remote development can be done using IBM
> Agent Controller installed on the server. This still doesn't help us though
> because we can't use the Advanced Edition of WAS. Also Commerce Server 5.4
> uses a database along with files that are outside of the
> <was_install_dir>/installedApps directory. Therefore I don't think
> development with WSAD would be as simple as importing the .ear.
>
> 2) Use WebSphere Studio 4.0 and Visual Age for Java: The advantage of using
> these for development is that we have the software. We also have
> instructions on using the modified ejb's with Visual Age. However, the
> instructions assume that WAS, WebSphere Commerce 5.4 and WebSphere MQ are
> installed on the same computer. As I stated before we are running WAS on
> Linux. My understanding is also that Websphere Studio 4.0 and VAJ only
> work with Windows.
>
> My main concern is being able to make a change, get it on the server, and
> test the change with my browser. WSAD seems to do this nicely but I have
> only tried with very simple things such as a .JSP that prints something in
> the browser. I like being able to click RUN ON SERVER and have WSAD restart
> the server and display the page.
>
> I am also confused by how changes should be placed on the server. Should I
> be creating an ear each time I want to add a page or an ejb to WebSphere
> Commerce 5.4? Or should I create an ftp entry point that gives access to
> <was_install>/installedApps/<WebSphere_EAR>/wcstores/demo? My assumption
> (and what I have done) is that if I use WebSphere Studio 4.0 I should set up
> a publishing stage that points inside that directory. It seems strange to
> be modifying files on the backend inside of the
> <was_install>/installedApps/<websphere_EAR>/wcstores/demo folder. Or is
> that just how it is meant to be done? It would also
> seem like a pain to reinstall the .ear each time a change is made.
>
> Thanks to all those who have read this post. Please respond with any advice
> that you have. As you can tell I am a beginner at WebSphere and I don't
> have access to any support besides what I can read on the net and in books.
>
> Thanks,
> John
> hhrj@iup.edu
>
>
>
>
>
>
>


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com