SlideShare a Scribd company logo
Castle in the clouds - SaaS Enabling JavaServer Faces applications Lucas Jellema AMIS, The Netherlands http://technology.amis.nl/blog
Overview What makes an application ‘SaaS’? And why provide an application as SaaS Requirements of SaaS applications Focus on Customization Integration & SOA across the cloud Deep Linking, Mash Up and UI Services Services API Remote Events Listeners Summary and Road Ahead
Software as a Service common characteristics Single instance of standard application & database Running in a shared infrastructure, 24/7 Managed by central administration team Delivered over the internet to web browsers Used by individuals from multiple organizations globally distributed & multi-lingual user community Licence model based on usage metrics Service Level Agreement to specify quality of service
 
Software as a Service (perceived) benefits Small up-front investment Quick startup – ‘turn on the software tap’  Professional administration with guaranteed performance and application availability Low TCO through ‘economies of scale’ Dynamic Scalability Rapid evolution of new features and bug resolution – quick deployment Quick adoption of new technology Community to forster and share best practices
Software as a Service concerns & potential disadvantages Dependence on 3 rd  party for Security, Availability & Performance, Scalability Data outside the own infrastructure Standard application – not at all tailor-made Our own terminology, fields, default values, validation rules, workflow How does SaaS application integrate with Our SOA & EDA, Mash Up/Portal and Workflow Identity Management and Single Sign On  How to prevent lock in with the SaaS provider
SaaS Requirements Integration across the cloud Make SaaS application integrate with the SOA & EDA, workflow management, identity management and other shared central facilities in the organization using the SaaS Two way, based on open standards, geared towards both programmatic and UI integration Customization Allow organizations and individuals to tailor the ‘standard’ application for better fit Within the single instance of the SaaS application Easy, dynamic, run-time, self-service in browser
Application ‘levels of reality’ Organization B Organization A
Application Mode Switcher Application Managers can switch between Application Modes To view and manipulate the application at the selected level
Application Rollout process… Development in the Factory Production-time refining Customer (organization) specific implementation By SaaS Helpdesk, on site consultant, Application Admin End User (dynamic, run-time) Personalization
Proposal Let’s approach every end user application as a SaaS application! Both standard and custom application
Desirable SaaS features & facilities Dynamic, Wiki like, context sensitive help Integration with incident registration Automatic passing of page, context data & logging ‘ Simulate user’ option for the service desk SLA metrics and application usage monitoring Self Service style application management ‘ Toggle’ between factory, organization and user Integrated workflow & collaboration Communication (email, chat), task list, tagging, … “ Register interest in” – notification of events
Customization Allow adaption of terminology to organization Resource Bundles per organization (and individual) Dynamic, run-time resource bundle management Support for adding/hiding fields Configuration of application behavior through organization and user level preferences Personalization (my…) features for fine tuning Workflow and task-scope configuration Configure menus and add new items Fine tune look & feel – e.g. skins, styles, logos
Customizing terminology  Boilerplate text – prompt, title, button label, messages, help,… - come from resource bundles Built in support for i18n – language & country Typically held in property files deployed in WAR We need to implement resource bundles that can be updated and refreshed at run time Or at least extended with any overrides of default values keys that support the notion of organization specific versions of bundle entries in addition to factory ones maintenance facilities with self service support That presents bundle entries in understandable format
Implementing Self Service Customization of Resource Bundles Resource Bundle implemented as class (extend ListResourceBundle) that read from database Keys are constructed as: <base_key>_<org_id> And even <base_key>_<org_id>_<user_id> JSF page refers to resources through intermediate bean: #{bundleHandler[‘baseKey’]} The bundleHandler bean first tries user specific key; if not found then org key and then base key It can also access several resource bundles – first the dynamic, database based one with overrides
Custom(izing) fields Some fields are never used by some organizations and are therefore ‘in the way’ or they may even be legally forbidden in a country! Every organization finds the application lacking with one or more fields but no two organizations ahree on which fields… To allow optimal customization, a SaaS application ideally allows Customization of standard items Addition of custom items embedded in pages And associated with data records like ‘regular’ items
Application Settings for customizing application behavior Some Application Behavior is developed as  dynamically configurable Through Preferences or Application Settings Display : Locale, Format, Units for Height and Weight (converter parameters), feature on/off Business logic : Default Values for new records, Validation parameters, Field & Button Authorization Styling : Images, Fonts, Colors, Skins/Themes Settings can be configured at Factory (default), Organization and User level At run-time through self service pages
Integrating Application Settings during development
Application Settings Data Model Date Format dd-mm-yyyy Use Photo Metric/ Imperial … Y m mm/dd/yyyy dd-mm-yy N Y N i Application  Settings *  Name o Factory Value o Allowable Values o Description o Data Type o Level Updatable o Updatable By Customized  Settings *  OrgId o Value o UserId o Comment
Application Personalization
Personalization Features – My… options My Navigation History My Favorites (quick links, bookmarks) My own custom properties (‘flex fields’) My Date Format, Weight & Height  units, Currency, Default Values My lingo in titles, labels, prompts  & messages Personalized Menu-structure …  (my logo!)
Demo SaaS style Customization in JSF Run Time Management of Organization specific Resource Bundles Change the boilerplate text defined in the factory Create organization and user specific resources Influencing application behavior through application settings at organization level Configure date format pattern Specify validation parameters Toggle between user/organisation/factory scope
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2009)
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2009)
SOA across the cloud SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Validation Service Service API internal internet LDAP Service API CMS Social API
Integration and SOA across the cloud Service API as programmatic alternative to UI RSS, SOAP, REST Event Listener registration to be notified by SaaS Service Registration (Dependency Injection)  Authentication/Authorization, Translation, Validation, Workflow, Communication Identity cross referencing (SaaS & local identifier) Deep Link API for context sensitive navigation UI Services (Portlets) to fit into Mashups & Portals Data Export, Synch & Import – bulk facilities “ internet service bus” – integrating multiple SaaSs
SOA across the cloud: data & operations SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Validation Service Service API Service API Service API RSS internal internet listener registration service  dependency injection LDAP Export Service API CMS Social API
SOA across the cloud: UI / Navigation / Process/Presentation SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Portlet API Portlet API RSS Deep link Interface CMS internal internet Deep link Interface Portlet API Portlet API ToDo RSS RSS News HTML Pages Social API
Implementing Deep Linking in JSF URL like  http://host/SaaSApp/UpdateJob/Scott Cookie provides hook for Single Sign On  ServletFilter intercepts and redirects to proper JSF page – after storing parameters in the request JSF PhaseListener intercepts the request to the page and prepares the backing beans Using the request parameters JSF page is rendered with proper data context When the user is done, the JSF application could  update the task by calling the workflow engine SAPI publish a SaaS event
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2009)
Demonstrating the SaaS Service API Create a new Employee  Call the SaaS API to propagate the new  employee record Right after succesful transaction commit Inspect the new record in the SaaS UI SaaS A App D Service API RSS HTML Pages Portlet API
Demonstrating cross-cloud event listeners SaaS A App D Service API Service API RSS listener registration Register App D’s  Update Employee service as Event Listener for SaaS event Update a salary in the SaaS UI Event is routed to the remote listener that calls the App D Service API that “does something with it” Portlet API DB
Demonstrating Deep Link Navigation SaaS A Service API RSS To Do list shows task “Handle promotion for Employee Scott” Selecting this task will bring up a popup loaded through a deep link into SaaS A Presenting the ‘Update Job’ page with the details of Scott loaded Portlet API HTML Pages Workflow Engine ToDo News
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2009)
Register Event Listener by calling the WebService
Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2009)
SaaS in the Multi-Org world App Z SaaS A \ SaaS B Service API Service API RSS Export CMS internet App D Workflow Engine Service API App X Service API App Y Service API Portlet API HTML Pages Portlet API Social API
Summary and Conclusion SaaS and the road ahead SaaS applications need special facilities Customization & personalization Service API (UI and programmatic), Event support SLA management, metrics monitoring & self service Enterprise Service Bus and Portal/Mashup connect the SaaS applications JavaServer Faces can be used for implementing the customizable and integratable front end Most applications could do with the same facilities:  let’s regard all applications as SaaS!
Lucas Jellema [email_address] http://technology.amis.nl/blog  (with all source code of the demos)
Ad

More Related Content

What's hot (20)

Salesforce Spring 22 Webinar
Salesforce Spring 22 WebinarSalesforce Spring 22 Webinar
Salesforce Spring 22 Webinar
brightgenss
 
Service Cloud Console as a Platform
Service Cloud Console as a PlatformService Cloud Console as a Platform
Service Cloud Console as a Platform
Bluewolf
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
Luis Du Solier
 
Salesforce complete overview
Salesforce complete overviewSalesforce complete overview
Salesforce complete overview
Nitesh Mishra ☁
 
Introduction to Force.com
Introduction to Force.comIntroduction to Force.com
Introduction to Force.com
IMC Institute
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415
pdufourSFDC
 
Kma share point 2010 overview infra and dev technical info
Kma share point 2010 overview infra and dev   technical infoKma share point 2010 overview infra and dev   technical info
Kma share point 2010 overview infra and dev technical info
Knowledge Management Associates, LLC
 
Intro to salesforce platform for developers
Intro to salesforce platform for developersIntro to salesforce platform for developers
Intro to salesforce platform for developers
Roy Gilad
 
Introduction to sharepoint 2010
Introduction to sharepoint 2010Introduction to sharepoint 2010
Introduction to sharepoint 2010
Sachchin Annam
 
Salesforce for marketing
Salesforce for marketingSalesforce for marketing
Salesforce for marketing
Bohdan Dovhań
 
Ponakaladinne reddy
Ponakaladinne reddyPonakaladinne reddy
Ponakaladinne reddy
Manjunatha reddy
 
Enspirix's NextStep Process Engine
Enspirix's NextStep Process EngineEnspirix's NextStep Process Engine
Enspirix's NextStep Process Engine
jleno
 
Aws serverless applications lens
Aws serverless applications lensAws serverless applications lens
Aws serverless applications lens
mustafa sarac
 
Salesforce Service Cloud 2
Salesforce Service Cloud 2Salesforce Service Cloud 2
Salesforce Service Cloud 2
fishman29
 
What you need to know on Force.com in 10 slides
What you need to know on Force.com in 10 slidesWhat you need to know on Force.com in 10 slides
What you need to know on Force.com in 10 slides
Guillaume Windels
 
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program ArchitectSalesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
gemziebeth
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce Integration
Joshua Hoskins
 
EPC Group - SharePoint 2013 Features and Functionality Overview
EPC Group - SharePoint 2013 Features and Functionality OverviewEPC Group - SharePoint 2013 Features and Functionality Overview
EPC Group - SharePoint 2013 Features and Functionality Overview
EPC Group
 
Driving End User Adoption in SharePoint 2013 & 2010 - EPC Group
Driving End User Adoption in SharePoint 2013 & 2010 - EPC GroupDriving End User Adoption in SharePoint 2013 & 2010 - EPC Group
Driving End User Adoption in SharePoint 2013 & 2010 - EPC Group
EPC Group
 
Oracle World 2002 Leverage Web Services in E-Business Applications
Oracle World 2002 Leverage Web Services in E-Business ApplicationsOracle World 2002 Leverage Web Services in E-Business Applications
Oracle World 2002 Leverage Web Services in E-Business Applications
Rajesh Raheja
 
Salesforce Spring 22 Webinar
Salesforce Spring 22 WebinarSalesforce Spring 22 Webinar
Salesforce Spring 22 Webinar
brightgenss
 
Service Cloud Console as a Platform
Service Cloud Console as a PlatformService Cloud Console as a Platform
Service Cloud Console as a Platform
Bluewolf
 
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
Luis Du Solier
 
Salesforce complete overview
Salesforce complete overviewSalesforce complete overview
Salesforce complete overview
Nitesh Mishra ☁
 
Introduction to Force.com
Introduction to Force.comIntroduction to Force.com
Introduction to Force.com
IMC Institute
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415
pdufourSFDC
 
Intro to salesforce platform for developers
Intro to salesforce platform for developersIntro to salesforce platform for developers
Intro to salesforce platform for developers
Roy Gilad
 
Introduction to sharepoint 2010
Introduction to sharepoint 2010Introduction to sharepoint 2010
Introduction to sharepoint 2010
Sachchin Annam
 
Salesforce for marketing
Salesforce for marketingSalesforce for marketing
Salesforce for marketing
Bohdan Dovhań
 
Enspirix's NextStep Process Engine
Enspirix's NextStep Process EngineEnspirix's NextStep Process Engine
Enspirix's NextStep Process Engine
jleno
 
Aws serverless applications lens
Aws serverless applications lensAws serverless applications lens
Aws serverless applications lens
mustafa sarac
 
Salesforce Service Cloud 2
Salesforce Service Cloud 2Salesforce Service Cloud 2
Salesforce Service Cloud 2
fishman29
 
What you need to know on Force.com in 10 slides
What you need to know on Force.com in 10 slidesWhat you need to know on Force.com in 10 slides
What you need to know on Force.com in 10 slides
Guillaume Windels
 
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program ArchitectSalesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
Salesforce Backup, Restore & Archiving- Adam Best, Senior Program Architect
gemziebeth
 
Salesforce Integration
Salesforce IntegrationSalesforce Integration
Salesforce Integration
Joshua Hoskins
 
EPC Group - SharePoint 2013 Features and Functionality Overview
EPC Group - SharePoint 2013 Features and Functionality OverviewEPC Group - SharePoint 2013 Features and Functionality Overview
EPC Group - SharePoint 2013 Features and Functionality Overview
EPC Group
 
Driving End User Adoption in SharePoint 2013 & 2010 - EPC Group
Driving End User Adoption in SharePoint 2013 & 2010 - EPC GroupDriving End User Adoption in SharePoint 2013 & 2010 - EPC Group
Driving End User Adoption in SharePoint 2013 & 2010 - EPC Group
EPC Group
 
Oracle World 2002 Leverage Web Services in E-Business Applications
Oracle World 2002 Leverage Web Services in E-Business ApplicationsOracle World 2002 Leverage Web Services in E-Business Applications
Oracle World 2002 Leverage Web Services in E-Business Applications
Rajesh Raheja
 

Viewers also liked (18)

Tec-Emp
Tec-EmpTec-Emp
Tec-Emp
Tec-Emp Empilhadeiras
 
Catalogo linha hidráulica
Catalogo linha hidráulicaCatalogo linha hidráulica
Catalogo linha hidráulica
Vagner Brochetto
 
Catálogo AJE 2013
Catálogo AJE 2013Catálogo AJE 2013
Catálogo AJE 2013
mapplemkt
 
Gonel - Catálogo
Gonel - CatálogoGonel - Catálogo
Gonel - Catálogo
Mapple Furacão
 
Ley de coulomb ..
Ley de coulomb ..Ley de coulomb ..
Ley de coulomb ..
Jonathan Alcivar
 
Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)
Lucas Jellema
 
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Lucas Jellema
 
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Lucas Jellema
 
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Lucas Jellema
 
Electricidad del automovil 1
Electricidad del automovil 1Electricidad del automovil 1
Electricidad del automovil 1
Luis Ramos
 
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
Lucas Jellema
 
Sensor de velocidad vss
Sensor de velocidad vssSensor de velocidad vss
Sensor de velocidad vss
Jonathan Alcivar
 
Osram auto2012
Osram auto2012Osram auto2012
Osram auto2012
mapple2012
 
Cinap lancamentos 2012
Cinap lancamentos 2012Cinap lancamentos 2012
Cinap lancamentos 2012
mapple2012
 
Diretec 2011
Diretec 2011Diretec 2011
Diretec 2011
mapple2012
 
Catalogo linha hidráulica
Catalogo linha hidráulicaCatalogo linha hidráulica
Catalogo linha hidráulica
Vagner Brochetto
 
Catálogo AJE 2013
Catálogo AJE 2013Catálogo AJE 2013
Catálogo AJE 2013
mapplemkt
 
Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)
Lucas Jellema
 
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Oracle OpenWorld 2016 Review - Focus on Data, BigData, Streaming Data, Machin...
Lucas Jellema
 
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Oracle OpenWorld 2016 Review - High Level Overview of major themes and grand ...
Lucas Jellema
 
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Oracle Management Cloud - introduction, overview and getting started (AMIS, 2...
Lucas Jellema
 
Electricidad del automovil 1
Electricidad del automovil 1Electricidad del automovil 1
Electricidad del automovil 1
Luis Ramos
 
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
AMIS SIG - Introducing Apache Kafka - Scalable, reliable Event Bus & Message ...
Lucas Jellema
 
Osram auto2012
Osram auto2012Osram auto2012
Osram auto2012
mapple2012
 
Cinap lancamentos 2012
Cinap lancamentos 2012Cinap lancamentos 2012
Cinap lancamentos 2012
mapple2012
 
Ad

Similar to Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2009) (20)

Castle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces ApplicationsCastle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Lucas Jellema
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
Vincent Perrin
 
Implementing SOA with Portal, an IBM Impact 2010 Presentation
Implementing SOA with Portal, an IBM Impact 2010 PresentationImplementing SOA with Portal, an IBM Impact 2010 Presentation
Implementing SOA with Portal, an IBM Impact 2010 Presentation
guestbc8b80
 
20071204 Arc Ready Office As A Platform
20071204 Arc Ready Office As A Platform20071204 Arc Ready Office As A Platform
20071204 Arc Ready Office As A Platform
David Chou
 
VINAYAN_Resume
VINAYAN_ResumeVINAYAN_Resume
VINAYAN_Resume
Vinu Vinayan
 
Oasis Symposium 2008 Rakesh Saha
Oasis Symposium 2008 Rakesh SahaOasis Symposium 2008 Rakesh Saha
Oasis Symposium 2008 Rakesh Saha
Rakesh Saha
 
#TDXRecap India tour
#TDXRecap India tour#TDXRecap India tour
#TDXRecap India tour
Shashank Srivatsavaya (ShashForce)
 
Trailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App CloudTrailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App Cloud
Sam Garforth
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon
aaronwso2
 
Summer '16 Realease notes
Summer '16 Realease notesSummer '16 Realease notes
Summer '16 Realease notes
aggopal1011
 
Software as Service
Software as ServiceSoftware as Service
Software as Service
abhigad
 
REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)
Sascha Wenninger
 
S+S Architecture Overview
S+S Architecture OverviewS+S Architecture Overview
S+S Architecture Overview
David Solivan
 
Intro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite AppsIntro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite Apps
dreamforce2006
 
That's Rich! Putting a smile on ADF Faces (ODTUG Kaleidoscope 2009)
That's Rich! Putting a smile on ADF Faces (ODTUG Kaleidoscope 2009)That's Rich! Putting a smile on ADF Faces (ODTUG Kaleidoscope 2009)
That's Rich! Putting a smile on ADF Faces (ODTUG Kaleidoscope 2009)
Lucas Jellema
 
Architect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon SessionArchitect day 20181128 - Afternoon Session
Architect day 20181128 - Afternoon Session
Salesforce - Sweden, Denmark, Norway
 
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Marius Constantinescu [MVP]
 
ServiceDesk Plus 8 Overview
ServiceDesk Plus 8 OverviewServiceDesk Plus 8 Overview
ServiceDesk Plus 8 Overview
ServiceDesk Plus
 
Automating your tasks with microsoft flow
Automating your tasks with microsoft flowAutomating your tasks with microsoft flow
Automating your tasks with microsoft flow
Dipti Chhatrapati
 
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All TogetherKathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
SharePoint Saturday NY
 
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces ApplicationsCastle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Castle in the Clouds: SaaS-Enabling Oracle ADF Faces Applications
Lucas Jellema
 
Implementing SOA with Portal, an IBM Impact 2010 Presentation
Implementing SOA with Portal, an IBM Impact 2010 PresentationImplementing SOA with Portal, an IBM Impact 2010 Presentation
Implementing SOA with Portal, an IBM Impact 2010 Presentation
guestbc8b80
 
20071204 Arc Ready Office As A Platform
20071204 Arc Ready Office As A Platform20071204 Arc Ready Office As A Platform
20071204 Arc Ready Office As A Platform
David Chou
 
Oasis Symposium 2008 Rakesh Saha
Oasis Symposium 2008 Rakesh SahaOasis Symposium 2008 Rakesh Saha
Oasis Symposium 2008 Rakesh Saha
Rakesh Saha
 
Trailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App CloudTrailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App Cloud
Sam Garforth
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon
aaronwso2
 
Summer '16 Realease notes
Summer '16 Realease notesSummer '16 Realease notes
Summer '16 Realease notes
aggopal1011
 
Software as Service
Software as ServiceSoftware as Service
Software as Service
abhigad
 
REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)
Sascha Wenninger
 
S+S Architecture Overview
S+S Architecture OverviewS+S Architecture Overview
S+S Architecture Overview
David Solivan
 
Intro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite AppsIntro to AppExchange - Building Composite Apps
Intro to AppExchange - Building Composite Apps
dreamforce2006
 
That's Rich! Putting a smile on ADF Faces (ODTUG Kaleidoscope 2009)
That's Rich! Putting a smile on ADF Faces (ODTUG Kaleidoscope 2009)That's Rich! Putting a smile on ADF Faces (ODTUG Kaleidoscope 2009)
That's Rich! Putting a smile on ADF Faces (ODTUG Kaleidoscope 2009)
Lucas Jellema
 
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Marius Constantinescu [MVP]
 
Automating your tasks with microsoft flow
Automating your tasks with microsoft flowAutomating your tasks with microsoft flow
Automating your tasks with microsoft flow
Dipti Chhatrapati
 
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All TogetherKathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
Kathryn Birstein: SharePoint 2010 Business Intelligence-Bringing it All Together
SharePoint Saturday NY
 
Ad

More from Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Lucas Jellema
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Lucas Jellema
 

Recently uploaded (20)

Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
React Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for SuccessReact Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for Success
Amelia Swank
 
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
HusseinMalikMammadli
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdfICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
Eryk Budi Pratama
 
AI and Gender: Decoding the Sociological Impact
AI and Gender: Decoding the Sociological ImpactAI and Gender: Decoding the Sociological Impact
AI and Gender: Decoding the Sociological Impact
SaikatBasu37
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Agentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community MeetupAgentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community Meetup
Manoj Batra (1600 + Connections)
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Middle East and Africa Cybersecurity Market Trends and Growth Analysis Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Preeti Jha
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
DNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in NepalDNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in Nepal
ICT Frame Magazine Pvt. Ltd.
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
React Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for SuccessReact Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for Success
Amelia Swank
 
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
Multi-Agent AI Systems: Architectures & Communication (MCP and A2A)
HusseinMalikMammadli
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdfICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
Eryk Budi Pratama
 
AI and Gender: Decoding the Sociological Impact
AI and Gender: Decoding the Sociological ImpactAI and Gender: Decoding the Sociological Impact
AI and Gender: Decoding the Sociological Impact
SaikatBasu37
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Middle East and Africa Cybersecurity Market Trends and Growth Analysis Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Middle East and Africa Cybersecurity Market Trends and Growth Analysis
Preeti Jha
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 

Castle in the Clouds: SaaS Enabling JavaServer™ Faces Applications (JavaOne 2009)

  • 1. Castle in the clouds - SaaS Enabling JavaServer Faces applications Lucas Jellema AMIS, The Netherlands http://technology.amis.nl/blog
  • 2. Overview What makes an application ‘SaaS’? And why provide an application as SaaS Requirements of SaaS applications Focus on Customization Integration & SOA across the cloud Deep Linking, Mash Up and UI Services Services API Remote Events Listeners Summary and Road Ahead
  • 3. Software as a Service common characteristics Single instance of standard application & database Running in a shared infrastructure, 24/7 Managed by central administration team Delivered over the internet to web browsers Used by individuals from multiple organizations globally distributed & multi-lingual user community Licence model based on usage metrics Service Level Agreement to specify quality of service
  • 4.  
  • 5. Software as a Service (perceived) benefits Small up-front investment Quick startup – ‘turn on the software tap’ Professional administration with guaranteed performance and application availability Low TCO through ‘economies of scale’ Dynamic Scalability Rapid evolution of new features and bug resolution – quick deployment Quick adoption of new technology Community to forster and share best practices
  • 6. Software as a Service concerns & potential disadvantages Dependence on 3 rd party for Security, Availability & Performance, Scalability Data outside the own infrastructure Standard application – not at all tailor-made Our own terminology, fields, default values, validation rules, workflow How does SaaS application integrate with Our SOA & EDA, Mash Up/Portal and Workflow Identity Management and Single Sign On How to prevent lock in with the SaaS provider
  • 7. SaaS Requirements Integration across the cloud Make SaaS application integrate with the SOA & EDA, workflow management, identity management and other shared central facilities in the organization using the SaaS Two way, based on open standards, geared towards both programmatic and UI integration Customization Allow organizations and individuals to tailor the ‘standard’ application for better fit Within the single instance of the SaaS application Easy, dynamic, run-time, self-service in browser
  • 8. Application ‘levels of reality’ Organization B Organization A
  • 9. Application Mode Switcher Application Managers can switch between Application Modes To view and manipulate the application at the selected level
  • 10. Application Rollout process… Development in the Factory Production-time refining Customer (organization) specific implementation By SaaS Helpdesk, on site consultant, Application Admin End User (dynamic, run-time) Personalization
  • 11. Proposal Let’s approach every end user application as a SaaS application! Both standard and custom application
  • 12. Desirable SaaS features & facilities Dynamic, Wiki like, context sensitive help Integration with incident registration Automatic passing of page, context data & logging ‘ Simulate user’ option for the service desk SLA metrics and application usage monitoring Self Service style application management ‘ Toggle’ between factory, organization and user Integrated workflow & collaboration Communication (email, chat), task list, tagging, … “ Register interest in” – notification of events
  • 13. Customization Allow adaption of terminology to organization Resource Bundles per organization (and individual) Dynamic, run-time resource bundle management Support for adding/hiding fields Configuration of application behavior through organization and user level preferences Personalization (my…) features for fine tuning Workflow and task-scope configuration Configure menus and add new items Fine tune look & feel – e.g. skins, styles, logos
  • 14. Customizing terminology Boilerplate text – prompt, title, button label, messages, help,… - come from resource bundles Built in support for i18n – language & country Typically held in property files deployed in WAR We need to implement resource bundles that can be updated and refreshed at run time Or at least extended with any overrides of default values keys that support the notion of organization specific versions of bundle entries in addition to factory ones maintenance facilities with self service support That presents bundle entries in understandable format
  • 15. Implementing Self Service Customization of Resource Bundles Resource Bundle implemented as class (extend ListResourceBundle) that read from database Keys are constructed as: <base_key>_<org_id> And even <base_key>_<org_id>_<user_id> JSF page refers to resources through intermediate bean: #{bundleHandler[‘baseKey’]} The bundleHandler bean first tries user specific key; if not found then org key and then base key It can also access several resource bundles – first the dynamic, database based one with overrides
  • 16. Custom(izing) fields Some fields are never used by some organizations and are therefore ‘in the way’ or they may even be legally forbidden in a country! Every organization finds the application lacking with one or more fields but no two organizations ahree on which fields… To allow optimal customization, a SaaS application ideally allows Customization of standard items Addition of custom items embedded in pages And associated with data records like ‘regular’ items
  • 17. Application Settings for customizing application behavior Some Application Behavior is developed as dynamically configurable Through Preferences or Application Settings Display : Locale, Format, Units for Height and Weight (converter parameters), feature on/off Business logic : Default Values for new records, Validation parameters, Field & Button Authorization Styling : Images, Fonts, Colors, Skins/Themes Settings can be configured at Factory (default), Organization and User level At run-time through self service pages
  • 18. Integrating Application Settings during development
  • 19. Application Settings Data Model Date Format dd-mm-yyyy Use Photo Metric/ Imperial … Y m mm/dd/yyyy dd-mm-yy N Y N i Application Settings * Name o Factory Value o Allowable Values o Description o Data Type o Level Updatable o Updatable By Customized Settings * OrgId o Value o UserId o Comment
  • 21. Personalization Features – My… options My Navigation History My Favorites (quick links, bookmarks) My own custom properties (‘flex fields’) My Date Format, Weight & Height units, Currency, Default Values My lingo in titles, labels, prompts & messages Personalized Menu-structure … (my logo!)
  • 22. Demo SaaS style Customization in JSF Run Time Management of Organization specific Resource Bundles Change the boilerplate text defined in the factory Create organization and user specific resources Influencing application behavior through application settings at organization level Configure date format pattern Specify validation parameters Toggle between user/organisation/factory scope
  • 25. SOA across the cloud SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Validation Service Service API internal internet LDAP Service API CMS Social API
  • 26. Integration and SOA across the cloud Service API as programmatic alternative to UI RSS, SOAP, REST Event Listener registration to be notified by SaaS Service Registration (Dependency Injection) Authentication/Authorization, Translation, Validation, Workflow, Communication Identity cross referencing (SaaS & local identifier) Deep Link API for context sensitive navigation UI Services (Portlets) to fit into Mashups & Portals Data Export, Synch & Import – bulk facilities “ internet service bus” – integrating multiple SaaSs
  • 27. SOA across the cloud: data & operations SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Validation Service Service API Service API Service API RSS internal internet listener registration service dependency injection LDAP Export Service API CMS Social API
  • 28. SOA across the cloud: UI / Navigation / Process/Presentation SaaS A SaaS B App D App C CMS Workflow Engine Email IM Fax Portlet API Portlet API RSS Deep link Interface CMS internal internet Deep link Interface Portlet API Portlet API ToDo RSS RSS News HTML Pages Social API
  • 29. Implementing Deep Linking in JSF URL like http://host/SaaSApp/UpdateJob/Scott Cookie provides hook for Single Sign On ServletFilter intercepts and redirects to proper JSF page – after storing parameters in the request JSF PhaseListener intercepts the request to the page and prepares the backing beans Using the request parameters JSF page is rendered with proper data context When the user is done, the JSF application could update the task by calling the workflow engine SAPI publish a SaaS event
  • 31. Demonstrating the SaaS Service API Create a new Employee Call the SaaS API to propagate the new employee record Right after succesful transaction commit Inspect the new record in the SaaS UI SaaS A App D Service API RSS HTML Pages Portlet API
  • 32. Demonstrating cross-cloud event listeners SaaS A App D Service API Service API RSS listener registration Register App D’s Update Employee service as Event Listener for SaaS event Update a salary in the SaaS UI Event is routed to the remote listener that calls the App D Service API that “does something with it” Portlet API DB
  • 33. Demonstrating Deep Link Navigation SaaS A Service API RSS To Do list shows task “Handle promotion for Employee Scott” Selecting this task will bring up a popup loaded through a deep link into SaaS A Presenting the ‘Update Job’ page with the details of Scott loaded Portlet API HTML Pages Workflow Engine ToDo News
  • 35. Register Event Listener by calling the WebService
  • 37. SaaS in the Multi-Org world App Z SaaS A \ SaaS B Service API Service API RSS Export CMS internet App D Workflow Engine Service API App X Service API App Y Service API Portlet API HTML Pages Portlet API Social API
  • 38. Summary and Conclusion SaaS and the road ahead SaaS applications need special facilities Customization & personalization Service API (UI and programmatic), Event support SLA management, metrics monitoring & self service Enterprise Service Bus and Portal/Mashup connect the SaaS applications JavaServer Faces can be used for implementing the customizable and integratable front end Most applications could do with the same facilities: let’s regard all applications as SaaS!
  • 39. Lucas Jellema [email_address] http://technology.amis.nl/blog (with all source code of the demos)