Date post: | 23-Jun-2015 |
Category: |
Documents |
Upload: | ted-tschopp |
View: | 167 times |
Download: | 0 times |
© 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