Jason Porter

Author
+ Follow
since Apr 26, 2007
Merit badge: grant badges
Cows and Likes
Cows
Total received
5
In last 30 days
0
Total given
0
Likes
Total received
3
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Jason Porter

Patrick Dung wrote:Why we should use the Quarkus framework/platform? What is the advantage of using compared with other products?


Quarkus works amazingly well in the Microservices and cloud native arenas. You'd want to use it as the backbone for your web based application. Quarkus competes quite well with other tech like Micronaut and Spring Boot.
5 months ago
Ron, thanks for the kind words!

5 months ago
Really depends on what you're trying to do

Quarkus was made to make microservices very easy. When we're talking about microservices often REST web services are involved and they're deployed onto a cloud provider like AWS, Google Cloud, Microsoft Azure, etc. Quarkus also targets Kubernetes by creating native applications through GraalVM.

All of that aside, you don't have to use any of that if you don't want to. Quarkus will still work just fine on the regular JVM, and you can still write typical Java web based applications with it. I'd recommend understanding web services, ideally REST, and CDI to get started.
5 months ago
Quarkus has support for both JAX-B implementations and Jackson.
5 months ago

Raul Rios wrote:Hey Alex and Jason,

Congratulations for your new book.



Thank you!


I'm currently researching options to migrate a classic JAX-RS application made with Jersey to a microservices arquitecture based application. Is it Quarkus a good fit for this migration project?



This is exactly the spot Quarkus shines!


Regarding your book, I have seen that it assumes the reader to have knowledge about technologies like JPA, JAX-RS, CDI, Eclipse Microprofile or Eclipse Vert.x. I have experience with some of these technologies (JAX-RS or CDI) but not others. Do you consider an essential requirement to have this knowledge before reading your book?

Thanks in advance.



With the background you currently have with JAX-RS and CDI you'll be just fine. If you want to get into the details of how everything works, scheduling, the event loop, etc. You'll need experience with some of those other techs, especially Eclipse Vert.X. The Microprofile stuff you can learn as you go.
5 months ago
Thanks for having us! I know we're all at different conferences this week, so replies have been a bit delayed, sorry for that.
4 years ago
The same practices apply to testing microservices as web services. You may find you'll want more finely grained tests for microservices.
4 years ago
You can draw that boundary in many places, even in "traditional testing." Do you stop testing at the network level, database, firewall, etc? There isn't necessarily a right or wrong place to draw that boundary. There are tradeoffs at each area. More important is to find what works for you and your team and stick to it. It is helpful, however, to have tests of some kind that will target each point of failure.
4 years ago
Yes! There’s certainly usefulness in that. Would you prefer to find out in testing or production that a third party changed their API? You could also contact the third party and offer your tests to them to let them know you expect this contract. If they know you’re using their service they’re more likely to let you know of changes. Certainly worth doing, especially if you don’t have an SLA (service level agreement) with them.
4 years ago
Yes, as I mentioned in another post we talk about some of this in the prose, but mostly you'll find this in the code.
7 years ago
Arquillian uses Selenium in Arquillian Drone and Arquillian Graphene, but if you already have something up and running there may not be much that it will help you with. Arquillian Drone does all the driver setup and adds some nice features around PageObjects, but again, if you're already using those techniques it won't bring a lot to the table, but it may help simplify a few things.

There are also some nicities for Angular in Graphene, but that's about all it will get you for client side.
7 years ago
Are you looking to test just the client side JavaScript or any back end services as well?
7 years ago
Thanks everyone! It's great to be here at the Ranch. I remember quite fondly of asking questions of Dan Allen and his book Seam in Action nearly eight years ago. Those few posts and a desire to learn helped push my career in the current direction. Thank you again for the warm welcome. Alex is at Devoxx this week, so I'm not sure how much we'll see him, but I will do my utmost to answer all the questions to the best of my ability.
7 years ago
Thanks for your interest Toth! I hope we're able to help you on your journey of learning Arquillian.

About the book: can I learn from it how to architect my code so testing it can be easily done? dao-s, etc? I'm using weblogic, any tips for testing on this one?



The book is primarily about testing, we haven't talked much about properly architecting your application to make it easily testable, but it is a wonderful suggestion! You will see things we've done or decisions we've made in the code which will make it easier to test. It doesn't matter which server you're using with Arquillian. Arquillian supports a wide list of containers including

  • Weblogic
  • WebSphere
  • Tomcat
  • TomEE
  • JBoss AS 4/5/6/7
  • Wildfly
  • JBoss Enterprise Application Platform (EAP)
  • Glassfish
  • Jetty
  • Weld
  • OpenEJB
  • OpenWebBeans


  • I think I got them all

    There isn't anything different you need to do here besides change the container adapter dependency and maybe some configuration in the arquillian.xml file. Of course any descriptors you need for your container will also need to be in the microdeployment for the test to deploy correctly.

    Specifically for Weblogic there's support for WLS 10 and WLS 12.
    7 years ago
    Hi Darren, thanks for the questions!f

    -are there specific advantage / disadvantage to using arquillian as the same framework for all the types [unit, web or functional, integration] of testing?



    Arquillian builds upon all the tools you mentioned. It uses the strengths of each and helps to fill holes in some of their weaknesses. Arquillian is primarily targeted at functional and integration testing. This isn't to say you couldn't use it for unit testing, but because you'd end up deploying to a container for your tests it isn't well suited for the quick turn around you want to see with unit tests. If you want to know how your application will perform in the container you're going to be deploying to, or test a service as a client then Arquillian makes a lot of sense. You'll be able to see, monitor and test your application in as similar of a production environment as you'd like.

    -is there a 'stock' pdf-type of report that combines all the testing activities into an 'executive summary' type of presentation?



    Arquillian uses Junit (or TestNG) as the test runner. Any reports you have from those tools or aggregate reports you can build from the output will still work with Arquillian. Arquillian itself doesn't create any reports, however, there is the Report extension that you could use to create your own custom reports doing what you suggest, there simply isn't any sort of aggregate report out of the box.

    -are there additional features, such as code-coverage reports, that integrate all the testing activities into a single code-coverage (i.e. this part was tested by unit testing and service testing, but this part was only tested by service testing)?



    Arquillian integrates well with Jacoco using the arquillian-jacoco-extension. If you're not familiar with it, it is a tool similar to emma or cobertura. You should be able to set it all up and create an aggregate report for your full suite.
    7 years ago