ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the...
-
Upload
ernest-curtis -
Category
Documents
-
view
215 -
download
0
Transcript of ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the...
![Page 1: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/1.jpg)
ASP.NET Leave Request Management
Stephan Müller, Christian TinnefeldTrends and Concepts in the Software Industry II -
Exercise
March 7th 2007
![Page 2: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/2.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
2
Motivation
■ What
□ Create, edit and cancel leave requests
□ Approve and reject leave requests
■ How
□ Back-end: SAP Web Services
□ Front-end: Microsoft ASP.Net Web application
■ Why
□ Lower burden for SAP service utilization
□ Proof Interoperability
□ Reusability of services
![Page 3: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/3.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
3
Architecture
![Page 4: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/4.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
4
Creating a new Leave Request
■ Input fields
□ Type / Reason
□ Start and end dates
□ Start and end times
□ Notes
![Page 5: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/5.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
5
Creating a new Leave Request
Reply.Text = facade.CreateLeaveRequest("1", empId, "3", Reason.SelectedValue, "PT0S", fromDate, toDate, Notes.Text);
![Page 6: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/6.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
6
Live Demonstration
![Page 7: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/7.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
7
Using Web Services in .NET
■ The Good:
□ Including web services as web references
□ Automatic proxy class generation
□ Automatic generation of helper classes
□ Seamless integration of remote methods
■ The Bad:
□ No parameterization of proxy generation
□ Individual changes of proxy classes will be discarded
■ The Ugly:
□ Proxy classes are completely hidden in ASP.NET
□ Absolutely no influence on web service usage methodology
![Page 8: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/8.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
8
Reflection Error (1/2)
• Occurs if…
■ Using a non Microsoft Application Server (e.g. IBM Websphere)
■ Parameters containing arrays or vectors
■ WSDL file in Document-Style (not verified)
[return: System.Xml.Serialization.XmlElementAttribute ("EmployeeTimeAccount",Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Namespace="http://sap.com/xi/EA-HR/SE/Global")]
![Page 9: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/9.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
9
Reflection Error (2/2)
• Solution Approaches
■ IBM: “Avoid using Vector parameters in WebSphere Application Server Web service methods to interoperate with .NET client as well as any Java Collection type.“
■ RPC was not available
■ Usage of open source generation tools (Mono Rotor)
• Our Solution
■ Separate proxy generation from Visual Studio
■ Revising the namespace declaration of .NET proxy class
■ Compile proxy classes as library for referencing (optional)
![Page 10: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/10.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
10
dotNetWebServiceReviser
• Reading WSDL file
• Identify XML Namespace
• Generate Proxy Class
• Revise Namespace Declaration
• Build Dynamic Link Library
![Page 11: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/11.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
11
Deployment
■ MS Visual Studio generates MSI Installer File
■ IIS v.6.0 as deployment server
■ Wizard-guided installation
![Page 12: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/12.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
12
Conclusion
■ Unexpected SOA interoperability issues
■ Much effort needed for building workaround tool
■Weak standards
■ BUT: In the end everything works great
![Page 13: ASP.NET Leave Request Management Stephan Müller, Christian Tinnefeld Trends and Concepts in the Software Industry II - Exercise March 7th 2007.](https://reader035.fdocuments.net/reader035/viewer/2022070413/5697bfd31a28abf838cac30b/html5/thumbnails/13.jpg)
ASP.NET Stephan Müller and Christian Tinnefeld | March 7, 2007
13
Questions?!