This document summarizes how Southern California Edison used a service oriented architecture approach to integrate legacy web applications into its SAP NetWeaver portal. It discusses the problems with existing legacy applications and integration approaches. It then describes how SCE transformed legacy applications into web services, integrated those services into the portal using XML and XSLT, and demonstrated the new application architecture. The document emphasizes that most websites can be converted to web services quickly and that this approach solves user problems without needing "sexy" IT solutions.
2. What We’ll Cover …
• Introductions
• The Problem
• Workable Solutions – Development
• The SOA Approach
• Wrap-up
1
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.
2
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.
3
5. About our SAP Implementation
Program Statistics - Release 1 of 4
Process Owners 109
Deployment Locations 195
Processes, Sub-Processes, Activities 27 / 130 / 1,083
SAP Modules and Sub-Modules 47 / 151
Release 1 Roles 380
Legacy Systems Being Replaced in R1
441
(out of 1,040)
Development Objects 536
End User Training Courses 150
Active End Users /
16,000 / 20,000
Total End Users including Retirees
4
6. What We’ll Cover …
• The Problem
• Workable Solutions – Development
• The SOA Approach
• Wrap-up
5
7. 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
6
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…
7
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
8
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
9
11. What We’ll Cover …
• The Problem
• Workable Solutions - Development
• The SOA Approach
• Wrap-up
10
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
11
13. What We’ll Cover …
• The Problem
• Workable Solutions - Development
• The SOA Approach
• Wrap-up
12
14. 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
13
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
15
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
16
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
17
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
18
20. 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
19
21. 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
20
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
GOTCHA!
FRAMEWORK. DON’T GET FANCY!
21
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
22
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 your
JavaScript
23
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.
24
27. 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
26
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
27
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
28
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
29
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
30
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
31
33. 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
32
35. What We’ll Cover …
• The Problem
• Workable Solutions - Development
• The SOA Approach
• Wrap-up
34
36. 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
35
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
36
38. 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
37
39. 7 Key Points to Take Home
1. Legacy Web Pages can become Web Services
2. Don’t use this technique as a replacement for Needed
Development / Integration
3. You are solving USER problems not IT problems
4. Most of the time ―Sexy‖ IT solutions do not translate
into ―Sexy‖ user solutions
5. Don’t Worry About Being 100% Buzzword / Standards
Compliant
6. Don’t step on the Portal Framework
7. You don’t need to be a Fortune 200 company to take
advantage of these techniques
38
40. Your Turn!
How to contact me:
Ted Tschopp
Ted.Tschopp@sce.com
39
Editor's Notes
Official blurb about SCE and EIX. Included to keep Corporate Communications people happy.