SlideShare a Scribd company logo
1 of 40
How Southern California
Edison Used Service Oriented
Architecture to Integrate
Legacy Web Applications into
Its SAP NetWeaver Portal


Ted Tschopp
Southern California Edison
            © 2008 Wellesley Information Services. All rights reserved.
What We’ll Cover …

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




                                       1
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
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
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
What We’ll Cover …

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




                                       5
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
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
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
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
What We’ll Cover …

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




                                       10
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
What We’ll Cover …

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




                                       12
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
Demo: The Legacy Application




                               14
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
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
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
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
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
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
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
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
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
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
Demo: More Code Walk Through with Q/A




                                        25
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
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
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
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
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
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
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
Demo: More Code Walk Through with Q/A




                                        33
What We’ll Cover …

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




                                       34
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
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
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
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
Your Turn!




               How to contact me:
                  Ted Tschopp
             Ted.Tschopp@sce.com
                                    39

More Related Content

What's hot

Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...
Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...
Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...Alex Gorbachev
 
Couchbase overview033113long
Couchbase overview033113longCouchbase overview033113long
Couchbase overview033113longJeff Harris
 
SQLCAT: A Preview to PowerPivot Server Best Practices
SQLCAT: A Preview to PowerPivot Server Best PracticesSQLCAT: A Preview to PowerPivot Server Best Practices
SQLCAT: A Preview to PowerPivot Server Best PracticesDenny Lee
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDenny Lee
 
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...Capgemini
 
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...Brian Huff
 
What's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersWhat's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersDatavail
 
Responsive Web Design ~ Best Practices for Maximizing ROI
Responsive Web Design ~ Best Practices for Maximizing ROIResponsive Web Design ~ Best Practices for Maximizing ROI
Responsive Web Design ~ Best Practices for Maximizing ROIJuan Carlos Duron
 
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017Lucas Jellema
 
Facebook Architecture - Breaking it Open
Facebook Architecture - Breaking it OpenFacebook Architecture - Breaking it Open
Facebook Architecture - Breaking it OpenHARMAN Services
 
Oracle SOA Suite for High availability Enterprises
Oracle SOA Suite for High availability EnterprisesOracle SOA Suite for High availability Enterprises
Oracle SOA Suite for High availability EnterprisesDataNext Solutions
 
OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)
OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)
OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)Mark Rittman
 
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...European SharePoint Conference
 
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...Brian Huff
 
facebook architecture for 600M users
facebook architecture for 600M usersfacebook architecture for 600M users
facebook architecture for 600M usersJongyoon Choi
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaJohn Calvert
 
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527Zohar Elkayam
 
FatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersFatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersBrian Huff
 
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...European SharePoint Conference
 
WISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsWISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsBrian Caauwe
 

What's hot (20)

Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...
Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...
Bridging Oracle Database and Hadoop by Alex Gorbachev, Pythian from Oracle Op...
 
Couchbase overview033113long
Couchbase overview033113longCouchbase overview033113long
Couchbase overview033113long
 
SQLCAT: A Preview to PowerPivot Server Best Practices
SQLCAT: A Preview to PowerPivot Server Best PracticesSQLCAT: A Preview to PowerPivot Server Best Practices
SQLCAT: A Preview to PowerPivot Server Best Practices
 
Deploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePointDeploying and Managing PowerPivot for SharePoint
Deploying and Managing PowerPivot for SharePoint
 
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
 
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
 
What's New in Oracle BI for Developers
What's New in Oracle BI for DevelopersWhat's New in Oracle BI for Developers
What's New in Oracle BI for Developers
 
Responsive Web Design ~ Best Practices for Maximizing ROI
Responsive Web Design ~ Best Practices for Maximizing ROIResponsive Web Design ~ Best Practices for Maximizing ROI
Responsive Web Design ~ Best Practices for Maximizing ROI
 
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
Overview of Oracle Product Portfolio (focus on Platform) - April, 2017
 
Facebook Architecture - Breaking it Open
Facebook Architecture - Breaking it OpenFacebook Architecture - Breaking it Open
Facebook Architecture - Breaking it Open
 
Oracle SOA Suite for High availability Enterprises
Oracle SOA Suite for High availability EnterprisesOracle SOA Suite for High availability Enterprises
Oracle SOA Suite for High availability Enterprises
 
OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)
OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)
OBIEE & Essbase Integration with Oracle BI Foundation 11.1.1.7 (ODTUG 2013)
 
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
SQL Server and SharePoint - Best Practices presented by Steffen Krause, Micro...
 
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
 
facebook architecture for 600M users
facebook architecture for 600M usersfacebook architecture for 600M users
facebook architecture for 600M users
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
 
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
Things Every Oracle DBA Needs to Know About the Hadoop Ecosystem 20170527
 
FatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio DevelopersFatWire Tutorial For Site Studio Developers
FatWire Tutorial For Site Studio Developers
 
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
 
WISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsWISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint Migrations
 

Viewers also liked

Usability behaviors: Usability and the SDLC
Usability behaviors: Usability and the SDLCUsability behaviors: Usability and the SDLC
Usability behaviors: Usability and the SDLCTed Tschopp
 
The Future of Collaboration
The Future of CollaborationThe Future of Collaboration
The Future of CollaborationTed Tschopp
 
What is Usability
What is UsabilityWhat is Usability
What is UsabilityTed Tschopp
 
The Catechism - Lords Supper
The Catechism - Lords SupperThe Catechism - Lords Supper
The Catechism - Lords SupperTed Tschopp
 
Can gaming make a better world
Can gaming make a better worldCan gaming make a better world
Can gaming make a better worldym123
 
Earth Cadet Net
Earth Cadet NetEarth Cadet Net
Earth Cadet Netszpak
 
Collaboration Basics - Including background
Collaboration Basics - Including backgroundCollaboration Basics - Including background
Collaboration Basics - Including backgroundTed Tschopp
 
The Catechism - The Commandments
The Catechism - The CommandmentsThe Catechism - The Commandments
The Catechism - The CommandmentsTed Tschopp
 
The Catechism - The Creeds
The Catechism - The CreedsThe Catechism - The Creeds
The Catechism - The CreedsTed Tschopp
 

Viewers also liked (10)

Usability behaviors: Usability and the SDLC
Usability behaviors: Usability and the SDLCUsability behaviors: Usability and the SDLC
Usability behaviors: Usability and the SDLC
 
The Future of Collaboration
The Future of CollaborationThe Future of Collaboration
The Future of Collaboration
 
What is Usability
What is UsabilityWhat is Usability
What is Usability
 
The Catechism - Lords Supper
The Catechism - Lords SupperThe Catechism - Lords Supper
The Catechism - Lords Supper
 
Can gaming make a better world
Can gaming make a better worldCan gaming make a better world
Can gaming make a better world
 
Earth Cadet Net
Earth Cadet NetEarth Cadet Net
Earth Cadet Net
 
Collaboration Basics - Including background
Collaboration Basics - Including backgroundCollaboration Basics - Including background
Collaboration Basics - Including background
 
How to Blog
How to BlogHow to Blog
How to Blog
 
The Catechism - The Commandments
The Catechism - The CommandmentsThe Catechism - The Commandments
The Catechism - The Commandments
 
The Catechism - The Creeds
The Catechism - The CreedsThe Catechism - The Creeds
The Catechism - The Creeds
 

Similar to Portal / BI 2008 Presentation by Ted Tschopp

APEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaciAPEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaciMarketingArrowECS_CZ
 
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- ZagrebAPEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- ZagrebMichael Hichwa
 
Fast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud ServiceFast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud ServiceGustavo Rene Antunez
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Talbott Crowell
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSaspyker
 
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaAAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaWASdev Community
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youRogue Wave Software
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisVMware Tanzu
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Jagadish Prasath
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comSalesforce Engineering
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cachecornelia davis
 
SOA: What It Means To The Enterprise
SOA: What It Means To The EnterpriseSOA: What It Means To The Enterprise
SOA: What It Means To The EnterpriseWSO2
 
2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indixYu Ishikawa
 
oracle ebs free web service integration tools
oracle ebs free web service integration toolsoracle ebs free web service integration tools
oracle ebs free web service integration toolsSmartDog Services
 
Apex 42-new-features-1867076
Apex 42-new-features-1867076Apex 42-new-features-1867076
Apex 42-new-features-1867076Gorava Prakash
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1Qualitest
 

Similar to Portal / BI 2008 Presentation by Ted Tschopp (20)

APEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaciAPEX – jak vytvořit jednoduše aplikaci
APEX – jak vytvořit jednoduše aplikaci
 
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- ZagrebAPEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
APEX Alpe Adria Mike Hichwa Keynote April 11th 2019- Zagreb
 
Fast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud ServiceFast, Flexible Application Development with Oracle Database Cloud Service
Fast, Flexible Application Development with Oracle Database Cloud Service
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSS
 
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaAAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
 
The forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for youThe forgotten route: Making Apache Camel work for you
The forgotten route: Making Apache Camel work for you
 
Cloud-native Data
Cloud-native DataCloud-native Data
Cloud-native Data
 
Cloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia DavisCloud-Native-Data with Cornelia Davis
Cloud-Native-Data with Cornelia Davis
 
Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012Experiences in building a PaaS Platform - Java One SFO 2012
Experiences in building a PaaS Platform - Java One SFO 2012
 
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas JellemaAMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.com
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
SOA: What It Means To The Enterprise
SOA: What It Means To The EnterpriseSOA: What It Means To The Enterprise
SOA: What It Means To The Enterprise
 
2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix2014 09-12 lambda-architecture-at-indix
2014 09-12 lambda-architecture-at-indix
 
Wael Abdeen Resume
Wael Abdeen ResumeWael Abdeen Resume
Wael Abdeen Resume
 
oracle ebs free web service integration tools
oracle ebs free web service integration toolsoracle ebs free web service integration tools
oracle ebs free web service integration tools
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
Apex 42-new-features-1867076
Apex 42-new-features-1867076Apex 42-new-features-1867076
Apex 42-new-features-1867076
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1
 

More from Ted Tschopp

The Catachism - Table of Duties
The Catachism - Table of DutiesThe Catachism - Table of Duties
The Catachism - Table of DutiesTed Tschopp
 
The Lords Prayer Handout
The Lords Prayer HandoutThe Lords Prayer Handout
The Lords Prayer HandoutTed Tschopp
 
Confession handout
Confession handoutConfession handout
Confession handoutTed Tschopp
 
The Creeds Handout
The Creeds HandoutThe Creeds Handout
The Creeds HandoutTed Tschopp
 
The 10 Commandments Handout
The 10 Commandments HandoutThe 10 Commandments Handout
The 10 Commandments HandoutTed Tschopp
 
The catachism - Baptism
The catachism - BaptismThe catachism - Baptism
The catachism - BaptismTed Tschopp
 
The Catachism - Confession
The Catachism - ConfessionThe Catachism - Confession
The Catachism - ConfessionTed Tschopp
 
The Catechism - The Lords Prayer
The Catechism - The Lords PrayerThe Catechism - The Lords Prayer
The Catechism - The Lords PrayerTed Tschopp
 

More from Ted Tschopp (8)

The Catachism - Table of Duties
The Catachism - Table of DutiesThe Catachism - Table of Duties
The Catachism - Table of Duties
 
The Lords Prayer Handout
The Lords Prayer HandoutThe Lords Prayer Handout
The Lords Prayer Handout
 
Confession handout
Confession handoutConfession handout
Confession handout
 
The Creeds Handout
The Creeds HandoutThe Creeds Handout
The Creeds Handout
 
The 10 Commandments Handout
The 10 Commandments HandoutThe 10 Commandments Handout
The 10 Commandments Handout
 
The catachism - Baptism
The catachism - BaptismThe catachism - Baptism
The catachism - Baptism
 
The Catachism - Confession
The Catachism - ConfessionThe Catachism - Confession
The Catachism - Confession
 
The Catechism - The Lords Prayer
The Catechism - The Lords PrayerThe Catechism - The Lords Prayer
The Catechism - The Lords Prayer
 

Portal / BI 2008 Presentation by Ted Tschopp

  • 1. How Southern California Edison Used Service Oriented Architecture to Integrate Legacy Web Applications into Its SAP NetWeaver Portal Ted Tschopp Southern California Edison © 2008 Wellesley Information Services. All rights reserved.
  • 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
  • 15. Demo: The Legacy Application 14
  • 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
  • 26. Demo: More Code Walk Through with Q/A 25
  • 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
  • 34. Demo: More Code Walk Through with Q/A 33
  • 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

  1. Official blurb about SCE and EIX. Included to keep Corporate Communications people happy.
  2. About Me