
Ein Service bietet eine Lösung für vorgegebene Aufgaben an und ist in einem System implementiert. Entsprechend bezeichnet man denjenigen, der den Service anbietet als Provider und das System, in dem der Service implementiert ist, als Provider-System. Umgekehrt gibt es immer einen Aufrufer oder Consumer des Service und entsprechend ein Consumer-System. Abgesehen von der technischen Implementierung ranken sich viele Fragen und Anforderungen um die Service-Entwicklung. Hier einige Beispiele, die dies verdeutlichen:
Die Antworten auf solche Fragen bestimmen, mit welchen Methoden man einen Service implementiert und für Consumer zugänglich macht.
Im folgenden werden einige Methoden und Technologien vorgestellt, um die Service-Entwicklung im Enterprise Services Repository von anderen Szenarien abzugrenzen.
Es ist möglich, Services unabhängig von der verwendeten Interface-Technologie aufzurufen. Dazu braucht der Consumer nur eine Service-Beschreibung, über die er den Service aufrufen kann. Es gibt nun zwei Ansätze, wo diese Beschreibung herkommen soll:
SAP NetWeaver verwendet XML-Technologie für die Service-Beschreibungen. Da man beim Outside-In-Ansatz zunächst keine klassischen Entwicklungsobjekte, sondern sprachenunabhängige Service-Beschreibungen anlegt, wird diese Phase mit Design-Phase bezeichnet.
Die Wahl des Entwicklungsansatzes hängt eng mit der Frage zusammen, ob der Service bereits existiert oder nicht. Der nächste Abschnitt geht genauer auf eine weitere Dimension der Service-Entwicklung ein, bei der es um die technische Umsetzung des Aufrufs geht.
SAP NetWeaver bietet zwei Entwicklungsvarianten für systemübergreifende Serviceaufrufe an:
In beiden Varianten gibt es wiederum die Möglichkeit, Services nach dem Outside-In- oder Inside-Out-Ansatz zu entwickeln:
Entwicklungsansätze
| Variante | Ansatz | Grundsätzliche Vorgehensweise | |
|---|---|---|---|
| Point-to-Point |
Inside-Out |
Für eine vorhandene Funktion im Anwendungssystem erzeugen Sie ein WSDL-Dokument (das sie beispielsweise auf einem UDDI-Server publizieren können). Aus dem WSDL-Dokument kann sich der Aufrufer ein Consumer-Proxy generieren, mit dem die Anwendung auf Consumer-Seite den Service beim Provider aufrufen kann. |
|
| Outside-In |
Die Entwicklung beginnt im Enterprise Services Repository mit dem Design von Service-Interfaces, die direkt als WSDL-Dokument abrufbar ist. Ausgehend von den Service-Interfaces generieren Entwickler sowohl Proxies für den Provider als auch für den Consumer. Im WSDL-Dokument fehlen allerdings noch Informationen darüber, wie der Provider des Service adressiert werden kann. Die Methode, wie diese Informationen ergänzt werden, hängt von der Entwicklungsvariante ab (Point-to-Point oder über Integration Server). |
||
| Integration Server |
|||
| Inside-Out |
Sie importieren eine XML-Beschreibung für eine vorhandene Funktion in das Enterprise Services Repository. Die XML-Beschreibung lässt sich für eine Kommunikation über den Integration Server durch beliebige Aufrufer verwenden. |
Die Dokumentation zum Enterprise Services Repositorykonzentiert sich auf Details zu den jeweiligen Objekteditoren im Enterprise Services Builder. Besonderheiten zur jeweiligen Entwicklungsvariante werden nur am Rande erwähnt.