Architecture Test
Over the last few years I’ve had the opportunity to work on several Service Oriented Architecture (SOA) applications. I learned that writing integration tests for such applications is difficult, but important. The challenge lies in the fact that most SOA applications use testing approaches that are well suited for monolithic applications, but these approaches are not always suited for testing SOA applications. It is important because without integration tests it is far too easy for subtle bugs to creep into your code base.
What is SOA?
Service Oriented Architecture might be best understood by first understanding monolithic applications. Your typical long-lived Rails application tends to be a monolithic application. According to Martin Fowler, monolith applications:
…are often built in three main parts: a client-side user interface (consisting of HTML pages and javascript running in a browser on the user’s machine), a database (consisting of many tables inserted into a common, and usually relational, database management system), and a server-side application. The server-side application will handle HTTP requests, execute domain logic, retrieve and update data from the database, and select and populate HTML views to be sent to the browser. This server-side application is a monolith - a single logical executable. Any changes to the system involve building and deploying a new version of the server-side application.
While there might not be a universally accepted definition of SOA, applications that adhere to this approach exhibit some common characteristics. SOA is a style of architecting applications where the underlying structure supports communication between a collection of loosely coupled services over well-defined interfaces.
An example might help clarify:
In this example, there are two applications that comprise the SOA, the home application and the client application. home has a database and exposes a RESTful interface. The client does not have a database and communicates with home via HTTP. For example, if the client wants a list of all the users, it has to issue a HTTP request to the /users resource of the home application, home queries its database for all the users, and home responds to the client with a JSON respresentation of all the users.
pictures of success poems about success success image success wishes trump success bicornuate uterus pregnancy success connect for success internet success system lpr success stories measuring success quotes school success success visualization tattoo for success 16/8 intermittent fasting success stories best books for success business success quotes condom success rate customer success manager interview questions deep work: rules for focused success in a distracted world dress for success denver failure and success quotes family success centers nj great quotes about success iui success tips keys to success medmen lake success songs about hard work and success steps to success strategies for success success factors com crystals for luck and success eft the key to success heart ablation success rate iui success story ivf success rates under 35 pregnancy at 44 success stories quotes of success success rate of morning after pill during ovulation customer success manager job description define success heart transplant success rate kidney transplant success rates low fetal heart rate success stories metformin weight loss success stories 2019 money is the anthem of success morning affirmations for success no heartbeat at 8 weeks success stories picture of success purdue success factors sales success success academy charter school success day quotes success in latin success is the best revenge best success books car t cell therapy success rate college measured success continued success dress for success donations etsy success story fresh success marketing group journey to success keller williams success realty launching success measure of success national society for leadership and success palmers skin success fade cream podcast success skin success by palmers songs about success success academy calendar success books success factors bcm success inspirational motivational quotes success mindset motivational quotes success pictures success rate of bar rescue the success principles what to do after embryo transfer to increase success zoloft success stories 30 day success formula review 4 follicles ivf success rate a miner success ffxiv animal mating success horse bar rescue success rate best morning routine for success best morning routine for success cardiac ablation success rate cdc ivf success rates celebrate success quote coming off antidepressants success stories customer success metrics day trading success rate dress for success houston grace stirs up success great success hip labral tear surgery success rate how to measure success immunotherapy success rate increase implantation success innovative success systems reviews inspiring quotes about success is competition necessary for success ivf success rates by age john wooden pyramid of success poster kidney transplant success rates latin words for success letrozole success stories 2020 lexapro success stories lichen planopilaris success stories lipotropic injections success stories metrics for success metrics of success movies about success national society of leadership and success reviews natural pregnancy after 40 success stories optavia success stories overnight success path to success plan b success rate preseed success rate recipe for success road to success quote sacroiliac joint injection success rate societal messages suggest that which of the following is a roadblock to a female's social success? steps to success success coach success coaching success factors purdue success factors wellstar success leasing success meme success mortgage partners success persons success virtual learning center the five rules of success what does success mean to you what is customer success what is the success rate of urolift what success looks like winston churchill success quote dress for success for men glucomannan weight loss success stories hard work success quotes iui success rate by age la fitness lake success lichen planopilaris success stories maca root fertility success stories medmen lake success project success prp hair treatment success rate quest for success quotes about success and achievement rotator cuff surgery success rate spelling success success factors bcm success is not final quote words for success a miner success ffxiv cerebral success shark tank congratulations quotes for success continued success customer success engineer dress for success charlotte herniated disc surgery success rate iui success on first try laser treatment for toenail fungus success rate 2020 lipotropic injections success stories lmt success group measure success quotes meru the success motivational speeches for success