|
Blogs
|
|
|

In addition to developing new portal applications from scratch, with PDK for .NET you can also leverage existing investments by reusing your code.
The following example shows how a business logic component from an existing Windows application was reused in a portal application.
The Windows AbsenseRequest smart client application enables users to create and submit an absence request as well as to view their absence quotas. The business logic is based on the Time and Attendance Enterprise Services from SAP ESA Preview System, which are available as standard Web services.
The following figure shows the Windows application UI:
To convert this application for the portal, we had to replace its UI, but could reuse its business logic. The business logic, which included the Web service references and calls, was encapsulated in a Web service wrapper component that was accessed from the UI form. Thus the business logic was separated from the UI, which made it easy to reuse.
As in any other .NET application, in an SAP portal application you can include or reference .NET or COM components, libraries and Web services.
So we created a new SAP portal application and a new portal component for the UI, and added a reference to the wrapper component. All that was left to do was to add its method calls to the appropriate event handlers of the portal component.
The following figure illustrates the application architecture and its conversion process:
And this is the resulting portal application:
Note that this portal application was easier to develop than the Windows application. For example, there was no need to implement user login, as this was handled by the portal single sign-on mechanism.
You can enhance your existing applications by converting them to the portal applications, taking advantage of portal built-in services and mechanisms such as single sign-on, user management, role-based security, object-based navigation and system landscape, which you can access with the API provided by PDK for .NET, as well as SAP NetWeaver .NET controls, which automatically acquire the uniform portal look and feel.
Tips
To reuse your code with PDK for .NET efficiently, you should be aware of the following issues:
- User Interface
The UI of the existing ASP .NET Web applications can be easily converted into a portal application UI because it is based on the ASP .NET engine. Since the SAP portal component is itself a user control, you can reuse an ASP .NET user control by copying and pasting its HTML code into a portal component and making the necessary changes.
The application code might need to be adapted for the portal - for example, navigation with the Response.Redirect method wont work.
- Existing Windows Forms user interfaces are not reusable in the portal applications.
- Dynamic properties, used in ASP.NET Web site applications, won't work in the portal.
- State management in a clustered environment.
PDK for .NET allows selecting a portal-side Allow Server Affinity option that causes all requests of the same user to be directed to the same .NET Runtime server, which does not normally happen in a clustered environment. Therefore, you can use the ASP.NET caching mechanism (Application and Session objects) only if you are sure that this option will always be selected for your application.
- If your existing application uses any 3rd party .NET or COM components, you need to install them on the .NET runtime server manually.
Anne Tarnoruder
is an information developer for IPNW MDE Rollout Knowledge Management
If you have successfully converted your existing applications and/or integrated existing components in SAP portal applications, you are invited to share your experience with the PDK for .NET community by responding to this blog.
Comment on this weblog
How does TCO look at customer side
2009-05-13 01:11:00 Michael Kretz
Business Card
[Reply]
Hello,
I think it is a great thing to combine the two worlds on a development perspective. But how does TCO look at customer side?
Besides of the SAP infrastructure (Portal server, development infrastructure, Backend infrastructure), also Microsoft servers are needed, especially if the .NET environment uses ASP .NET.
Can you point out which and how many servers for the Microsoft environment are needed in addition?
The scenario would be to sell a .NET based product to a customer and integrate it to the SAP world.
Thanks,
Michael
How does TCO look at customer side
2009-05-18 03:55:02 Yehuda Sinai
Business Card
[Reply]
Hi Michael,
(Remark -> The PDK for .NET runtime does not require an IIS or any other ASP .NET web application, the tool run as system service and require a open TCP port to communicate with NW Portal).
Your question should based on a specific scenario's. The tool is relevant for customers/projects who already have the .NET development skills and want the best way to display it on NW Portal.
For such scenario you will have 3 ,major options:
1. Rewrite the all application with SAP java development tools (WD or VC).(High TCO)
2. Create URL iView to the ASP .NET based application (High TCO).
3. Mixed of 1 and 2 -> you can reuse more than 80% of your code with the PDK for .NET without to manage duplicate Web Application Servers (IIS and NW Portal) - With the PDK for .NET you enjoy from all the benefit of the portal such as User Management, Application configuration, Content creation, UR, Support for single vendor (SAP), installation, transport and more...
please keep in mind that the PDK for .NET not require MS IIS.
For new projects that will be created from scratch and not require some special .NET code to access MS server's I will consider to use SAP own tools such as NW IDE (WD or VC).
BTW - I did face a customer at the past that had around 30 experienced .NET developers for the project. Developing with .NET was a mandatory requirement (moving to java will cost them a lot $$). The projects successfully developed on time and on budget.
*"Can you point out which and how many servers for the Microsoft environment are needed in addition?" -> If the customers is using Windows OS -> it will be easy (at least one PDK runtime service for each java node).
If its based on other OS than Windows ( I will suggest to have one powerful (as the java server) physical machine with multi PDK runtime service nodes).
please keep in mind that you should consider the application usage (number of users, number of transaction, application complexity and more...)
Regards,
Yehuda
runtime environment
2006-11-03 14:24:15 P. Hurton
Business Card
[Reply]
Can you describe the runtime environment for the scenario of this web log? Is the portal instance running on a Windows Server?
runtime environment
2006-11-05 00:33:11 Anne Tarnoruder
Business Card
[Reply]
The runtime environment for this scenario is the same as for any other SAP .NET portal application. The portal instance can run on any platform, however a Windows server is required to run the Portal Runtime for .NET service, which enables processing .NET iViews.
To learn more about the PDK for .NET technical system landscape, see
http://help.sap.com/saphelp_nw2004s/helpdata/en/38/feca41abbdc517e10000000a155106/content.htm.
Regards,
Anne
This post is outstanding for two reasons ...
2006-10-26 07:35:36 David Halitsky
Business Card
[Reply]
Anne -
Ive forwarded a link to this post to the CEO of the consulting company I'm currently employed by, so that he can see for himself how he can leverage his current investment in .NET-savvy developers simply by getting them trained-up in the relevant NW components (Dev Studio, Vis Comp, Portal, WDJH.)
But in addition to showing consulting companies why SAP is actually making it easier for them to sell more services, your post is also important because it shows how easily SAP could act as a pure technology provider for those who want to break new ground with applications in new vertical sectors (and then become a seller of these applications once they're developed.)
In particular, what's relevant to this second point is your comment about how many value-added critical pieces of functionality SAP offers to anyone willing to develop within SAP's framework: SSO, security, robust back-end connections, etc.
Maybe SAP should do a commercial on this latter point, something to the effect that when you go with SAP, you don't just get a "piece of the rock" (like in the Prudential Insurance commercial) - you get the whole rock itself.
This post is outstanding for two reasons ...
2006-11-06 05:57:17 Nick Wright
Business Card
[Reply]
Hi,
'investment in .NET-savvy developers simply by getting them trained-up in the relevant NW components (Dev Studio, Vis Comp, Portal, WDJH.)'
Is this necessary, doesn't the .Net developer need to understand the .Net Portal Developers Kit & the SAP.Net Connector only?
Dev Studio, Vis Comp, WDJH - are other way's of developing - that don't use .Net yet the .Net PDK, etc uses Visual Studio.Net so leverages the developers knoweledge of the IDE & Language together...
Regards
This post is outstanding for two reasons ...
2006-11-07 08:20:11 Anne Tarnoruder
Business Card
[Reply]
Hi Nick,
of course, .NET developers don't need to understand Web Dynpro or Visual Composer to create .NET applications. However, understanding the portal and its capabilities is essential for building really useful and efficient portal applications.
Regards,
Anne
|
Showing messages 1 through 7 of 7.
|
|