Question

nous produit la construction qui peut être utilisé par d'autres systèmes. Comme nous l'avons SOA, nous développons seulement un service (WCF). Nous avons eu plusieurs discussions controversées sur la façon de concevoir une interface de ce service. Nous choisissons entre la conception et la procédure OO pour le service.

Comme notre service sera utilisé à partir de .NET et Java certains disent qu'il est difficile d'intégrer un service si elle a la conception OO. D'autres pensent que les services de mât ne pas utiliser l'approche OO. Certains disent que OO est tout à fait OK. En conséquence, nous il n'y a pas de dépression claire là-dessus.

WCF fournir moyen facile d'utiliser les deux modèles, mais ce qui est le meilleur?

Était-ce utile?

La solution

Je suppose que la définition de « Orienté Objet » que vous utilisez est le concept du programme de gestion « objets », et ces objets individuels gérer leur état interne et exposer les fonctions à appeler.

Le plus proche WCF parralel à cette question est des services à base de session, où la durée de vie de chaque instance de service est contrôlé par le client.

Si vous voulez que ce service soit invoqué par Java, vous devez utiliser basicHttpBinding, comme celui-ci utilise le protocole de service web classique.

Cette liaison ne fournit pas de support pour les services basés sur la session, de sorte que vous pouvez littéralement pas d'utiliser des services de session.

Par conséquent, vous ne pouvez pas appliquer le paradigme « orienté objet » en ce qui concerne le service lui-même.

Autres conseils

Vous clarifiez votre question initiale en disant: « Ma question porte sur les méthodes du service devraient-ils recevoir des types complexes au lieu de paramètres scalaires? »

Vous devriez vous poser la question suivante:

a) Est-il possible que le service peut être utilisé par les clients non-OO? J'sais, un lot COBOL? Même si votre entreprise a standardisé technologie OO (Java / .NET) est-il possible que ce service spécifique peut être utilisé à l'avenir par une entité externe (client, site web PHP, peu importe)

b) Avez-vous déjà créé de nombreux services tel dans le passé (vous êtes parfaitement sûr, il n'y a pas marshalling / sérialisation / problèmes désérialisation avec des types complexes, ou sont au moins au courant de ce que vous pouvez utiliser en toute sécurité)?

Si vous êtes pleinement confiant sur ces deux points, alors ne hésitez pas à utiliser une approche « OO » dans la conception des entrées et des sorties pour votre service. Sinon, optez pour la plus sûre (si plus primitive) approche et décomposer les « objets » en groupes de scalaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top