Publicité

The Web Framework Dream Team

Deputy CTO at Inera AB à Inera AB
24 Jan 2010
Publicité

Contenu connexe

Présentations pour vous(20)

Publicité
Publicité

The Web Framework Dream Team

  1. The web framework dream team Johan Eltes [email_address] www.callistaenterprise.se
  2. 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
  3. 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
  4. 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
  5. Requirement: “Use-Case-as-service” The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Usecase Process Service Data Service Business Value
  6. 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
  7. 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
  8. 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
  9. How will Use-cases become components? The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Demo
  10. 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
  11. Re-use in another composite application The web framework dream team , Slide Copyright 2008, Callista Enterprise AB
  12. “ 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.
  13. The resulting reference architecture The web framework dream team , Slide Copyright 2008, Callista Enterprise AB
  14. 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
  15. 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
  16. Design-nivå: Beroenden vid återanvändning av web-komposit The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Hierakiskt beroende i systemmodellen
  17. 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
  18. Design-nivå: Beroenden vid återanvändning av service-komposit The web framework dream team , Slide Copyright 2008, Callista Enterprise AB Hierakiskt beroende i systemmodellen
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. Use-case façade The web framework dream team , Slide Copyright 2008, Callista Enterprise AB
  26. 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
  27. Time (?) for Questions! The web framework dream team , Slide Copyright 2008, Callista Enterprise AB
Publicité