Zusammenfassung
Die Integration mittels Funktionsaufruf wird am Beispiel von Webservices dargestellt. Das Konzept, der Ablauf zur Laufzeit, die methodische Vorgehensweise zur Definitionszeit und die dabei verwendeten Standards SOAP, WSDL und UDDI werden behandelt. Die Unterstützung durch Nachrichtenübertragungssysteme für eine zuverlässige Übertragung und weitere qualitative Aspekte werden beschrieben. Neben den technischen Aspekten werden auch organisatorische angesprochen. Webservices werden kurz mit anderen Ansätzen der Integration mittels Funktionsaufruf, insbesondere REST, verglichen.
Computer age – in harms way
We will prevail and perform our function.
We R in Control
Neil Young
Die Quelle zum Kapitelmotto lautet: Young N (1982) Computer Age. LP, Geffen Records.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Teilweise werden die Begriffe synonym verwendet. Es gibt einen feinen Unterschied: Marshalling bedeutet, Daten in eine Nachricht eines bestimmten Formats einzupacken. Serialisierung transformiert eine solche Nachricht in einen Bytestrom (Alonso et al. 2004, S. 37).
- 3.
Die Bezeichnungen „Mikro-“ und „Makroebene“ sind eigene, nicht von Webservices vorgegebene Begriffe.
- 4.
In der Mikroebene wird hier die Kodierung document/literal verwendet.
- 5.
Ebenso wenig ist Routing-Information, also eine Sequenz von Knoten, die zu durchlaufen ist, im SOAP-Standard enthalten. In weiteren Webservice-Standards werden diese Aspekte angesprochen: WS-Addressing, womit eine Adresse innerhalb einer SOAP-Nachricht angegeben werden kann; neben dem URI können auch weitere referenzierende Angaben zum Identifizieren des Dienstinstanzobjektes herangezogen werden. Mit WS-Routing können SOAP-Pfade von Knoten im Kopf angegeben werden (Alonso et al. 2004, S. 191 f.).
- 6.
Ein Kommunikationspurist mag sich am Wort „Transport“ stören. Es ist hier in einem weiteren Sinne gebraucht.
- 7.
Es könnte noch etwas komplizierter werden: Für ein und denselben Webservice sind verschiedene Transport-Bindings möglich, etwa damit auf den Webservice sowohl über HTTP als auch über SMTP zugegriffen werden kann. Daher könnte es für eine Schnittstelle mehrere Transport-Bindings geben.
- 8.
In JAX-WS (Java API for XML based RPC) werden Annotationen @WebService für eine zustandsbasierte Session-Bean und @WebMethod für einzelne Methoden verwendet, um die Verwendung als Webservice(-Operation) anzugeben. Daneben gibt es weitere Annotationen für verschiedene andere Aspekte, z. B. den Kodierungsstil (Mandl 2009, S. 219).
- 9.
Binden ist hier in einem anderen Sinne als das Transport-Binding eines Webservice verstanden.
- 10.
Formal ist die Beschreibung in einem sog. tModel (Technical Model) mit dieser Nummer abgelegt (Alonso et al. 2004, S. 177). Verschiedene Realisierungen eines Webservice können dasselbe tModel referenzieren.
- 11.
Tatsächlich gibt es im Detail wiederum verschiedene Möglichkeiten, wie man sie vom RPC kennt. Der Client kann warten, bis der Server den Aufruf angenommen hat („normaler“ asynchroner RPC) oder sich sofort zurückmelden (Einweg-RPC). Ein Spezialfall ist der verzögerte synchrone RPC. Er besteht aus zwei asynchronen RPCs, der erste vom Client zum Server, der zweite vom Server zum Client, um die Ergebnisse zu übergeben. Eine Variante davon ist, dass der Client später selbst nach dem Ergebnis fragt (Tanenbaum und Steen 2007, S. 158).
Literatur
a) Weiterführende Literatur
Die Konzepte von SOAP/WSDL-basierten Webservices sind gut beschrieben in
Alonso, G., Casati, F., Kuno, H., Machiraju, V.: Web Services. Springer, Berlin Heidelberg New York (2004)
Ein Pluspunkt des folgenden Buchs ist die detaillierte Darstellung eines Web-Service-Beispiels:
Papazoglou, MP.: Webservices: Principles and technology, S. 154. Prentice-Hall, Upper Saddle River (2007)
Für REST-basierte Webservices:
Tilkov, S., Eigenbrodt, M., Schreier, S., Wolf O.: REST und HTTP, 3. Aufl. dpunkt, Heidelberg (2015)
Konzepte entfernter Prozedur- und Methodenaufrufe sind umfassend in einigen Büchern erläutert, z. B. in
Coulouris, G., Dollimore, J., Kindberg, T.: Verteilte Systeme, 3. Aufl. Pearson Studium, München (2002)
Tanenbaum, A., van Steen, M.: Verteilte Systeme, 2. Aufl. Pearson Studium, München (2007)
Mandl, P.: Master-Kurs Verteilte betriebliche Informationssysteme. Vieweg+Teubner, Wiesbaden (2009)
Illik, JA.: Verteilte Systeme. Expert, Renningen (2007)
Ein Vorteil des letzten Buchs liegt insbesondere in den vielen Programmierbeispielen zu Pipes und Sockets, RPC, Java RMI, CORBA.
b) Weitere zitierte Literatur
Fielding, RT.: Architectural styles and the design of network-based software architectures. Dissertation, University of California, Irvine (2000)
Huvar, M., Falter, T., Fiedler, T., Zubev, A.: Anwendungsentwicklung mit Enterprise SOA. Galileo Press, Bonn (2008)
van Lessen, T., Lübke, D., Nitzsche, J.: Geschäftsprozesse automatisieren mit BPEL. dpunkt, Heidelberg (2011)
Web Services Interoperability Organization (2011) WS-I Basic Profile http://www.ws-i.org/deliverables/workinggroup.aspx?wg=basicprofile. Zugegriffen: 10. Aug. 2011
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2021 Springer-Verlag GmbH Deutschland, ein Teil von Springer Nature
About this chapter
Cite this chapter
Weber, R. (2021). Integration mittels Funktionsaufruf. In: Betriebliche Anwendungssysteme. Springer Vieweg, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-63185-0_11
Download citation
DOI: https://doi.org/10.1007/978-3-662-63185-0_11
Published:
Publisher Name: Springer Vieweg, Berlin, Heidelberg
Print ISBN: 978-3-662-63184-3
Online ISBN: 978-3-662-63185-0
eBook Packages: Computer Science and Engineering (German Language)