addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrosseditemptyheartfacebookfolderfullheartglobegmailgoogleimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

Using Spring WS to turn Legacy Systems into Well Designed API's

Legacy systems such as mainframes usually have served the business for decades. Their original design most likely did not include modern software design concepts such as object-oriented design, modular design, service-oriented architecture, etc. Also the subsequent enhancements in features have usually added a lot to the complexity of the systems. A common problem is that legacy systems do not match well with the current customers' technologies, or even terminology. However, since the legacy systems have accumulated decades of work, it would require astronomical investments to replace them. Therefore, rewriting legacy systems using modern technologies and architecture is out of the question for most companies.

Dr. Yao received his PhD in mechanical engineering from Aachen University of Technology, Germany. He also obtained a M.S. In computer science from the University of New Orleans as a part-time graduate student while working as an engineering professor at Xavier University, Louisiana before joining the IT industry as a software engineer.

Dr. Yao has been a software architect since 2004 at various companies, such as Edgenet, Autozone, Amerigroup, and Comdata. He has applied service oriented architecture and provided technical leadership at the above mentioned companies.

Currently Dr. Yao is a software architect at Comdata and is leading the implementation of a layered architecture with a public API that speaks the customers' business language and an internal API that communicates with legacy systems. The public API is a collection of SOAP web services and the internal API is a JSON based RESTful web service.


From Granny White Pike turn on to Maryland Way heading East
Take your first Left onto Arcaro Plaza
Turn in to the first parking lot on the Right
Take an immediate Left and park near the main entrance to the building
We'll be in the Vaco offices on the first floor

Want to speak?
We are on the lookout for more speakers. That could be you! You don't have to be some big shot developer advocate. Got a story about some tool you used recently, love or hate? Join [masked] and let us know. It's as easy as that.

Join or login to comment.

  • Daniel A.

    I have a question about the architecture that was shown during the presentation(spring ws talking to a restful webservice which talks to the legacy system)...

    Why was that restful webservice middle tier needed? I know someone asked the question but the answer still wasn't quite clear to me.

    I think the answer was around doing validation. But can't you just have include validation in your spring-ws layer to validate data? Or was the real reason to seperate business logic with the legacy system from the spring-ws layer to keep that external facing web services simple?

    February 5, 2014

    • David M.

      The public facing web service interface is used to validate the request data prior to submitting the request to the restful interface. The separation of services should allow the developers to change the internal restful interface with minimal impact to the public facing API. There is no requirement to have separate interfaces. The API could have been flattened to one set of services with validation included. In this case it appears to be an architectural preference by the Comdata. I personally favor a two interface API to isolate the data validation and hopefully hide the internal implmentation. We have some external web service APIs comprised of multiple internal web service APIs to different legacy systems. I hope this answers your question.

      February 6, 2014

    • Daniel A.

      Yeah, that makes sense and can see how it increases maintainability. I like the idea of hiding legacy integration code away from the public facing web services. Thanks for the answer!

      February 7, 2014

  • Daniel A.

    Great introduction to the basics of spring mvc and spring-ws

    February 5, 2014

Our Sponsors

  • Vaco

    Vaco generously provides us with the meeting space, free food and beer.

  • Oracle

    New release books to raffle at NJUG meetups.

  • O'Reilly

    O'Reilly has provided us with books to raffle at meetings.

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy