Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Services distants (COM+, remoting, ...)

5 réponses
Avatar
Laurent
Bonjour,

Je souhaite mettre à disposition d'applications tierces les fonctionalités
d'une application que j'ai développé en c#.

Les fonctionalités qui doivent être mise à disposition sont déjà présentes
dans une assembly, j'aimerais donc ajouter une couche de services donnant
acès à ces fonctionnalités depuis n'importe qu'elle pc du réseau.
C'est là que je suis un peu perdu, je ne sais pas quelle techno utiliser.

Les applications tierces peuvent être ou non des applications .NET et le
temps de traitement nécessaire à l'exécution de certaines fonctions peut
prendre plusieurs minutes et ne doit donc pas bloquer le client.

Alors : remoting, com+ ou autres ?

Merci pour votre aide.

Laurent

5 réponses

Avatar
Simon Mourier
A priori, je vous suggererais les Web Services, surtout si cela doit être
accéder à partir d'autres plateformes. Si la libraire de départ est écrite
en C#, il est très facile de rajouter une couche façade de Web Services.

Il existe des tonnes d'exemples. Voici quelques liens
http://www.codeproject.com/cs/webservices/myservice.asp
http://my.execpc.com/~gopalan/dotnet/webservices/webservice_server.html
http://www.startvbdotnet.com/web/sample1.aspx (VB.NET, mais c'est similaire
en C#)
http://www.dotnetjunkies.com/Tutorial/34D92A69-73F4-41B1-B423-F00161549747.dcik

Simon.
www.softfluent.com

"Laurent" a écrit dans le message de
news:
Bonjour,

Je souhaite mettre à disposition d'applications tierces les
fonctionalités
d'une application que j'ai développé en c#.

Les fonctionalités qui doivent être mise à disposition sont déjà présentes
dans une assembly, j'aimerais donc ajouter une couche de services donnant
acès à ces fonctionnalités depuis n'importe qu'elle pc du réseau.
C'est là que je suis un peu perdu, je ne sais pas quelle techno utiliser.

Les applications tierces peuvent être ou non des applications .NET et le
temps de traitement nécessaire à l'exécution de certaines fonctions peut
prendre plusieurs minutes et ne doit donc pas bloquer le client.

Alors : remoting, com+ ou autres ?

Merci pour votre aide.

Laurent


Avatar
Laurent
OK pour les web services mais comment éviter les timeout lorsque le temps de
traitement est conséquent ?

Laurent

"Simon Mourier" a écrit :

A priori, je vous suggererais les Web Services, surtout si cela doit être
accéder à partir d'autres plateformes. Si la libraire de départ est écrite
en C#, il est très facile de rajouter une couche façade de Web Services.

Il existe des tonnes d'exemples. Voici quelques liens
http://www.codeproject.com/cs/webservices/myservice.asp
http://my.execpc.com/~gopalan/dotnet/webservices/webservice_server.html
http://www.startvbdotnet.com/web/sample1.aspx (VB.NET, mais c'est similaire
en C#)
http://www.dotnetjunkies.com/Tutorial/34D92A69-73F4-41B1-B423-F00161549747.dcik

Simon.
www.softfluent.com

"Laurent" a écrit dans le message de
news:
> Bonjour,
>
> Je souhaite mettre à disposition d'applications tierces les
> fonctionalités
> d'une application que j'ai développé en c#.
>
> Les fonctionalités qui doivent être mise à disposition sont déjà présentes
> dans une assembly, j'aimerais donc ajouter une couche de services donnant
> acès à ces fonctionnalités depuis n'importe qu'elle pc du réseau.
> C'est là que je suis un peu perdu, je ne sais pas quelle techno utiliser.
>
> Les applications tierces peuvent être ou non des applications .NET et le
> temps de traitement nécessaire à l'exécution de certaines fonctions peut
> prendre plusieurs minutes et ne doit donc pas bloquer le client.
>
> Alors : remoting, com+ ou autres ?
>
> Merci pour votre aide.
>
> Laurent





Avatar
Laurent
Je précise : en .NET je vois très bien comment réaliser un appel asynchrone
sur un web service mais en vb6 par exemple je ne sais pas du tout si c'est
possible.

Laurent

"Laurent" a écrit :

OK pour les web services mais comment éviter les timeout lorsque le temps de
traitement est conséquent ?

Laurent

"Simon Mourier" a écrit :

> A priori, je vous suggererais les Web Services, surtout si cela doit être
> accéder à partir d'autres plateformes. Si la libraire de départ est écrite
> en C#, il est très facile de rajouter une couche façade de Web Services.
>
> Il existe des tonnes d'exemples. Voici quelques liens
> http://www.codeproject.com/cs/webservices/myservice.asp
> http://my.execpc.com/~gopalan/dotnet/webservices/webservice_server.html
> http://www.startvbdotnet.com/web/sample1.aspx (VB.NET, mais c'est similaire
> en C#)
> http://www.dotnetjunkies.com/Tutorial/34D92A69-73F4-41B1-B423-F00161549747.dcik
>
> Simon.
> www.softfluent.com
>
> "Laurent" a écrit dans le message de
> news:
> > Bonjour,
> >
> > Je souhaite mettre à disposition d'applications tierces les
> > fonctionalités
> > d'une application que j'ai développé en c#.
> >
> > Les fonctionalités qui doivent être mise à disposition sont déjà présentes
> > dans une assembly, j'aimerais donc ajouter une couche de services donnant
> > acès à ces fonctionnalités depuis n'importe qu'elle pc du réseau.
> > C'est là que je suis un peu perdu, je ne sais pas quelle techno utiliser.
> >
> > Les applications tierces peuvent être ou non des applications .NET et le
> > temps de traitement nécessaire à l'exécution de certaines fonctions peut
> > prendre plusieurs minutes et ne doit donc pas bloquer le client.
> >
> > Alors : remoting, com+ ou autres ?
> >
> > Merci pour votre aide.
> >
> > Laurent
>
>
>


Avatar
Simon Mourier
Cette question est indépendante du mode de connexion. .Net remoting est de
toutes façons à exclure car réservé aux applications .NET. Vous aurez le
même problème d'asynchronisme avec COM.

Pour rester sur le web service, vous pouvez créer un Web Service qui renvoie
une sorte de jeton à l'appelant. Ensuite l'appelant réutilise ce jeton pour
savoir si le traitement est terminé. Ca demande par contre du coté .NET
d'avoir un service capable de s'exécuter tout seul.

Enfin, vous pouvez aussi utiliser MSMQ, via les "Queued Components". Voir
ici:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconqueuedcomponents.asp

Simon.
www.softfluent.com

"Laurent" a écrit dans le message de
news:
Je précise : en .NET je vois très bien comment réaliser un appel
asynchrone
sur un web service mais en vb6 par exemple je ne sais pas du tout si c'est
possible.

Laurent

"Laurent" a écrit :

OK pour les web services mais comment éviter les timeout lorsque le temps
de
traitement est conséquent ?

Laurent

"Simon Mourier" a écrit :

> A priori, je vous suggererais les Web Services, surtout si cela doit
> être
> accéder à partir d'autres plateformes. Si la libraire de départ est
> écrite
> en C#, il est très facile de rajouter une couche façade de Web
> Services.
>
> Il existe des tonnes d'exemples. Voici quelques liens
> http://www.codeproject.com/cs/webservices/myservice.asp
> http://my.execpc.com/~gopalan/dotnet/webservices/webservice_server.html
> http://www.startvbdotnet.com/web/sample1.aspx (VB.NET, mais c'est
> similaire
> en C#)
> http://www.dotnetjunkies.com/Tutorial/34D92A69-73F4-41B1-B423-F00161549747.dcik
>
> Simon.
> www.softfluent.com
>
> "Laurent" a écrit dans le message
> de
> news:
> > Bonjour,
> >
> > Je souhaite mettre à disposition d'applications tierces les
> > fonctionalités
> > d'une application que j'ai développé en c#.
> >
> > Les fonctionalités qui doivent être mise à disposition sont déjà
> > présentes
> > dans une assembly, j'aimerais donc ajouter une couche de services
> > donnant
> > acès à ces fonctionnalités depuis n'importe qu'elle pc du réseau.
> > C'est là que je suis un peu perdu, je ne sais pas quelle techno
> > utiliser.
> >
> > Les applications tierces peuvent être ou non des applications .NET et
> > le
> > temps de traitement nécessaire à l'exécution de certaines fonctions
> > peut
> > prendre plusieurs minutes et ne doit donc pas bloquer le client.
> >
> > Alors : remoting, com+ ou autres ?
> >
> > Merci pour votre aide.
> >
> > Laurent
>
>
>




Avatar
Laurent
L'idée du web service renvoyant un jeton me parait pas mal du tout.

Pour les MSMQ je vais prendre le temps de lire l'article.

J'ai juste une dernière question quand au pré-requis pour l'utlisation d'un
service COM+ distant : que doit-on déployer pour utiliser le service com+
avec un client .NET ? avec un client autre, vb6 par exemple ?

Laurent

"Simon Mourier" a écrit :

Cette question est indépendante du mode de connexion. .Net remoting est de
toutes façons à exclure car réservé aux applications .NET. Vous aurez le
même problème d'asynchronisme avec COM.

Pour rester sur le web service, vous pouvez créer un Web Service qui renvoie
une sorte de jeton à l'appelant. Ensuite l'appelant réutilise ce jeton pour
savoir si le traitement est terminé. Ca demande par contre du coté .NET
d'avoir un service capable de s'exécuter tout seul.

Enfin, vous pouvez aussi utiliser MSMQ, via les "Queued Components". Voir
ici:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconqueuedcomponents.asp

Simon.
www.softfluent.com

"Laurent" a écrit dans le message de
news:
> Je précise : en .NET je vois très bien comment réaliser un appel
> asynchrone
> sur un web service mais en vb6 par exemple je ne sais pas du tout si c'est
> possible.
>
> Laurent
>
> "Laurent" a écrit :
>
>> OK pour les web services mais comment éviter les timeout lorsque le temps
>> de
>> traitement est conséquent ?
>>
>> Laurent
>>
>> "Simon Mourier" a écrit :
>>
>> > A priori, je vous suggererais les Web Services, surtout si cela doit
>> > être
>> > accéder à partir d'autres plateformes. Si la libraire de départ est
>> > écrite
>> > en C#, il est très facile de rajouter une couche façade de Web
>> > Services.
>> >
>> > Il existe des tonnes d'exemples. Voici quelques liens
>> > http://www.codeproject.com/cs/webservices/myservice.asp
>> > http://my.execpc.com/~gopalan/dotnet/webservices/webservice_server.html
>> > http://www.startvbdotnet.com/web/sample1.aspx (VB.NET, mais c'est
>> > similaire
>> > en C#)
>> > http://www.dotnetjunkies.com/Tutorial/34D92A69-73F4-41B1-B423-F00161549747.dcik
>> >
>> > Simon.
>> > www.softfluent.com
>> >
>> > "Laurent" a écrit dans le message
>> > de
>> > news:
>> > > Bonjour,
>> > >
>> > > Je souhaite mettre à disposition d'applications tierces les
>> > > fonctionalités
>> > > d'une application que j'ai développé en c#.
>> > >
>> > > Les fonctionalités qui doivent être mise à disposition sont déjà
>> > > présentes
>> > > dans une assembly, j'aimerais donc ajouter une couche de services
>> > > donnant
>> > > acès à ces fonctionnalités depuis n'importe qu'elle pc du réseau.
>> > > C'est là que je suis un peu perdu, je ne sais pas quelle techno
>> > > utiliser.
>> > >
>> > > Les applications tierces peuvent être ou non des applications .NET et
>> > > le
>> > > temps de traitement nécessaire à l'exécution de certaines fonctions
>> > > peut
>> > > prendre plusieurs minutes et ne doit donc pas bloquer le client.
>> > >
>> > > Alors : remoting, com+ ou autres ?
>> > >
>> > > Merci pour votre aide.
>> > >
>> > > Laurent
>> >
>> >
>> >