Lehrstuhl für Offene Kommunikationssysteme
Institut für Kommunikations- und Softwaretechnik
des Fachbereichs 13 der Technischen Universität Berlin
CITeM - Centre d’Integració Tecnològica i Multimèdia
CTT La Salle
Universitat Ramon Llull
Diploma Thesis
Application of Web Service Technologies on a B2B Communication
Platform by Means of a Pattern and UML Based Software Development Process
Author
Arnd Schnieders
Submission deadline: ninth of July 2003
Abstrakt
Die spanische Hotel-, Restaurant- und Cateringindustrie zählt ungefähr 230.000 Einrichtungen. Diese sorgen für einen jährlichen Umsatz von etwa 15.6 Milliarden Euros. Alle diese Einrichtungen verkaufen Nahrungsmittel an private Abnehmer. Gleichzeitig versorgen Produzenten und Händler das Gaststättengewerbe mit Speisen und Getränken. Für gewöhnlich handeln die einzelnen Teilnehmer des Nahrungsmitteldistributionsnetzwerks mit ihren Produkten auf der Grundlage manuell aufgegebener Bestellungen. Dies ist ein Prozess, der durch den Einsatz von Computer- und Internettechnologie effektiviert werden kann.
Ein jüngst auch von der spanischen Regierung unterstütztes und vor etwa drei Jahren gegründetes Projekt mit dem Namen „Catanet“ soll diese Lücke schließen.
In der aktuellen Version der Catanet-Plattform müssen die Kunden Webseiten-basierte Schnittstellen verwenden, um auf die Catanet Dienste zuzugreifen. Über 100 verschiedene Kunden nutzen bereits diese Catanet-Version, um Bestellungen aufzugeben, Produktkataloge zu studieren, Versandbestätigungen zu verschicken usw. Diese Lösung jedoch weist erhebliche Mängel auf. So stellt die menschliche Interaktion immer noch einen unabdingbaren Bestandteil der über die Plattform abgewickelten Geschäftsprozesse dar. Zudem verläuft die Kunden-Plattform-Interaktion weitgehend asynchron. Die Vorteile des Computereinsatzes werden somit nicht voll ausgeschöpft.
Ziel dieser Diplomarbeit war es, eine zusätzliche Plattform zu planen und zu entwickeln, die die direkte Integration der Kunden-ERPs in die Catanet-Plattform erlaubt. Die praktische Bedeutung dieser Arbeit wird dadurch verdeutlicht, dass zahlreiche, sehr bedeutende Marktteilnehmer wie Lauren Films, Pepsi, Unilever und Nestle bereits Verträge mit Catanet geschlossen haben und nun darauf warten, in die neue Catanet-Version, die im Rahmen dieser Diplomarbeit entwickelt werden sollte, integriert zu werden. Da die neue Catanet-Plattform auf der Grundlage von Web Services Technologie entwickelt werden sollte und Web Services momentan noch nicht ohne weiteres für den Einsatz in einem kommerziellen Kontext geeignet sind, mussten zusätzliche Technologien untersucht werden, um den Ansprüchen, die sich aus der kommerziellen Anwendung ergeben (so wie die Sicherheit und Zuverlässigkeit der versendeten SOAP Nachrichten), Rechnung zu tragen. Darüber hinaus mussten Erfordernisse, die die praktische Anwendung mit sich bringt, wie zum Beispiel mögliche Firewall-Probleme, die Stabilität, Performanz und Implementierungs-/Integrationskosten, bei der Suche nach geeigneten Technologien berücksichtigt werden.
Die spätere Entscheidung, .NET-Framework-basierte Programme kundenseitig zu verwenden bei gleichzeitiger serverseitiger Verwendung von Java-Programmen, warf zudem die Schwierigkeit auf, das .NET-Java Integrationsproblem bei gleichzeitiger Berücksichtigung der Kompatibilität mit den übrigen Technologien lösen zu müssen. Auch hier mussten die oben genannten Aspekte der Praxistauglichkeit beachtet werden.
Die Tatsache, dass die Ergebnisse dieser Arbeit später von anspruchsvollen Kunden kommerziell verwendet werden sollten, erforderte insbesondere auch die Betonung der Qualität der entwickelten Software. Die Auswahl und Verfolgung eines geeigneten Softwareentwicklungsprozesses stellt ebenso ein Beispiel für die Anstrengung, dieses Ziel zu erreichen, dar wie die Ausarbeitung und Verwendung einer passenden Teststrategie.
Die Resultate dieser Arbeit bestehen in einer ersten Java-basierten Implementierung der neuen Plattform, bestehend aus über 12.000 Zeilen Quellcode, die in verschiedenen Modulen organisiert sind, und einer umfassenden Studie, wie die neue Catanet Plattform entsprechend den oben genannten Design-, Geschwindigkeits-, Qualitäts- und funktionalen Kriterien zu realisieren ist. Im Rahmen dessen wurden zahlreiche Reliabilitäts- und Sicherheitstechnologien untersucht, bewertet und im Plattformdesign berücksichtigt, obwohl sie aufgrund der Begrenzung der zur Verfügung stehenden Zeit nicht mehr vollständig implementiert werden konnten. Nahezu die Hälfte des entwickelten Quellcodes besteht aus Tests, die entsprechend der ausgearbeiteten Teststrategie implementiert wurden. Außerdem wurde die Performanz des entwickelten Systems analysiert, und Performanz -Flaschenhälse wurden identifiziert.
[...]
Table of Contents
1 Introduction ... 1
1.1 Motivation and Definition of the Project ... 1
1.1.1 Outline of the Catanet Project ... 1
1.1.2 Definition of the Main Tasks of this Work ... 2
1.2 Identification of Central Questions ... 5
1.2.1 Selection and Application of Appropriate Security Mechanisms ... 5
1.2.2 Platform Design by Following an Appropriate Software Development Process ... 5
1.2.3 Implementation Style ... 5
1.2.4 Transaction Reliability ... 6
1.2.5 System Integration ... 6
1.2.6 Real World Business Suitability: Speed and Stability ... 6
1.2.7 SOAP Communication Details ... 6
1.2.8 .NET-Java Integration ... 6
1.3 Overview of this Work ... 8
1.4 Objectives ... 10
2 Technological Background: Web Services ... 11
2.1 Introduction ... 11
2.2 Web Services Architecture: Just-In-Time Integration ... 12
2.3 Web Services Core Technologies ... 14
2.3.1 Packaging Layer: SOAP ... 15
2.3.1.1 SOAP Messages ... 15
2.3.1.2 The SOAP Data Types ... 17
2.3.1.3 RPC-style vs. Document-style SOAP ... 17
2.3.1.4 SOAP Implementations ... 20
2.3.2 Description Layer: WSDL ... 20
2.3.2.1 WSDL Files ... 21
2.3.3 Discovery Layer: UDDI ... 21
2.3.3.1 The UDDI Registry ... 21
2.3.3.2 UDDI Registry Access ... 22
2.4 Conclusion ... 23
3 Concepts ... 26
3.1 Selection of an Appropriate Development Process ... 27
3.1.1 The Waterfall Model ... 27
3.1.2 Iterative / Incremental Software Development According to Craig Larman ... 28
3.1.3 Extreme Programming ... 28
3.1.4 Summary / Conclusion ... 29
3.2 Catanet Proxy vs. Catanet API Approach ... 31
3.2.1 Criteria for Design Decision Proxy Delivery vs. API Solution ... 32
3.2.1.1 Costs ... 32
3.2.1.2 Performance ... 34
3.2.1.3 Stability ... 34
3.2.1.4 Adaptability / Extensibility ... 35
3.2.1.5 User Acceptance ... 36
3.2.1.6 Further Considerations ... 36
3.2.2 Conclusion ... 37
3.3 Technology Evaluation for Interface between Catanet Client and Customer′s IT Infrastructure ... 39
3.3.1 Socket Connection ... 39
3.3.2 RMI (Remote Method Invocation) ... 39
3.3.3 CORBA (Common Object Request Broker Architecture) ... 40
3.3.4 JNI (Java Native Interface) ... 40
3.3.5 Command Line Interface ... 40
3.3.6 Database ... 41
3.3.7 Directory Based Interaction ... 41
3.3.8 Web Service Interface ... 42
3.3.9 Conclusion ... 42
3.4 Technology Study: How to Provide a Reliable SOAP Communication between the Catanet Client and Server ... 44
3.4.1 Reliability at the Transport Level ... 47
3.4.1.1 Reliable HTTP (HTTPR) ... 47
3.4.1.2 Blocks Extensible Exchange Protocol (BEEP) ... 49
3.4.2 Reliability at the SOAP Protocol Level ... 50
3.4.2.1 Web Services Reliability Specification (WS-Reliability) ... 50
3.4.2.2 Web Services Reliable Messaging Protocol (WSReliableMessaging) ... 51
3.4.3 SOAP in Connection with JMS ... 51
3.4.3.1 Main Characteristics and Advantages of JMS ... 51
3.4.3.2 JMS and Web Services ... 53
3.4.4 Electronic Business XML (ebXML) ... 57
3.4.4.1 ebXML Message Service Specification ... 58
3.4.4.2 Accessing ebXML via JAXM Clients ... 59
3.4.5 Implementing an Own Reliability Protocol ... 60
3.4.6 Summary / Conclusion ... 61
3.5 Technology Study: How to Provide a Secure SOAP Communication between the Catanet Client and Server ... 65
3.5.1 Introduction ... 65
3.5.2 Secure Socket Layer (SSL) ... 66
3.5.2.1 SSL Features ... 67
3.5.2.2 Handshake ... 68
3.5.2.3 Protocol Processing ... 70
3.5.2.4 Advantages / Disadvantages ... 71
3.5.3 XML Security ... 72
3.5.3.1 XML Signature ... 72
3.5.3.2 XML Encryption ... 73
3.5.3.3 Advantages / Disadvantages ... 75
3.5.4 Summary / Conclusion ... 75
3.6 Technology Study: Integration of .NET Client with Axis SOAP Server ... 78
3.6.1 Approach 1: Utilization of an Entirely to Java Ported .NET Framework ... 78
3.6.2 Approach 2: Compiling Java Code to MSIL ... 78
3.6.3 Approach 3: Compiling Java Source Code to .NET Languages and Vice Versa ... 79
3.6.4 Approach 4: Using a Bridge to Interlink a .NET with a Java Runtime Environment ... 79
3.6.5 Approach 5: by Using a Web Service Interface between .NET and Java ... 82
3.6.6 Summary / Conclusion ... 83
3.7 Test Strategy ... 86
3.7.1 Requirements ... 86
3.7.2 Test Process ... 86
3.7.3 Component Testing with JUnit ... 88
3.7.4 Integration Testing ... 89
3.7.4.1 Big Bang Integration ... 90
3.7.4.2 Bottom-up Integration ... 92
3.7.4.3 Top-down Integration ... 94
3.7.5 Coverage ... 96
3.7.5.1 Two Exemplary Coverage Models ... 97
3.7.5.2 Object Oriented Coverage ... 97
3.7.6 Summary / Conclusion ... 98
3.8 Summary / Conclusion ... 101
4 Realization ... 104
4.1 Software Development Process ... 105
4.1.1 Outline of Development Process ... 105
4.1.1.1 Phases ... 105
4.1.1.2 UML (Unified Modeling Language) ... 106
4.1.2 Plan and Elaborate Phase ... 106
4.1.2.1 Requirements Specification ... 107
4.1.3 Build Phase ... 121
4.1.3.1 Glossary ... 122
4.2 First Development Cycle ... 123
4.2.1 Analyze Phase ... 123
4.2.1.1 Conceptual Model ... 124
4.2.1.2 System Sequence Diagrams ... 130
4.2.1.3 Contracts ... 132
4.2.2 Design Phase ... 134
4.2.2.1 Expanded Real Use Cases ... 134
4.2.2.2 Collaboration Diagrams ... 140
4.2.2.3 Design of Class Diagrams ... 150
4.2.2.4 System Architecture – Package Building ... 154
4.2.2.5 Complete Collaboration Diagrams Reflecting the Packet Structure of the System ... 160
4.2.3 Construct Phase ... 168
4.2.4 Test Phase ... 169
4.3 Performance Measurements ... 170
4.3.1 First Series of Measurements: Analyzing the Overall Platform Performance ... 170
4.3.1.1 Realization ... 171
4.3.1.2 Results ... 171
4.3.2 Second Series of Measurements: Evaluating the Performance Only of the SOAP Based Message Transfer ... 172
4.3.2.1 Realization ... 173
4.3.2.2 Results ... 173
4.3.3 Third Series of Measurements: Evaluating the Performance of the Server Side Processing ... 174
4.3.3.1 Realization ... 175
4.3.3.2 Results ... 175
4.3.4 Further Series of Measurements: The Performance Bottleneck Has Been Identified ... 176
4.3.4.1 Results ... 176
4.4 Second Development Cycle ... 178
4.4.1 Implementation of the Retransmission in Case of Error and Directory Based System Integration ... 178
4.4.2 Expanded Real Use Case ... 178
4.5 Third Development Cycle ... 182
4.5.1 Implementation of the Order Status Update Requests ... 182
4.5.2 Acknowledge Order ... 182
4.5.2.1 Expanded Real Use Cases ... 182
4.5.2.2 Concepts / Conceptual Model ... 184
4.5.3 Shipping Confirmation ... 185
4.5.3.1 Expanded Real Use Case ... 185
4.5.3.2 Concepts / Conceptual Model ... 187
4.6 Summary / Conclusion ... 188
5 Conclusion ... 192
5.1 Summary ... 192
5.1.1 Chapter two ... 192
5.1.2 Chapter three ... 192
5.1.3 Chapter four ... 195
5.2 Future Prospects ... 197
5.3 Open Issues ... 200
6 List of References ... 201
7 Appendix ... 205
1 Introduction
1.1 Motivation and Definition of the Project
1.1.1 Outline of the Catanet Project
There are about 230.000 establishments in the Spanish hotel, restaurant and catering industry accounting for a turnover of about 15.6 thousand million euros. All of them sell food to private consumers. On the other hand suppliers and traders supply the catering trade with food and beverage products. Usually the different players in this food distribution network trade products by means of orders which are placed manually. This is a process which can be enhanced through the application of computer and Internet technology.
A project lately also supported by the Spanish government is supposed to fill this gap. This project is called “Catanet” and has been established three years ago.
Actually the Catanet platform is used by more than 100 customers, amongst them very important industry players like Lauren Films, Pepsi, Unilever and Nestle . Some of them will carry out a significant part of their overall food orders by the Catanet platform, which corresponds to a turnover volume of many million euros.
In the former version of the Catanet platform clients had to apply a web page based interface in order to use the Catanet services. As this approach prohibited the full exploitation of the benefits the use of computer assistance provides (e.g. human participation still constitutes an inevitable and crucial part of the transaction, the interaction is completely asynchronous) an additional level is being added to the Catanet platform eliminating these shortcomings.
During the time of this work the number of Catanet customers has grown explosively increasing also the diversity of the customer’s computer systems. Additionally new subprojects could be launched due to the acquisition of a government grant. These encompassed among others new value added services demanded by the customers like an instant messaging module and a module for the automatic update of the local product catalog.
The characteristics of the IT infrastructure of the new customers which will carry out transactions with a serious turnover via the Catanet platform and the necessity to integrate the new subprojects required an adaptation of the design of the platform prototype which had been developed by this time and which is described in this work.
Within this context the decision has been done to use .NET Framework based programs on the customer side instead of Java which had been used so far. The reasons for this were besides the easier integration with the IT infrastructure of the new customers the rising wish to provide a client module similar to a file sharing program which should also provide an attractive user interface for the manual interaction with the Catanet platform. Therefore the existing web based user interface should be utilized by integrating an Internet Explorer into the client module. For these applications .NET seemed to be more suitable that Java.
Besides the provision of a business to business platform the Catanet project aims to establish a product description code similar to the EAN13 barcode used in supermarkets in order to settle up products at the counter. This electronic barcode with the name “Registro Gastronómico” is dedicated to transport product information via the Internet and consists of generic building blocks (e.g. the product family hierarchy it belongs to, its vendors, its wrappers, etc.), while the different product aspects (represented by the corresponding building blocks) may only be modified by certain customers. The product descriptions are held in a central oracle database provided by the Catanet platform and are editable by the Catanet customers via a web interface according to their role.
1.1.2 Definition of the Main Tasks of this Work
The figure below depicts the latest version of the Catanet platform design from a conceptual point of view.
!! Im PDF-Dokument befindet sich an dieser Stelle eine Abbildung !!
Figure 1: Overall Catanet Platform
According to this model the Catanet platform consists of the modules at the server side and the modules at the client side.
On the client side different integration modules assure that the client can be integrated into the Catanet platform. Some clients for example dispose of an ERP system like SAP that has to be integrated with the platform while other clients prefer a user interface to connect to the Catanet platform.
The main communication channel between the client and the server side is to be realized using the SOAP protocol. The purpose thereby is to realize a synchronous communication between the customer’s IT infrastructure with the Catanet platform server.
The communication has to be secured, i.e. the integrity and confidentiality of the transmitted data and the authenticity of the sender has to be assured. Additionally it has to be proved for every transaction that the sender is authorized to access the desired service.
[...]
Arbeit zitieren:
Arnd Schnieders, 2003, Application of web service technologies on a b2b communication platform by means of a pattern and UML based software development process, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Handlungsorientierung als didaktisches und theoretisches Leitprinzip z...
Pädagogik - Berufserziehung, Berufsbildung, Weiterbildung
Hauptseminararbeit, 14 Seiten
Der Ökonomiebegriff bei Aristoteles und Xenophon - Eine Gegenüberstell...
Philosophie - Philosophie der Antike
Hausarbeit, 19 Seiten
Handlungsorientierter Unterricht als didaktisches Konzept zur Anleitun...
Pädagogik - Allgemeine Didaktik, Erziehungsziele, Methoden
Hauptseminararbeit, 26 Seiten
Zu: Thüring von Ringoltingens "Melusine" - Verwandtschaftsbe...
Germanistik - Ältere Deutsche Literatur, Mediävistik
Seminararbeit, 20 Seiten
Handlungs- und Produktionsorientierter Deutschunterricht
Deutsch - Pädagogik, Didaktik, Sprachwissenschaft
Hausarbeit, 20 Seiten
Lessings Auseinandersetzung mit dem Mitleidsbegriff
Germanistik - Neuere Deutsche Literatur
Hauptseminararbeit, 28 Seiten
Das Genre Kurzfilm als Gegenstand der Literaturwissenschaft und des fr...
Vorschläge für einen handlungs...
Romanistik - Didaktik Spanisch
Examensarbeit, 81 Seiten
Emilia Galotti - Die Bedeutung des Virginia-Stoffes für die Deutung de...
Germanistik - Neuere Deutsche Literatur
Hausarbeit, 15 Seiten
Unterstützungsmanagement im Alter - Neue Wege des Case Management in d...
Sozialpädagogik / Sozialarbeit
Diplomarbeit, 80 Seiten
Lessings Hamburgische Dramaturgie: 'Furcht und Mitleid' oder &...
Germanistik - Neuere Deutsche Literatur
Hauptseminararbeit, 33 Seiten
Interkulturelle Kompetenz in Lehrwerken - Skizzierung eines Kriterienk...
Deutsch - Deutsch als Fremdsprache / Zweitsprache
Hauptseminararbeit, 40 Seiten
Die Beziehungen zwischen Candomblé und katholischem Christentum
Synkretismus und Anti-Synkret...
Hausarbeit, 19 Seiten
Arnd Schnieders hat den Text Application of web service technologies on a b2b communication platform by means of a pattern and UML based software development process veröffentlicht
Arnd Schnieders hat einen neuen Text hochgeladen
0 Kommentare