Click here to Skip to main content
12,302,647 members (71,167 online)

Design and Architecture

 
GeneralRe: Standard exceptions for an RPC library? Pin
johndw9417-Aug-12 7:09
memberjohndw9417-Aug-12 7:09 
AnswerRe: Standard exceptions for an RPC library? Pin
Eddy Vluggen17-Aug-12 8:20
memberEddy Vluggen17-Aug-12 8:20 
GeneralRe: Standard exceptions for an RPC library? Pin
johndw9417-Aug-12 10:03
memberjohndw9417-Aug-12 10:03 
GeneralRe: Standard exceptions for an RPC library? Pin
Richard MacCutchan17-Aug-12 22:14
mvpRichard MacCutchan17-Aug-12 22:14 
GeneralRe: Standard exceptions for an RPC library? Pin
johndw9418-Aug-12 7:21
memberjohndw9418-Aug-12 7:21 
GeneralRe: Standard exceptions for an RPC library? Pin
Richard MacCutchan18-Aug-12 9:29
mvpRichard MacCutchan18-Aug-12 9:29 
GeneralRe: Standard exceptions for an RPC library? Pin
axpnumtheory18-Aug-12 9:32
memberaxpnumtheory18-Aug-12 9:32 
GeneralRe: Standard exceptions for an RPC library? Pin
Richard MacCutchan18-Aug-12 9:36
mvpRichard MacCutchan18-Aug-12 9:36 
QuestionRe: Standard exceptions for an RPC library? Pin
Eddy Vluggen17-Aug-12 23:07
memberEddy Vluggen17-Aug-12 23:07 
AnswerRe: Standard exceptions for an RPC library? Pin
johndw9418-Aug-12 7:36
memberjohndw9418-Aug-12 7:36 
GeneralRe: Standard exceptions for an RPC library? Pin
Eddy Vluggen18-Aug-12 7:47
memberEddy Vluggen18-Aug-12 7:47 
GeneralRe: Standard exceptions for an RPC library? Pin
johndw9418-Aug-12 8:32
memberjohndw9418-Aug-12 8:32 
GeneralRe: Standard exceptions for an RPC library? Pin
Eddy Vluggen18-Aug-12 10:43
memberEddy Vluggen18-Aug-12 10:43 
AnswerRe: Standard exceptions for an RPC library? Pin
jschell19-Aug-12 6:59
memberjschell19-Aug-12 6:59 
Thread is getting confused so I am going to rephrase to what I think has been said.

You have a communications library/protocol. You want to allow 'exceptions' to the 'thrown' via that. And you want to support many languages.

That means your library MUST have the following components.
1. A server component.
2. A client component.

In terms of generality 1 and 2 can be different programming languages withing the same enterprise.

So that means that you MUST do the following.
A. Create your OWN protocol method for transmitting an 'exception'. Note that this does NOT mean nor can it mean that you use a language specific exception. Your protocol must NOT use any such exception.
B. Implement your protocol (1) such that is has some common idioms for supporting communication errors. It does that because communication errors are the only common error type that such a library intrinsically knows about.
C. Optionally you provide a way for an implementer to 'extend' your protocol to add their own 'exception' (again this will NOT be a language specific exception.)

AFTER you complete the above then you do the following.
1. Implement your library server code for a specific language so that it catches ALL language specific exceptions. And then it converts them into your protocol as defined above. That and only that is what is sent to the client library.
2. Implement your client library for a specific language so that it receives the protocol 'exception' and translates it into an appropriate language specific exception.


AFTER you have complete all of the above if you have and specific exceptions for specific languages that you want to implement then you use C above to modify the specific library components, perhaps only on the server side but perhaps both sides as well.

If you are clever then you will find that there are ways to define A such that you can use a configuration (rather than code) to add in new language exceptions both in the server and client.
GeneralRe: Standard exceptions for an RPC library? Pin
Richard MacCutchan19-Aug-12 23:01
mvpRichard MacCutchan19-Aug-12 23:01 
QuestionHow to introduce Continuous Integration? Pin
Bernhard Hiller24-Jul-12 22:31
memberBernhard Hiller24-Jul-12 22:31 
AnswerRe: How to introduce Continuous Integration? Pin
Eddy Vluggen4-Aug-12 22:34
memberEddy Vluggen4-Aug-12 22:34 
GeneralRe: How to introduce Continuous Integration? Pin
Bernhard Hiller5-Aug-12 20:54
memberBernhard Hiller5-Aug-12 20:54 
GeneralRe: How to introduce Continuous Integration? Pin
Eddy Vluggen5-Aug-12 23:10
memberEddy Vluggen5-Aug-12 23:10 
GeneralRe: How to introduce Continuous Integration? Pin
pasztorpisti6-Aug-12 4:43
memberpasztorpisti6-Aug-12 4:43 
GeneralRe: How to introduce Continuous Integration? Pin
Eddy Vluggen6-Aug-12 4:53
memberEddy Vluggen6-Aug-12 4:53 
GeneralRe: How to introduce Continuous Integration? Pin
pasztorpisti6-Aug-12 5:07
memberpasztorpisti6-Aug-12 5:07 
GeneralRe: How to introduce Continuous Integration? Pin
Eddy Vluggen6-Aug-12 5:57
memberEddy Vluggen6-Aug-12 5:57 
GeneralRe: How to introduce Continuous Integration? Pin
pasztorpisti6-Aug-12 6:09
memberpasztorpisti6-Aug-12 6:09 
AnswerRe: How to introduce Continuous Integration? Pin
pasztorpisti6-Aug-12 4:34
memberpasztorpisti6-Aug-12 4:34 
GeneralRe: How to introduce Continuous Integration? Pin
Bernhard Hiller6-Aug-12 21:19
memberBernhard Hiller6-Aug-12 21:19 
GeneralRe: How to introduce Continuous Integration? Pin
pasztorpisti6-Aug-12 22:12
memberpasztorpisti6-Aug-12 22:12 
AnswerRe: How to introduce Continuous Integration? Pin
BobJanova6-Aug-12 5:19
memberBobJanova6-Aug-12 5:19 
GeneralRe: How to introduce Continuous Integration? Pin
Bernhard Hiller6-Aug-12 21:21
memberBernhard Hiller6-Aug-12 21:21 
GeneralRe: How to introduce Continuous Integration? Pin
pasztorpisti6-Aug-12 22:17
memberpasztorpisti6-Aug-12 22:17 
GeneralRe: How to introduce Continuous Integration? Pin
BobJanova7-Aug-12 0:24
memberBobJanova7-Aug-12 0:24 
GeneralRe: How to introduce Continuous Integration? Pin
pasztorpisti6-Aug-12 22:21
memberpasztorpisti6-Aug-12 22:21 
AnswerRe: How to introduce Continuous Integration? Pin
hspc18-Aug-12 15:40
memberhspc18-Aug-12 15:40 
QuestionPhilosophical questions about updating a production CMS server Pin
KaЯl5-Jul-12 4:07
memberKaЯl5-Jul-12 4:07 
AnswerRe: Philosophical questions about updating a production CMS server Pin
jschell5-Jul-12 6:06
memberjschell5-Jul-12 6:06 
GeneralRe: Philosophical questions about updating a production CMS server Pin
KaЯl5-Jul-12 22:41
memberKaЯl5-Jul-12 22:41 
AnswerRe: Philosophical questions about updating a production CMS server Pin
hspc18-Aug-12 15:45
memberhspc18-Aug-12 15:45 
GeneralRe: Philosophical questions about updating a production CMS server Pin
KaЯl22-Aug-12 3:21
memberKaЯl22-Aug-12 3:21 
QuestionWebsite And Service Using Real Time Data Feed Pin
Member 8498734-Jul-12 5:34
memberMember 8498734-Jul-12 5:34 
AnswerRe: Website And Service Using Real Time Data Feed Pin
jschell5-Jul-12 6:15
memberjschell5-Jul-12 6:15 
GeneralRe: Website And Service Using Real Time Data Feed Pin
Albert Holguin17-Jul-12 10:18
memberAlbert Holguin17-Jul-12 10:18 
AnswerRe: Website And Service Using Real Time Data Feed Pin
Eddy Vluggen2-Aug-12 23:50
memberEddy Vluggen2-Aug-12 23:50 
AnswerRe: Website And Service Using Real Time Data Feed Pin
wizardzz9-Aug-12 8:15
memberwizardzz9-Aug-12 8:15 
QuestionCommonApplicationData Pin
mmujahid29-Jun-12 11:38
membermmujahid29-Jun-12 11:38 
AnswerRe: CommonApplicationData Pin
Richard Andrew x6429-Jun-12 11:51
memberRichard Andrew x6429-Jun-12 11:51 
QuestionBest Pattern for a New Service Pin
Brian C Hart26-Jun-12 9:12
memberBrian C Hart26-Jun-12 9:12 
SuggestionRe: Best Pattern for a New Service Pin
kisMicrosoftDev27-Jun-12 6:23
memberkisMicrosoftDev27-Jun-12 6:23 
AnswerRe: Best Pattern for a New Service Pin
jschell27-Jun-12 10:14
memberjschell27-Jun-12 10:14 
GeneralRe: Best Pattern for a New Service Pin
Brian C Hart27-Jun-12 11:00
memberBrian C Hart27-Jun-12 11:00 
AnswerRe: Best Pattern for a New Service Pin
jschell28-Jun-12 8:41
memberjschell28-Jun-12 8:41 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Advertise | Privacy | Mobile
Web02 | 2.8.160530.1 | Last Updated 18 May 2016
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid