Large Scale Migration from WebLogic to JBoss Steve Millidge Director, C2B2 Consulting Limited September 3 rd  2009
Agenda <ul><li>Setting the Scene
The Approach
The Bad
The Ugly
The Good
The Future </li></ul>
Setting the Scene
C2B2 <ul><li>Focus on Deployment of Enterprise Middleware </li><ul><li>Fast
Secure </li></ul><li>Subcontracted for BEA PS
Subcontracted for RedHat PS
Ideally Placed to Help! </li></ul>
The Customer <ul><li>Large UK Government Department
Substantial Investment in WebLogic since 6.x
Many many applications in production
Extremely Large Data Volumes
24/7 operations
Many Systems Integrators </li></ul>
Technical Environment <ul><li>100s of WebLogic 8.1 managed servers
10s of Domains
100's of JEE Developers
RHEL Linux Blades
Custom Built Deployment </li></ul>
Complex N-Tier Systems <ul><li>Many Discrete Applications
Applications “Talk” to Each Other
EJB<->EJB interactions
JMS integration
Web Services
Separate Domains </li></ul>JMS
Bespoke Security Requirements <ul><li>Propagation of Principals </li><ul><li>Domain Credentials
JMS </li></ul><li>Authenticators
Identity Asserters
Complex Audit Requirements
Bespoke VPD </li></ul>
Heavy Tuning <ul><li>Extensive JMS Tuning
Session and Entity Bean tuning
Upcoming SlideShare
Loading in …5

Large Scale Migration from WebLogic to JBoss


Published on

Presentation from JBoss World 2009

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Cover a large scale migration for one of our customers
  • STS Review Who I am STS review what we are involved in Approach how we are approaching the migration Bad – What is currently bad and biting our behind Ugly – What is just plain ugly about Jboss Good what&apos;s good wrt WebLogic The future of the work THIS IS TECHNICAL BUT SEEMS TO BE IN THE STRATEGY TRACK SUITS (I doubt any would come anyway) SNOOZE IN THE GEEKY BITS
  • Warning - lots of pictures to liven things up a bit to stop us getting bored as lots of bullets Fortunately company has a subscription to a stock imagery website
  • Explain Fast, Reliable Manageable Secure Involved in supporting the customer throughout their extensive WebLogic deployment Luckily for us also extensive Jboss expertise so weren&apos;t thrown out a long with BEA
  • Can&apos;t tell you who as work still ongoing One of the UK&apos;s biggest IT employers Large scale data processing capabilities – Many databases with many Terrabytes of data 1 app Message rates of millions per day Atos Origin, Logica, CSC, Lockheed Martin, Detica, PA Consulting, HP(EDS), BT, Unisys so very political with complex integration
  • Each application is typically deployed on own servers in own domain All you can eat WLS license with a day of reckoning! Some just moved from 6 to 8 NO later than WLS8.1 apps (spent two years choosing a new app server!) Provides installation across many servers ssh configures the box and deploys all resources including the app (bit more later) Write config in their XML deploys everything. Substantial investment in WLS
  • Talk through example and cimmunications mechanisms Each a different project potentially built by a different SI with different change rates and release procedures. Complexity of inter communications Many other applications pulling data from many different databases. Key many communications and interlinked applications
  • Handle sensitive data Legal requirements for auditing etc. Explain Principal Propagation in WebLogic – single password Custom Authentication to work via 2way SSL Entrust Explain VPD as requires principal propagation
  • We&apos;ve been there as a consultancy for 4 years so had to do something. Almost every WebLogic specific tweak to JMS and EJBs has been done and there&apos;s a lot. Example tweaks – Thread pools for specific MDBs to prevent deadlocks and ensure sufficient MDB processing Fast query thread pools and slow query thread pools JMS session batch sizes to prevent slow consumers blocking Messaging Bridges for Store and Forward HA JMS configuration with Distributed Destinations This is now all humming nothing really to do last year as we know WLS 8.1 inside out. Infrastructure SI Decides to use JBoss !!!!!!
  • New outsourced infrastructure SI told to provide Hardware OS and JEE hosting we don&apos;t care what. They say JBoss on RHEL WTF!!! Hey Change is an opportunity for all you consultancies out there :-)
  • BEA rep told me – drill down a bit deeper on next slide Flexible, Agile development Off the Shelf Operating Environments (Amazon style) Spring, Hibernate in EJB 2.1 Only raised a handful of support cases as had us on site solving most problems – mainly bugs requiring patches New mandates from central government on open source usage Drill in deeper on next few slides
  • Surprisingly not the driver or the reason! Actually large cost associated. WebLogic development was humming along – engineers knew it Support knew it Change requires reeducation although some required with WLS 9 and 10 therefore not seen as a major downer.
  • New outsourced IT – On demand Operating Environments one of which JEE RHEL extensively so natural to go Jboss Evolved around JEE 1.4 limitations into Spring Hibernate Previously 1.4 so now learn capabilities Want to use SOA, ESB and Portals but big ticket items in Aqualogic and proprietary.
  • MAJOR reason We only raised a handful of cases mostly bugs also a danger for RH. License management! Story about expiration Support tickets sent to India when explicitly asked not to as about Government systems handled by UK team. Sick of stock send config.xml and upgrade to latest patch as difficult as against security policy so required sanitation (remove IP etc.) PS story about secret code We were there as BEA PS and solved most problems on site – actually cheaper to hire us at a day rate than pay big ticket support costs (c.f. 100 cpus) we don&apos;t charge by the cpu
  • End of reasons – look at migration approach As we&apos;ve seen huge complexity in links between applications. Incremental still ongoing many years to migrate. Some may never migrate. ALL new applications Jboss, JEE 5, EJB3, JPA and Web Services New releases of new apps in active maintenance on Jboss – simple port first Jboss release
  • Key result of this Remains maybe until app retirement (6 years?) Can&apos;t get around point 2 we must solve the problem All protocols We must do the security TX propagation NOT going to solve rearchitect bad anyway Relied on WLS clustering not about to do away with it Need to consider both directions – this approach works in both directions (WLS-&gt;JB &amp; JB-&gt;WLS)
  • Proposed solution explain next slide other things that don&apos;t work Explain security packageing and custom authenticator on both ends.
  • IIOP working after two weeks hacking around with JACORB CSIV2 - WLS client jar – incompatible CORBA ORBS failed! WLS 9/10 may work but worried about licensing Other direction tombstone works as well JBoss client in WLS (JDK mismatch compiled 1.5) didn&apos;t bother trying downgrade old version Jboss messaging bridge investigations ongoing Careful as WLS Bridges are XA so no dups or dropped messages
  • As promised we&apos;ve started down the road let&apos;s see what we&apos;ve seen is pretty rough
  • WLS docs are excellent can&apos;t fault. Extensive reference docs for every setting and tweak. Wiki much is old and appears out of date or difficult to know if applies to version you have and not OS latest Edocs can be downloaded – (Production Systems air gapped from the Internet for security) Example – EJB&lt;-&gt;EJB across a NAT firewall both ways (WLS Network Channel and set external names etc. well documented) Jboss shudder in horror hopefully don&apos;t have to solve!! Anybody here tell me for all subsystems JMS, EJB2.1, EJB3.0 after buy them a pint in the bar Another example JTA tx boundaries in Datasources is each Datasource a resource or require XA drivers can I combine them into one ESB??????
  • WebLogic has the domain – single config file make a change voila. Some applications 2xclusters 8 nodes each with a few standalone or mini clusters. Come up with a partial solution through shared disk and shared “core configuration” Came up with it after slides submitted so buy me a beer!!!!! Differences – Server Peer ID, JTA Node name, JVM Route
  • Not passed TCK so recently discovered Run AS doesn&apos;t work and is used extensively in their environment. Created our own EJB interceptor for Run As Admin which is what they require. One developer spent 5 days on the Servlet EJB injection
  • Not specific to Jboss just to the organisation They&apos;ve all gotta learn a helluva lot!!! Also wean them off Spring and onto JEE 5 instead with JPA
  • Look at the just plain ugly!!!!! Not much different from bad really but this is what is going to or has bitten us architecturally These could be easily fixed by productisation and a focus on Jboss as an integrated whole rather than a mish mash of OS projects. Needs product management effort
  • NO NEED!!!!! WebLogic 2 Plain and SSL one of you don&apos;t need SSL. If they can do it Jboss can do it. They&apos;ve had to come up with IP aliasing on the machine and virtual network cards to roll out to many developers on large scale test servers. Everybody just cuts and pastes Service Binding Manager. Bloody incomprehensible and fragile especially the XSLT stuff As I mentioned before. ESB adds a bunch more ports !!
  • Tombstones are ugly!!! If you are migrating need to analyse how apps talk to each other and approach each issue
  • Very important for this organisation. Developers are nice but the high tail it when things go live. Drill into this to compare and contrast in next slides Requires extensive changes to “out of the box” server configs. Monitoring – WLS console excellent visibility Writing our own PMON utiliity
  • LSD how do you roll out say 8 Jboss nodes 2 clusters seemlessly across 4 physical servers ! Having to put in place policies and procedures. Always put at least two nodes per server so if Hot lose one still retain processing power. Looking at shared SAN and specific “shared” configurations of Jboss with lightweight individual server configs. -D environment variables to change settings in the central XML on the fly. Invent it ourselves
  • Talk through the picture
  • OK so we&apos;ve bitched a lot about Jboss c.f. WebLogic What do we like about it !! Angel of the North – from my home city!! Good have been the Ugly picture according to some people back home
  • Not the licensing which is good but literally. ALWAYS download the code for the latest rev and keep near you. Take an exception look at the code. Solves things quickly. Stops Decompiling code – did a lot with WebLogic (SHUSH). Loses comments and line numbers. Developers here add more comments and I&apos;ll forgive the lack of docs Example if time -
  • Customer likes to add there own things in to transparently do stuff with so many dev teams. WebLogic colsed to that sort of thing Totally bespoke admin layout etc. Powerful but dangerous. Hook in our security pieces quickly and easily
  • Earlier did Eclipse RCP development WL Workshop proprietary bee hive stuff thankfully avoided Easy to get hold of stuff at home and play.
  • Moving to ESB and Jboss is a great fit ALSB hugely expensive and very SOAP oriented.
  • Earlier picture and SOAing it. Mitigate some of our interoperability and JMS problems.
  • Thought we would be further on when I submitted this presentation abstract. Simple ports have been painless apart from interoperability. Minor web app tweaks as WLS forgiving on deployment descriptors. Yet to port one of the formula one apps likely to remain as legacy and new versions written in JBoss.
  • Large Scale Migration from WebLogic to JBoss

    1. 2. Large Scale Migration from WebLogic to JBoss Steve Millidge Director, C2B2 Consulting Limited September 3 rd 2009
    2. 3. Agenda <ul><li>Setting the Scene
    3. 4. The Approach
    4. 5. The Bad
    5. 6. The Ugly
    6. 7. The Good
    7. 8. The Future </li></ul>
    8. 9. Setting the Scene
    9. 10. C2B2 <ul><li>Focus on Deployment of Enterprise Middleware </li><ul><li>Fast
    10. 11. Reliable
    11. 12. Manageable
    12. 13. Secure </li></ul><li>Subcontracted for BEA PS
    13. 14. Subcontracted for RedHat PS
    14. 15. Ideally Placed to Help! </li></ul>
    15. 16. The Customer <ul><li>Large UK Government Department
    16. 17. Substantial Investment in WebLogic since 6.x
    17. 18. Many many applications in production
    18. 19. Extremely Large Data Volumes
    19. 20. 24/7 operations
    20. 21. Many Systems Integrators </li></ul>
    21. 22. Technical Environment <ul><li>100s of WebLogic 8.1 managed servers
    22. 23. 10s of Domains
    23. 24. 100's of JEE Developers
    24. 25. RHEL Linux Blades
    25. 26. Custom Built Deployment </li></ul>
    26. 27. Complex N-Tier Systems <ul><li>Many Discrete Applications
    27. 28. Applications “Talk” to Each Other
    28. 29. EJB<->EJB interactions
    29. 30. JMS integration
    30. 31. Web Services
    31. 32. Separate Domains </li></ul>JMS
    32. 33. Bespoke Security Requirements <ul><li>Propagation of Principals </li><ul><li>Domain Credentials
    33. 34. JMS </li></ul><li>Authenticators
    34. 35. Identity Asserters
    35. 36. Complex Audit Requirements
    36. 37. Bespoke VPD </li></ul>
    37. 38. Heavy Tuning <ul><li>Extensive JMS Tuning
    38. 39. Session and Entity Bean tuning
    39. 40. High Availability Configuration
    40. 41. WebLogic Performance Tuning </li></ul>
    41. 42. The Approach
    42. 43. Why Migrate at All? <ul><li>Money? </li><ul><li>No! </li></ul><li>New Architectures
    43. 44. Support
    44. 45. Government Push into Open Source </li></ul>The Time was Right
    45. 46. Money <ul><li>NOT the primary reason
    46. 47. “Not the Reason” </li><ul><li>According to BEA sales Rep </li></ul><li>Cost of change can be great </li><ul><li>Re-education
    47. 48. Development Work </li></ul></ul>
    48. 49. New Architectures <ul><li>Agile Dynamic Infrastructure </li><ul><li>Virtualised Linux </li></ul><li>New Frameworks </li><ul><li>Spring, Hibernate </li></ul><li>JDK 5
    49. 50. JEE 5
    50. 51. SOA and ESB </li></ul>Cost of Change Great for WLS 10 and AquaLogic
    51. 52. Support <ul><li>BEA Support not seen as good value
    52. 53. On-site consultancy support better value
    53. 54. Red Hat support good </li><ul><li>RHEL customers </li></ul><li>Open Source means rapid problem resolution and fixes </li></ul>
    54. 55. Migration <ul><li>Incremental Approach
    55. 56. New Applications JBoss
    56. 57. Slow migration of legacy </li></ul>
    57. 58. Interoperability <ul><li>WebLogic Remains
    58. 59. JBoss needs to talk to WebLogic
    59. 60. SOAP, JMS and EJB
    60. 61. Requirements </li><ul><li>Security Propagation
    61. 62. Load Balancing
    62. 63. Fail Over </li></ul></ul>
    63. 64. Tombstones <ul><li>JBoss Client has the same EJB client interface
    64. 65. Packages up parameters and Security principal
    65. 66. Invokes Servlet in Tombstone
    66. 67. Unpackages Security authenticates to WLS
    67. 68. Invokes EJB in WebLogic Server </li></ul>EJB EJB Client
    68. 69. Tombstones (2) <ul><li>IIOP </li><ul><li>EJB Spec requirement
    69. 70. Can be made to work
    70. 71. No load balancing or fail over </li></ul><li>Tombstone </li><ul><li>Provides Load Balancing and Failover
    71. 72. Identity Propagation infrastructure </li></ul><li>JMS Still not solved </li></ul>
    72. 73. The Bad
    73. 74. Documentation <ul><li>JBoss Docs are BAD </li><ul><li>Difficult to get Version
    74. 75. Difficult to work out what applies </li></ul><li>Download the Source </li><ul><li>Ultimate Documentation </li></ul></ul>
    75. 76. JBoss Administration <ul><li>Easy it is NOT
    76. 77. Too much XML Editing
    77. 78. No Central Configuration
    78. 79. No Rollout to a “Domain”
    79. 80. Each Server Subtly Different
    80. 81. Jmx-console too much crud </li></ul>
    81. 82. JEE 5 Compliance <ul><li>JBEAP NOT JEE 5 Compliant
    82. 83. No EJB->Servlet injection
    83. 84. Many minor issues
    84. 85. Causes Project Delay
    85. 86. Causes developer confusion </li></ul>
    86. 87. Mind shift <ul><li>Developers experienced in J2EE 1.3
    87. 88. Large Education Cost to shift to JEE 5
    88. 89. Java 5 upskill
    89. 90. JPA upskill
    90. 91. EJB upskill
    91. 92. ESB new model </li></ul>Better but different
    92. 93. The Ugly
    93. 94. Ports <ul><li>How many ports are there in JBoss? </li><ul><li>2 in WebLogic
    94. 95. Service Binding a Hack </li></ul><li>Many developers per Machine </li><ul><li>Nightmare! </li></ul><li>NAT </li><ul><li>Where is the definitive answer? </li></ul></ul>Red Hat sort it out Please!
    95. 96. Interoperability <ul><li>You must address this
    96. 97. What do you rely on now? </li><ul><li>JTA and XA
    97. 98. Principal Propagation
    98. 99. Load Balancing
    99. 100. Failover
    100. 101. Same JDK version </li></ul><li>Nothing works “out of the box” </li></ul>
    101. 102. Operational Management <ul><li>Consistent Large Scale Deployment difficult </li><ul><li>Haven't addressed this yet </li></ul><li>Across “Domain” monitoring difficult even with JON
    102. 103. Useful things not available </li><ul><li>Active JTA transactions </li></ul><li>No Node Manager </li></ul>
    103. 104. Operational Management (JBoss Cluster) <ul><li>XML files require differences </li><ul><li>Node ID (Web, JMS, XA)
    104. 105. Ports (if on the same host) </li></ul><li>Edits and deployments manually pushed to ALL </li></ul>… x4 XML Config XML Config XML Config XML Config
    105. 106. Operational Management (WebLogic Cluster) … x4 <ul><li>Single
    106. 107. Effective Clusterwide Deployment
    107. 108. Start and Stop servers remotely </li></ul>XML Config
    108. 109. The Good
    109. 110. Open Source <ul><li>Saves Huge Amounts of Time </li><ul><li>Solve problems fast </li></ul><li>See how things really work </li><ul><li>Security
    110. 111. Internals </li></ul><li>Fix critical issues
    111. 112. Ultimate Documentation </li></ul>
    112. 113. Flexibility <ul><li>JBoss is SO Flexible
    113. 114. Everything is configurable
    114. 115. Easy to Hook in Code </li><ul><li>EJB Interceptor stack
    115. 116. AOP
    116. 117. Security providers
    117. 118. Many more! </li></ul></ul>
    118. 119. Developer Productivity <ul><li>Developers Experienced in Eclipse
    119. 120. Poor Integration with WLS
    120. 121. Excellent Eclipse Integration with JBoss
    121. 122. Investigating SEAM </li></ul>
    122. 123. ESB <ul><li>ESB Great Fit for the Business
    123. 124. Lightweight
    124. 125. Provides BPMS
    125. 126. Heavily Message Oriented </li></ul>
    126. 127. The Future
    127. 128. Major ESB Deployment <ul><li>Developing a Major ESB infrastructure
    128. 129. 20 million messages per day
    129. 130. Orchestrating many data processing systems using JBPM
    130. 131. Large scale deployment
    131. 132. Federated UDDI </li></ul>
    132. 133. Migrate in Earnest <ul><li>Initial Applications Ported
    133. 134. Custom Security Code Ported
    134. 135. Interoperability proved
    135. 136. Deployment and Management still to solve </li></ul>Large Scale Migration starting NOW!