Friday, March 11, 2011

Basics of Enterprise Portal development using Java

  • Introduction to Netweaver Developer Studio
  • Creating a simple portal application
  • Creating iView, Page and Role in EP

1 Some basic terminologies

1.1 Perspectives in SAP Netweaver Developer Studio

A Perspective is group of editors and views in the workbench window.

Eclipse has several default perspectives that provide easy access to functions and editors for specific purposes:

  • Debug
  • Java
  • Java Browsing
  • Resource editing

1.2 Portal Permissions

It defines user access rights. Every portal object can be assigned to an user or a group of users through user groups and roles. Role is collection of information, services and tasks that are available to a group of users.

1.3 iView (Integrated Views)

An iView is a portal content building block. Each iView has a set of properties which are used at runtime. These properties differentiate one iView from other iView. Also an iView can be based on other iView and can inherit properties or can overwrite some properties of parent iView on which it is based.

Users can access iViews assigned to their roles. iView can be assigned to portal pages. These pages can be further assigned to any number of user roles. A user can access all the iViews contained on that page to which his roles have access rights. iViews can also be assigned directly to user role.

1.4 Component

Working with components organizes the application and also divides the application into reusable units. Components provide encapsulation. The Outside world has no knowledge about the objects in a component. In EP mostly classes are embedded in Netweaver component. These classes are not visible to outside user. These classes are only visible to outside user if they are added in public part of component.

Now a portal component is a Java class written and packaged specifically to run in the portal.

1.5 Java API

First of all why we need to know about API. The answer is, it is required to add functionalities in our netweaver applications. Here we are concerned mostly about EP development using Java.

Java API has a list of all Java packages, classes, and interfaces; along with all of their methods, fields and constructors; and also with information on how to use them.

For developing enterprise portals through SAP Netweaver using JAVA we need to use the packages, classes or interfaces provided in the API.

There are various APIs provided by SAP to help in development of Netweaver applications using JAVA.

Here I will try to discuss Enterprise Portal APIs. They are used in development of enterprise portals.

The following three APIs are most commonly used while developing an Enterprise portal:-

  1. Enterprise Portal (Enterprise Portal Runtime and Services API)

  2. PCD (Portal Content Directory API)

  3. HTMLB (HTML Business for Java API)

There are various packages in Enterprise Portal API which provides classes and interfaces for implementing Portal runtime, Page builders, wizards , dynamic system resolutions etc.

We will discuss few useful classes and interfaces generally used in EP development.

Interface IPortalComponent

It is present in package com.sapportals.portal.prt.component

All Portal Components implement this interface either directly, or more commonly by extending a class that implements this interface.

It is implemented by class AbstractPortalComponent class.

This interface contains 3 methods :

  1. init() - The container calls the init method each time this Portal Component is loaded in memory. It is deprecated in the new versions.

  2. destroy() - The destroy method is called each time the PRT (Portal Builder Runtime) decides to discard this component. After this garbage collector comes into action.

  3. service() - This method is called for each request that the Portal builder runtime routes to an instance of Portal Component. Multiple threads may be executing within the service at any time. It processes the clients requests. An implementation of the IPortalComponent interface can have access to the request and the type of request sent by the client.

public void service(IPortalComponentRequest request, IPortalComponentResponse response) throws PortalComponentException

request parameter – client’s request

response parameter- server’s response

Class AbstractPortalComponent

It is present in package com.sapportals.portal.prt.component

AbstratPortalComponent class implements following interfaces :

  • IEventListenerComponent

  • IPortalComponent

  • IPortalComponentInit

It provides portal Edit, Help etc modes.

For this it has many methods like doHandleEditData(), doHelp(), doPreview() and many other methods.

2 Creating a simple portal application project

We will create a simple portal application project and then we will use this project to create iView, page and roles on EP.

2.1 Create a Portal Application Project

Open Netweaver.

Click the Create Portal Application Project icon or use menu path.

File -> New -> Other -> Portal Application -> Create Portal Application Project

Enter name of project and directory where you want to store the project and click Finish.

Now click on icon Create Portal Application Objects

Now select the project you created and click next.



Select AbstractPortalComponent and click next.

Enter name, classname and package name.

Click on finish . Then add following code as given in figure. Most of the code is auto generated.

package test.hello;

import com.sapportals.portal.prt.component.*;

public class HelloTest1 extends AbstractPortalComponent

{

public void doContent(IPortalComponentRequest request, IPortalComponentResponse response)

{

response.write("First portal application project demo");

}

}

2.2 Configure portal landscape

We need to upload our project to portal. For this we will configure portal landscape.

Open Window->Preferences

Click on SAP Enterprise Portal.

Click Add to add a new portal system.

Suppose my portal has address : http://punitp54700d:50100/irj/portal

Enter Alias = Any name (MyPortal)

Host = punitp54700d

Port = 50100

User id for login

And click OK.

Make it default. Remember you can add more but only one can be default.

2.3 Deployment and creation of PAR file

Now click on icon Create/Export PAR file in toolbar.



Click on your project to create PAR file.

Click next.

Give the PAR file name and password for the portal to login. Check the checkbox Deploy PAR to upload. You can also check the box Include source code of portal application.

Click Finish to begin the upload.

2.4 Run the project

To run and check the project.

Go to project explorer window

Click on

Dist -> PORTAL-INF -> portalapp.xml

Now u can see the Run button beside the component you created. Click and run. Enter portal user id and password if asked for.

Your application runs.

You can see the output in browser window.

First portal application project demo

3 Creating iView, Page and Role on EP

We will use the project we just uploaded in to EP to create iView, page and roles on the portal

3.1 Working with iView

IView is smallest unit of display in a portal. It can represent sap or non-sap application.

3.1.1 Open the Enterprise Portal

Log in to the Enterprise Portal. Home Page is displayed.

Now we will create our own folder on EP to keep everything at one place.

Click on Content Administration tab.

Go to Content Administration -> Portal Content and right click ->New ->Folder.

3.1.2 Creation of Folder

Give the folder name and id. Then click on Finish button.

Then click on finish button.



Now to create IView :-

Right click on folder you created ->New -> iView

Now here we will use the portal component deployed by us i.e. HelloProject to create the iView.

Click on next button. Now you will go to screen for archive selection screen.

Select the archive you want to add. We will select HelloProject.

Click next. You will get Portal component selection screen. Select the component.

Click on next.

Click next and then finally click on finish button.

3.2 Working with Pages

To hold an iView we need to create a page and assign the iView.

Enter the name and id for page

Click on next button and select default page template.

Click on next button and finally click on finish.

3.3 Assign iViews to page

First of all open the page

Now right click on the iview and chose Add iView toPage -> delta link

We use delta link when we want that the changes done to the iview should also reflect in the page, else create a copy of it.

Now save the page.

3.4 Working with Roles

Now we will create a new role and add the page we created to this role.

Right click on folder -> New -> Role

Enter the role name and role id.

Finally press next and then finish.

We have now created the role.

Now we will assign the page we created to this role.

Open the role by right click - > Open -> Object

Now right click on the Page and then select Add page to Role -> Delta link

Then finally we will get.



Now open the iView by right click.

For Entry Point radio button check Yes.

3.5 Assigning Roles to users

Goto User Administration -> Roles -> search for the user

Select the user you want to assign the role.

Then in the details of user tab click on Modify.

Click on assigned roles tab. Now search for the role u created i.e. role_helloproject1 (role id used).

Select the role and add the role to users assigned roles and save.

Now log-off.

Now log-in as Administrator for changing the properties of role or you need sufficient privileges.

Upon logging in as administrator open the role and you can see the properties button. Click on that.

For Entry Point radio button check Yes. Save it.

Re-login from the user-id you assigned for the role above.

Now you can see the Role added in the navigation. Click on the role link to display output.




1 comment:

Unknown said...

Hi Author, Your blog presentation was looking great and very useful for people. Thank you so much for providing us about the such a nice articles.

Travel portal Development

Tutorials on SAP-ABAP

Adobe Interactive Forms Tutorials

Business Server Pages (BSP)

Userexits/BADIs

Web Dynpro for ABAP (Step by step procedure for web dynpro,Tutorials on Web Dynpro,)

ALV Tutorials

goodsites