It's one thing to read the various headlines and promotional materials extolling the virtues of micro-services and the incredible utility of NoSQL databases, but it's another thing to hear the insights of a Java Champion who is actually out in the field, implementing lightweight, RESTful Web services with these pivotal technologies. Recorded at JavaOne 2014, the accompanying interview with Savoir Technologies' Jeff Genender cuts right to the heart of what works and what doesn't when it comes to implementing modern, SOA-based solutions for the enterprise.
So, what are the key pieces that make up a modern, SOA-based solution? NoSQL, a RESTful design to API development, and the use of micro-services seem to be at the heart of much of what Genender is successfully delivering to his list of international clients. "Micro-services are the new wave of how people are doing development now," he says. "Micro-services are a way to break programs down into small routes and small endpoints," making the development of applications faster, the serviceability of services easier, all while embracing the service-oriented ideals of lightweight development and loose coupling of components.
A big advocate of NoSQL-based solutions such as MongoDB and Cassandra, Genender warns that organizations should always be aware of their application needs when moving away from relational systems, and not just implement a NoSQL database so they can say they're keeping up with the trend. While NoSQL databases can perform quickly and simplify many data persistence tasks, there are still places where relational systems rule, especially when it comes to developing standard reports against a mountain of data. "At the end of the day, a NoSQL database is a database at its absolute lowest level," he says, and sometimes when more complex querying is required, some of the special attributes of relational stores can make life easier. That's not to take anything away from NoSQL databases, but it does emphasize the old adage of architecting enterprise solutions that use the proper tools for the job at hand. "It's really important for developers and companies to look at the use case model for what their applications need."
And of course, the whole world of micro-services and NoSQL technologies is pulled together through the use of RESTful APIs used in such a way that is both practical and pragmatic. To hear Jeff Genender's take on implementing modern solutions with a service-oriented approach to design, watch the accompanying interview with the Java Champion from end to end.