Portal / BI 2008 Presentation by Ted Tschopp

Post on 23-Jun-2015

167 views 0 download

Tags:

description

How Southern California Edison Used Service Oriented Architecture to Integrate Legacy Web Applications into Its SAP NetWeaver Portal

transcript

© 2008 Wellesley Information Services. All rights reserved.

How Southern CaliforniaEdison Used Service Oriented Architecture to Integrate Legacy Web Applications into Its SAP NetWeaver Portal

Ted TschoppSouthern California Edison

22

What We’ll Cover …

• Introductions• The Problem• Workable Solutions – Development• The SOA Approach• Wrap-up

3

About Edison International & Southern California Edison

• Edison International, through its subsidiaries, is a generator and distributor of electric power and an investor in infrastructure and energy assets, including renewable energy. Headquartered in Rosemead, California, Edison International is the parent company of Southern California Edison—a regulated electric utility—and Edison Mission Group, a competitive power generation business.

• Southern California Edison (SCE) is the largest electric utility in California, serving more than 13 million people in a 50,000 square-mile area of central, coastal and Southern California, excluding the City of Los Angeles and certain other cities. Based in Rosemead, California, the utility has been providing electric service in the region for more than 120 years. SCE's service territory includes more 180 cities. As of September 30, 2007, SCE had consolidated assets of approximately $27.5 billion. As of November 2006, SCE had approximately 15,500 employees.

4

About Ted Tschopp

• Senior IT Specialist/Engineer currently assigned to SAP Portal implementation at Southern California Edison. A member of the architecture, engineering, and IT security group specializing in web based portal and search technologies with almost 10 years experience working in large scale enterprises.

• Specialties: Application architecture, design, and development in large

scale enterprise environments, SAP, Plumtree, .NET, Java, Web Services and Service Oriented Architectures.

5

About our SAP Implementation

Program Statistics - Release 1 of 4Process Owners 109

Deployment Locations 195

Processes, Sub-Processes, Activities27 / 130 /

1,083

SAP Modules and Sub-Modules 47 / 151

Release 1 Roles 380

Legacy Systems Being Replaced in R1 (out of 1,040) 441

Development Objects 536

End User Training Courses 150

Active End Users / Total End Users including Retirees 16,000 / 20,000

66

What We’ll Cover …

• The Problem• Workable Solutions – Development• The SOA Approach• Wrap-up

77

What We’ll Cover …

• The Problem Legacy Web Applications Integration with SAP Portal Leverage Portal Features Demo: A Look at SCE’s Legacy Application

• Workable Solutions – Development• The SOA Approach• Wrap-up

8

The Problem: Legacy Web Applications

• You just spent a money on SAP• You also have a bunch legacy web applications

Some will be replaced with SAP Some will be retired Some will be kept until… They are all different

Different Technologies ASP / ASP.NET, Perl, Lotus, php, etc….

Different Platforms Windows 2000/2003, Netscape Web Server, Apache, etc…

9

The Problem: How to Integrate with the Portal

• Links & Pop Ups Pros

Quick & Easy Cons

Doesn’t Leverage the Portal at All Not Real Integration

• URL iViews Pros

Quick & Easy Cons

Not Real Integration

10

The Problem: I Want to Leverage Portal Features

• The Legacy Application Should Know Who I am I logged into the Portal Look up the personal information in the Portal

• The Legacy Application Should Look Like My Portal Leverage the Custom Style Sheets of the Portal

• Use iView’s preferences to save settings used in the Legacy Application

1111

What We’ll Cover …

• The Problem• Workable Solutions - Development• The SOA Approach• Wrap-up

12

Workable Solutions - Development

• Develop a WebDynPro Application Pros - Fully Integrated into the Portal Cons - Two Development Applications

WebDynPro Application Data Connector

• Develop a PDK Application Pros - Fully Integrated into the Portal Cons - Two Development Applications

PDK Application Data Connector

• If you are going to do this, you are not Integrating

1313

What We’ll Cover …

• The Problem• Workable Solutions - Development• The SOA Approach• Wrap-up

1414

What We’ll Cover …

• The Problem• Workable Solutions - Development• The SOA Approach

Demo: The Legacy Application Architecture of the Legacy Application The SOA Approach Demo: The Portal Application Code

• Wrap-up

1515

Demo: The Legacy Application

16

Architecture of the Legacy Application

• User• Load Balancer• Web Servers

Netscape Web Servers Perl

• Databases Sybase gets nightly updates

from HR and IT / Security databases

16

17

Architecture of the Legacy Application

• User• Load Balancer• Web Servers

Netscape Web Servers Perl

• Databases Sybase gets nightly updates

from HR and IT / Security databases

17

18

Architecture of the Legacy Application

• User• Load Balancer• Web Servers

Netscape Web Servers Perl

• Databases Sybase gets nightly updates

from HR and IT / Security databases

18

19

Architecture of the Legacy Application

• User• Load Balancer• Web Servers

Netscape Web Servers Perl

• Databases Sybase gets nightly updates

from HR and IT / Security databases

19

2020

What We’ll Cover …

• The Problem• Workable Solutions - Development• The SOA Approach

Demo: The Legacy Application Architecture of the Legacy Application The SOA Approach

Transforming the Legacy Application Into a Service Integration of the Service into the Portal Demo: More Code Walk Through

Architecture of the New Application Demo: The Portal Application

• Wrap-up

2121

Transforming the Legacy Application Into a Service

• Most websites can be converted quite quickly Web Pages become Web Services

Most Web Pages have one Stored Procedure / Database Call Strip all HTML out of the page Normalize all data used on the page

Don’t forget to include calculated data points Build up XML to encapsulate the data

Points to watch out for You don’t need to make a full SOAP / WSDL service Don’t go crazy with normalizing the data If you have loops, create different levels in the XML

22

Integration of the Service into the Portal

• Create an XSL file to transform the Web Service into a nicely formatted XHTLM file Go get a copy of XML Cooktop (it’s Free!)

http://www.xmlcooktop.com/ Create an XSL file that will convert the XML file into XHTML Remember:

This is not a full XHTML file. This will get inserted into the portal framework

You have a full browser experience to play in JavaScript, AJAX, Images, CSS, etc… DO NOT STEP ON THE PORTALS JAVASCRIPT

FRAMEWORK. DON’T GET FANCY!GOTCHA!

23

Integration of the Service into the Portal

• Use XML Transformer to integrate the Web Service into the Portal

• strSearchResultsXsl is a link to the XSL file• strSearchResultsXml is a URL to the XML Web

Service

24

Integration of the Service into the Portal

• You Can Insert Variables from the Portal using JavaScript and Response.Write This example is outputting personalization values into a drop

down. JavaScript will insure it gets dropped in at client build time.

You might need to get creative with yourJavaScript

25

Integration of the Service into the Portal

• You Can Send Variables from the Portal back to the Web Service to be included in the XML sent back. In this case strParam is being sent back. It will contain strSceID.

Each Service Call sends strSceID if it was present. strSceID is the username of the user logged in.

2626

Demo: More Code Walk Through with Q/A

2727

What We’ll Cover …

• The Problem• Workable Solutions - Development• The SOA Approach

Demo: The Legacy Application Architecture of the Legacy Application The SOA Approach

Transforming the Legacy Application Into a Service Integration of the Service into the Portal Demo: More Code Walk Through

Architecture of the New Application Demo: The Portal Application

• Wrap-up

28

Architecture of the New Application

• User• SAP Application Servers• Load Balancer• Web Servers

Netscape Web Servers Perl

• Databases Sybase gets nightly updates

from HR and IT / Security databases

28

29

Architecture of the New Application

• User• SAP Application Servers• Load Balancer• Web Servers

Netscape Web Servers Perl

• Databases Sybase gets nightly updates

from HR and IT / Security databases

29

30

Architecture of the New Application

• User• SAP Application Servers• Load Balancer• Web Servers

Netscape Web Servers Perl

• Databases Sybase gets nightly updates

from HR and IT / Security databases

30

31

Architecture of the New Application

• User• SAP Application Servers• Load Balancer• Web Servers

Netscape Web Servers Perl

• Databases Sybase gets nightly updates

from HR and IT / Security databases

31

32

Architecture of the New Application

• User• Load Balancer• Web Servers

Netscape Web Servers Perl

• Databases Sybase gets nightly updates

from HR and IT / Security databases

32

3333

What We’ll Cover …

• The Problem• Workable Solutions - Development• The SOA Approach

Demo: The Legacy Application Architecture of the Legacy Application The SOA Approach

Transforming the Legacy Application Into a Service Integration of the Service into the Portal Demo: More Code Walk Through

Architecture of the New Application Demo: The Portal Application

• Wrap-up

3434

Demo: More Code Walk Through with Q/A

3535

What We’ll Cover …

• The Problem• Workable Solutions - Development• The SOA Approach• Wrap-up

3636

What We’ll Cover …

• The Problem• Workable Solutions - Development• The SOA Approach• Wrap-up

Where to use this Technique Resources 7 Key Points to Take Home Your Turn

37

Wrap-up: Where to use this Technique

• You are Solving User Problems• This is Simple

This isn’t some amazing secret This isn’t “Sexy” But… It stands up to load

• Places where this can be used Simple Web Applications Translating legacy portal apps into SAP Portal Apps External Web Services

• Be Careful: Make sure you don’t really need a fully integrated solution

3838

Resources

• www.xmlcooktop.com Free Application for creating XSL files

• www.tedtschopp.com/sap/ Code and Files used in this presentation

• sdn.sap.com SAP Developers Network – We got a lot of help working out the

kinks

3939

7 Key Points to Take Home

1. Legacy Web Pages can become Web Services2. Don’t use this technique as a replacement for Needed

Development / Integration3. You are solving USER problems not IT problems4. Most of the time “Sexy” IT solutions do not translate

into “Sexy” user solutions5. Don’t Worry About Being 100% Buzzword / Standards

Compliant6. Don’t step on the Portal Framework7. You don’t need to be a Fortune 200 company to take

advantage of these techniques

4040

Your Turn!

How to contact me:Ted Tschopp

Ted.Tschopp@sce.com