Qos-Enabled B2B Integration
Total Page:16
File Type:pdf, Size:1020Kb
BAMBERGER BEITRAGE¨ ZUR WIRTSCHAFTSINFORMATIK UND ANGEWANDTEN INFORMATIK ISSN 0937-3349 Nr. 80 QoS-Enabled B2B Integration Thomas Benker, Stefan Fritzemeier, Matthias Geiger, Simon Harrer, Tristan Kessner, Johannes Schwalb, Andreas Sch¨onberger and Guido Wirtz May 2009 FAKULTAT¨ WIRTSCHAFTSINFORMATIK UND ANGEWANDTE INFORMATIK OTTO-FRIEDRICH-UNIVERSITAT¨ BAMBERG Distributed and Mobile Systems Group Otto-Friedrich Universit¨at Bamberg Feldkirchenstr. 21, 96052 Bamberg, GERMANY Prof. Dr. rer. nat. Guido Wirtz http://www.uni-bamberg.de/en/fakultaeten/wiai/faecher/informatik/lspi/ Due to hardware developments, strong application needs and the overwhelming influence of the net in almost all areas, distributed and mobile systems, especially software systems, have become one of the most important topics for nowadays software industry. Unfortunately, distri- bution adds its share to the problems of developing complex software systems. Heterogeneity in both, hardware and software, concurrency, distribution of components and the need for inter- operability between different systems complicate matters. Moreover, new technical aspects like resource management, load balancing and deadlock handling put an additional burden onto the developer. Although subject to permanent changes, distributed systems have high requirements w.r.t. dependability, robustness and performance. The long-term common goal of our research efforts is the development, implementation and evaluation of methods helpful for the development of robust and easy-to-use software for com- plex systems in general while putting a focus on the problems and issues regarding the software development for distributed as well as mobile systems on all levels. Our current research acti- vities are focused on different aspects centered around that theme: • Robust and adaptive Service-oriented Architectures: Development of design methods, lan- guages and middleware to ease the development of SOAs with an emphasis on provable correct systems that allow for early design-evaluation due to rigorous development me- thods and tools. Additionally, we work on approaches to autonomic components and container-support for such components in order to ensure robustness also at runtime. • Agent and Multi-Agent (MAS) Technology: Development of new approaches to use Multi- Agent-Systems and negotiation techniques, for designing, organizing and optimizing com- plex distributed systems, esp. service-based architectures. • Peer-to-Peer Systems: Development of algorithms, techniques and middleware suitable for building applications based on unstructured as well as structured P2P systems. A specific focus is put on privacy as well as anonymity issues. • Context-Models and Context-Support for small mobile devices: Investigation of techni- ques for providing, representing and exchanging context information in networks of small mobile devices like, e.g. PDAs or smart phones. The focus is on the development of a tru- ly distributed context model taking care of information reliability as well as privacy issues. • Visual Programming- and Design-Languages: The goal of this long-term effort is the uti- lization of visual metaphors and languages as well as visualization techniques to make design- and programming languages more understandable and, hence, easy-to-use. More information about our work, i.e., projects, papers and software, is available at our ho- mepage. If you have any questions or suggestions regarding this report or our work in general, don't hesitate to contact me at [email protected] Guido Wirtz Bamberg, April 2006 QoS-Enabled B2B Integration Thomas Benker, Stefan Fritzemeier, Matthias Geiger, Simon Harrer, Tristan Kessner, Johannes Schwalb, Andreas Sch¨onberger and Guido Wirtz Lehrstuhl fur¨ Praktische Informatik, Fakult¨at WIAI Abstract Business-To-Business Integration (B2Bi) is a key mechanism for enterprises to gain competitive advantage. However, developing B2Bi applications is far from trivial. Inter alia, agreement among integration partners about the business documents and the control flow of business document exchanges as well as applying suitable communication technologies for over- coming heterogeneous IT landscapes are major challenges. At the same time, choreography languages such as ebXML BPSS (ebBP), orchestration languages such as WS-BPEL and Web Services are promising to provide the foundations for seamless interactions among business partners. Automatically translating choreography agreements of integration partners into partner-specific orchestrations is an obvious idea for ensuring conformance of orchestration models to choreo- graphy models. Moreover, the application of such model-driven development methods facilitates productivity and cost-effectiveness whereas applying a service oriented architecture (SOA) ba- sed on WS-BPEL and Web Services leverages standardization and decoupling. By now, the realization of QoS attributes has not yet received the necessary attention that makes such ap- proaches suitable for B2Bi. In this report, we describe a proof-of-concept implementation of the translation of ebBP choreographies into WS-BPEL orchestrations that respects B2Bi-relevant QoS attributes. Keywords B2Bi, QoS, Choreography to Orchestration Generation, Web Services, ebXML, ebBP, BPEL, SOA, WS-* standards Contents 1 Introduction 1 1.1 Business-2-Business-Integration . .1 1.2 The Necessity of QoS Features . .2 1.3 Problem Identification and Definition . .2 2 Fundamentals 4 2.1 The Universal Business Language (UBL) and the Northern European Subset (NES)4 2.2 The ebXML Business Process Specification Schema Technical Specification (ebBP)5 2.3 WebServices .....................................8 2.4 Web Services Business Process Execution Language . 10 2.5 WS-*Standards.................................... 12 2.5.1 WS-Addressing . 13 2.5.2 WS-Security . 14 2.5.3 WS-ReliableMessaging . 14 2.5.4 WS-Policy . 16 2.5.5 XML Signature . 16 2.6 JAXB ......................................... 18 3 Analysis 20 3.1 Modeling of NES-Profiles Using ebBP . 20 3.1.1 Modeling Practices Used . 20 I II 3.1.1.1 The General Approach . 20 3.1.1.2 ebBP Modeling Elements . 21 3.1.1.3 UML Constructs . 29 3.1.2 Critical Modeling Issues . 31 3.1.2.1 The Parallel Execution Problem . 31 3.1.2.2 Loop Handling . 32 3.1.2.3 External Medium . 34 3.1.3 Modeling of the NES Profiles . 36 3.1.3.1 Basics of Modeling the NES Profiles . 37 3.1.3.2 Structure of the NES Profile Description . 38 3.1.3.3 Profile 1: Catalogue Only . 39 3.1.3.4 Profile 2: Catalogue with Updates . 41 3.1.3.5 Profile 3: Basic Order Only . 41 3.1.3.6 Profile 4: Basic Invoice Only . 44 3.1.3.7 Profile 5: Basic Billing . 44 3.1.3.8 Profile 6: Basic Procurement . 46 3.1.3.9 Profile 7: Simple Procurement . 48 3.1.3.10 Profile 8: Basic Billing with Dispute Response . 48 3.1.3.11 Business Collaboration sendInvoice and sendCreditNote with External Medium . 49 3.1.3.12 Business Collaboration sendInvoice and sendCreditNote with- out External Medium . 53 3.2 Evaluation of QoS Features . 55 3.3 Platform Selection - GlassFish vs. Tomcat . 57 3.3.1 GlassFish . 57 3.3.2 Tomcat .................................... 57 3.3.3 Derivation of a Feature Test Plan . 58 3.3.3.1 Relevant Criteria for the Platform Selection . 58 III 3.3.3.2 Feature Test Plan . 58 3.3.4 (Feature) Tests and Results . 60 3.3.4.1 IDE-Integration . 60 3.3.4.2 Usability . 60 3.3.4.3 Standard Conformance . 61 3.3.4.4 Performance Tests and Results . 62 3.3.4.5 Functional QoS Feature Tests and Results . 63 3.3.5 Evaluation of the Feature Tests and Decision . 63 4 Design and Implementation 65 4.1 Realization Strategies . 65 4.1.1 ebBP to BPEL Mapping Constructs . 65 4.1.1.1 Design of the Mapping Constructs . 66 4.1.1.2 Validation of Mapping Constructs . 87 4.1.2 Realization of QoS Features . 88 4.2 Design of WS-Interfaces . 92 4.2.1 Design of the Messages . 92 4.2.2 The Correlation Set . 94 4.2.3 Naming Conventions of the WSDLs . 96 4.2.4 Web Service Interfaces . 97 4.2.4.1 General Structure . 97 4.2.4.2 Various QoS Combinations . 99 4.3 Architectures and Implementations . 105 4.3.1 Overall Architecture . 105 4.3.2 Translator Architecture and Implementation . 105 4.3.2.1 General Architecture . 105 4.3.2.2 Architecture and Implementation of the main components . 107 IV 4.3.2.3 Architecture and Implementation of Reader . 107 4.3.2.4 Architecture and Implementation of Transformer . 108 4.3.2.5 Architecture and Implementation of Generator . 109 4.3.2.6 Architecture and Implementation of Writer . 114 4.3.2.7 Architecture and Implementation of Utilities . 114 4.3.3 Backend Architecture and Implementation . 116 4.3.3.1 General Architecture and Implementation . 116 4.3.3.2 Architecture and Implementation of the Profile Handlers . 119 4.3.4 Web Service Architectures and Implementations . 123 4.3.4.1 Web Service: Archive . 124 4.3.4.2 Web Service: AuthorizationCheck . 125 4.3.4.3 Web Service: SchematronValidation . 126 4.3.4.4 Web Service: SignatureCreation . 127 4.3.4.5 Web Service: SignatureCheck . 129 4.3.4.6 Web Service: UUID . 129 4.3.4.7 Web Service: XPathEvaluation . 129 4.3.4.8 Web Service: XSDValidation . 130 5 Related Work 131 6 Conclusion and Future Work 135 Bibliography 136 Appendix 139 A User Manual 139 A.1 Manual of the Translator . 139 A.2 Manual of the Backend System . 142 V A.3 Manual of the Web services . 147 B Used Tools 148 B.1 IDEs.......................................... 148 B.2 Test .......................................... 148 B.3 Runtime........................................ 148 B.4 Documentation .................................... 148 C ebBP Modeling Naming Conventions 150 D List of previous University of Bamberg reports 154 List of Figures 2.1 The relation of NES and UBL, taken from [Gro07a, page 5] . .5 2.2 Usage context of ebBP . .6 2.3 The Web Services Architecture . 10 2.4 A BPEL process example, modeled in BPMN .