SlideShare una empresa de Scribd logo
1 de 38
The web framework dream team Johan Eltes [email_address] www.callistaenterprise.se
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB
Strategic drivers behind reference architecture The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB … National IT strategi for healthcare Regional strategi Regional projects IT architecture Portal framework
IT Architecture for VGRegion Healthcare Core Healthcare interop infrastructure Legacy EPR 1 Legacy EPR 2 Internal log Internal log … Internal Workflow Internal Workflow Gradual adoption of legacy healthcare systems Unified Information View (portal) EPR My Tasks SOAPlatform Alarming and logging Portal framework People Directory Internal roles database LabProcess Internal roles database Adapters Adapters Workflow Engine YP Legacy Lab System Internal log Internal Workflow Internal roles database Adapters Taxonomy services New business process support (composite apps), utilizing service enabled back-ends  Native Services
Layered View Back-end enterprise resources Canonical (Enterprise) Services Composite Applications Business Model Workflow Presentation Composite Services Local development. Put together a development framework! SOA  Platform COTS and semi-COTS
Requirement: “Use-Case-as-service” The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Usecase  Process Service Data Service Business Value
Requirement: Portability The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Container portability (Java EE) Portability across Web app and Portlet Web-app Portlet
Requirement: Web designer friendly templating technology The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB NetWeaver Design in DreamWeaver Development in XML editor
Requirement: Support Verva web design requirements ,[object Object],[object Object],[object Object],[object Object],[object Object],The web framework dream team , Slide  Copyright 2007, Callista Enterprise AB
Requirements: Agile Development environment ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB
Major Challenge: Re-use at Use-Case-level The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Usecase  Process Service Data Service Business Value
How will Use-cases become components? The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Demo
Use-cases as Components The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Semantically equivalent to calling modal dialog in Swing! Composite Application «webcomp» :Edit Address Entry «webcomp» :NewCategory «webcomp» :AddressList 1: editAddressEntry(long) :entryId of new Entry 1.1: addNewCategory() :CategoryId 1.2: addNewCategory() :CategoryId
Web realization versus Rich Client ,[object Object],[object Object],The web framework dream team ,  Slide  Copyright 2008, Callista Enterprise AB Use-case logic Back-end services
Re-use in another composite application The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB
Adding portability… ,[object Object],[object Object],[object Object],The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Portlet WebApp «webcomp» :Edit Address Entry
“ Remove” inherent web programming issues  The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB public class Game extends Element { private static Random randomNumbers = new Random(); public void processElement() { Template template = getHtmlTemplate(&quot;game&quot;); int answer = 0, guesses = 0, guess = -1; answer = randomNumbers.nextInt(101); while (guess != answer) { print(template); pause(); template.clear(); guess = getParameterInt(&quot;guess&quot;, -1); if (guess < 0 || guess > 100) { template.setBlock(&quot;warning&quot;, &quot;invalid&quot;); continue; } guesses++; if (answer < guess)  template.setBlock(&quot;msg&quot;, &quot;lower&quot;); else if (answer > guess) template.setBlock(&quot;msg&quot;, &quot;higher&quot;); } ContinuationContext.getActiveContext().removeContextTree(); template = getHtmlTemplate(&quot;success&quot;); template.setValue(&quot;answer&quot;, answer); template.setValue(&quot;guesses&quot;, guesses); print(template); } } 0. Get a random number between 0 and 100 1. Show the guess-form 2. Repeat until successful guess: 2.1. The user enters a value and submits the form 2.2. Validate the guess. I error (not between 0 and 100), continue at 2. 2.3. Unless successful guess, show whether the guess was under or above the answer. 2.4. Display guess-form. 3.0 Show congratulations screen with number of guesses.
Reduce semantic gap: Flow of events ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB
The resulting reference architecture The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB
Systemnivå: Komponenthierarki Web Framework Dream Team, Slide  Copyright 2008, Callista Enterprise AB : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Entitetskomponent 1 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Processkomponent 1 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt
Logisk nivå (system-nivå): Beroenden vid återanvändning av web-dialog Web Framework Dream Team, Slide  Copyright 2008, Callista Enterprise AB : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Entitetskomponent 1 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Processkomponent 1 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt
Design-nivå: Beroenden vid återanvändning av web-komposit The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Hierakiskt beroende i systemmodellen
Logisk nivå (system-nivå): Beroenden vid återanvändning av komponenttjänst Web Framework Dream Team, Slide  Copyright 2008, Callista Enterprise AB : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Entitetskomponent 2 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Processkomponent 2 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt
Design-nivå: Beroenden vid återanvändning av service-komposit The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Hierakiskt beroende i systemmodellen
Dynamic view (runtime perspective) The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Business Component 1 Business Component 2 Composite Application <webcomp> Address List <webcomp> Add Category <webcomp> Address Entry
Selected frameworks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB
Anatomy of a web use-case component (web composite) The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Presentation Use-case logic Back-end integration Input / output parameters Context for use-case component instance state «webcomp» :Category
Anatomy of a web use-case component (web composite) The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Presentation Use-case logic Back-end integration Input / output parameters Context for use-case component instance state Spring WebFlow: category-flow.xml «webcomp» :Category
WebFlow – Sample – AddressEntryComposite Open ESB, Slide  Copyright 2007, Callista Enterprise AB «action» getNewOrExistingAddressEntity start «view» editAddressEntry «action» save «subflow» enterNewCategory «action» assignNewCategory exit «flow» «flow» «flow» ok «flow» cancel «flow» «flow» cancel add category
Anatomy of a web use-case component (web composite) The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Presentation Use-case logic Back-end integration Input / output parameters Context for use-case component instance state Facelets: Category.xhtml «webcomp» :Category
Facelets– Sample – Category Composite ,[object Object],[object Object],[object Object],The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB <h:commandLink action=“viewAddressEntryAction” ..>
Anatomy of a web use-case component (web composite) The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Presentation Use-case logic Back-end integration Input / output parameters Context for use-case component instance state Java: CategoryFlowSupport.java Façade per use-case component. Additional model beans  when required «webcomp» :Category
Use-case façade The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB
But what about JSF? ,[object Object],[object Object],[object Object],The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB <?xml version=&quot;1.0&quot;?> <!DOCTYPE faces-config PUBLIC &quot;-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN&quot; &quot;http://java.sun.com/dtd/web-facesconfig_1_0.dtd&quot;> <faces-config> <application> <navigation-handler> org.springframework.webflow.executor.jsf.FlowNavigationHandler </navigation-handler> <variable-resolver> org.springframework.webflow.executor.jsf.DelegatingFlowVariableResolver </variable-resolver> <view-handler>com.sun.facelets.FaceletViewHandler</view-handler> </application> <lifecycle> <phase-listener> org.springframework.webflow.executor.jsf.FlowPhaseListener </phase-listener> </lifecycle> </faces-config>JSF
Environments ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Web Framework Dream Team, Slide  Copyright 2008, Callista Enterprise AB
Lessons learned ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB
Summary Re-usable Use-case Components Delivered! The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB Usecase  Process Service Data Service Business Value  … by the dream team: Spring WebFlow, Facelets, JSF, a reference architecture and some glue
Time (?) for Questions! The web framework dream team , Slide  Copyright 2008, Callista Enterprise AB

Más contenido relacionado

La actualidad más candente

Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Guido Schmutz
 
Upcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportUpcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportSteven Davelaar
 
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA SuiteOracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA SuiteDouwe Pieter van den Bos
 
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET ProgrammingEssential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programmingandrejusb
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot David Delabassee
 
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...Hirofumi Iwasaki
 
Getting your grips on Excel chaos
Getting your grips on Excel chaosGetting your grips on Excel chaos
Getting your grips on Excel chaosNiels de Bruijn
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewSteven Davelaar
 
How Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web DevelopmentHow Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web DevelopmentBruno Borges
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersJithin Kuriakose
 
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...Kai Wähner
 
Alexander Zeng
Alexander ZengAlexander Zeng
Alexander ZengAlex Zeng
 
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishBatch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishArun Gupta
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Reza Rahman
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012hwilming
 
Building beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSBuilding beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSSteven Davelaar
 

La actualidad más candente (20)

Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
 
Upcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportUpcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST support
 
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA SuiteOracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
Oracle OpenWorld 2011 - Oracle Application Express within the Oracle SOA Suite
 
Essential Kit for Oracle JET Programming
Essential Kit for Oracle JET ProgrammingEssential Kit for Oracle JET Programming
Essential Kit for Oracle JET Programming
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
 
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [Ja...
 
Getting your grips on Excel chaos
Getting your grips on Excel chaosGetting your grips on Excel chaos
Getting your grips on Excel chaos
 
A-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator OverviewA-Team Mobile Persistence Accelerator Overview
A-Team Mobile Persistence Accelerator Overview
 
How Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web DevelopmentHow Scala, Wicket, and Java EE Can Improve Web Development
How Scala, Wicket, and Java EE Can Improve Web Development
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption
 
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
 
Alexander Zeng
Alexander ZengAlexander Zeng
Alexander Zeng
 
Restful Services
Restful ServicesRestful Services
Restful Services
 
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishBatch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
 
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012
 
Building beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSBuilding beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCS
 
NetWeaver Gateway- Gateway Service Consumption
NetWeaver Gateway- Gateway Service ConsumptionNetWeaver Gateway- Gateway Service Consumption
NetWeaver Gateway- Gateway Service Consumption
 

Destacado

Invånar styrd åtkomst av patientdata
Invånar styrd åtkomst av patientdataInvånar styrd åtkomst av patientdata
Invånar styrd åtkomst av patientdataJohan Eltes
 
2013 mobile health summit
2013 mobile health summit2013 mobile health summit
2013 mobile health summitJohan Eltes
 
OAuth2 in swedish healthcare
OAuth2 in swedish healthcareOAuth2 in swedish healthcare
OAuth2 in swedish healthcareJohan Eltes
 
Asynchronous Service Server
Asynchronous Service ServerAsynchronous Service Server
Asynchronous Service Serverguestbba9241
 
2013 10-16 sundsvall42 journaluppgifter i appar
2013 10-16 sundsvall42 journaluppgifter i appar2013 10-16 sundsvall42 journaluppgifter i appar
2013 10-16 sundsvall42 journaluppgifter i apparJohan Eltes
 
10 år av standarder med standarder i nationell ohälsa
10 år av standarder med standarder i nationell ohälsa10 år av standarder med standarder i nationell ohälsa
10 år av standarder med standarder i nationell ohälsaJohan Eltes
 

Destacado (8)

Invånar styrd åtkomst av patientdata
Invånar styrd åtkomst av patientdataInvånar styrd åtkomst av patientdata
Invånar styrd åtkomst av patientdata
 
2013 mobile health summit
2013 mobile health summit2013 mobile health summit
2013 mobile health summit
 
Asynch Soa
Asynch SoaAsynch Soa
Asynch Soa
 
OAuth2 in swedish healthcare
OAuth2 in swedish healthcareOAuth2 in swedish healthcare
OAuth2 in swedish healthcare
 
Asynchronous Service Server
Asynchronous Service ServerAsynchronous Service Server
Asynchronous Service Server
 
DCI with groovy
DCI with groovyDCI with groovy
DCI with groovy
 
2013 10-16 sundsvall42 journaluppgifter i appar
2013 10-16 sundsvall42 journaluppgifter i appar2013 10-16 sundsvall42 journaluppgifter i appar
2013 10-16 sundsvall42 journaluppgifter i appar
 
10 år av standarder med standarder i nationell ohälsa
10 år av standarder med standarder i nationell ohälsa10 år av standarder med standarder i nationell ohälsa
10 år av standarder med standarder i nationell ohälsa
 

Similar a The Web Framework Dream Team

ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008Caleb Jenkins
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applicationshchen1
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Lucas Jellema
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentRandy Connolly
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web ComponentsRed Pill Now
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksSunil Patil
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworksSunil Patil
 
Dev309 from asgard to zuul - netflix oss-final
Dev309  from asgard to zuul - netflix oss-finalDev309  from asgard to zuul - netflix oss-final
Dev309 from asgard to zuul - netflix oss-finalRuslan Meshenberg
 
J2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for womenJ2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for womenlissa cidhi
 
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...Amazon Web Services
 
Integrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePointIntegrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePointRob Windsor
 
2.j2 ee overview
2.j2 ee overview2.j2 ee overview
2.j2 ee overviewSDFG5
 
2.J2EE_Overview.ppt
2.J2EE_Overview.ppt2.J2EE_Overview.ppt
2.J2EE_Overview.pptEidTahir
 

Similar a The Web Framework Dream Team (20)

ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
Mashups
MashupsMashups
Mashups
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
 
Caerusone
CaerusoneCaerusone
Caerusone
 
Atlas Php
Atlas PhpAtlas Php
Atlas Php
 
Web II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side developmentWeb II - 01 - Introduction to server-side development
Web II - 01 - Introduction to server-side development
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web Components
 
D22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source FrameworksD22 Portlet Development With Open Source Frameworks
D22 Portlet Development With Open Source Frameworks
 
D22 portlet development with open source frameworks
D22 portlet development with open source frameworksD22 portlet development with open source frameworks
D22 portlet development with open source frameworks
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
ASP
ASPASP
ASP
 
Dev309 from asgard to zuul - netflix oss-final
Dev309  from asgard to zuul - netflix oss-finalDev309  from asgard to zuul - netflix oss-final
Dev309 from asgard to zuul - netflix oss-final
 
J2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for womenJ2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for women
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
 
Integrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePointIntegrating ASP.NET AJAX with SharePoint
Integrating ASP.NET AJAX with SharePoint
 
2.j2 ee overview
2.j2 ee overview2.j2 ee overview
2.j2 ee overview
 
2.J2EE_Overview.ppt
2.J2EE_Overview.ppt2.J2EE_Overview.ppt
2.J2EE_Overview.ppt
 

Más de Johan Eltes

2018 04-25 vitalis refark telemedicin
2018 04-25 vitalis refark telemedicin2018 04-25 vitalis refark telemedicin
2018 04-25 vitalis refark telemedicinJohan Eltes
 
Sweden on fhir - status report
Sweden on fhir - status reportSweden on fhir - status report
Sweden on fhir - status reportJohan Eltes
 
The ehealth architecture of the Swedish public healthcare payers
The ehealth architecture of the Swedish public healthcare payersThe ehealth architecture of the Swedish public healthcare payers
The ehealth architecture of the Swedish public healthcare payersJohan Eltes
 
Presentation of a pre-study on a national ecosystem for a shared medication r...
Presentation of a pre-study on a national ecosystem for a shared medication r...Presentation of a pre-study on a national ecosystem for a shared medication r...
Presentation of a pre-study on a national ecosystem for a shared medication r...Johan Eltes
 
Nordic reference architecture personal connected health
Nordic reference architecture personal connected healthNordic reference architecture personal connected health
Nordic reference architecture personal connected healthJohan Eltes
 
Swedish Health Innovation Resources at Stanford Med-X
Swedish Health Innovation Resources at Stanford Med-XSwedish Health Innovation Resources at Stanford Med-X
Swedish Health Innovation Resources at Stanford Med-XJohan Eltes
 
2014 04-08 arkitektur för gemensam informationsförsörjning
2014 04-08 arkitektur för gemensam informationsförsörjning2014 04-08 arkitektur för gemensam informationsförsörjning
2014 04-08 arkitektur för gemensam informationsförsörjningJohan Eltes
 
2016 04-06 vitalis nordic reference architecture personal connected health
2016 04-06 vitalis nordic reference architecture personal connected health2016 04-06 vitalis nordic reference architecture personal connected health
2016 04-06 vitalis nordic reference architecture personal connected healthJohan Eltes
 
How Sweden improved patient self service with ehealth
How Sweden improved patient self service with ehealthHow Sweden improved patient self service with ehealth
How Sweden improved patient self service with ehealthJohan Eltes
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference ArchitectureJohan Eltes
 

Más de Johan Eltes (12)

2018 04-25 vitalis refark telemedicin
2018 04-25 vitalis refark telemedicin2018 04-25 vitalis refark telemedicin
2018 04-25 vitalis refark telemedicin
 
Sweden on fhir - status report
Sweden on fhir - status reportSweden on fhir - status report
Sweden on fhir - status report
 
The ehealth architecture of the Swedish public healthcare payers
The ehealth architecture of the Swedish public healthcare payersThe ehealth architecture of the Swedish public healthcare payers
The ehealth architecture of the Swedish public healthcare payers
 
Presentation of a pre-study on a national ecosystem for a shared medication r...
Presentation of a pre-study on a national ecosystem for a shared medication r...Presentation of a pre-study on a national ecosystem for a shared medication r...
Presentation of a pre-study on a national ecosystem for a shared medication r...
 
Nordic reference architecture personal connected health
Nordic reference architecture personal connected healthNordic reference architecture personal connected health
Nordic reference architecture personal connected health
 
Swedish Health Innovation Resources at Stanford Med-X
Swedish Health Innovation Resources at Stanford Med-XSwedish Health Innovation Resources at Stanford Med-X
Swedish Health Innovation Resources at Stanford Med-X
 
2014 04-08 arkitektur för gemensam informationsförsörjning
2014 04-08 arkitektur för gemensam informationsförsörjning2014 04-08 arkitektur för gemensam informationsförsörjning
2014 04-08 arkitektur för gemensam informationsförsörjning
 
2016 04-06 vitalis nordic reference architecture personal connected health
2016 04-06 vitalis nordic reference architecture personal connected health2016 04-06 vitalis nordic reference architecture personal connected health
2016 04-06 vitalis nordic reference architecture personal connected health
 
How Sweden improved patient self service with ehealth
How Sweden improved patient self service with ehealthHow Sweden improved patient self service with ehealth
How Sweden improved patient self service with ehealth
 
Sca
ScaSca
Sca
 
Reference Architecture
Reference ArchitectureReference Architecture
Reference Architecture
 
Java EE6 CDI
Java EE6 CDIJava EE6 CDI
Java EE6 CDI
 

Último

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Último (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

The Web Framework Dream Team

  • 1. The web framework dream team Johan Eltes [email_address] www.callistaenterprise.se
  • 2.
  • 3. Strategic drivers behind reference architecture The web framework dream team , Slide Copyright 2008, Callista Enterprise AB … National IT strategi for healthcare Regional strategi Regional projects IT architecture Portal framework
  • 4. IT Architecture for VGRegion Healthcare Core Healthcare interop infrastructure Legacy EPR 1 Legacy EPR 2 Internal log Internal log … Internal Workflow Internal Workflow Gradual adoption of legacy healthcare systems Unified Information View (portal) EPR My Tasks SOAPlatform Alarming and logging Portal framework People Directory Internal roles database LabProcess Internal roles database Adapters Adapters Workflow Engine YP Legacy Lab System Internal log Internal Workflow Internal roles database Adapters Taxonomy services New business process support (composite apps), utilizing service enabled back-ends Native Services
  • 5. Layered View Back-end enterprise resources Canonical (Enterprise) Services Composite Applications Business Model Workflow Presentation Composite Services Local development. Put together a development framework! SOA Platform COTS and semi-COTS
  • 6. Requirement: “Use-Case-as-service” The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Usecase Process Service Data Service Business Value
  • 7. Requirement: Portability The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Container portability (Java EE) Portability across Web app and Portlet Web-app Portlet
  • 8. Requirement: Web designer friendly templating technology The web framework dream team , Slide Copyright 2008, Callista Enterprise AB NetWeaver Design in DreamWeaver Development in XML editor
  • 9.
  • 10.
  • 11. Major Challenge: Re-use at Use-Case-level The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Usecase Process Service Data Service Business Value
  • 12. How will Use-cases become components? The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Demo
  • 13. Use-cases as Components The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Semantically equivalent to calling modal dialog in Swing! Composite Application «webcomp» :Edit Address Entry «webcomp» :NewCategory «webcomp» :AddressList 1: editAddressEntry(long) :entryId of new Entry 1.1: addNewCategory() :CategoryId 1.2: addNewCategory() :CategoryId
  • 14.
  • 15. Re-use in another composite application The web framework dream team , Slide Copyright 2008, Callista Enterprise AB
  • 16.
  • 17. “ Remove” inherent web programming issues The web framework dream team , Slide Copyright 2008, Callista Enterprise AB public class Game extends Element { private static Random randomNumbers = new Random(); public void processElement() { Template template = getHtmlTemplate(&quot;game&quot;); int answer = 0, guesses = 0, guess = -1; answer = randomNumbers.nextInt(101); while (guess != answer) { print(template); pause(); template.clear(); guess = getParameterInt(&quot;guess&quot;, -1); if (guess < 0 || guess > 100) { template.setBlock(&quot;warning&quot;, &quot;invalid&quot;); continue; } guesses++; if (answer < guess) template.setBlock(&quot;msg&quot;, &quot;lower&quot;); else if (answer > guess) template.setBlock(&quot;msg&quot;, &quot;higher&quot;); } ContinuationContext.getActiveContext().removeContextTree(); template = getHtmlTemplate(&quot;success&quot;); template.setValue(&quot;answer&quot;, answer); template.setValue(&quot;guesses&quot;, guesses); print(template); } } 0. Get a random number between 0 and 100 1. Show the guess-form 2. Repeat until successful guess: 2.1. The user enters a value and submits the form 2.2. Validate the guess. I error (not between 0 and 100), continue at 2. 2.3. Unless successful guess, show whether the guess was under or above the answer. 2.4. Display guess-form. 3.0 Show congratulations screen with number of guesses.
  • 18.
  • 19. The resulting reference architecture The web framework dream team , Slide Copyright 2008, Callista Enterprise AB
  • 20. Systemnivå: Komponenthierarki Web Framework Dream Team, Slide Copyright 2008, Callista Enterprise AB : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Entitetskomponent 1 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Processkomponent 1 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt
  • 21. Logisk nivå (system-nivå): Beroenden vid återanvändning av web-dialog Web Framework Dream Team, Slide Copyright 2008, Callista Enterprise AB : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Entitetskomponent 1 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Processkomponent 1 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt
  • 22. Design-nivå: Beroenden vid återanvändning av web-komposit The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Hierakiskt beroende i systemmodellen
  • 23. Logisk nivå (system-nivå): Beroenden vid återanvändning av komponenttjänst Web Framework Dream Team, Slide Copyright 2008, Callista Enterprise AB : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Entitetskomponent 2 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt : Entitetskomponent Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt : Processkomponent 2 Resursskikt Verksamhetsskikt Komponenttjänst Anslutningsskikt Integrationstjänst Webgränssnitt
  • 24. Design-nivå: Beroenden vid återanvändning av service-komposit The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Hierakiskt beroende i systemmodellen
  • 25. Dynamic view (runtime perspective) The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Business Component 1 Business Component 2 Composite Application <webcomp> Address List <webcomp> Add Category <webcomp> Address Entry
  • 26.
  • 27. Anatomy of a web use-case component (web composite) The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Presentation Use-case logic Back-end integration Input / output parameters Context for use-case component instance state «webcomp» :Category
  • 28. Anatomy of a web use-case component (web composite) The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Presentation Use-case logic Back-end integration Input / output parameters Context for use-case component instance state Spring WebFlow: category-flow.xml «webcomp» :Category
  • 29. WebFlow – Sample – AddressEntryComposite Open ESB, Slide Copyright 2007, Callista Enterprise AB «action» getNewOrExistingAddressEntity start «view» editAddressEntry «action» save «subflow» enterNewCategory «action» assignNewCategory exit «flow» «flow» «flow» ok «flow» cancel «flow» «flow» cancel add category
  • 30. Anatomy of a web use-case component (web composite) The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Presentation Use-case logic Back-end integration Input / output parameters Context for use-case component instance state Facelets: Category.xhtml «webcomp» :Category
  • 31.
  • 32. Anatomy of a web use-case component (web composite) The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Presentation Use-case logic Back-end integration Input / output parameters Context for use-case component instance state Java: CategoryFlowSupport.java Façade per use-case component. Additional model beans when required «webcomp» :Category
  • 33. Use-case façade The web framework dream team , Slide Copyright 2008, Callista Enterprise AB
  • 34.
  • 35.
  • 36.
  • 37. Summary Re-usable Use-case Components Delivered! The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Usecase Process Service Data Service Business Value … by the dream team: Spring WebFlow, Facelets, JSF, a reference architecture and some glue
  • 38. Time (?) for Questions! The web framework dream team , Slide Copyright 2008, Callista Enterprise AB