ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » [Solved]Development Setup

Post new topic  Reply to topic Goto page 1, 2  Next
 [Solved]Development Setup « View previous topic :: View next topic » 
Author Message
djharte
PostPosted: Wed Nov 13, 2002 5:20 am    Post subject: [Solved]Development Setup Reply with quote

Apprentice

Joined: 02 Oct 2002
Posts: 26

I was wondering if someone could give me their thoughts on what is the best setup for development purposes. Thus far we have MQSeries Workflow, MQSeries server and DB2 on each developer machine (as well as IBM Developer Studio/Websphere) but we want to move as much as possible to a more powerful server.
I read that you can setup Workflow to use a remote database, so I presume that is not too much of a problem. What about MQSeries though, is it possible to install it on a seperate machine and just install the client on the developer machine.
Ideally we would like to move as much as possible to the server while still allowing a developer to modify his own workflow.

As always any help is very much appreciated.

David
Back to top
View user's profile Send private message
vennela
PostPosted: Wed Nov 13, 2002 5:39 am    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

I don't know why you want to put MQSeries on the developer's workstation but you don't have to.
When it comes to Workflow, all the developer's need is WorkFlow buildtime. Since the Buildtime database can sit on a remote machine you just need DB2 client and Workflow buildtime on the developer's machine.
We have even put the MQ jar files and Workflow jar files on a shared drive.

If you want to put standard fat client on the developer's machine then you can have MQClient installed instead of a full blown MQ Server. But I am sure you don't want to install fat client.

---
Venny
Back to top
View user's profile Send private message Send e-mail Visit poster's website
djharte
PostPosted: Thu Nov 14, 2002 7:03 am    Post subject: Reply with quote

Apprentice

Joined: 02 Oct 2002
Posts: 26

Venny,
Thanks for the reply. Your suggestion makes complete sense and I have set about getting it setup.
However I have come accross a problem. I have setup a java agent (running in websphere 4.0 as a generic server), runtime db, builtime db client etc on a server machine and have created a web client (running in websphere) on my (developer) machine. However, I am getting the following problem, when I try to log in from the web client,

java.beans.PropertyVetoException: FMC38000E Could not locate Agent for Domain MQWFAGENT
at com.ibm.workflow.api.Agent.failureName(Agent.java:619)
at com.ibm.workflow.api.Agent.setName(Agent.java:417)
.....

However, a simple java program works, and allows me to logon to the server on my remote machine. Any ideas what the problem might be.

Cheers
David
Back to top
View user's profile Send private message
vennela
PostPosted: Thu Nov 14, 2002 8:33 am    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

David:

Do you have Web client with QueueManager or Wbe Client with MQ Client.

---
Venny
Back to top
View user's profile Send private message Send e-mail Visit poster's website
djharte
PostPosted: Thu Nov 14, 2002 8:50 am    Post subject: Reply with quote

Apprentice

Joined: 02 Oct 2002
Posts: 26

Venny,
I have just got a basic WebClient configuration on my (devel) machine. I have MQSeries installed (from my prev setup), but its not running, (the jars are available to the webclient).
In fact I think the problem may be with my dB setup, I have installed DB2Connect and have added a remote dB, however when I start up the WebClient (via websphere) on my machine I get (on accessing the default Logon.jsp)

The username and/or password supplied is incorrect. SQLSTATE=08004

even though they have been set in webclient.properties

Database = FMCDB
DB2User = db2admin
DB2Password= db2admin

There must be something I haven't done with the db2 setup.....

Any thoughts would be appreciated.

Cheers
Dave
Back to top
View user's profile Send private message
vennela
PostPosted: Thu Nov 14, 2002 9:36 am    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

DB2 setup on the web client has got nothing to do with Workflow.

Your MQ is not running?

That's where your problem is.
But how would your java program run then. I guess you have both MQ Client and MQ server installed on your machine.

Is your WebSphere App server started. Is the MQWF Application running.

Let us know the exact configuration.
1. Is it a stand alone setup?
2. If not, where is your Workflow Runtime DB
3. Where is your WF Server
4. Where is the WAS

---
Venny
Back to top
View user's profile Send private message Send e-mail Visit poster's website
djharte
PostPosted: Thu Nov 14, 2002 9:57 am    Post subject: Reply with quote

Apprentice

Joined: 02 Oct 2002
Posts: 26

1) Devel Machine has
MQSeries (not running)
MQSeries WF with Web Client configured, the WebClient.properties file has the following entry :

AgentName=MQWFAGENT
AgentLocator=JNDI_LOCATOR
AgentNamingFactory=com.ibm.websphere.naming.WsnInitialContextFactory
AgentProviderURL=iiop://flinstone:900

the WebClient is running within websphere on my devel machine.

I also have DB2 Connect installed and a remote dB registered, this dB is
specified in the Webclient.properties file;

Database = FMCDB
DB2User = db2admin
DB2Password= db2admin


2) Other Windows 2000 Machine
1) MQSeries Running (FMCQM setup)
2) MQSeries FMC default configuration setup and running, with Java agent configured to run within websphere as a generic server on this machine.
3) DB2

So, from my devel machine, I want to be able to contact the WF Server on the seperate machine via JNDI.


Thanks for your help Venny .....

P.S
I was able to logon to the WF server on the "other machine" using
the following code from my devel machine :


Agent objAgent = new Agent();
Properties prop = System.getProperties();
prop.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
prop.put(Context.PROVIDER_URL, "iiop://flinstone:900");
objAgent.setLocator(Agent.JNDI_LOCATOR);
objAgent.setName("MQWFAGENT");
System.out.println("After Agent name ");
ExecutionService service = objAgent.locate("FMCGRP","FMCSYS");
System.out.println("After service located ");
service.logon2("ADMIN","password",SessionMode.DEFAULT,AbsenceIndicator.NOT_SET);
System.out.println("login done"+service.userID());
Back to top
View user's profile Send private message
vennela
PostPosted: Thu Nov 14, 2002 10:24 am    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

Quote:
I also have DB2 Connect installed and a remote dB registered


This shouldn't make any difference. Even if you don't catalog the DB it shouldn't matter. All you need to be worried about is your webclient.properties file. It looks ok to me as far as DB userID/password are concerned.

Your MQ on Webclient is not running? Thats where the entire problem lies. Now
On the Devel Machine:
1. Have you created a Queue Manager for the Web client. I think the config utility will prompt you for this.
2. Are you trying to use an already created Queue Manager. If you are trying to use an already created Queue Manager then is this QMGR added to the Workflow cluster (Group).

If you have allowed the config utility to create the QMGR and cluster it for you then I guess all you have to do is start the QMGR on the devel machine.

If you haven't done so and if you are not too good with MQ then I would suggest you to delete the Workflow configuration on the devel machine and create another configuration and allow the utility to create the QMGR for you.


========

The prgram that you have posted: Did you successfully run it on the Devel box or on the
Quote:
2) Other Windows 2000 Machine
. I am pretty sure it is on the latter.

---
Venny
Back to top
View user's profile Send private message Send e-mail Visit poster's website
djharte
PostPosted: Thu Nov 14, 2002 10:51 am    Post subject: Reply with quote

Apprentice

Joined: 02 Oct 2002
Posts: 26

Venny,
Maybe I have the wrong end of the stick, but I want my WebClient to run independent of MQSeries Workflow and MQSeries, from the docs :

The following components are needed on the Java API client machine:

The following components are needed on the Java API client machine:
A Java Runtime Environment (JRE) that supports RMI-IIOP. For example, IBM JDK 1.2 and later, or Sun JDK 1.3 and later.
The MQSeries Workflow Java API classes. For example, fmcojapi.jar, or fmcojagt.jar which is a strict superset of the classes contained in fmcojapi.jar.

I have all of the above on my devel machine and the WebClient.properties file is configured. So, will the WebClient not
1) Lookup the naming server on the "other machine"
2) Locate the Java Agent on the "other machine"
3) Allow interaction with the WF server on the "other machine"

??

Cheers
Dave

ps: That program was run from the developer machine !
Back to top
View user's profile Send private message
djharte
PostPosted: Thu Nov 14, 2002 10:53 am    Post subject: Reply with quote

Apprentice

Joined: 02 Oct 2002
Posts: 26

My Web Client log file gives the following, it looks like it can't find the system and group :

Servlet initialized.
2002-11-14 19:03:04.218 Servlet.Engine.Transports:10: logon called.
2002-11-14 19:03:04.218 Servlet.Engine.Transports:10: userID: ADMIN
2002-11-14 19:03:04.218 Servlet.Engine.Transports:10: mode: null
2002-11-14 19:03:04.218 Servlet.Engine.Transports:9: logon called.
2002-11-14 19:03:04.234 Servlet.Engine.Transports:9: userID: ADMIN
2002-11-14 19:03:04.234 Servlet.Engine.Transports:9: mode: null
2002-11-14 19:03:04.250 Servlet.Engine.Transports:9: SessionTable: key com.ibm.workflow.servlet.client.SessionContext not found in HttpSession C2HAKCJ3QPQHUYVF15BYPMQ
2002-11-14 19:03:04.250 Servlet.Engine.Transports:9: Locating system '' in group ''.
2002-11-14 19:03:04.250 Servlet.Engine.Transports:9: Binding agent 'MQWFAGENT' using JNDI_LOCATOR
2002-11-14 19:03:04.250 Servlet.Engine.Transports:10: SessionTable: key com.ibm.workflow.servlet.client.SessionContext not found in HttpSession C2HAKCJ3QPQHUYVF15BYPMQ
2002-11-14 19:03:04.250 Servlet.Engine.Transports:10: Locating system '' in group ''.
2002-11-14 19:03:04.453 Servlet.Engine.Transports:10: Binding agent 'MQWFAGENT' using JNDI_LOCATOR
2002-11-14 19:03:04.546 Servlet.Engine.Transports:9: doGet (logon): com.ibm.workflow.servlet.client.ClientException
java.beans.PropertyVetoException: FMC38000E Could not locate Agent for Domain MQWFAGENT
at com.ibm.workflow.api.Agent.failureName(Agent.java:619)
at com.ibm.workflow.api.Agent.setName(Agent.java:417)
at com.ibm.workflow.servlet.client.ApplicationContextImpl.getAgent(ApplicationContextImpl.java:422)
at com.ibm.workflow.servlet.client.ApplicationContextImpl.locateService(ApplicationContextImpl.java:451)
at com.ibm.workflow.servlet.client.BuiltinHandler.logon(BuiltinHandler.java:629)
at java.lang.reflect.Method.invoke(Native Method) .....
Back to top
View user's profile Send private message
vennela
PostPosted: Thu Nov 14, 2002 11:08 am    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

Dave:

You can't do that.
What do you mean "independent of MQSeries and Workflow". Inorder to have your web client running you MUST have these things for sure

1. MQWF server up and running (This implies DB2 should be running and QMGR on the WF server is running)

2. On the box where Web client is installed:
1. QMGR should be running
2. WAS should be running.

I will give you a simple scenario and you should be able to figure out why all of the above are needed.

When you logon to the Web client Logon.jsp page (this page shows up only if WAS is running) and give USERID/Password an MQ message is sent from the Web client machine (undercovers by the QMGR on Webclient to the QMGR on Workflow server ) to the Workflow server. This is validated and sent back as an MQ message.

You are transperant to all of this but as I have already mentioned those should be running if you want to have the Web client running.

---
Venny
Back to top
View user's profile Send private message Send e-mail Visit poster's website
vennela
PostPosted: Thu Nov 14, 2002 11:12 am    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

Oh OK.

You are talking about RMI-IIOP. It's a different ball game then. I am not very much aware of this Java Agent. But why do you want to go for RMI-IIOP way. It's deprecated.

---
Venny
Back to top
View user's profile Send private message Send e-mail Visit poster's website
djharte
PostPosted: Thu Nov 14, 2002 11:42 am    Post subject: Reply with quote

Apprentice

Joined: 02 Oct 2002
Posts: 26

Well, RMI via JNDI which is not depreciated .... I am really getting confused now, I thought that was the job of the Java CORBA agent, to field requests from clients ...... Nearly ready to throw the towel in !
Back to top
View user's profile Send private message
vennela
PostPosted: Thu Nov 14, 2002 12:19 pm    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

RMI is deprecated. Also from the installation guide
Quote:

Java RMI Agents should only be used for prototyping. They are currently not suited for production purposes.


So I would suggest you to seriously look into LOCAL bindings and JNDI.

---
Venny
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Ratan
PostPosted: Thu Nov 14, 2002 12:54 pm    Post subject: Reply with quote

Grand Master

Joined: 18 Jul 2002
Posts: 1245

Dave, here is my 2 cents about your config, You need to have the java agent running. I am not very clear about this architecture, so am practically of no much to you.

Venny is right, you should consider using local binding on your devel machines. that is the best configuration.

-Laze.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » [Solved]Development Setup
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.