Monday, April 10, 2017
Wednesday, March 8, 2017
Determine Which version of Windows Installer is installed
To determine which version of Windows Installer is installed on a computer, follow these steps:
1) Click Start, click Run, type %systemroot%\system32, and then click. OK.
2) Right-click Msi.dll, and then click. Properties.
3) Click the Version tab, and then note the File version number.
1) Click Start, click Run, type %systemroot%\system32, and then click. OK.
2) Right-click Msi.dll, and then click. Properties.
3) Click the Version tab, and then note the File version number.
Tuesday, February 7, 2017
Wednesday, November 2, 2016
JMeter SSH Sampler
https://github.com/linkeshkanna/Jmeter.SSH.FTP.Request
Jmeter Custom Sampler to make SFTP Request
To Create SSH FTP Requests in JMeter, we need this custom Sampler. This contains two jar files. 1. jmeter-ssh-sampler-1.0.2-SNAPSHOT.jar 2. jsch-0.1.53.jar We can generate this by downloading the source and building it using Maven.
I just built it using maven and checked in the jar files here.
To install this in Jmeter, 1. Copy the jmeter-ssh-sampler-1.0.2-SNAPSHOT.jar to the "Jmeter/Lib/ext" directory. 2. Copy the "jsch-0.1.53.jar" to the "Jmeter/Lib" directory 3. Restart Jmeter.
I have also added a sample test to list of the directory contents in a Public SFTP Server.
Tuesday, June 28, 2016
Install 3rdParty JAR on IBM B2B Sterling Integrator
If we want to install external JARs (3rdParty JARs) on Sterling Integrator here are the steps,
1. Stop B2BI Cluster (All Nodes) by running hardStop.sh/cmd.
2. install3rdParty.sh -j
-j = JAR
-l = Library File
3. Run setupfile.sh
4. Repeat Step 2 and 3 on all Nodes.
5. Restart B2BI Cluster.
Validation Procedure:
If installation was successful then you will see an entry for your new JAR file in dynamicclasspath.cfg file.
1. Stop B2BI Cluster (All Nodes) by running hardStop.sh/cmd.
2. install3rdParty.sh
-j = JAR
-l = Library File
3. Run setupfile.sh
4. Repeat Step 2 and 3 on all Nodes.
5. Restart B2BI Cluster.
Validation Procedure:
If installation was successful then you will see an entry for your new JAR file in dynamicclasspath.cfg file.
Sunday, June 26, 2016
Sunday, May 15, 2016
IBM Sterling B2B Integrator Map Editor Rules Hierarchy
Here is how IBM Sterling B2B Integrator map editor translator controller parse and executes the Rules.
Pre-Session (Variable Declarations & Hard Coded Values)
Root On Begin
Root Exedend Rules
Record On Begin
Standard Rule & Exedend Rule
Record On End
Root On Begin
Post-Session (Executes before end of map)
Pre-Session (Variable Declarations & Hard Coded Values)
Root On Begin
Root Exedend Rules
Record On Begin
Standard Rule & Exedend Rule
Record On End
Root On Begin
Post-Session (Executes before end of map)
Saturday, February 13, 2016
Calling B2BI WebService from SOAP UI
soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mesa="http://www.sterlingcommerce.com/mesa"
soapenv:Header/
soapenv:Body
mesa:DEMO_WEB_SERVICE xmlns:mesa="http://www.sterlingcommerce.com/mesa"
Payload goes here....
/mesa:DEMO_WEB_SERVICE
/soapenv:Body
/soapenv:Envelope
Need to add namespace xmlns:mesa="http://www.sterlingcommerce.com/mesa under soapenv:Body.
soapenv:Header/
soapenv:Body
mesa:DEMO_WEB_SERVICE xmlns:mesa="http://www.sterlingcommerce.com/mesa"
Payload goes here....
/mesa:DEMO_WEB_SERVICE
/soapenv:Body
/soapenv:Envelope
Need to add namespace xmlns:mesa="http://www.sterlingcommerce.com/mesa under soapenv:Body.
Saturday, January 16, 2016
Updating bashrc file in Ubuntu
Update bashrc file for to default required path variables, xclock setup etc. I find this is clean way then setting up or updating path variables under each user profile unless it is mandatory. This is clean way for sandbox setup at least not for production though.
.bashrc file location:
/etc/bash.bashrc
####Sirish Reddy: Settings ########
PATH=/u01/app/jdk1.6.0_25/bin:$PATH
export LANG=en_US
xhost local:oracle
xhost local:sirishg
xhost local:apache
.bashrc file location:
/etc/bash.bashrc
####Sirish Reddy: Settings ########
PATH=/u01/app/jdk1.6.0_25/bin:$PATH
export LANG=en_US
xhost local:oracle
xhost local:sirishg
xhost local:apache
Saturday, January 9, 2016
Thursday, January 7, 2016
How To Learn Anything in 20 Hours
Here is the interesting video I came across which teach the logic on how to learn anything in 20 Hours, Interesting...
Wednesday, January 6, 2016
Setting up VisualVM from Sterling Integrator
1. Download VisualVM
2. Find the value of the property called ACTIVEMQ_JMX_PORT from sandbox.cfg.
3. Add Remote Host First and under Remote Host add Add JMX Connection.
<SI HOST Name>:<ACTIVEMQ_JMX_PORT>
No need of providing user credentials and Save the connection.
Monday, December 21, 2015
Enable External Purge in Sterling Integrator
Starting an External Purge
Procedure
- If you have a cluster installation, make sure that you are not running the external purge on another node of the cluster. If you are running the external purge on more than one node, it will cause database locks. For more information, see Monitoring an External Purge.Important: It is the customer's responsibility to keep exactly one of these external purge processes running in the cluster. If you need to shut down the hardware that is running the external purge, you must run the external purge on a different node.
- Disable the default Purge service. Click Deployment > Schedules, search for PurgeService, and then clear the Enabled checkbox for PurgeService.Note: If you have customized the Schedule_PurgeService business process, you need to add your customized code to the new Schedule_PurgeService business process. The new Schedule_PurgeService business process includes a warning message about running the external purge while the scheduled new purge is enabled.
- Turn off the "Important Schedules are Disabled" email notifications by adding the following line to the customer_overrides.properties file. This removes the Purge Service SQL query for the schedule.resourceMonitor.ScheduleMonitor.propertyValue.1=SELECT STATUS, SERVICENAME FROMSCHEDULE WHERE SERVICENAME IN ('BackupService','IndexBusinessProcessService','AssociateBPsToDocs','BPRecovery','BPLinkagePurgeService')
- Do the following:
- In Windows, do one of the following:
- Run the command startExternalPurgeWindowsService.cmd from the INSTALL_DIR\bin directory.
- Run the Windows service. Click Control Panel > Administrative Tools > Services, right-click IBM Sterling B2B Integrator External Purge at BASE_PORT, and click Start.
- In UNIX, run the command control_extpurge.sh start from the INSTALL_DIR/bin directory.
- In Windows, do one of the following:
- In iSeries, run the commandSBMJOB CMD (QSH CMD('cd INSTALL_DIR/bin; ./ExternalPurgeConsole.sh -clearlocks > INSTALL_DIR/logs/extpurge.log')) JOB(EXTPURGE)
Remote FTP Directory Sync using lftp
http://www.cyberciti.biz/faq/lftp-mirror-example/
$lftp user@my.ftp.com
$mirror -c source target
Reverse Sync to Server:
Change local directory to where you saved the files /home/somedirectory
$lcd /home/somedirectory
$mirror -R
$lftp user@my.ftp.com
$mirror -c source target
Reverse Sync to Server:
Change local directory to where you saved the files /home/somedirectory
$lcd /home/somedirectory
$mirror -R
Friday, December 11, 2015
Enterprise Logging with Logstash
Basic Flow of Logstash?
LS Agent(s) (Installed on App Server(s)) --> RabbitMQ --> LS Server --> Elasticsearch Server <-- Kibana <-- end user.
So which scripting language is recommended to parse the logs or data?
There is a bunch of plugins for logstash but mostly we use the grok filter.
It takes grok expressions which can be the special grok or even ruby regexes with named captures.
If you need help building patterns to match your logs, you will find the http://grokdebug.herokuapp.com and http://grokconstructor.appspot.com/ applications quite useful!
We need to include Puppet in setup or we can manage with out puppet?
Puppet manages LS Agents on all servers. We create filters and apply them based off the server hostgroup and also input files.
Videos on Logstash:
Download Logstash:
Wednesday, November 25, 2015
Remove SFG Partner Profile (Hard Delete if SFG removal fails)
There was bug in SFG (old versions) where it leaves some orphan entries in DB when you try to remove the trading partner from SFG UI. To solve the problem here are steps to do hard delete of partner profile.
Attempt to delete from SFG in regular way and then remove from Dashboard --> Trading Partner (All Contracts, Document Exchange, Profile, Routing Channels, Mailbox Virtual Roots if any etc.)
Make sure the following table should not return any entry for Trading Partner, If it returns then remove the entry manually...
This example Partner Name is : EDI
select 'YFS_USER' from YFS_USER where UPPER(USERNAME) like '%EDI%' UNION
select 'YFS_ORGANIZATION' from YFS_ORGANIZATION where UPPER(ORGANIZATION_KEY) like '%EDI%' UNION
select 'MBX_ACTION' from MBX_ACTION where UPPER(USER_ID) like '%EDI%' UNION
select 'MBX_MAILBOX' from MBX_MAILBOX where UPPER(PATH) like '%EDI%' UNION
select 'SCI_CONTRACT' from SCI_CONTRACT where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_DOC_EXCHANGE' from SCI_DOC_EXCHANGE where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_ENTITY' from SCI_ENTITY where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_PACKAGING' from SCI_PACKAGING where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_PROFILE' from SCI_PROFILE where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_TRANSPORT' from SCI_TRANSPORT where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_CODE_USR_XREF' from SCI_CODE_USR_XREF where UPPER(USER_ID) = 'EDI%';
select * from YFS_USER where UPPER(USERNAME) = 'EDI';
select * from YFS_ORGANIZATION where UPPER(ORGANIZATION_KEY) = 'EDI';
select * from MBX_ACTION where UPPER(USER_ID) = 'EDI';
select * from MBX_MAILBOX where UPPER(PATH) = 'EDI';
select * from SCI_CONTRACT where UPPER(OBJECT_NAME) ='EDI';
select * from SCI_DOC_EXCHANGE where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_ENTITY where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_PACKAGING where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_PROFILE where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_TRANSPORT where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_CODE_USR_XREF where UPPER(USER_ID) = 'EDI';
--finally delete (be careful) --
DELETE from YFS_USER where UPPER(USERNAME) = 'EDI';
DELETE from YFS_ORGANIZATION where UPPER(ORGANIZATION_KEY) = 'EDI';
Attempt to delete from SFG in regular way and then remove from Dashboard --> Trading Partner (All Contracts, Document Exchange, Profile, Routing Channels, Mailbox Virtual Roots if any etc.)
Make sure the following table should not return any entry for Trading Partner, If it returns then remove the entry manually...
This example Partner Name is : EDI
select 'YFS_USER' from YFS_USER where UPPER(USERNAME) like '%EDI%' UNION
select 'YFS_ORGANIZATION' from YFS_ORGANIZATION where UPPER(ORGANIZATION_KEY) like '%EDI%' UNION
select 'MBX_ACTION' from MBX_ACTION where UPPER(USER_ID) like '%EDI%' UNION
select 'MBX_MAILBOX' from MBX_MAILBOX where UPPER(PATH) like '%EDI%' UNION
select 'SCI_CONTRACT' from SCI_CONTRACT where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_DOC_EXCHANGE' from SCI_DOC_EXCHANGE where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_ENTITY' from SCI_ENTITY where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_PACKAGING' from SCI_PACKAGING where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_PROFILE' from SCI_PROFILE where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_TRANSPORT' from SCI_TRANSPORT where UPPER(OBJECT_NAME) like '%EDI%' UNION
select 'SCI_CODE_USR_XREF' from SCI_CODE_USR_XREF where UPPER(USER_ID) = 'EDI%';
select * from YFS_USER where UPPER(USERNAME) = 'EDI';
select * from YFS_ORGANIZATION where UPPER(ORGANIZATION_KEY) = 'EDI';
select * from MBX_ACTION where UPPER(USER_ID) = 'EDI';
select * from MBX_MAILBOX where UPPER(PATH) = 'EDI';
select * from SCI_CONTRACT where UPPER(OBJECT_NAME) ='EDI';
select * from SCI_DOC_EXCHANGE where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_ENTITY where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_PACKAGING where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_PROFILE where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_TRANSPORT where UPPER(OBJECT_NAME) = 'EDI';
select * from SCI_CODE_USR_XREF where UPPER(USER_ID) = 'EDI';
--finally delete (be careful) --
DELETE from YFS_USER where UPPER(USERNAME) = 'EDI';
DELETE from YFS_ORGANIZATION where UPPER(ORGANIZATION_KEY) = 'EDI';
Friday, November 20, 2015
Enterprise Integration Techniques - Notes
Integration Patterns:
Enterprise Integration Patterns
Self Managing
Minimize the dependency between components.
John Prosul Robust principle
Be liberal with what you receive and be specific with what you send out.
Always support previous versions (Backward compatibility). It's always hard to support backward compatibility but it's matter of discipline.
Software is craft not a science.
Be wise on Technical Decision vs Business Decision.
InfoQ.com
gotoconferences
Twitter University
Emerging Techologies for Enterprise (Conference hosted in Philly)
Agile Stuff
hackernews.com (YCombinator)
HighScalability.com
Netflix Engineering
Thoughtworks Tech Radar
Micro Services (Sam Newman)
Enterprise Integration Patterns
Self Managing
Minimize the dependency between components.
John Prosul Robust principle
Be liberal with what you receive and be specific with what you send out.
Always support previous versions (Backward compatibility). It's always hard to support backward compatibility but it's matter of discipline.
Software is craft not a science.
Be wise on Technical Decision vs Business Decision.
InfoQ.com
gotoconferences
Twitter University
Emerging Techologies for Enterprise (Conference hosted in Philly)
Agile Stuff
hackernews.com (YCombinator)
HighScalability.com
Netflix Engineering
Thoughtworks Tech Radar
Micro Services (Sam Newman)
Monday, October 26, 2015
Thursday, September 24, 2015
Sterling Integrator issue with MSSQL Database
Error while installing - The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server returned an incomplete response. The connection has been closed.".
[2014-11-13 17:31:50.499] ERRORDTL [1415899910498]com.microsoft. sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server returned an incomplete response. The connection has been closed.".
[2014-11-13 17:31:50.499] ERRORDTL [1415899910498]com.microsoft. sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SQL Server returned an incomplete response. The connection has been closed.".
Solution below link. -- Alternate Solution:
Sunday, September 13, 2015
Monday, August 17, 2015
Sunday, August 16, 2015
Tuesday, August 11, 2015
Encoding a Payload in Sterling Integrator using Java Task
import java.io.InputStream;
import java.lang.StringBuilder;
import com.sterlingcommerce.woodstock.workflow.Document;
import com.sterlingcommerce.woodstock.util.Base64;
Document doc = wfc.getPrimaryDocument();
InputStream in = doc.getInputStream();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < in.available(); i++) {
sb.append(in.read());
}
byte data[] = sb.toString().getBytes();
byte newdata[] = Base64.encode(data);
doc.setBody(new String( ""+ new String(newdata)+" ").getBytes());
return new String(sb.toString());
import java.lang.StringBuilder;
import com.sterlingcommerce.woodstock.workflow.Document;
import com.sterlingcommerce.woodstock.util.Base64;
Document doc = wfc.getPrimaryDocument();
InputStream in = doc.getInputStream();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < in.available(); i++) {
sb.append(in.read());
}
byte data[] = sb.toString().getBytes();
byte newdata[] = Base64.encode(data);
doc.setBody(new String( "
return new String(sb.toString());
Sunday, August 9, 2015
Friday, July 31, 2015
Sir A.P.J Abdul Kalam
Don't take rest after your first victory because if you fail in second, more lips are waiting to say that your first victory was just luck." - A.P.J Abdul Kalam
"All Birds find shelter during a rain. But Eagle avoids rain by flying above the Clouds." - A.P.J Abdul Kalam
"Failure will never overtake me if my definition to succeed is strong enough". - A.P.J Abdul Kalam
"Man needs difficulties in life because they are necessary to enjoy the success." - A.P.J Abdul Kalam
"If you want to shine like a sun. First burn like a sun." - A.P.J Abdul Kalam
"It is very easy to defeat someone, but it is very hard to win someone" - A.P.J Abdul Kalam
"All of us do not have equal talent. But , all of us have an equal opportunity to develop our talents." - A.P.J Abdul Kalam
" Be more dedicated to making solid achievements than in running after swift but synthetic happiness." -A.P.J Abdul Kalam
"Thinking should become your capital asset, no matter whatever ups and downs you come across in your life." - A.P.J Abdul Kalam
" Without your involvement you can't succeed. With your involvement you can't fail. " - A.P.J Abdul Kalam
"All Birds find shelter during a rain. But Eagle avoids rain by flying above the Clouds." - A.P.J Abdul Kalam
"Failure will never overtake me if my definition to succeed is strong enough". - A.P.J Abdul Kalam
"Man needs difficulties in life because they are necessary to enjoy the success." - A.P.J Abdul Kalam
"If you want to shine like a sun. First burn like a sun." - A.P.J Abdul Kalam
"It is very easy to defeat someone, but it is very hard to win someone" - A.P.J Abdul Kalam
"All of us do not have equal talent. But , all of us have an equal opportunity to develop our talents." - A.P.J Abdul Kalam
" Be more dedicated to making solid achievements than in running after swift but synthetic happiness." -A.P.J Abdul Kalam
"Thinking should become your capital asset, no matter whatever ups and downs you come across in your life." - A.P.J Abdul Kalam
" Without your involvement you can't succeed. With your involvement you can't fail. " - A.P.J Abdul Kalam
Saturday, July 25, 2015
Friday, June 19, 2015
Subscribe to:
Posts (Atom)