Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6065351
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T09:22:50+00:00 2026-05-23T09:22:50+00:00

I have a SOA which makes heavy use of nonces (i.e, one-time one-use security

  • 0

I have a SOA which makes heavy use of nonces (i.e, one-time one-use security tokens).

My app takes a nonce from a client, verifies it, then sends a new nonce back to said client as part of every reply. Also included in each reply are the results of business logic operations that executed right after the nonce was authenticated.

The nonce verification and generation are operationally coupled with the business logic, since both occur in response to every client request. However I don’t want the two to be coupled in code. What’s the right way to partition them in accordance with SOA principles? Is it too much to break the security and business logic into two separate services, with one calling the other as part of each reply to each client request?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T09:22:50+00:00Added an answer on May 23, 2026 at 9:22 am

    Yes it makes sense to separate them. But I don’t think they should have awareness of each other at all (Call each other directly).

    I’ll dive into a specific example and technology of how something similar is implemented.

    In the web frame work Struts2 all incoming requests pass through a stack of operations(called interceptors) before arriving at a user defined object (called an action). The action then will access the business tier.

    When submitting a web form there is the issue of double submission. So one way to protect against this is with a token that is sent along with the form submission. So we need to create a unique token place it as a hidden field, and then when we receive the request only process it if the token is good. This prevent users from doing something like accidentally buying something more than once.

    In Struts2 there is a special server side token tag which creates the hidden field for us. So there is something that needs to be done for each form. The token interceptor if active will enforce that this value always exists and is good when receiving the form and will redirect responses that do not somewhere else.

    The idea of implementing a nonces interceptor/filter that checks that the incoming nonce value is good and for responses adds the correct nonces value to the response should be completely independent of the business logic.

    The example here is with html forms but adding an interceptor(or whatever you call “that which handles cross cutting concerns at the request/response level” for your appropriate technology) which adds such a value to json or xml messages should be pretty easy and likely produce the most elegant result.

    The following is a link to struts2 interceptor reference (it might clarify the idea better):
    http://struts.apache.org/2.2.1.1/docs/interceptors.html

    The following two links are both interceptors which manage tokens:
    http://struts.apache.org/2.2.1.1/docs/token-interceptor.html

    http://struts.apache.org/2.2.1.1/docs/token-session-interceptor.html

    I expect only the first few paragraphs of each link will be useful but something like it for your technology should be nice.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

One of the tenets of SOA is: Services Are Autonomous. I have 2 services.
I have a function which I use to limit form inputs to numbers only,
I have a function called: this.makeStuffHappen() Which makes different animations according to a switch
I have a table which has a long line in one of its cells.
We have a Data Access service in our SOA WCF system. This service is
I have been looking a lot at SOA recently. Isn't CORBA exactly the same
i have a table where i want to track time so a valid entry
We currently have a system with 20 SOA services and having a single master
In a Lift application, I’d like to add a special tag which takes the
I have a rails app that tracks membership cardholders, and needs to report on

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.