portal as ui of soa
DESCRIPTION
Slides from Andrew Petro's 02 December 2009 Unicon webinar on the Enterprise Portal as the User Interface to the Services Oriented Architecture.TRANSCRIPT
![Page 1: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/1.jpg)
Enterprise Portals as the User Interface of
Service Oriented Architecture
Andrew Petro
Software Developer
02 December 2009
http://creativecommons.org/licenses/by-nc-sa/3.0/us/
![Page 2: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/2.jpg)
About Unicon
IT Consulting Services for Education, Specializing in Open Source
Software Consulting Services
• Technology Delivery and Support • Systems Integration • Software Engineering
Open Source Technology Solutions • Enterprise Portal • Identity Management • Learning Management • Email and Collaboration
For more information about Unicon, please visit: http://www.unicon.net
Contact us at: 480-558-2400 or [email protected]
![Page 3: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/3.jpg)
Upcoming Webinars
• Secure Your Systems From Within: Two-Factor Authentication in Higher Education
Thursday, December 3, 2009, 2pm Eastern (11am Pacific)
• Identity Management Overview Tuesday, December 15, 2009, 2pm Eastern (11am Pacific)
• Liferay Enterprise Portal Overview Thursday, December 17, 2009, 2pm Eastern (11am Pacific)
For more events, visit: http://www.unicon.net/company/news/events
![Page 4: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/4.jpg)
What is this talk about?
• Enterprise Portals
• As the user interface
– for your
• Services Oriented Architecture
![Page 5: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/5.jpg)
SOA?
• Services oriented architecture
• Around what services is the architecture oriented?
![Page 6: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/6.jpg)
SOAPy Web Services
http://www.flickr.com/photos/artventuresgallery/183441998/
![Page 7: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/7.jpg)
Formal Web Services
• WSDL
• SOAP
• UDDI
• WS-Security
• WS-*
http://www.flickr.com/photos/ennor/353215962/
![Page 8: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/8.jpg)
Example: MyCourses
• Sakai Web Services
• MyCourses Portlet
![Page 9: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/9.jpg)
MyCourses Portlet
![Page 10: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/10.jpg)
MyCourses Portlet
![Page 11: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/11.jpg)
Application-specific Web Services
http://www.flickr.com/photos/stevendepolo/3497657769/
![Page 12: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/12.jpg)
Standards and Interoperability
• LISv2 SIS LMS SIS integration?
• Sakora
![Page 13: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/13.jpg)
SOA - Services
• Self-contained units of functionality
• Reusable
• Stateless
• Loose coupling
• Interoperable
• Discoverable
• Orchestration
![Page 14: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/14.jpg)
Services in the Wild
http://www.flickr.com/photos/zenera/1613856609/
![Page 15: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/15.jpg)
Services exposed (or exposable)
• Systems and web applications already expose oodles of lightweight services
• You can easily make them expose more lightweight services
• Probably more easily than getting the applications to expose formal web services?
• WOA?
![Page 16: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/16.jpg)
RSS
http://www.flickr.com/photos/vanvan/267789848/
![Page 17: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/17.jpg)
What exposes RSS?
• Email lists
• News sources
• Social networking sites
• Wikis and websites
• Change logs
• What doesn’t expose RSS?
![Page 18: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/18.jpg)
iCal / xCal feeds
http://www.flickr.com/photos/malabooboo/2405993368/
![Page 19: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/19.jpg)
What exposes calendar feeds?
• Google Calendar
• Conferences
• SIS modeling of course schedules
• LMS modeling of course meetings
• Event calendars (e.g. Bedework)
![Page 20: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/20.jpg)
XML
http://www.flickr.com/photos/ralphtq/3157588757/
http://www.flickr.com/photos/lambdageek/40535379/
![Page 21: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/21.jpg)
http://www.flickr.com/photos/dpstyles/3077990150/
![Page 22: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/22.jpg)
What exposes XML?
• What can you convince to expose XML?
![Page 23: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/23.jpg)
What generates email?
http://www.flickr.com/photos/sirstick/76498325/
![Page 24: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/24.jpg)
![Page 25: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/25.jpg)
http://www.flickr.com/photos/m-c/2250563337/
![Page 26: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/26.jpg)
http://www.flickr.com/photos/splat/481408986/
![Page 27: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/27.jpg)
Announcements / Alerts
!
![Page 28: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/28.jpg)
How users interact with services?
• Thunderbird etc.
![Page 29: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/29.jpg)
Consuming iCal Feeds in Google
![Page 30: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/30.jpg)
Enterprise Portals
![Page 31: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/31.jpg)
Enterprise Portals
• Aggregate Content & Applications
• Customization & Personalization
• Access Control
• Consistent User Experience
Enterprise portals support:
![Page 32: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/32.jpg)
Aggregation
• View or path to everything in the Enterprise (content, applications, services) – Simple deep links to websites
– Dashboard-style display of services
– Applications running within the portal
• Provides user with a single centralized place to start
• Entry point for single sign-on architecture
![Page 33: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/33.jpg)
Aggregation
![Page 34: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/34.jpg)
Aggregation
![Page 35: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/35.jpg)
Personalization
• User needs vary within an Enterprise
• The more that is understood about a user the greater the ability of the portal to display services and content most relevant to that user. – Groups
– Roles
– Attributes
• Enables user to customize their view of the portal to suit their own preferences.
– Ability to add/remove elements from the portal layout
– Ability to change how portal elements are organized
– Ability to configure details of individual portal elements
![Page 36: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/36.jpg)
Personalization
Student
![Page 37: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/37.jpg)
Personalization
Faculty
![Page 38: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/38.jpg)
Access Control
• Enterprise portals provide a way to control access to individual elements
• Individual user access based on: – Group
– Role
– Attribute
• Services not accessible for a user are not displayed in the portal for that user
• Access control for accessible elements are managed by the portal
![Page 39: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/39.jpg)
Unauthenticated View
![Page 40: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/40.jpg)
Authenticated View
![Page 41: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/41.jpg)
Delegated Authentication
• CAS Proxy Tickets
• Shibboleth Delegated SAML Assertions
http://www.flickr.com/photos/36688133@N00/2894794151/
![Page 42: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/42.jpg)
Portlets as Composite UIs for Services
• RSS Reader Portlet
• Calendar Portlet
• Tabbed RSS Reader Portlet
• Jasig Announcements Portlet
• Jasig IMAP Reader Portlet
• XML / XSLT
![Page 43: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/43.jpg)
RSS Reader Portlet
![Page 44: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/44.jpg)
Tabbed RSS Reader Portlet
![Page 45: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/45.jpg)
Calendar Portlet
![Page 46: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/46.jpg)
Calendar Portlet
![Page 47: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/47.jpg)
Calendar Portlet
![Page 48: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/48.jpg)
Calendar Portlet
![Page 49: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/49.jpg)
Calendar Portlet
![Page 50: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/50.jpg)
Jasig Announcements Portlet
![Page 51: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/51.jpg)
Jasig IMAP Email Reader Portlet
![Page 52: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/52.jpg)
Google Gadgets in uPortal
![Page 53: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/53.jpg)
SQL Query
![Page 54: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/54.jpg)
Graph of SQL Query
![Page 55: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/55.jpg)
Graph of SQL query
![Page 56: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/56.jpg)
XML / XSLT transformation
• XML
• Transformed via XSLT
• To Markup Presented in Portal
![Page 57: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/57.jpg)
Jasig Announcements Portlet
![Page 58: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/58.jpg)
Strategies for Effective SOA
• Re-usable composite service-consuming UIs
• Purpose-built “mashups” of services
• User-facing services
– Self-service widgets
![Page 59: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/59.jpg)
Mashup examples
• Courses on campus map
• Course reserves
![Page 60: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/60.jpg)
User-facing Services via the Enterprise Portal
![Page 61: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/61.jpg)
What about the other ‘Services’
• News and Announcements/Messaging
• Applications/Workflow/Tools
User-Centric, not Developer-Centric
Services users need quickly and frequently
![Page 62: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/62.jpg)
How to expose services
1. JSR168/286 Portlets 2. WebProxy 3. RSS 4. Inline frames 5. SQL Queries 6. SSO 7. Deep Linking (shortcut into apps/content)
![Page 63: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/63.jpg)
JSR168/286 - Portlets
Actual software applications, written in Java. • Provides a standard pattern for developers • Independent of Portal platform • Reusable • Shareable
![Page 64: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/64.jpg)
WebProxy
Portlet retrieves, transforms, and presents any web application you like.*
![Page 65: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/65.jpg)
Web Proxies at Wisconsin
![Page 66: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/66.jpg)
Web Proxy of Conference Website
![Page 67: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/67.jpg)
RSS Reader
Render RSS feeds
![Page 68: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/68.jpg)
RSS Reader
![Page 69: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/69.jpg)
Inline Frames
Sure is easy…
![Page 70: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/70.jpg)
Single Sign On
Via Credential Replay Or via enterprise SSO solutions, like CAS and Shibboleth.
![Page 71: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/71.jpg)
Deep Linking
Portal as discovery layer for the user-facing services proliferated across your campus.
![Page 72: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/72.jpg)
Examples of Portals in Higher Education
![Page 73: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/73.jpg)
![Page 74: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/74.jpg)
![Page 75: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/75.jpg)
Some Portlets (UIs to services)
![Page 76: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/76.jpg)
Portal UIs to file shares
![Page 77: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/77.jpg)
Portal as Service Delivery Platform
![Page 78: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/78.jpg)
One place for Open Source Portlets
• www.jasig.org/portlets
![Page 79: Portal as UI of SOA](https://reader034.vdocuments.site/reader034/viewer/2022051817/5480d3f2b4af9f9b158b5f2a/html5/thumbnails/79.jpg)
Andrew Petro
www.unicon.net
Questions?
http://creativecommons.org/licenses/by-nc-sa/3.0/us/