Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Communautaire
Communautaire
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 106
    • Issues 106
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 11
    • Merge Requests 11
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Nereide
  • CommunautaireCommunautaire
  • Issues
  • #128

Closed
Open
Opened Aug 27, 2019 by Mathieu Lirzin@mthlOwner

Implémenter des services plus facilement

Problème

L'API Java pour implémenter des services OFBiz à l'avantage d'être relativement simple dans la mesure où l'ensemble du contexte est accessible de manière locale via ses paramètres.

Map<String, Object> doSync(Map<String, Object> context, Map<String, Object> params);

Malheureusement cette simplicité a aussi pour effet d'imposer de manipuler le contexte pour accéder au délégateur et dispatcheur. Cette "difficulté" a amené la communauté OFBiz a déveloper des moteurs de services basés sur des langages spécifiques au domaine (DSL) pour faciliter le travail pour des non-dévéloppeur. D'abord Minilang puis maintenant un DSL embarqué dans Groovy.

Le problème de ces solutions est qu'elles sont inutilement compliqués ce qui les rendent peut flexible et réutilisable.

Proposition

On faire en sorte que le dispatcheur, le délégateur et les autres fonctionalités principales d'OFBiz soient directement accessibles sans avoir à les extraire du contexte, de sorte de voir uniquement une implémentation comme une fonction de Map → Map

Map<String, Object> wrappedDoSync(Map<String, Object> params);

Pour cela on veut créer un adapteur permettant de passer de la première signature de méthode à la deuxième.

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: 10031/Communautaire#128