Author |
Message
|
paustin_ours |
Posted: Thu Jul 29, 2010 6:39 am Post subject: Keeping track of whats deployed out there |
|
|
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 |
|
 |
kash3338 |
Posted: Thu Jul 29, 2010 6:44 am Post subject: |
|
|
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 |
|
 |
Gaya3 |
Posted: Thu Jul 29, 2010 6:49 am Post subject: |
|
|
 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 |
|
 |
lancelotlinc |
Posted: Thu Jul 29, 2010 6:53 am Post subject: |
|
|
 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 |
|
 |
zpat |
Posted: Thu Jul 29, 2010 6:53 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
|
Back to top |
|
 |
paustin_ours |
Posted: Thu Jul 29, 2010 7:08 am Post subject: |
|
|
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 |
|
 |
lancelotlinc |
Posted: Thu Jul 29, 2010 7:22 am Post subject: |
|
|
 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 |
|
 |
Gaya3 |
Posted: Thu Jul 29, 2010 8:35 am Post subject: |
|
|
 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 |
|
 |
Vitor |
Posted: Thu Jul 29, 2010 8:53 am Post subject: |
|
|
 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 |
|
 |
Vitor |
Posted: Thu Jul 29, 2010 9:00 am Post subject: |
|
|
 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 |
|
 |
lancelotlinc |
Posted: Thu Jul 29, 2010 9:11 am Post subject: |
|
|
 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 |
|
 |
zpat |
Posted: Thu Jul 29, 2010 9:37 am Post subject: |
|
|
 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 |
|
 |
Vitor |
Posted: Thu Jul 29, 2010 9:44 am Post subject: |
|
|
 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 |
|
 |
Amitha |
Posted: Thu Jul 29, 2010 11:18 am Post subject: |
|
|
 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 |
|
 |
mqjeff |
Posted: Thu Jul 29, 2010 11:50 am Post subject: |
|
|
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 |
|
 |
|