João Carlos Purificação

+ Follow
since Aug 26, 2018
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by João Carlos Purificação

Hi Paul! Goog evening!

One of the most exciting thing about writing this book was observing how both the more traditional and newer patterns are very useful in application development. Patterns help in the relationship between the components of an application and we get many cool things like the low coupling of the application modules. Let's take as an example  asynchronous communication, that is, a module or class of the application sends a message or object to a receiving module . In Java EE 8 this mechanism has been improved with the use of asynchronous events. Now an event can be launched asynchronously while other classes can observe and receive this event asynchronously as well. Java EE 8 allows this as an alternative way to messages queues. And this is one implementation of the Service Activator
Pattern. In past we had few alternatives, like the JMS queues. With the evolution of Java EE, we arrive at the asynchronous EJB methods. Now we have the asynchronous events. The purpose of the pattern has always been the same: to activate a service asynchronously. The mechanisms to achieve this goal have also been growing with the latest versions of Java EE

Another interesting fact to be emphasized was that some more traditional patterns, such as the session facade or proxy pattern have been reinvented and adapted for scenarios such as the cloud computing. For instance, in an  an application based on microservices architecture we can find the proxy pattern that is present in one of several ways to work with microservices.

We can use the Java 8 language and many of its new features within the Java EE 8 context. No problem. There is no rigidity in the development of systems, but good practice always offers help. And the patterns and practices can be applied in the development of applications along with the use of the best features of the language.

Best regards

João Carlos Purificação

1) Hi Esteban.It is a great question. And the answer to your question is: both approaches are correct. In the book, the original object oriented patterns and its adaptations for the Java EE 8 context have been shown, such as for example The Session Façade Pattern and the GoF Facade. Anothe example we can see is the Aspect Design Pattern, where we show the implementation of the Decorator Pattern in the Java EE context.
On the other hand, we put in the book new concepts and patterns used to follow the evolution of systems development, such as Microservice pattern used for the functional decomposition of an application.

2) Another good question, Esteban. Again, both things. We discuss how the use of patterns provides  code reuse, low coupling, and improves system maintenance (The chapter on business pattern is an excellent example of this). But you will see throughout the book, the advantages and disadvantages of using some patterns in the development of an application. We also show you how to apply certain patterns to improve the deployment (for example Microservice pattern) and performance. In the cloud native application pattern, for example, we show the use of methodologies and care when developing a cloud application (Where service instances are always being created and destroyed).

Best Regards!
Hello and thanks for the question. We did not create new patterns, but , in addition to what was said by the Rhuan,we also explained the use of the patterns for new forms of application development that appeared more recently. We can mention , for example, Microservice Patterns and Cloud Native Application Pattern which were covered by us. And, we show, whenever possible, the implementation of these patterns within the Java EE8 context.