Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
CAP2194 - An end to end case studyMigrating Java Applications from Weblogic to vFabric Cloud Application Platform “Start your Journey to PaaS”Thirumalesh Reddy, VMwareRama Kanneganti, HCL
Migrating from Weblogic to vFabric - Opening RemarksCloud Application Platform – Start your journey to PaaSMigration has real business benefitsIncreased agility and reliabilityReduced deployment downtimesScales to future growthReduced Cap-Ex and Op-Ex costsReduced Hardware FootprintHighly adaptive to business and customer needs
Migrating Java Applications from Weblogic to vFabric AgendaRationale for migrationSteps in migrationTaking advantage of the new platformConcluding Remarks
Problem ContextEnterprise custom Java applications are expensive and complex to build, deploy, scale and manageTypical problems:DevelopmentObsolete toolkits and no clear choice of toolkit (Struts, anyone?)No fully integrated stack resulting in lack of control and risk OperationalLack of support for developer-friendly toolsLack of industry and communityIndustryShortage of skill setsFragmented market space leading to uncertainty.VMware problem: Higher % of downtime leading to poor customer satisfaction; and high cost of development and operations
More details on the VMware problemBusiness expects agility, reliability and lower costs…… but I have performance, instability, manageability monitoring and analyzing issues with current platform!We used to own the servers running our apps. Now we don’t know if the apps can get the resources they need to run well.We’ve spent a fortune on monitoring tools. Why are our end users still the first to know about performance problems and why do they take so long to solve?VMware IT… what is needed is a scalable, robust, and manageable platform that is built on modern tools and technologies!faster service execution at lower cost…
Why migrate?General solution to our problem: Migrate to a new platform.Constraints: Retain functionalityAddress perceived issuesCreating a business caseDue to platform issues there is a high cost for downtimes ad-hoc fixing of problems not having the right monitoring toolsdevelopment with a disparate technology stack. hardware costs to scale with complex resources intensive application serversMigration Costsnew platform creationcode migrationcost of testing
Sample Business case templateMigration of technology stacks is an IT askChallenge: Creating a business case  with quantitative and qualitative benefits/outcomes with supporting data and a cost model with the projected cost savings. Core value proposition: Increase the availability and resiliency and reduce development and operational costs.Our Business case:Quantitative:Reduce ongoing development and operational costs by 15%Reduce hardware costs by 30%Reduce downtime support requests by 25%Reduce software costs by 40%Qualitative:Improve reliability, availability and scale of customer-facing portals Standardize technology stack with a full fledged integrated platformIncrease agility, productivity and reusabilityEmbrace open source with abundant skill-set availabilityStrategic:Cloud Application Platform – Start the journey to the PaaS
Steps in migrationDefining the scopeDefining the new target platformDefining a development platformSteps in porting the applicationPattern translationsCompatibility library creationTesting the applicationCreating standard deploymentRun books, training of Ops resourcesEnhancing the platformOperational enhancementsEmbark the PaaS journey
Defining the scope of migrationFactors to considerChanges in architecture?Functionality changes?Code refactoring?Elimination of dead code, general clean upModularization to support future code changesCode changes to follow the new patterns for the new platformFixing known bugs & metrics for code qualityTypical choices:Migrate the code as is: minimal changesAs part of migration make changes that address current issuesGuideline: Use business case to create a migration strategy Define phases and success criteria Guided by business case and visibility requirements
Our scopeSummary: We had to change the architecture to support the business case, and the code to support those architecture changes; and code changes to Spring paradigm such as IoC. No new functionality.
Defining the new target platformGeneral frameworkWhich components of vFabric to use?Which third party (legacy components) to integrate?Other improvement choicesCaching (Gemfire)Monitoring and Metrics (Hyperic)Operational improvements: vCloud director, vCOWhat we did:Full fledged vFabric stack to unlock the full potentialSpring WS for the back-end service IntegrationsSpring Security for securing the appsOptimized application performance using GemfireStability and availability with fault-tolerant cluster deployment on light-weight tc ServersProactive monitoring, complete diagnostics and mgmt using HypericApplication workloads provisioning and mgmt using vCloud Director and vCO
New Target platformTarget Custom Web Applications PlatformPresentation – AJAX, CSS, JQueryFrameworks & ToolsPortals/Widgets – Spring Web MVC, Spring Web Flow, Spring Framework 3.0Web Service Integration – Spring WSSecurity – Spring SecurityPersistence – HibernateAudit/Logging - ApacheLDAP – Spring LDAPCaching – GemfireAlert Mgmt - CustomCommon Application ServicesPlatform ServicesGemFireApache Web ServerSpring tc App ServerHypericCloud Infrastructure and ManagementCloud Application Platform – Start journey to PaaS
Defining a development platformUsing a virtualized devenvSTS and other toolsLocal installations of vFabric tc Server, Gemfire, Hyperic Processes for setting up and self-provisioning the virtual environmentsWhat we did:Used primarily STS as the development IDE, Maven build manager, Bamboo build serverSonar as the development quality management platformAutomated self-provisioning of fully configured Dev IDE (STS) and deployment environments (vFabric tc Server, Gemfire, Hyperic) using vCloud Director and vCenter Orchestrator.
Architectural changes
Porting the applicationWhat we did…Porting the WL-specific code through:
Configuration changes to move to vFabrictc Server – Cloud App Platform
WL portal code changed to Spring MVC
Security code (Authentication and Authz) changed to Spring Security
Pattern based refactoring
Migration of the code to configuration (eg: Spring Security)
Inversion of control paradigm to modularize the code – mostly addressing the low hanging fruit.What we found…Weblogic specific code:
Weblogic modified Beehive was being used for MVC layer.
Weblogic netuix tag libraries were used on the portal
Weblogic Personalization was being used for AuthN and AuthZ
Non-scalable practices:
RMI was used for Integration Layer

More Related Content

What's hot

Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision APIUsing Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
VMware Tanzu
 
Cloud_Testing_The_future_of_softwareV1.04
Cloud_Testing_The_future_of_softwareV1.04Cloud_Testing_The_future_of_softwareV1.04
Cloud_Testing_The_future_of_softwareV1.04
Mrityunjaya Hikkalgutti
 
IBM Cloud Paks - IBM Cloud
IBM Cloud Paks - IBM CloudIBM Cloud Paks - IBM Cloud
IBM Cloud Paks - IBM Cloud
AniaPaplaCardenal
 
DevOps automation for Container based App Delivery
DevOps automation for Container based App DeliveryDevOps automation for Container based App Delivery
DevOps automation for Container based App Delivery
WaveMaker, Inc.
 
Cloud Migration: Moving to the Cloud
Cloud Migration: Moving to the CloudCloud Migration: Moving to the Cloud
Cloud Migration: Moving to the Cloud
Dr.-Ing. Michael Menzel
 
Multi-cloud integration architecture
Multi-cloud integration architectureMulti-cloud integration architecture
Multi-cloud integration architecture
Kim Clark
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
VMware Tanzu
 
Automating agile integration
Automating agile integrationAutomating agile integration
Automating agile integration
Kim Clark
 
Cloud Testing
Cloud TestingCloud Testing
Cloud Testing
Binnate E Hawwa
 
Best Practices for Monitoring Your Cloud Environment and Applications
Best Practices for Monitoring Your Cloud Environment and ApplicationsBest Practices for Monitoring Your Cloud Environment and Applications
Best Practices for Monitoring Your Cloud Environment and Applications
Prolifics
 
Practical Guide to Platform-as-a-Service
Practical Guide to Platform-as-a-Service Practical Guide to Platform-as-a-Service
Practical Guide to Platform-as-a-Service
Cloud Standards Customer Council
 
Understand the future of software development in the cloud with the azure app...
Understand the future of software development in the cloud with the azure app...Understand the future of software development in the cloud with the azure app...
Understand the future of software development in the cloud with the azure app...
Jeremy Thake
 
Cloud Maturity Model: The Road to Adoption
Cloud Maturity Model: The Road to AdoptionCloud Maturity Model: The Road to Adoption
Cloud Maturity Model: The Road to Adoption
Open Data Center Alliance
 
Cloud migration process simplified, innovate vancouver
Cloud migration process   simplified, innovate vancouverCloud migration process   simplified, innovate vancouver
Cloud migration process simplified, innovate vancouver
Innovate Vancouver
 
CRM Trilogix; Migrating Legacy Systems to the Cloud
CRM Trilogix; Migrating Legacy Systems to the CloudCRM Trilogix; Migrating Legacy Systems to the Cloud
CRM Trilogix; Migrating Legacy Systems to the Cloud
Craig F.R Read
 
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
Michael Elder
 
Emerging Cloud Migration Approaches
Emerging Cloud Migration ApproachesEmerging Cloud Migration Approaches
Emerging Cloud Migration Approaches
Arvind Viswanathan
 
VMworld 2013: Tools and Techniques to Manage the Hybrid Cloud Environment
VMworld 2013: Tools and Techniques to Manage the Hybrid Cloud Environment VMworld 2013: Tools and Techniques to Manage the Hybrid Cloud Environment
VMworld 2013: Tools and Techniques to Manage the Hybrid Cloud Environment
VMworld
 
IBM Cloud
IBM Cloud IBM Cloud
IBM Cloud
AniaPaplaCardenal
 
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM CloudDevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
Michael Elder
 

What's hot (20)

Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision APIUsing Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
Using Pivotal Cloud Foundry with Google’s BigQuery and Cloud Vision API
 
Cloud_Testing_The_future_of_softwareV1.04
Cloud_Testing_The_future_of_softwareV1.04Cloud_Testing_The_future_of_softwareV1.04
Cloud_Testing_The_future_of_softwareV1.04
 
IBM Cloud Paks - IBM Cloud
IBM Cloud Paks - IBM CloudIBM Cloud Paks - IBM Cloud
IBM Cloud Paks - IBM Cloud
 
DevOps automation for Container based App Delivery
DevOps automation for Container based App DeliveryDevOps automation for Container based App Delivery
DevOps automation for Container based App Delivery
 
Cloud Migration: Moving to the Cloud
Cloud Migration: Moving to the CloudCloud Migration: Moving to the Cloud
Cloud Migration: Moving to the Cloud
 
Multi-cloud integration architecture
Multi-cloud integration architectureMulti-cloud integration architecture
Multi-cloud integration architecture
 
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
Eseguire Applicazioni Cloud-Native con Pivotal Cloud Foundry su Google Cloud ...
 
Automating agile integration
Automating agile integrationAutomating agile integration
Automating agile integration
 
Cloud Testing
Cloud TestingCloud Testing
Cloud Testing
 
Best Practices for Monitoring Your Cloud Environment and Applications
Best Practices for Monitoring Your Cloud Environment and ApplicationsBest Practices for Monitoring Your Cloud Environment and Applications
Best Practices for Monitoring Your Cloud Environment and Applications
 
Practical Guide to Platform-as-a-Service
Practical Guide to Platform-as-a-Service Practical Guide to Platform-as-a-Service
Practical Guide to Platform-as-a-Service
 
Understand the future of software development in the cloud with the azure app...
Understand the future of software development in the cloud with the azure app...Understand the future of software development in the cloud with the azure app...
Understand the future of software development in the cloud with the azure app...
 
Cloud Maturity Model: The Road to Adoption
Cloud Maturity Model: The Road to AdoptionCloud Maturity Model: The Road to Adoption
Cloud Maturity Model: The Road to Adoption
 
Cloud migration process simplified, innovate vancouver
Cloud migration process   simplified, innovate vancouverCloud migration process   simplified, innovate vancouver
Cloud migration process simplified, innovate vancouver
 
CRM Trilogix; Migrating Legacy Systems to the Cloud
CRM Trilogix; Migrating Legacy Systems to the CloudCRM Trilogix; Migrating Legacy Systems to the Cloud
CRM Trilogix; Migrating Legacy Systems to the Cloud
 
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
Continuous Delivery on IBM Bluemix: Manage Cloud Native Services with Cloud N...
 
Emerging Cloud Migration Approaches
Emerging Cloud Migration ApproachesEmerging Cloud Migration Approaches
Emerging Cloud Migration Approaches
 
VMworld 2013: Tools and Techniques to Manage the Hybrid Cloud Environment
VMworld 2013: Tools and Techniques to Manage the Hybrid Cloud Environment VMworld 2013: Tools and Techniques to Manage the Hybrid Cloud Environment
VMworld 2013: Tools and Techniques to Manage the Hybrid Cloud Environment
 
IBM Cloud
IBM Cloud IBM Cloud
IBM Cloud
 
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM CloudDevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
 

Similar to Cap2194 migration from weblogic to v fabric - cloud application platform

Migration from Weblogic to vFabric Cloud App Platform
Migration from Weblogic to vFabric Cloud App PlatformMigration from Weblogic to vFabric Cloud App Platform
Migration from Weblogic to vFabric Cloud App Platform
VMware vFabric
 
VMworld 2013: How to Replace Websphere Application Server (WAS) with TCserver
VMworld 2013: How to Replace Websphere Application Server (WAS) with TCserver VMworld 2013: How to Replace Websphere Application Server (WAS) with TCserver
VMworld 2013: How to Replace Websphere Application Server (WAS) with TCserver
VMworld
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld
 
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Arraya Solutions
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
Paul Czarkowski
 
CSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps sessionCSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps session
Tom Laszewski
 
VMworld 2013: VMware and Puppet: How to Plan, Deploy & Manage Modern Applicat...
VMworld 2013: VMware and Puppet: How to Plan, Deploy & Manage Modern Applicat...VMworld 2013: VMware and Puppet: How to Plan, Deploy & Manage Modern Applicat...
VMworld 2013: VMware and Puppet: How to Plan, Deploy & Manage Modern Applicat...
VMworld
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
VMware Tanzu
 
Hybrid Cloud Orchestration: How SuperChoice Does It
Hybrid Cloud Orchestration: How SuperChoice Does ItHybrid Cloud Orchestration: How SuperChoice Does It
Hybrid Cloud Orchestration: How SuperChoice Does It
RightScale
 
Continuous Delivery for cloud - scenarios and scope
Continuous Delivery for cloud  - scenarios and scopeContinuous Delivery for cloud  - scenarios and scope
Continuous Delivery for cloud - scenarios and scope
Sanjeev Sharma
 
Presentation business critical applications in a virtual env
Presentation   business critical applications in a virtual envPresentation   business critical applications in a virtual env
Presentation business critical applications in a virtual env
solarisyourep
 
Presentation business critical applications in a virtual env
Presentation   business critical applications in a virtual envPresentation   business critical applications in a virtual env
Presentation business critical applications in a virtual env
xKinAnx
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
Sanjeev Sharma
 
vCAC and VMware SDE
vCAC and VMware SDEvCAC and VMware SDE
vCAC and VMware SDE
VMUG IT
 
VMworld 2013: Architecting the Software-Defined Data Center
VMworld 2013: Architecting the Software-Defined Data Center VMworld 2013: Architecting the Software-Defined Data Center
VMworld 2013: Architecting the Software-Defined Data Center
VMworld
 
Presentation advanced management – the road ahead
Presentation   advanced management – the road aheadPresentation   advanced management – the road ahead
Presentation advanced management – the road ahead
xKinAnx
 
Presentation advanced management – the road ahead
Presentation   advanced management – the road aheadPresentation   advanced management – the road ahead
Presentation advanced management – the road ahead
solarisyourep
 
IT Modernization For Process Modernization
IT Modernization For Process ModernizationIT Modernization For Process Modernization
IT Modernization For Process Modernization
Dheeraj Remella
 
VMworld 2013: Extend VMware’s Cloud Automation Solution with vCenter Orchestr...
VMworld 2013: Extend VMware’s Cloud Automation Solution with vCenter Orchestr...VMworld 2013: Extend VMware’s Cloud Automation Solution with vCenter Orchestr...
VMworld 2013: Extend VMware’s Cloud Automation Solution with vCenter Orchestr...
VMworld
 
VMworld 2013: Practicing What We Preach: VMware IT on vCenter Operations Mana...
VMworld 2013: Practicing What We Preach: VMware IT on vCenter Operations Mana...VMworld 2013: Practicing What We Preach: VMware IT on vCenter Operations Mana...
VMworld 2013: Practicing What We Preach: VMware IT on vCenter Operations Mana...
VMworld
 

Similar to Cap2194 migration from weblogic to v fabric - cloud application platform (20)

Migration from Weblogic to vFabric Cloud App Platform
Migration from Weblogic to vFabric Cloud App PlatformMigration from Weblogic to vFabric Cloud App Platform
Migration from Weblogic to vFabric Cloud App Platform
 
VMworld 2013: How to Replace Websphere Application Server (WAS) with TCserver
VMworld 2013: How to Replace Websphere Application Server (WAS) with TCserver VMworld 2013: How to Replace Websphere Application Server (WAS) with TCserver
VMworld 2013: How to Replace Websphere Application Server (WAS) with TCserver
 
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
VMworld 2013: Moving Enterprise Application Dev/Test to VMware’s Internal Pri...
 
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
Gain Insights, Make Decisions, and Take Action Across a Streamlined and Autom...
 
Application Modernization with PKS / Kubernetes
Application Modernization with PKS / KubernetesApplication Modernization with PKS / Kubernetes
Application Modernization with PKS / Kubernetes
 
CSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps sessionCSC AWS re:Invent Enterprise DevOps session
CSC AWS re:Invent Enterprise DevOps session
 
VMworld 2013: VMware and Puppet: How to Plan, Deploy & Manage Modern Applicat...
VMworld 2013: VMware and Puppet: How to Plan, Deploy & Manage Modern Applicat...VMworld 2013: VMware and Puppet: How to Plan, Deploy & Manage Modern Applicat...
VMworld 2013: VMware and Puppet: How to Plan, Deploy & Manage Modern Applicat...
 
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
vCloud Automation Center and Pivotal Cloud Foundry – Better PaaS Solution (VM...
 
Hybrid Cloud Orchestration: How SuperChoice Does It
Hybrid Cloud Orchestration: How SuperChoice Does ItHybrid Cloud Orchestration: How SuperChoice Does It
Hybrid Cloud Orchestration: How SuperChoice Does It
 
Continuous Delivery for cloud - scenarios and scope
Continuous Delivery for cloud  - scenarios and scopeContinuous Delivery for cloud  - scenarios and scope
Continuous Delivery for cloud - scenarios and scope
 
Presentation business critical applications in a virtual env
Presentation   business critical applications in a virtual envPresentation   business critical applications in a virtual env
Presentation business critical applications in a virtual env
 
Presentation business critical applications in a virtual env
Presentation   business critical applications in a virtual envPresentation   business critical applications in a virtual env
Presentation business critical applications in a virtual env
 
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit sessionDevOps and Application Delivery for Hybrid Cloud  - DevOpsSummit session
DevOps and Application Delivery for Hybrid Cloud - DevOpsSummit session
 
vCAC and VMware SDE
vCAC and VMware SDEvCAC and VMware SDE
vCAC and VMware SDE
 
VMworld 2013: Architecting the Software-Defined Data Center
VMworld 2013: Architecting the Software-Defined Data Center VMworld 2013: Architecting the Software-Defined Data Center
VMworld 2013: Architecting the Software-Defined Data Center
 
Presentation advanced management – the road ahead
Presentation   advanced management – the road aheadPresentation   advanced management – the road ahead
Presentation advanced management – the road ahead
 
Presentation advanced management – the road ahead
Presentation   advanced management – the road aheadPresentation   advanced management – the road ahead
Presentation advanced management – the road ahead
 
IT Modernization For Process Modernization
IT Modernization For Process ModernizationIT Modernization For Process Modernization
IT Modernization For Process Modernization
 
VMworld 2013: Extend VMware’s Cloud Automation Solution with vCenter Orchestr...
VMworld 2013: Extend VMware’s Cloud Automation Solution with vCenter Orchestr...VMworld 2013: Extend VMware’s Cloud Automation Solution with vCenter Orchestr...
VMworld 2013: Extend VMware’s Cloud Automation Solution with vCenter Orchestr...
 
VMworld 2013: Practicing What We Preach: VMware IT on vCenter Operations Mana...
VMworld 2013: Practicing What We Preach: VMware IT on vCenter Operations Mana...VMworld 2013: Practicing What We Preach: VMware IT on vCenter Operations Mana...
VMworld 2013: Practicing What We Preach: VMware IT on vCenter Operations Mana...
 

Recently uploaded

“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
Edge AI and Vision Alliance
 
Running a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU ImpactsRunning a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU Impacts
ScyllaDB
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
SeasiaInfotech2
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
ScyllaDB
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1
FellyciaHikmahwarani
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
Raphaël Semeteys
 
What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)
Margaret Fero
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
crioux1
 
K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
The Digital Insurer
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
James Anderson
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
Linda Zhang
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
uuuot
 

Recently uploaded (20)

“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
“Intel’s Approach to Operationalizing AI in the Manufacturing Sector,” a Pres...
 
Running a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU ImpactsRunning a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU Impacts
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1Why do You Have to Redesign?_Redesign Challenge Day 1
Why do You Have to Redesign?_Redesign Challenge Day 1
 
AI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AIAI_dev Europe 2024 - From OpenAI to Opensource AI
AI_dev Europe 2024 - From OpenAI to Opensource AI
 
What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)What Not to Document and Why_ (North Bay Python 2024)
What Not to Document and Why_ (North Bay Python 2024)
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
 
K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
 
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating AppsecGDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
GDG Cloud Southlake #34: Neatsun Ziv: Automating Appsec
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
 

Cap2194 migration from weblogic to v fabric - cloud application platform

  • 1. CAP2194 - An end to end case studyMigrating Java Applications from Weblogic to vFabric Cloud Application Platform “Start your Journey to PaaS”Thirumalesh Reddy, VMwareRama Kanneganti, HCL
  • 2. Migrating from Weblogic to vFabric - Opening RemarksCloud Application Platform – Start your journey to PaaSMigration has real business benefitsIncreased agility and reliabilityReduced deployment downtimesScales to future growthReduced Cap-Ex and Op-Ex costsReduced Hardware FootprintHighly adaptive to business and customer needs
  • 3. Migrating Java Applications from Weblogic to vFabric AgendaRationale for migrationSteps in migrationTaking advantage of the new platformConcluding Remarks
  • 4. Problem ContextEnterprise custom Java applications are expensive and complex to build, deploy, scale and manageTypical problems:DevelopmentObsolete toolkits and no clear choice of toolkit (Struts, anyone?)No fully integrated stack resulting in lack of control and risk OperationalLack of support for developer-friendly toolsLack of industry and communityIndustryShortage of skill setsFragmented market space leading to uncertainty.VMware problem: Higher % of downtime leading to poor customer satisfaction; and high cost of development and operations
  • 5. More details on the VMware problemBusiness expects agility, reliability and lower costs…… but I have performance, instability, manageability monitoring and analyzing issues with current platform!We used to own the servers running our apps. Now we don’t know if the apps can get the resources they need to run well.We’ve spent a fortune on monitoring tools. Why are our end users still the first to know about performance problems and why do they take so long to solve?VMware IT… what is needed is a scalable, robust, and manageable platform that is built on modern tools and technologies!faster service execution at lower cost…
  • 6. Why migrate?General solution to our problem: Migrate to a new platform.Constraints: Retain functionalityAddress perceived issuesCreating a business caseDue to platform issues there is a high cost for downtimes ad-hoc fixing of problems not having the right monitoring toolsdevelopment with a disparate technology stack. hardware costs to scale with complex resources intensive application serversMigration Costsnew platform creationcode migrationcost of testing
  • 7. Sample Business case templateMigration of technology stacks is an IT askChallenge: Creating a business case with quantitative and qualitative benefits/outcomes with supporting data and a cost model with the projected cost savings. Core value proposition: Increase the availability and resiliency and reduce development and operational costs.Our Business case:Quantitative:Reduce ongoing development and operational costs by 15%Reduce hardware costs by 30%Reduce downtime support requests by 25%Reduce software costs by 40%Qualitative:Improve reliability, availability and scale of customer-facing portals Standardize technology stack with a full fledged integrated platformIncrease agility, productivity and reusabilityEmbrace open source with abundant skill-set availabilityStrategic:Cloud Application Platform – Start the journey to the PaaS
  • 8. Steps in migrationDefining the scopeDefining the new target platformDefining a development platformSteps in porting the applicationPattern translationsCompatibility library creationTesting the applicationCreating standard deploymentRun books, training of Ops resourcesEnhancing the platformOperational enhancementsEmbark the PaaS journey
  • 9. Defining the scope of migrationFactors to considerChanges in architecture?Functionality changes?Code refactoring?Elimination of dead code, general clean upModularization to support future code changesCode changes to follow the new patterns for the new platformFixing known bugs & metrics for code qualityTypical choices:Migrate the code as is: minimal changesAs part of migration make changes that address current issuesGuideline: Use business case to create a migration strategy Define phases and success criteria Guided by business case and visibility requirements
  • 10. Our scopeSummary: We had to change the architecture to support the business case, and the code to support those architecture changes; and code changes to Spring paradigm such as IoC. No new functionality.
  • 11. Defining the new target platformGeneral frameworkWhich components of vFabric to use?Which third party (legacy components) to integrate?Other improvement choicesCaching (Gemfire)Monitoring and Metrics (Hyperic)Operational improvements: vCloud director, vCOWhat we did:Full fledged vFabric stack to unlock the full potentialSpring WS for the back-end service IntegrationsSpring Security for securing the appsOptimized application performance using GemfireStability and availability with fault-tolerant cluster deployment on light-weight tc ServersProactive monitoring, complete diagnostics and mgmt using HypericApplication workloads provisioning and mgmt using vCloud Director and vCO
  • 12. New Target platformTarget Custom Web Applications PlatformPresentation – AJAX, CSS, JQueryFrameworks & ToolsPortals/Widgets – Spring Web MVC, Spring Web Flow, Spring Framework 3.0Web Service Integration – Spring WSSecurity – Spring SecurityPersistence – HibernateAudit/Logging - ApacheLDAP – Spring LDAPCaching – GemfireAlert Mgmt - CustomCommon Application ServicesPlatform ServicesGemFireApache Web ServerSpring tc App ServerHypericCloud Infrastructure and ManagementCloud Application Platform – Start journey to PaaS
  • 13. Defining a development platformUsing a virtualized devenvSTS and other toolsLocal installations of vFabric tc Server, Gemfire, Hyperic Processes for setting up and self-provisioning the virtual environmentsWhat we did:Used primarily STS as the development IDE, Maven build manager, Bamboo build serverSonar as the development quality management platformAutomated self-provisioning of fully configured Dev IDE (STS) and deployment environments (vFabric tc Server, Gemfire, Hyperic) using vCloud Director and vCenter Orchestrator.
  • 15. Porting the applicationWhat we did…Porting the WL-specific code through:
  • 16. Configuration changes to move to vFabrictc Server – Cloud App Platform
  • 17. WL portal code changed to Spring MVC
  • 18. Security code (Authentication and Authz) changed to Spring Security
  • 20. Migration of the code to configuration (eg: Spring Security)
  • 21. Inversion of control paradigm to modularize the code – mostly addressing the low hanging fruit.What we found…Weblogic specific code:
  • 22. Weblogic modified Beehive was being used for MVC layer.
  • 23. Weblogic netuix tag libraries were used on the portal
  • 24. Weblogic Personalization was being used for AuthN and AuthZ
  • 26. RMI was used for Integration Layer
  • 27. Multiple Logging frameworks were used for application Logging.Pattern examplesUse of Spring WS InterceptorUsage of “Member-Variables” in Controllers - vFabric: Convert to Session variables in Spring MVCPersisting Application Logging to DatabaseJSON Support - leveraging Spring-Jackson JSON LibrariesController AnnotationsBeehive Pageflow Annotations converted to Spring MVC RequestMappingsNetuix tag libraries converted to MVC and JSTL Tag libraries.Authorization – Spring security; configuration drivenException and Error Handling
  • 28. TestingFunctional testing:Re-used the existing automated functional tests: 90% of tests are these.Modification to support new front end enhancements (Middleware offline mode is new, tc Server session fail-over is new)Operational testingNew performance test cases needed to be added.New test cases to test offline modevFabric fault-tolerance capability.the Gemfire cachingthe instance provisioning predictability
  • 29. Deployment ProcessPain point addressed: Long downtime for upgrades WL Server deployment times were 20 minutes per node.WL Server startup times were 20 minutes per node.This lead to at-least 40 min added downtime if all portals were to be handled in parallel.Upgraded to Maven 2Easier management of componentsSimplified build processNew deployment scripts writtenAnt and Shell scripts for file movement and managementBamboo plugins for release management
  • 30. Deployment ArchitectureEarlier pain points:14 portals on 42 VMs. 28 managed nodes and 14 admin nodesUnequal load – rarely used apps also consumed a VM.Lack of proactive Monitoring of Application Server ResourcesNo centralized management; Maintenance and support troublesNew deployment architectureCloud Ready Application Platform – Journey to the PaaS Consolidated to 14 VMs from 42 VMsCritical apps: 4 nodes; rest 2 nodes each + 2 admin/Hyperic nodes + 2 nodes GemfireApp Clusters by SLA, UsageCustomer facing critical; Customer facing non-critical; Non web apps; Internal apps
  • 32. Deployment ArchitectureEasier maintainabilityHyperic reduced the need for admin nodesOne Admin Cluster used to manage multiple Application ClustersProactive Monitoring and AlertingConnection Pools, Threads, Thread-Locks, Heap are monitored constantly.Optimized PerformanceGemFire in-memory data grid improved performanceOptimized the JVM heap usage on tc Servers using Gemfire client – server cachingProvided tc server session failoverProvided a high performance, scalable, and fault tolerant cache solutionProvide application level, user level caching
  • 33. Lessons learnedLockdown the scope and avoid functionality scope creek.Be prepared to re-factor code as there is no one-to-one pattern translations for all the patternsLockdown the target platform components and avoid introducing new components.Define usage patterns of new frameworks, components for faster on-ramp and code quality. Define the criteria and the scope of different caching levels usage for optimal performance. Allocate large amount of time for performance tests as tuning of new platform is an iterative process.Minimize business UAT test time as no functionality change involved and compliment with automated regression testing.
  • 34. Benefits, OutcomeOperational Consolidation & Reduced Hardware footprintPre Migration EnvironmentPost Migration Environment(Weblogic App Server Clusters)(Spring tc App Server Clusters)App Cluster1App Cluster2App Cluster3App Cluster2App Cluster1App Cluster4App Cluster3App Cluster12App Cluster13App Cluster14App Cluster5Reduced hardware footprint by =~ 66%
  • 35. Reduced OPEX costs by at-least 15%
  • 36. Savings of $300k+/year with the retirement of Oracle WebLogic licenses=~ 66% App Server VMs=~ 71% App Server Clusters
  • 37. Benefits, Outcome Improved Deployment Agility and Efficiency
  • 38. Reduced downtimes by 5 times
  • 39. Improved performance of key transactions by using Gemfire
  • 40. Improved Security using Spring security and Spring LDAP* Data sampled over 3 month averages before and after deployment
  • 41. Concluding RemarksCloud Application Platform ready – Start the journey to PaaSMigration to new platform need not be an IT exercise – it has real business benefits. We presented the aspects of the business case.The ROI can substantially be increased by addressing the non-functional aspects of the application supported by the new platform. We showed how we used increased virtualization, modified deployment architecture, monitoring to reduce the costs and increase the reliability.More business impact can be made by adding flexibility to the application provided by vFabric platform. We shared some architecture patterns we used to make the application more flexible – JSON support, Spring WS etc.ThankYou!
  • 42. Q & A

Editor's Notes

  1. Most people do not migrate because they see it only as IT optimization. But, with proper business case, they can incorporate aspects that will deliver business benefits as well.
  2. This is the story of how VMware successfully migrated its portals used in customer purchases and support to Springsource stack addressing the technical issues while responding to the needs of business.
  3. Any enterprise that built a complex piece of machinery to support their applications must be feeling the same way. They invested a lot in making a complex setup work, but it cannot keep with the times. The trend is now how organizations are focusing on what brings value to them. It means, cloud and PAAS to address the technical needs, while IT focuses on delivering what is needed for the business.
  4. Original applications - Weblogic portal (Beehive) with local enhancementsIssuesPerformance: was not scaling with increasing number users and amount of data.Difficulty of managing: Adding a feature took long time to add; cleanup; un-deploy and deploy resulting in longer downtime.Application instability : Frequent reboots were requiredDifficulty of analysis: No built in application monitoring; external monitoring did not provide internal details or proactive alerts. What was needed:A scalable, robust, and manageable platform that is built on modern tools and technologies.
  5. There was a debate on functionality improvement. We resolved it by saying: We want to enable resilient architecture – even if the components went down the users should be able to conduct their business.Whatever we need to change from functionality perspective to achieve the above goal, we will do.Any cleanup that is easy and supports the IT goals (HA, maintainability etc), we will do.Other functionality changes will be entertained only on the need basis (In general, no changes).
  6. The business case template includes:ROI realization: When, what will change and how much it will save.Assumptions: What the current assumptions about the cost of downtime etc.Eventually, it provides a framework for us to create a plan and a time table.
  7. These are standard steps. The main interesting part is lot of enhancements we can bring to operations, once we moved to the platform.
  8. One major Constraint / requirement was, all of the user bookmarked URLs should work after migration with out any change. For example: On Weblogic, Login page was www.vmware.com/mysupport/login.portalThe same URL should work on Spring TcServer as well.
  9. We went with the standard reference platform of spring source. It was easy; it was proven; and it supported our needs.
  10. The details are in the slide itself. Why we did these changes:Moving to standardization and modern technologies: RMI is tough to debug and support.Reducing the tight coupling: Even if some components (some of those are not in our hands – they have different downtimes and different availability schedules) are down, the application still works.Non-functional enhancements: Caching to use Gemfire. Deployment changes: Cleaning up earlier disparate standards as well as introducing new standardized tools.
  11. We could have considered emulation library as well, but in the long run, it is more painful than it is worth. We are not thinking this code as legacy – it is a living code and as such deserves no such short term fixes.
  12. Pattern – Usage of “Member-Variables” in ControllersvFabric: Convert to Session variables in Spring MVC.@SessionAttributes(“sessionAttributeName”)public class MySessionVarClass {... ... }void myRequestMappingMethod(@ModelAttribute(“sessionAttributeName”) MySessionVarClassmsvc) {}Pattern – Persisting Application Logging to DatabaseDue to the use of Multiple logging frameworks, a multiple implementation were usedStandardized on Log4J.Used enhanced version Log4JDBAppender.Pattern – JSON SupportWL – no OOB support for JSON Serialization and DeserializationJSPs were used for de-serializing to JSON.Define object model on the Controller layer, and de-serialize them to JSON leveraging Spring-Jackson JSON Libraries.public @ResponseBodyOutputClasssaveSomething(@RequestBodySomeInputClass input) { //Little bit of logic to call Service Layer .. .. .. //Some more logic to convert service response to UI Object return output;}Pattern – Controller AnnotationsBeehive Pageflow Annotations converted to Spring MVC RequestMappingsNetuix tag libraries converted to MVC and JSTL Tag libraries.Pattern – AuthorizationWL – Container Authorization was leveragedSpring Security with Configuration based Access control and Role-User MappingPattern – Exception and Error HandlingWL – no common mechanism for error handlingClassify exceptions into Business and System Exceptions and populate appropriate codes. Use Spring MVC Exception Resolver to display appropriate error messages / pages
  13. Maven 1 lacked support for JSP tagsLeverage Project Lifecycles – QA is interested in running automated integration tests only!Transitive dependencies – Large number of Open Source Libraries were used – difficult to manage with Maven1So, we migrated to maven2
  14. The VMware Cloud Application Platform combines the Spring Framework for building new applications together with a complete set of Application Platform Services required to run and manage these applications.[CLICK] Spring Framework: Spring is a comprehensive family of developer frameworks and tools that enable developers build innovative new applications in a familiar and productive way while enabling the choice of where to run those applications, whether inside the datacenter or on private, hybrid, or public clouds. Spring enables developers to create applications that: Provide a rich, modern user experience across a range of platforms, browsers and personal devices Integrate applications using proven Enterprise Application Integration patterns, including batch processing Access data in a wide range of structured and unstructured formats Leverage popular social media services and cloud service API’s[CLICK] VMware vFabric: VMware vFabric is a comprehensive family of application services uniquely optimized for cloud computing including lightweight application server, global data management, cloud-ready messaging, dynamic load balancing and application performance management. [CLICK] The products behind these services include: Lightweight Application Server: tc Server, an enterprise version of Apache Tomcat, is optimized for Spring and VMware vSphere and can be instantaneously provisioned to meet the scalability needs of modern applications Data Management Services: GemFire speeds application performance and eliminates database bottlenecks by providing real-time access to globally distributed data Cloud-ready Messaging Service: RabbitMQ facilitates communications between applications inside and outside the datacenter Dynamic Load Balancer: ERS, an enterprise version Apache web server, ensures optimal performance by distributing and balancing application load Application Performance Management: Hyperic enables proactive performance management through transparent visibility into modern applications deployed across physical, virtual, and cloud environments Policy-Driven Automation: Foundry is the tentative name for a new offering still under development that is focused on policy-based automation of application and platform configuration and provisioning tasks.