44
How to Develop and Deploy .NET Portal Applications Oliver Mayer SAP Labs

How to Develop and Deploy .NET Portal Applications · SAP NetWeaver Portal in Microsoft Visual Studio 2003 ... Business Event Resolution Business Task Management End-to-End Process

Embed Size (px)

Citation preview

How to Develop and Deploy .NET Portal Applications

Oliver MayerSAP Labs

Development

Wrap-up

Overview

Installation and Configuration

Development

Wrap-up

Overview

Installation and Configuration

© SAP AG 2006, 4

What is PDK for .NET?

IntroductionA tool that enables .NET developers to create content for SAP NetWeaver Portal in Microsoft Visual Studio 2003

A key element in interoperability between SAP NetWeaver and Microsoft .NET

© SAP AG 2006, 5

Why Use the PDK for .NET?

Your company has invested heavily in .NET technology and training

Your developers are comfortable and productive in the .NET environment

You can quickly build iViews that can access SAP and non-SAP data

You can automatically inherit the portal branding by using the provided SAP UI controls

You want to take advantage of the best of both worlds –client-side eventing in the portal and server-side eventing in .NET

© SAP AG 2006, 6

Importance of Microsoft .NET for Developers

Primary Development Platform: App Delivery Teams Favor J2EE; Others .NET

From J2EE versus .NET: The Divide Inside IT, September 2004

© SAP AG 2006, 7

SAP NetWeaver

User Productivity Enablement

Running an Enterprise Portal

Enabling User Collaboration

Business Task Management

Mobilizing Business Processes

Enterprise Knowledge Management

Enterprise Search

Data Unification Master-Data Harmonization Master-Data Consolidation Central Master-Data Management Enterprise Data Warehousing

Business Information Management

Enterprise Reporting, Query, and Analysis

Business Planning and Analytical Services

Enterprise Data Warehousing

Enterprise Knowledge Management Enterprise Search

Business Event Management Business Activity Monitoring Business Task Management

End-to-End Process Integration

Enabling Application-to-Application Processes

Enabling Business-to-Business Processes

Business Process Management

Enabling Platform Interoperability

Business Task Management

Custom Development Developing, Configuring, and Adapting Applications Enabling Platform Interoperability

Unified Lifecycle Management Software Lifecycle Management SAP NetWeaver Operations

Application Governance and Security Management

Authentication and Single Sign-On Integrated User and Access Management

Consolidation Enabling Platform Interoperability

SAP NetWeaver Operations

Master-Data Consolidation

Enterprise Knowledge Management

Enterprise Data Warehousing

ESA Design and Deployment Enabling Enterprise Services

© SAP AG 2006, 8

SAP NetWeaver (cont.)

User Productivity Enablement

Running an Enterprise Portal

Enabling User Collaboration

Business Task Management

Mobilizing Business Processes

Enterprise Knowledge Management

Enterprise Search

Data Unification Master-Data Harmonization Master-Data Consolidation Central Master-Data Management Enterprise Data Warehousing

Business Information Management

Enterprise Reporting, Query, and Analysis

Business Planning and Analytical Services

Enterprise Data Warehousing

Enterprise Knowledge Management Enterprise Search

Business Event Management Business Activity Monitoring Business Task Management

End-to-End Process Integration

Enabling Application-to-Application Processes

Enabling Business-to-Business Processes

Business Process Management

Enabling Platform Interoperability

Business Task Management

Custom Development Developing, Configuring, and Adapting Applications Enabling Platform Interoperability

Unified Lifecycle Management Software Lifecycle Management SAP NetWeaver Operations

Application Governance and Security Management

Authentication and Single Sign-On Integrated User and Access Management

Consolidation Enabling Platform Interoperability

SAP NetWeaver Operations

Master-Data Consolidation

Enterprise Knowledge Management

Enterprise Data Warehousing

ESA Design and Deployment Enabling Enterprise Services

© SAP AG 2006, 9

SAP NetWeaver IT Practices and IT Scenarios

User Productivity Enablement

Running an Enterprise Portal

Enabling User Collaboration

Business Task Management

Mobilizing Business Processes

Enterprise Knowledge Management

Data Unification Master-Data Harmonization Master-Data Consolidation Central Master-Data Management Enterprise Data Warehousing

Business Information Management

Enterprise Reporting, Query, and Analysis

Business Planning and Analytical Services Enterprise Data Warehousing

Business Event Management Business Event Resolution Business Task Management

End-to-End Process Integration

Enabling Application-to-Application Processes

Enabling Business-to-Business Processes

Business Process Management

Enabling Platform Interoperability

Business Task Management

Custom Development Developing, Configuring, and Adapting Applications Enabling Platform Interoperability

Unified Lifecycle Management Software Lifecycle Management SAP NetWeaver Operations

Application Governance and Security

Authentication and Single Sign-On Integrated User and Access Management

Consolidation Enabling Platform Interoperability SAP NetWeaver Operations Master-Data Consolidation Enterprise Knowledge

Management

Enterprise Service Architecture – Design and Deployment

Enabling Enterprise Services

IT Practices IT Scenarios

© SAP AG 2006, 10

Portal Content Design Tools: Offering

Content Complexity

Content Admin

SAP EP PortalContent Studio

SAP NetWeaver Developer Studio (Java + PDK Perspective)

SAP ABAP Development Workbench (Business Server Pages)

PDK for .NET

J2EE/ABAP/.NET Developer

Interactive Applications

Transactional Business

Applications

Web Applications

Business ApplicationDeveloper

Business Expert

SAP NetWeaver Developer Studio (Web Dynpro for Java Perspective)

SAP ABAP Development Workbench(Web Dynpro for ABAP)

SAP NetWeaver Visual Composer

Display Applications

Developing Portal ContentCreating Portal Content

© SAP AG 2006, 11

Ente

rpris

e Se

rvic

e A

rchi

tect

ure

Net

Wea

ver D

evel

oper

Stu

dio

INFORMATION INTEGRATION

Bus. Intelligence

Master Data Mgt.

Knowledge Mgt. Sharepoint Exchange

TRex Search Content Mgt. Srv. SQL Analysis/Rep.

PROCESS INTEGRATION

Exchange Infrastructure

AdvancedWeb Services

AdvancedWeb Services

BizTalkServer

APPLICATION PLATFORM

Solution Manager

Microsoft .N

ET Framew

orkVisual Studio Portal

Single Sign-On Active Directory

Windows Server/SQL Server

System Center

Development Interoperability

PEOPLE INTEGRATION

Mobile Infrastr. Windows XP Windows Mobile

SAP NetWeaver®

Mendocino

Microsoft .NET

Office SystemEnterprise Portal

PDK for .NET

Web Appl. Server.NET Connector

© SAP AG 2006, 12

Key Design-Time Features of PDK for .NET

SAP Application Project and Component TemplatesA special Visual Studio project template for portal applicationsPortal component and portal system templates

SAP NetWeaver .NET ControlsA collection of UI controls that inherit the portal’s look and feel

Management of Portal Connections, Favorites, and DestinationsDirectly from Server Explorer

© SAP AG 2006, 13

Key Design-Time Features of PDK for .NET (cont.)

Deployment of Portal ApplicationsHot deployment directly to the portal from Visual Studio .NETPreviewing portal components in the portal

Debugging CapabilitiesDebugging portal components on local development machineTeam development on single shared portal

Developer GuideIntegrated into Visual Studio online helpFeatures conceptual overviews, reference, tutorials, how-to’s, samples

© SAP AG 2006, 14

Portal Runtime for .NET

ASP .NET Engine

PDK for .NET High-Level Architecture

Java-.NET Interoperability Framework

Back-end Systems (R3/SQL)

SAP NetWeaver Portal (on J2EE)

Resources

Development EnvironmentPortal Add-in for Visual Studio .NET

Java-.NET Interoperability

Components/Portal Services

SAP Components PDK for .NET Components MS.NET Components

© SAP AG 2006, 15

Portal Runtime for .NET

ASP .NET Engine

Run-Time Process Flow

Java-.NET Interoperability

Framework

Search

SearchSearch

Back-end Systems (R3/SQL)

Portal Service

SAP Portal NW ’04 (J2EE)

SAP Components SAP PDK for .NET .NET Components

Resources

.NET Portal

Component

Development

Wrap-up

Overview

Installation and Configuration

© SAP AG 2006, 17

Installation Steps

Central InstallationSAP Note 800842

1) Install the Portal add-in for Visual Studio 2003 by running the setup wizard

2) Install the Portal runtime for .NET

3) Install the Java-.NET Interoperability Components by deploying the “.sda” files via SDM into the portal

File Contents of “PDK10NET_3-10003242.ZIP”

© SAP AG 2006, 18

Configuration: User Account

Option (1): Create a logon account for Portal Runtime .NET

Assign permissions. The account must have full-control permissions for the following folders:

Portal Runtime for .NET installation root folder, which is by default C:\Program Files\SAP\Portal Runtime for Microsoft .NET Temporary ASP.NET Files folder, auto generated by ASP.NET, which isby default %windir%\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files %windir%\Temp folder

Option (2): Use the “Local System”account, though that gives more security than is required for the .NET runtime. You don’t need to give permissions to individual directories.

© SAP AG 2006, 19

Configuration: Portal Runtime for Microsoft .NET

© SAP AG 2006, 20

Configuration: Microsoft Management Console (MMC)

MMC for the Portal runtime for .NET

Define one or more local or remote servers specifying the portand userThe user is either (a) the user you created earlier or (b) the“LocalSystem”user with a blank password if you chose to use the system account for the .NET portal runtime

© SAP AG 2006, 21

Configuration: PDK for .NET Portal Services (< SPS15)

Navigate to “System Administration System Configuration Service Configuration”

Expand the “Applications”folder and scroll down to the com.sap.portal.dotnet.frameworkfolder

© SAP AG 2006, 22

Configuration: PDK for .NET Portal Services (SPS15 and >)

Navigate to “System Administration Support” Click on “Portal Runtime for Microsoft .NET”

Clicking on the “.NET Runtime Service”configuration will launch the configuration iView

© SAP AG 2006, 23

Configuration: PDK for .NET Portal Services (SPS 15 and >) (cont.)

Define servers with the portal runtime installed

© SAP AG 2006, 24

Configuration: Install Verification Tool

SAP Notes 846408 (Version 1.0 Patch 3) or 898153 (Version 2.0) have ZIP attachments that contain a verification tool which checks the existence and correct version of the various components

Application Area EP-PIN-DNT

Development

Wrap-up

Overview

Installation and Configuration

© SAP AG 2006, 26

Released in December 2005

Requires SAP NetWeaver Portal SPS15 +

See SAP Note 898152 for details

PDK for .NET 2.0

New!

© SAP AG 2006, 27

In this release, PDK for .NET is enhanced with a set of new features that enable the full cycle of portal application development in the Microsoft Visual Studio .NET environment:

Portal Page DesignerSignificantly facilitates portal application development, supporting creation of the portal content directly in Visual Studio

Portal Style DesignerExtends SAP-Unified Rendering support to non-SAP UI controls, enabling them to acquire the portal’s look and feel

Special OBN API and ControlsEnable implementation of the portal Object-Based Navigation feature in .NET portal applications

New Packaging OptionsExtend deployment capabilities

New and Enhanced ControlsEnrich the user experience

Portal Development Kit 2.0 for Microsoft .NET

© SAP AG 2006, 28

Portal Page Designer

With Portal Page Designer, you can:Create iViews and portal pages in your SAP Portal Application projects Design their appearance and content Define communication between the portal components by linking server-side events and event handlers Preview the pages in Visual Studio Publish applications in the portal content catalog

© SAP AG 2006, 29

Portal Style Designer

With Portal Style Designer, you can: Maintain CSS classes and style definitions for non-SAP UI controls Edit style definitions with the Style Builder tool Import previously defined CSS classes and style definitions from portal components, theme extension files or other “.css” files Deploy theme-extension files to the current portal

© SAP AG 2006, 30

Object-Based Navigation (OBN) Integration

Interactive and programmatic tools enabling implementation of OBN in .NET portal components

OBN Service API OBN Adapter Component

Serves as a data-source component for an OBNView control: Retrieves, holds, and exposes the OBN-related data from the OBN service

OBN View controlA navigation link control bound to an OBNAdapter component

© SAP AG 2006, 31

Portal Add-In for Visual Studio 2003

SAP Menu

Solution Explorer

Online HelpSAP NetWeaver

.NETControls

ServerExplorer

© SAP AG 2006, 32

Development Scenarios

Execute BAPIs and custom function modules on SAP back-end systems

Utilize Web services to gain access to a wide variety of business logic

Access non-SAP relational databases

Combine any of the above scenarios to build an application integrating data and processes across system boundaries

© SAP AG 2006, 33

Coding Example – Web Service

Calling the BI Query View Web service

StepsDefining the Web service in Visual StudioGetting user-mapping information from the portalSpecifying Web-service parametersAccessing and displaying the returned information

© SAP AG 2006, 34

Coding Demo

Demo

© SAP AG 2006, 35

Debugging Portal Applications

In the off chance that your code has any bugs ☺, utilize the integrated debugging capabilities

ConfigurationInclude the .pdb files in the PAR file

Set the portal to development mode(i.e., Production mode is unchecked)

© SAP AG 2006, 36

Debugging Portal Applications (cont.)

Follow the instructions in the help section

If you have the .NET portal runtime installed on your workstation, make sure the service is stopped because Visual Studio will launch its own instance of “epsrv.exe”

© SAP AG 2006, 37

Debugging Demo

Demo

Development

Wrap-up

Overview

Installation and Configuration

© SAP AG 2006, 39

Resources

FAQ on SAP PDK for .NET

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/2e8cbd30-0601-0010-bfbd-a04e6757ac23*

Developers Guide for PDK for .NET

https://media.sdn.sap.com/html/submitted_docs/dotnet/index.htm

SAP Service Marketplace

http://service.sap.com/* (Requires login credentials)

© SAP AG 2006, 40

For more information: Access the SAP Developer Network –www.sdn.sap.com

The central hub for the SAP technology community

Everyone can connect, contribute and collaborate- consultants, administrators and developersFocus around SAP NetWeaver and SAP xApps

High quality of technical resourcesArticles, how-to guides, weblogs, collaborative areas, discussion forums and downloads, toolkits and code-samples

A collaboration platform, not a one-way street

SAP experts from customers, partners and SAP

SDN is powered by SAP NetWeaver™Built on the SAP Enterprise PortalFeaturing collaboration capabilities of SAP Knowledge Management

© SAP AG 2006, 41

7 Key Points to Take Home

The PDK for .NET integrates seamlessly with Visual Studio

Leverage your investment and knowledge of .NET to build custom business applications

Flexible architecture allows for easy and redundant .NET runtimedeployment

Provided UI controls and access to portal services makes iView development easy

iView development is made easier with the strong debugging capabilities that allow local as well as remote debugging

The PDK for .NET enables you to seamlessly access SAP and non-SAP data

With the PDK for .NET you can easily deploy you portal applications from within Visual Studio

© SAP AG 2006, 42

Disclaimer

Please note that this document is subject to change and may be changed by SAP at any time without notice. The document is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development.

© SAP AG 2006, 43

Q&A

Questions?

[email protected]

Oliver J. Mayer

© SAP AG 2006, 44

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation.Oracle is a registered trademark of Oracle Corporation.UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc.JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden.SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG.This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice.SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence.The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.

Copyright 2006 SAP AG. All Rights Reserved