click here for details... Sakai Executive Director Position Search now open
Issue Details (XML | Word | Printable)

Key: SAK-13408
Type: Sub-task Sub-task
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Marty Banting
Reporter: Peter A. Knoop
Votes: 0
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
Sakai
SAK-11211

Provide Support for WebSphere

Created: 21-Apr-2008 12:22   Updated: 27-Oct-2009 13:46
Component/s: Global
Affects Version/s: 2.5.x
Fix Version/s: 2.6.0

Time Tracking:
Not Specified

File Attachments: 1. Text File SAK-13408.rwiki.patch (10 kB)
2. Text File SAK-13408.search.patch (1 kB)
3. PDF File servlet-2_4-fr-spec.pdf (1.71 MB)

Issue Links:
Depend
 

2.6.x Status: None
2.5.x Status: None
2.4.x Status: None


 Description  « Hide
IBM, Marist College, and rSmart would like to work with the Sakai community to get v2.6 operational and supported on WebSphere Application Server and the IBM DB2 database. In the past we have done this on numerous versions of Sakai, but our porting exercise would always begin after the community's GA release. Now that platform portability is a key initiative for the community, we want to work alongside the community on the current release to get WebSphere supported among Sakai's other application servers.

When we did the work to support Websphere with v2.4, it was necessary to make many changes to the sakai code base. We had to create new build scripts, fix some validation errors on xml files, and update java code on about 8 core kernel classes and a bunch of tool classes. Code changes were concentrated mostly on URL redirection and making Sakai XML Parsing non-application-server-specific. We took care to implement these changes in a way that did not affect the existing code from running with Tomcat. The DB2 changes are a little more straightforward.

There is a lot of work to do to get all of these changes into v2.6, especially since we are skipping 2.5 and going right to 2.6. Obviously, 2.6 will be under development when we do this, making it a moving target. We were initially concerned that any newly developed 2.6 code could run the risk of being incompatible with WebSphere and DB2, so we created a webcast that oveviews the portabilitiy issues that we discovered. Hopefully this webcast will be useful for developers and help mitigate any portability issues with new 2.6 code. You can check it out here:

We've also included a document and mp3 file from the Newport Beach session that discussed developing for portability. We will put links to all of this material in this Jira in the near future. Finally, we intend on being more active with testing WebSphere and DB2 during the QA cycle. Marist has created a QA environment for this purpose. Anyone in the community that is interested is invited to help with this.

Working this closely with the community on such an undertaking is going to be a new experience for some of us, and we'd appreciate your thoughts, support, and patience with us as we pick up an oar and start to row. Any suggestions on how to proceed would be greatly appreciated.

Also, if there are members of the community who are interested in working with us to support WebSphere or DB2, there are a few different mechanisms in place at IBM that allow us to provide licenses to members of the community if the tools are used to develop open source code for non-commercial purposes. Please let me know if you might be interested.


Here is the process that we are considering, we'd appreciate your thoughts on how best to proceed:
1. Create 2 new branches of 2.6: WebSphere and DB2. Thanks, Peter, for setting this up for us so soon!
2. Analyze the difference between our WebSphere changes on 2.4 and the current 2.6. Where appropriate, move those code changes into our 2.6 WebSphere branch.
3. Create WebSphere build scripts in our branch, make sure Sakai can be launched in WebSphere while still running perfectly in Tomcat. Note that at this time it is probable that some Sakai tools will not function in WebSphere. However they remain unchanged and will still work fine in Tomcat. We are working to get this step done in the next 2-4 weeks
3. Work the Sakai community process to get this code tested and released to the 2.6 trunk. We want this to occur ASAP so the community will have plenty of time developing and running with it
4. Continue to test with the community's code and fix any existing WebSphere issues with Sakai tools.
5. Work the normal community process to get our DB2 code tested and released into the 2.6 trunk
6. Perform a formal QA of Sakai on WebSphere and DB2 between code freeze and release dates.

Thanks!

 All   Comments   Work Log   Change History   Subversion Commits   git Commits      Sort Order: Ascending order - Click to sort in descending order
chris davia added a comment - 15-May-2008 11:53
Since this work touches a few Sakai kernel classes, Chuck thought it might make sense to run our ideas by a crack team of senior Sakai programmers to get their advice and buy-in. Who might those people be?

Peter A. Knoop added a comment - 20-May-2008 13:15
Chirs, I would suggest addressing a request explicitly to Ian Boston, Glenn Golden, Chuck Severance, Aaron Zeckoski, Mark Norton, Beth Kirschner, Lance Speelmon, Steve Githens, Stephen Marquard, David Horwitz (and others I'm sure I've forgotten!), and cc-ing sakai-dev.

chris davia added a comment - 29-May-2008 06:20
OK. Marty, Austin, and I hope to have an initial face-to-face conversation with Aaron during the Marist bootcamp. Shortly thereafter, we will engage the rest of the architects and sakai dev. Thanks!

chris davia added a comment - 29-May-2008 06:29
I am happy to announce that our web lecture on 'sakai portability' is now available at: http://ivtweb.com/ibm/

The web lecture consolidates the major issues that we encountered when porting Sakai to WebSphere and DB2. These issues should apply to other environments as well.

I want to thank our partners at IVT for hosting this web lecture for us. IVT has excellent weblecture technology, allowing a presentation to be synchronized with video and audio and delivered in numerous formats (over the web, via ipod, etc). Content can be hosted on their service or on campus. Although we are only using the audio capabilities for this pitch, the video capabilities are very good.



Aaron Zeckoski added a comment - 14-Sep-2008 03:02
Added the dependency for adding was to the overall project, the sakai.properties should be updated with the servlet.container=websphere option (commented out)

Antranig Basman added a comment - 18-Sep-2008 09:47
Note that a required upgrade for support in WebSphere is for RSF tools to the latest RSF release of 0.7.4 This has been completed for the page order helper as SAK-14438. Other upgrade JIRAs for non-core tools are QNA-152 for the UCT Question and Answer tool and TXB-108 for the Michigan Textbook tool. Other notable RSF apps which will require upgrades are the UCT Polls tool and the Evaluation (Swift) tool. In general there is an issue with the Websphere dispatcher which does not provide relevant info in the "getPathinfo" method of HttpServletRequest for requests which are redispatched. This appears to be a grey area of the spec, but without accurate information here it will be impossible to make chains of path-based (as opposed to session-based) helpers function correctly in WebSphere. The 0.7.4 RSF release contains a specific patch for the most common case of a helper dispatched to RSF from a Velocity-based tool which explicitly detects the Websphere environment.

Stephen Marquard added a comment - 18-Sep-2008 09:52
polls is at RSF 0.7.4 with r52220 (no associated JIRA).

Peter A. Knoop added a comment - 29-Sep-2008 07:22
[Bulk Comment] This Task (or Sub-Task) issue currently is Unresolved, but has a Fix Version of 2.6. The Code Freeze for Sakai 2.6 has now passed (29-Sep-2008, 8:00am Eastern US time).

If you are still working to resolve this issue for 2.6, then please post an email to sakai-dev to let everyone now that you need an exception for this JIra, explain what is left to do, and when you plan to have the work completed; please include that information here in the Jira as well.

Otherwise, if the resolution of this task has been postponed, please reset the Fix Version to 2.7 or Unknown, depending on what you're new expectations for completion are. If the issue is no longer relevant, please close the issue as Won't Fix or Incomplete with an explanation of why.

Thanks!

Marty Banting added a comment - 30-Sep-2008 11:29
We'd like to request a code freeze extension to SAK-13408. Development is complete and we are in the process of working with the tool owners to complete the merging of our branches to trunk. So far we have 4 branches merged, 7 more to go. We are updating our wiki page at http://bugs.sakaiproject.org/confluence/display/SAKDEV/WebSphere+support with the latest status on the merge-related activities. Our goal is to have things merged by end of week.

Please let us know if you have any concerns. Thanks!

Stephen Marquard added a comment - 02-Oct-2008 08:36
r53051 merged changes from branch for sections.

Marty Banting added a comment - 02-Oct-2008 08:48
Attaching rwiki patch that represents the changes made in the rwiki branch (https://source.sakaiproject.org/svn//rwiki/branches/SAK-13408/).

Marty Banting added a comment - 02-Oct-2008 08:48
Attaching search patch that represents the changes made in the search branch (https://source.sakaiproject.org/svn//search/branches/SAK-13408/).

Stephen Marquard added a comment - 02-Oct-2008 08:55
Marty, why does the search patch use the unusual method to get hold of serverConfigurationService rather than the static cover as in the other projects?

Stephen Marquard added a comment - 02-Oct-2008 09:03
rwiki patch applied in r53055.

Marty Banting added a comment - 02-Oct-2008 09:17
Hi Stephen, I'll have our developer update it to use the static cover as in the other projects. Thanks for pointing that out.

Stephen Marquard added a comment - 02-Oct-2008 10:51
On looking elsewhere in ControllerServlet2.java, it uses that technique, so the patch is consistent with existing code.

Search patch committed in r53062.

Marty Banting added a comment - 02-Oct-2008 11:37
Ok sounds good. That's why our developer used that existing technique. Thanks Stephen for committing these.


Peter A. Knoop added a comment - 24-Oct-2008 08:41
This work has been completed. Please report any concerns or suggestions as new issues.