Win a copy of Escape Velocity: Better Metrics for Agile Teams this week in the Agile and Other Processes forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Tim Cooke
  • Paul Clapham
  • Jeanne Boyarsky
Sheriffs:
  • Ron McLeod
  • Frank Carver
  • Junilu Lacar
Saloon Keepers:
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Al Hobbs
  • Carey Brown
Bartenders:
  • Piet Souris
  • Frits Walraven
  • fred rosenberger

Design help

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Experts,

I have a question about Java application architecture/design.

I have never done such thing before so wondering if any of you guys have done or seen such design.

Brief application description:
  • 1. There is live Java application hosted on a Web server that provides ticket information. For example: Provide airline tickets to customers
  • 2. This java application provides other functionalities too such as rescheduling of tickets etc.


  • Requirement:
  • 1. What is the best way of making changes while the system is running without customers getting affected? Something like switching the requests from one server to another which has the latest functionalities and improvements including the old server code base.
  • 2. How do you make refinements and improvements whilst the system is still running?


  • Is there any whitepaper or article or blog posts where such things are done before? Or if anyone has done such projects before, their input will be valuable as well!

    Any pointers will be appreciated.

    Thanks.
     
    Bartender
    Posts: 2908
    150
    Google Web Toolkit Eclipse IDE Java
    • Likes 1
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • Quote
    • Report post to moderator
    I was looking for threads with zero replies and I came across yours. I'm quite sorry we didn't get to respond to this thread since 2 weeks.

    Typically, such systems are deployed on mulitple hosts with a single gateway that switches traffic automatically when one host goes down. Deployment is done incrementally on each host one-by-one. Your changes are completely deployed when all the hosts have your updated instance running.
    This setup also allows you to deploy pilot version of your application to a small subset of hosts only.

    Since the gateway manages the traffic, from a customer's point of view, the system never goes down. Also you might want to look at microservice based archietecture.
     
    Acetylsalicylic acid is aspirin. This could be handy too:
    Garden Master Course kickstarter
    https://coderanch.com/t/754577/Garden-Master-kickstarter
    reply
      Bookmark Topic Watch Topic
    • New Topic