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 » WebSphere Message Broker (ACE) Support » Keeping track of whats deployed out there

Post new topic  Reply to topic Goto page 1, 2  Next
 Keeping track of whats deployed out there « View previous topic :: View next topic » 
Author Message
paustin_ours
PostPosted: Thu Jul 29, 2010 6:39 am    Post subject: Keeping track of whats deployed out there Reply with quote

Yatiri

Joined: 19 May 2004
Posts: 667
Location: columbus,oh

I have been working with broker for a while now and different clients. One thing people struggle with is keeping track of whats deployed out there. I cant seem to find a best solution for this.

One client removed everything under every EG and redeployed everything back with new additions during every roll out.

Others just keep deploying with no real tracking of whats out there.

Only way they can possibly restore a broken broker is they restored the database to a previous working state.

ANy thoughts, best practices in this area?
Back to top
View user's profile Send private message Yahoo Messenger
kash3338
PostPosted: Thu Jul 29, 2010 6:44 am    Post subject: Reply with quote

Shaman

Joined: 08 Feb 2009
Posts: 709
Location: Chennai, India

Even i would like to know if there is any way to retrieve the code from th bar file that is deployed to a Broker?

Since the BAR files were deployed few years back and there is no backup of these BAR files now, we want to get the code back now. Is there any way to get the code back from the deployed BAR file?
Back to top
View user's profile Send private message Send e-mail
Gaya3
PostPosted: Thu Jul 29, 2010 6:49 am    Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

kash3338 wrote:
Even i would like to know if there is any way to retrieve the code from th bar file that is deployed to a Broker?

Since the BAR files were deployed few years back and there is no backup of these BAR files now, we want to get the code back now. Is there any way to get the code back from the deployed BAR file?


Mods: Please split this question, as it is two different question:

BAR file is just a ZIP, where you can see the compiled version of you flows and ESL or class files etc

flows will be in XML format, are you asking about a reverse engineering concept here.
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Thu Jul 29, 2010 6:53 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Yes. It is possible to view the code once deployed.

During deployment, a BAR file explodes onto the disk under the execution group UUID. You may browse those files and see whats there, including date and timestamps.

A good source code control / configuration management solution is the best practice. It's not unlike any other tool in the IT / Service Oriented Architecture world. Nothing magical about Message Broker that prevents you from following CMMI, just as you would for a Java project or a C== project.

http://en.wikipedia.org/wiki/Process_area_(CMMI)

The purpose of Configuration Management (CM) is to establish and maintain the integrity of work products using configuration identification, configuration control, configuration status accounting, and configuration audits.


What prevented you from advocating this with your clients?
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER


Last edited by lancelotlinc on Thu Jul 29, 2010 6:58 am; edited 2 times in total
Back to top
View user's profile Send private message Send e-mail
zpat
PostPosted: Thu Jul 29, 2010 6:53 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

You can set various version eyecatchers which can help.

http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wmb_v6/wmb/6.0/Configuration/ConfigVersions/player.html

I always include source in the bar file. As well as using source management control for both source and the deployed bar files.

Anyone who loses source code deserves to be fired. There should also be copies of the deployed bar files and previous versions.

Try this command to recover the source from currently deployed barfiles.

mqsireportproperties <broker> -e <execgroup>-o AllMessageFlows -r > MessageFlows.txt
Back to top
View user's profile Send private message
paustin_ours
PostPosted: Thu Jul 29, 2010 7:08 am    Post subject: Reply with quote

Yatiri

Joined: 19 May 2004
Posts: 667
Location: columbus,oh

We did have souce control and that has current version and previous version etc., what after that? What i am interested in hearing is how some of you have handled this in real time. Please dont throw concepts at me

do you deploy a first baseline(incase you use source control) then like keep a log of what was deployed like the baseline name maybe? Also how did you handle a next roll out?

Also how did you handle requests to remove one or two flows from what was deployed.

This kinda gets out of hand if you think about it. Maybe some of you have totally figured it out. Maybe you also have the answer to the chicken and egg question )
Back to top
View user's profile Send private message Yahoo Messenger
lancelotlinc
PostPosted: Thu Jul 29, 2010 7:22 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Ok, Mr. Powers,

Quote:
The purpose of Configuration Management (CM) is to establish and maintain the integrity of work products using configuration identification, configuration control, configuration status accounting, and configuration audits.



1. Configuration identification = MD5

http://en.wikipedia.org/wiki/MD5


2. Configuration control = chcek in your BAR file to a separate repository (ie not same as source code repository), use an automated build tool (ie. Cruise Control), resources other than developers are permitted to deploy (ie. no developers are allowed to promote bar files), automated regression tests (ie. test first methodology) are performed prior to promote to production, you have at least 4 separate environments: Sandbox, Dev, Performance Test, Prod.

http://en.wikipedia.org/wiki/CruiseControl

http://en.wikipedia.org/wiki/Test-driven_development



3. Configuration status accounting = you have dedicated build engineers whose sole purpose in life is to monitor where everything is and present reports to management (project managers, department heads)


4. Configuration audits = you have other dedicated resources that challenge and investigate reports produced by your build engineers.

..
Quote:
Please dont throw concepts at me


First you need to learn the concepts before you can implement. You remind me of an RPG developer I once knew.

In the olden days of computerization, say 1980s, when they still called computer departments Management Information Systems, the sole MIS people in an entire Fortune 500 company were four: a manager, and three developers.

Since there were no production applications in production yet, there were no production support staff. Just a manager and three RPG developers.

The Vice President of Accounting called down to the MIS Manager's office on the rotary dial phone, and said: "Mr. MIS Manager, I have a new application I want your department to write for me. Please come to my office and I will tell you what it is that I want."

The MIS Manager got very excited! A NEW application! He could hardly believe it. As he hung up the rotary dial phone, he turned to his staff of three dedicated RPG programmers and said: "Quick, you guys start coding, I'll go see what she wants."
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
Gaya3
PostPosted: Thu Jul 29, 2010 8:35 am    Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

you can see the properties of the message flows in the WebSphere toolkit property tab of MB Admin perspective.

The same can be retrieved it using Config Proxy programming.
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 29, 2010 8:53 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

zpat wrote:
Try this command to recover the source from currently deployed barfiles.

mqsireportproperties <broker> -e <execgroup>-o AllMessageFlows -r > MessageFlows.txt


Shouldn't there be a -p in there someplace?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 29, 2010 9:00 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

paustin_ours wrote:
Please dont throw concepts at me


Then I'll throw this fact at you. It's an order of magnitude easier to keep a copy of the source code than it is to extract it from a bar file or the broker.

paustin_ours wrote:
do you deploy a first baseline(incase you use source control) then like keep a log of what was deployed like the baseline name maybe? Also how did you handle a next roll out?


The answer to all of these questions is in whatever source control software you're using. Source code elements are tagged by major / minor version (or iteration or whatever release unit makes sense in your environment). When doing a deploy, extract the elements for the release in question and build the bar from those. With a little inegunity it's possible to get Ant (or similar) to do this for you.

This is also a good place to put scripts for new or changed queue objects or similar.

paustin_ours wrote:
Also how did you handle requests to remove one or two flows from what was deployed.


Either remove them manually or remove all the existing flows before deploying. This 2nd method has the advantage of ensuring what's in the bar file & thence the broker is exactly matched to your source code.

paustin_ours wrote:
This kinda gets out of hand if you think about it.


No it doesn't. Even without automation. The key is proper source control; by which I mean procedures that are enforced as well as software.

It's also a help if you can get either the software or the developers to update the Version & Decsription fields with something informative. Even more helpful are $MQSI embeded in the code if you can manage those.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
lancelotlinc
PostPosted: Thu Jul 29, 2010 9:11 am    Post subject: Reply with quote

Jedi Knight

Joined: 22 Mar 2010
Posts: 4941
Location: Bloomington, IL USA

Software Engineering Institute CMMI Level 2

Quote:
What prevented you from advocating this with your clients?


CMMI Level 2 is the second of the five maturity levels in the staged representation of the CMMI. It's known as the managed level.

In an organization that has been appraised at CMMI Level 2...

"...the projects of the organization have ensured that requirements are managed and that processes are planned, performed, measured, and controlled.

The process discipline reflected by maturity level 2 helps to ensure that existing practices are retained during times of stress. When these practices are in place, projects are performed and managed according to their documented plans".

There are seven process areas in CMMI Level 2:

Requirements Management
Project Planning
Project Monitoring and Control
Measurement and Analysis
Supplier Agreement Management
Process and Product Quality Assurance
Configuration Management
Each process area has one or more specific goals (SG). Each specific goal has one or more specific practices (SP). In CMMI Level 2, each process area has a single generic goal (GG) that contains ten generic practices (GP).


http://www.sei.cmu.edu/training/p74.cfm

This course will help participants to develop a firm understanding of CMMI-DEV Maturity Level 2 and apply CMMI-DEV Maturity Level 2 concepts effectively.


This is not rocket science and has been commonplace since the 1980s. Have you studied this curricula ?
_________________
http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER
Back to top
View user's profile Send private message Send e-mail
zpat
PostPosted: Thu Jul 29, 2010 9:37 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

Vitor wrote:
zpat wrote:
Try this command to recover the source from currently deployed barfiles.

mqsireportproperties <broker> -e <execgroup>-o AllMessageFlows -r > MessageFlows.txt


Shouldn't there be a -p in there someplace?


No, I just ran the command on the broker box directly and it worked fine.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 29, 2010 9:44 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

zpat wrote:
Vitor wrote:
zpat wrote:
Try this command to recover the source from currently deployed barfiles.

mqsireportproperties <broker> -e <execgroup>-o AllMessageFlows -r > MessageFlows.txt


Shouldn't there be a -p in there someplace?


No, I just ran the command on the broker box directly and it worked fine.


Shows how often I use this command.....
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Amitha
PostPosted: Thu Jul 29, 2010 11:18 am    Post subject: Reply with quote

Voyager

Joined: 20 Nov 2009
Posts: 80
Location: Newyork

Quote:
Try this command to recover the source from currently deployed barfiles.

mqsireportproperties <broker> -e <execgroup>-o AllMessageFlows -r > MessageFlows.txt


This output is not the same as .msgflow format. Is this command used only to extract ESQL , Java, or the PHP code embedded in Message Flow? Or can we extract the whole message flow in an toolkit importable format.
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Thu Jul 29, 2010 11:50 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Amitha wrote:
Or can we extract the whole message flow in an toolkit importable format.


NO. THIS IS IMPOSSIBLE.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Keeping track of whats deployed out there
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.