SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Introducing…. Vara Framework
Agenda Introduction Benefits Challenges Demonstration Next Steps
Introduction Vara Framework
About Mike Merchant 12+ Years in Software Development 10 Years between KP and SCE Developed or managed on 50+ projects Experience in Flex, Java, .NET and others Founder and President of MCW Software, an RIA consulting firm in Lake Forest, CA
Introduction “What is this Vara Framework?” User workflow framework for Flex New architecture? New use of patterns? Based on concepts I’ve been thinking about and working on for most of my software development career Developed version for VB 6.0 around 2000 Developed first Adobe Flex version last year Used and maintained by MCW Software
Introduction “How come I’ve never heard of it?” This is the first time we have presented it publicly (11/5/2009) “Why should I care?” Vara makes building large-scale, enterprise RIAs simpler, faster, easier to maintain, and more consistent.
Observations We are going to talk about CRUD (a.k.a. Create, Read, Update, Delete) Applications handle CRUD similarly Forms should handle CRUD consistently Applications tend to repeat this logic for each and every screen Logic is very difficult to abstract
Observations Views have arbitrary complexity Resources have arbitrary complexity Mapping is usually not simple Simple binding does not solve this MVC does not go far enough
Observations Any widely used frameworks that concretely handle CRUD operations??? Desire for frameworks is NOT to dumb down or eliminate the developer. Desire for frameworks comes from being pragmatic and the need to efficiently build applications that are easily maintainable and flexible.
Scenario #1: SDI Application Assume we are building an application that shows one employee form at a time (i.e. single-document interface - SDI) Open an employee record from a list Make some changes Open another employee record from list What actions need to take place?
Scenario #1: SDI Application Load new record…but wait… Clear existing record…but wait...  Save existing record…but wait… Has existing record changed? Should the user be prompted to save changes? How did user respond to the prompt? Yes? No? Cancel? Is the data valid?
Scenario #1: SDI Application Save existing record How to extract data to save from view? Where to send that data?  Remote Object? Web Service? Was save successful? What to do after save? Update record in list?
Scenario #1: SDI Application Clear existing record How do we reset the form? Do we need to clear the resource? Load new record Where do we load from? How to populate the data onto the view? What to do after load?
Scenario #2: MDI Application Assume we are building an application that uses multiple employee form at a time (i.e. multiple-document interface - MDI) Open an employee record from list Make some changes Close the form
Scenario #2: MDI Application Close form… but wait… Clear form… but wait...  Save existing record…but wait… Has existing record changed? Should the user be prompted to save changes? How did user respond to the prompt? Yes? No? Cancel? Is the data valid? Save record How to extract data to save from view? Where to send that data?  Remote Object? Web Service? Was save successful? What to do after save? Update record in list? Clear record How do we reset the form? Do we need to clear the resource? Close form
Scenario #3: PITA Application Write an application that has 100 data entry forms of arbitrary complexity (trees, tabs, data grids, file uploads, custom components, etc.) Handle the loading, saving, closing, deleting, prompting, and validation consistently throughout the application
Scenario #3: PITA Application 3 months into PITA project…. PITA Boss read usability study about benefits of single-document interfaces (SDI) He wants you to convert those screens from MDI to SDI He also wants prompting to occur only if the user has actually changed the record Due to budget constraints, the timeline needs to be reduced
Core Ideas of Vara Developer should be able to handle… Design and development of views Selection and development of resources View/Model interaction Resource/Model interaction User prompting
Core Ideas of Vara Actions always occur in a certain order Top-level action can start other actions Workflow can orchestrate these actions Common workflow can be provided Interact with developer’s code in order to manage the views and resources
Flex Application Flex MVC Architectures Layers User Interface Network Services Middleware Business Logic Data Access Database Database
Flex Application Resource Flex MVC Architectures Layers User Interface Services Business Logic Data Access Database
Flex MVC Architectures Layers User Interface View Model Controller Resource What about the resource? Services Business Logic Data Access Database
Vara Architecture Created by Developer Provided by Framework View Vara Framework Model Resource
Vara Architecture Created by Developer Provided by Framework View Actions View Adapter Implementation Workflow View Adapter Initialize Load Clear Model Save Resource Adapter Implementation Resource Adapter Unload Close Resource
Vara Workflow Actions Load Unload Close Clear Initialize Destroy Save Generic
Steps to Implement Vara Step 1: Include Vara.swc in Flex project Step 2: Create View Adapter class Step 3: Create Resource Adapter class Step 4: Declare BasicWorkflowImpl Step 5: Add calls to xxxxAction.start() Step 6: Override adapters as needed
Step 1: Include Vara.swc
Step 2: Create View Adapter Step 3: Create Resource Adapter
Step 4: Declare Workflow
Step 5: Add action calls
Step 6: Override as needed Developer extends and overrides… Vara provides… AdapterImpl ViewAdapterImpl
Summary
BENEFITS Vara Framework
Benefits Consistent handling of user workflow across an application Makes applications easier to maintain Speeds up coding by reducing duplication Increases flexibility and agility in responding to customers demands
CHALLENGES Vara Framework
Challenges ,[object Object]
Remember to call proceed()
Integration with other frameworks?
Dependency injection
More use of event handling

Weitere ähnliche Inhalte

Was ist angesagt?

Startup application trends spring 2013
Startup application trends spring 2013Startup application trends spring 2013
Startup application trends spring 2013Mukund Mohan
 
Introduction to Salesforcedotcom
Introduction to SalesforcedotcomIntroduction to Salesforcedotcom
Introduction to SalesforcedotcomEdureka!
 
Introduction to Salesforcedotcom
Introduction to SalesforcedotcomIntroduction to Salesforcedotcom
Introduction to SalesforcedotcomEdureka!
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Bruce Elgort
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaEr. Sndp Srda
 
Designing a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the CloudDesigning a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the CloudAnkaraCloud
 
A JBoss Enterprise Middleware Solution to Improving Business Execution
A JBoss Enterprise Middleware Solution to Improving Business ExecutionA JBoss Enterprise Middleware Solution to Improving Business Execution
A JBoss Enterprise Middleware Solution to Improving Business ExecutionCITYTECH, Inc.
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...mfrancis
 
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBMUdvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBMIBM Danmark
 
235042632 super-shop-ee
235042632 super-shop-ee235042632 super-shop-ee
235042632 super-shop-eehomeworkping3
 
The Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App DevThe Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App DevIBM Connections Developers
 
Software Engineering for Web Applications
Software Engineering for Web ApplicationsSoftware Engineering for Web Applications
Software Engineering for Web ApplicationsMoh'd Shakeb Baig
 
Lotus Notes Meets the Workplace Rich Client
Lotus Notes Meets the Workplace Rich ClientLotus Notes Meets the Workplace Rich Client
Lotus Notes Meets the Workplace Rich Clientdominion
 

Was ist angesagt? (16)

Startup application trends spring 2013
Startup application trends spring 2013Startup application trends spring 2013
Startup application trends spring 2013
 
Introduction to Salesforcedotcom
Introduction to SalesforcedotcomIntroduction to Salesforcedotcom
Introduction to Salesforcedotcom
 
Introduction to Salesforcedotcom
Introduction to SalesforcedotcomIntroduction to Salesforcedotcom
Introduction to Salesforcedotcom
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
 
Web engineering
Web engineeringWeb engineering
Web engineering
 
ADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep ShardaADF Introduction By Sandeep Sharda
ADF Introduction By Sandeep Sharda
 
Designing a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the CloudDesigning a Reliable Software Factory for the Cloud
Designing a Reliable Software Factory for the Cloud
 
A JBoss Enterprise Middleware Solution to Improving Business Execution
A JBoss Enterprise Middleware Solution to Improving Business ExecutionA JBoss Enterprise Middleware Solution to Improving Business Execution
A JBoss Enterprise Middleware Solution to Improving Business Execution
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
 
Resume_Debaprasad
Resume_DebaprasadResume_Debaprasad
Resume_Debaprasad
 
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBMUdvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
Udvikling af apps til mobile enheder med IBM Worklight, Christina Møller, IBM
 
235042632 super-shop-ee
235042632 super-shop-ee235042632 super-shop-ee
235042632 super-shop-ee
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
The Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App DevThe Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App Dev
 
Software Engineering for Web Applications
Software Engineering for Web ApplicationsSoftware Engineering for Web Applications
Software Engineering for Web Applications
 
Lotus Notes Meets the Workplace Rich Client
Lotus Notes Meets the Workplace Rich ClientLotus Notes Meets the Workplace Rich Client
Lotus Notes Meets the Workplace Rich Client
 

Andere mochten auch

Chapter ii c#(building a user interface)
Chapter ii c#(building a user interface)Chapter ii c#(building a user interface)
Chapter ii c#(building a user interface)Chhom Karath
 
ASP.NET Session 3
ASP.NET Session 3ASP.NET Session 3
ASP.NET Session 3Sisir Ghosh
 
android sqlite
android sqliteandroid sqlite
android sqliteDeepa Rani
 
SQLite: Light, Open Source Relational Database Management System
SQLite: Light, Open Source Relational Database Management SystemSQLite: Light, Open Source Relational Database Management System
SQLite: Light, Open Source Relational Database Management SystemTanner Jessel
 
How to create rss feed
How to create rss feedHow to create rss feed
How to create rss feedTanuja Talekar
 
how to setup Google analytics tracking code for website
how to setup  Google analytics tracking code for websitehow to setup  Google analytics tracking code for website
how to setup Google analytics tracking code for websiteOM Maurya
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notesWE-IT TUTORIALS
 
C# Tutorial
C# Tutorial C# Tutorial
C# Tutorial Jm Ramos
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# IntroductionSiraj Memon
 

Andere mochten auch (17)

Chapter ii c#(building a user interface)
Chapter ii c#(building a user interface)Chapter ii c#(building a user interface)
Chapter ii c#(building a user interface)
 
04 gui 05
04 gui 0504 gui 05
04 gui 05
 
ASP.NET Session 3
ASP.NET Session 3ASP.NET Session 3
ASP.NET Session 3
 
Chapter 14
Chapter 14Chapter 14
Chapter 14
 
Introducation to C#
Introducation to C#Introducation to C#
Introducation to C#
 
Sdi & mdi
Sdi & mdiSdi & mdi
Sdi & mdi
 
Sqlite
SqliteSqlite
Sqlite
 
android sqlite
android sqliteandroid sqlite
android sqlite
 
SQLite: Light, Open Source Relational Database Management System
SQLite: Light, Open Source Relational Database Management SystemSQLite: Light, Open Source Relational Database Management System
SQLite: Light, Open Source Relational Database Management System
 
SQLite - Overview
SQLite - OverviewSQLite - Overview
SQLite - Overview
 
How to create rss feed
How to create rss feedHow to create rss feed
How to create rss feed
 
how to setup Google analytics tracking code for website
how to setup  Google analytics tracking code for websitehow to setup  Google analytics tracking code for website
how to setup Google analytics tracking code for website
 
tybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notestybsc it asp.net full unit 1,2,3,4,5,6 notes
tybsc it asp.net full unit 1,2,3,4,5,6 notes
 
C#/.NET Little Wonders
C#/.NET Little WondersC#/.NET Little Wonders
C#/.NET Little Wonders
 
C# Tutorial
C# Tutorial C# Tutorial
C# Tutorial
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# Introduction
 
Programming in c#
Programming in c#Programming in c#
Programming in c#
 

Ähnlich wie Vara Framework

Case Study: University of California, Berkeley and San Francisco
Case Study: University of California, Berkeley and San FranciscoCase Study: University of California, Berkeley and San Francisco
Case Study: University of California, Berkeley and San FranciscoForgeRock
 
Dreamwares: Lightning Experience
Dreamwares: Lightning ExperienceDreamwares: Lightning Experience
Dreamwares: Lightning ExperienceAmit Ahuja
 
Microsoft project (msp) group 6
Microsoft project (msp)  group 6Microsoft project (msp)  group 6
Microsoft project (msp) group 6Asish Verma
 
5 Front End Frameworks to Master in Web Development.pdf
5 Front End Frameworks to Master in Web Development.pdf5 Front End Frameworks to Master in Web Development.pdf
5 Front End Frameworks to Master in Web Development.pdfMverve1
 
An Integrated Development Environment Driven Through Multi tenant Approach.pdf
An Integrated Development Environment Driven Through Multi tenant Approach.pdfAn Integrated Development Environment Driven Through Multi tenant Approach.pdf
An Integrated Development Environment Driven Through Multi tenant Approach.pdfLisa Graves
 
KiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiran Gara
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDave Malouf
 
Swapnil_Shelke_SAP_EP_Developer_2016
Swapnil_Shelke_SAP_EP_Developer_2016Swapnil_Shelke_SAP_EP_Developer_2016
Swapnil_Shelke_SAP_EP_Developer_2016Swapnil Shelke
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net coreSam Nasr, MCSA, MVP
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstEnea Gabriel
 
SAP BusinessObject's Webi Rich Client
SAP BusinessObject's Webi Rich ClientSAP BusinessObject's Webi Rich Client
SAP BusinessObject's Webi Rich ClientEric Molner
 
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxwrite31
 
A report on mvc using the information
A report on mvc using the informationA report on mvc using the information
A report on mvc using the informationToushik Paul
 
MCA 6th Sem Project Report
MCA 6th Sem Project ReportMCA 6th Sem Project Report
MCA 6th Sem Project ReportPRADEEP GUPTA
 
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformWebinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformEdureka!
 

Ähnlich wie Vara Framework (20)

Case Study: University of California, Berkeley and San Francisco
Case Study: University of California, Berkeley and San FranciscoCase Study: University of California, Berkeley and San Francisco
Case Study: University of California, Berkeley and San Francisco
 
Hands-on Microsoft Flow
Hands-on Microsoft FlowHands-on Microsoft Flow
Hands-on Microsoft Flow
 
Salesforce Lightning
Salesforce LightningSalesforce Lightning
Salesforce Lightning
 
Dreamwares: Lightning Experience
Dreamwares: Lightning ExperienceDreamwares: Lightning Experience
Dreamwares: Lightning Experience
 
Microsoft project (msp) group 6
Microsoft project (msp)  group 6Microsoft project (msp)  group 6
Microsoft project (msp) group 6
 
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJSMicro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
Micro Front Ends : Divided We Rule by Parth Ghiya - AhmedabadJS
 
Symphony Driver Essay
Symphony Driver EssaySymphony Driver Essay
Symphony Driver Essay
 
5 Front End Frameworks to Master in Web Development.pdf
5 Front End Frameworks to Master in Web Development.pdf5 Front End Frameworks to Master in Web Development.pdf
5 Front End Frameworks to Master in Web Development.pdf
 
An Integrated Development Environment Driven Through Multi tenant Approach.pdf
An Integrated Development Environment Driven Through Multi tenant Approach.pdfAn Integrated Development Environment Driven Through Multi tenant Approach.pdf
An Integrated Development Environment Driven Through Multi tenant Approach.pdf
 
KiranGara_JEE_7Yrs
KiranGara_JEE_7YrsKiranGara_JEE_7Yrs
KiranGara_JEE_7Yrs
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAs
 
Swapnil_Shelke_SAP_EP_Developer_2016
Swapnil_Shelke_SAP_EP_Developer_2016Swapnil_Shelke_SAP_EP_Developer_2016
Swapnil_Shelke_SAP_EP_Developer_2016
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code First
 
SAP BusinessObject's Webi Rich Client
SAP BusinessObject's Webi Rich ClientSAP BusinessObject's Webi Rich Client
SAP BusinessObject's Webi Rich Client
 
COMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docxCOMP6210 Web Services And Design Methodologies.docx
COMP6210 Web Services And Design Methodologies.docx
 
Subhadra Banerjee_latest
Subhadra Banerjee_latestSubhadra Banerjee_latest
Subhadra Banerjee_latest
 
A report on mvc using the information
A report on mvc using the informationA report on mvc using the information
A report on mvc using the information
 
MCA 6th Sem Project Report
MCA 6th Sem Project ReportMCA 6th Sem Project Report
MCA 6th Sem Project Report
 
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformWebinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
 

Kürzlich hochgeladen

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Kürzlich hochgeladen (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

Vara Framework

  • 2. Agenda Introduction Benefits Challenges Demonstration Next Steps
  • 4. About Mike Merchant 12+ Years in Software Development 10 Years between KP and SCE Developed or managed on 50+ projects Experience in Flex, Java, .NET and others Founder and President of MCW Software, an RIA consulting firm in Lake Forest, CA
  • 5. Introduction “What is this Vara Framework?” User workflow framework for Flex New architecture? New use of patterns? Based on concepts I’ve been thinking about and working on for most of my software development career Developed version for VB 6.0 around 2000 Developed first Adobe Flex version last year Used and maintained by MCW Software
  • 6. Introduction “How come I’ve never heard of it?” This is the first time we have presented it publicly (11/5/2009) “Why should I care?” Vara makes building large-scale, enterprise RIAs simpler, faster, easier to maintain, and more consistent.
  • 7. Observations We are going to talk about CRUD (a.k.a. Create, Read, Update, Delete) Applications handle CRUD similarly Forms should handle CRUD consistently Applications tend to repeat this logic for each and every screen Logic is very difficult to abstract
  • 8. Observations Views have arbitrary complexity Resources have arbitrary complexity Mapping is usually not simple Simple binding does not solve this MVC does not go far enough
  • 9. Observations Any widely used frameworks that concretely handle CRUD operations??? Desire for frameworks is NOT to dumb down or eliminate the developer. Desire for frameworks comes from being pragmatic and the need to efficiently build applications that are easily maintainable and flexible.
  • 10. Scenario #1: SDI Application Assume we are building an application that shows one employee form at a time (i.e. single-document interface - SDI) Open an employee record from a list Make some changes Open another employee record from list What actions need to take place?
  • 11. Scenario #1: SDI Application Load new record…but wait… Clear existing record…but wait... Save existing record…but wait… Has existing record changed? Should the user be prompted to save changes? How did user respond to the prompt? Yes? No? Cancel? Is the data valid?
  • 12. Scenario #1: SDI Application Save existing record How to extract data to save from view? Where to send that data? Remote Object? Web Service? Was save successful? What to do after save? Update record in list?
  • 13. Scenario #1: SDI Application Clear existing record How do we reset the form? Do we need to clear the resource? Load new record Where do we load from? How to populate the data onto the view? What to do after load?
  • 14. Scenario #2: MDI Application Assume we are building an application that uses multiple employee form at a time (i.e. multiple-document interface - MDI) Open an employee record from list Make some changes Close the form
  • 15. Scenario #2: MDI Application Close form… but wait… Clear form… but wait... Save existing record…but wait… Has existing record changed? Should the user be prompted to save changes? How did user respond to the prompt? Yes? No? Cancel? Is the data valid? Save record How to extract data to save from view? Where to send that data? Remote Object? Web Service? Was save successful? What to do after save? Update record in list? Clear record How do we reset the form? Do we need to clear the resource? Close form
  • 16. Scenario #3: PITA Application Write an application that has 100 data entry forms of arbitrary complexity (trees, tabs, data grids, file uploads, custom components, etc.) Handle the loading, saving, closing, deleting, prompting, and validation consistently throughout the application
  • 17. Scenario #3: PITA Application 3 months into PITA project…. PITA Boss read usability study about benefits of single-document interfaces (SDI) He wants you to convert those screens from MDI to SDI He also wants prompting to occur only if the user has actually changed the record Due to budget constraints, the timeline needs to be reduced
  • 18. Core Ideas of Vara Developer should be able to handle… Design and development of views Selection and development of resources View/Model interaction Resource/Model interaction User prompting
  • 19. Core Ideas of Vara Actions always occur in a certain order Top-level action can start other actions Workflow can orchestrate these actions Common workflow can be provided Interact with developer’s code in order to manage the views and resources
  • 20. Flex Application Flex MVC Architectures Layers User Interface Network Services Middleware Business Logic Data Access Database Database
  • 21. Flex Application Resource Flex MVC Architectures Layers User Interface Services Business Logic Data Access Database
  • 22. Flex MVC Architectures Layers User Interface View Model Controller Resource What about the resource? Services Business Logic Data Access Database
  • 23. Vara Architecture Created by Developer Provided by Framework View Vara Framework Model Resource
  • 24. Vara Architecture Created by Developer Provided by Framework View Actions View Adapter Implementation Workflow View Adapter Initialize Load Clear Model Save Resource Adapter Implementation Resource Adapter Unload Close Resource
  • 25. Vara Workflow Actions Load Unload Close Clear Initialize Destroy Save Generic
  • 26. Steps to Implement Vara Step 1: Include Vara.swc in Flex project Step 2: Create View Adapter class Step 3: Create Resource Adapter class Step 4: Declare BasicWorkflowImpl Step 5: Add calls to xxxxAction.start() Step 6: Override adapters as needed
  • 27. Step 1: Include Vara.swc
  • 28. Step 2: Create View Adapter Step 3: Create Resource Adapter
  • 29. Step 4: Declare Workflow
  • 30. Step 5: Add action calls
  • 31. Step 6: Override as needed Developer extends and overrides… Vara provides… AdapterImpl ViewAdapterImpl
  • 34. Benefits Consistent handling of user workflow across an application Makes applications easier to maintain Speeds up coding by reducing duplication Increases flexibility and agility in responding to customers demands
  • 36.
  • 37. Remember to call proceed()
  • 40. More use of event handling
  • 41.
  • 42. Demonstration Download samples.zip from SourceForgehttps://sourceforge.net/projects/vara/files/Downloads/samples.zip/download
  • 43. Next Steps Vara Framework
  • 44. Next Steps Download the SWC:https://sourceforge.net/projects/vara/files/Downloads/Vara.swc/download Download the source (SVN):https://sourceforge.net/projects/vara/develop Join the discussion:https://sourceforge.net/projects/vara/forums/forum/1032315