Topcoder - Running PACTS on a separate JBoss instance with Java 8

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Background 

It is very soon that SSL and TLS 1.0 No Longer Acceptable for PCI Compliance, see https://www.pcicomplianceguide.org/ssl-and-early-tls-new-migration-dates-announced/. And many sites are planning to upgrade soon, including Paypal and Payoneer. they are used by our PACTS system. So we need to make PACTS system still working properly with the SSL and TLS upgrade.

We have tried internally, a simple upgrade of JDK version still have some problems, so we'd like to have alternative plans standy.

Scope

For this challenge, you are expected to seperate out PACTS related functionality from the legacy website, and running seperately in a JBOSS instance with JDK 8.

There are two links served for PACTS.

http://tc.cloud.topcoder.com/tc?module=EditPaymentPreferences
http://tc.cloud.topcoder.com/PactsMemberServlet?module=PaymentHistory&full_list=false

Here are the things we need like you to do in the VM assigned (login in as tc)

1. Install the latest JDK 8, update /home/tc/.bash_profile, so the java version is taking affect for user `tc`
2. Clean up jboss-4.0.4.GA (home/tc/jboss-4.0.4.GA) to have only necessory configuration and dependencies, or you can start from a clean dist of jboss-4.0.4.GA, and copy over needed files.
3. Create a new build_pacts.xml under /home/tc/web, which is used to build and deploy the PACTS related services. for build_pacts.xml, you can learn from build_tc.xml, which should be simplied from by removing everything that is NOT related to pacts, e.g. jars, wars, configs, etc inside jboss.

Reference

the main logic can be found at

/home/tc/web/src/main/com/topcoder/web/tc/controller/PayPalService.java
/home/tc/web/src/main/com/topcoder/web/tc/controller/PayoneerService.java

and they are used in modules

/home/tc/web/src/main/com/topcoder/web/tc/controller/request/myhome/EditPaymentPreferences.java
/home/tc/web//src/main/com/topcoder/web/tc/controller/legacy/pacts/controller/request/member/PayMe.java

the configuration can be found at

/home/tc/web/resources/com/topcoder/web/tc/controller/paypal.xml
/home/tc/web/resources/com/topcoder/web/tc/controller/payoneer.xml

Virtual Machine

VM specific information is found here: http://www.topcoder.com/wiki/display/docs/VM+Image+2.5

Upon registration as a submitter or reviewer you will need to request a VM based on the TopCoder systems image.  The VM will be active through aggregation review, after which it will be terminated except for the winner's and the reviewers'. To request your image, please post your request in forum

Before requesting your VM, you need to ensure that you have an SSH key created and in your member profile (this functionality is missed in the new topcoder site, you need to contact support@topcoder.com to set it). Instructions to do so are here: http://www.topcoder.com/wiki/display/projects/Generate+SSH+Key, and instructions to connect afterwards are here: http://www.topcoder.com/wiki/display/projects/Connect+Using+SSH+Key.

Please realize that VMs are currently issued manually. We make every attempt to issue the VM as soon as it is requested, however, there may be delays of up to 12 hours depending on time of day when you request. We encourage everyone to request a VM as soon as possible to minimize any such delays.



Final Submission Guidelines

  • Clear Steps for New Environment Setup
  • Clear Verification Document
  • new build_pacts.xml and related files

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30053251