Your SlideShare is downloading. ×
Large Scale Migration from WebLogic to JBoss
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Large Scale Migration from WebLogic to JBoss

1,838
views

Published on

Presentation from JBoss World 2009

Presentation from JBoss World 2009

Published in: Technology

1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,838
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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'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't thrown out a long with BEA
  • Can't tell you who as work still ongoing One of the UK'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'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'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'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't charge by the cpu
  • End of reasons – look at migration approach As we'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'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->JB & JB->WLS)
  • Proposed solution explain next slide other things that don'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'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've started down the road let's see what we've seen is pretty rough
  • WLS docs are excellent can'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<->EJB across a NAT firewall both ways (WLS Network Channel and set external names etc. well documented) Jboss shudder in horror hopefully don'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'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'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't need SSL. If they can do it Jboss can do it. They'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'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'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.
  • Transcript

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