SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Serious Sencha
Using Sencha for Enterprise Applications
Learned lessons from the first
Sencha projects at ]project-open[
frank.bergmann@project-open.com
Serious
Sencha
“Serious Sencha”
applications cater to
different
requirements
compared to
“normal” Web
applications.
 Serious Amounts of Data
– 100.000s of business objects
– 100s of different object types
– Densely interconnected data
 Serious Numbers of Users
– 1.000s of concurrent users
– 10.000s of occasional users
– Spanning different levels of the hierarchy with different information
needs
 Serious Application Size
– 100s of pages and lists of objects
– Business objects are relatively “homogeneous”, so many pages look
similar and should reduce boiler plate code
 Serious Security
– Data include customer contacts, financial information, project details
– Users need a maximum of information to be productive, but as few
as possible to avoid data leaks
 Serious Availability
– Organizations across several time zones don’t allow for downtimes
 Serious Lifecycles
– Business software typically operates between 5 and 20 years during
which there are new versions, updates and patches rollout out to
thousands of users.
Past Sencha Projects
 Ticket Tracker GUI
using Sencha Ext-JS
 Various Sencha Ext-
JS charts as
graphical indicators
 Under dev: Sencha
Ext-JS Gantt Editor
 Under dev: Sencha
Touch Timesheet
logging
Reasons to
Choose
“Sencha”
 Integrated Strategy: Desktop +
Mobile (Ext-JS + Touch), code &
knowledge sharing.
 Consistent framewlrks – all elements
can be combined (as opposed to
jQuery and others(?))
 Both Ext-JS and Touch are leading
frameworks in their area
 Sencha dual licensing is (more or
less…) compatible with ]project-
open[ enterprise open source model
Overall
Experience
 Performing:
Ext-JS has proved capable to deal with complex
applications with medium amounts of data (10.000
tickets)
 Cool:
Both Ext-JS and Touch are cutting edge GUIs.
 Difficult to learn:
Both tools have long learning curves, and
sometimes it still takes 2h to perform very simple
tasks.
 Converging:
Differences between Sencha Touch and Sencha
Ext-JS have converged. ]po[ code is still separate,
but the time savings was massive.
Ext-JS/Touch Architecture
ServerServer
]po[ Server]po[ Server
REST
Interface
REST
Interface
Server:
REST API
Mobile ClientMobile Client
NoteNavigationViewNoteNavigationView
NoteListNoteList
NoteDetailNoteDetail
GUI View:
Pages & Panels
NoteStoreNoteStore
• Id: 12345
• note: „asdf@asdf.com“
• note_type_id: 11508
• note_status_id: 11400
• object_id: 624
• Id: 12346
• note: „http://www.test.com/“
• note_type_id: 11510
• note_status_id: 11400
• object_id: 8868
. . .
NoteModelNoteModel
• Id: integer
• note: text
• note_type_id: integer
• note_status_id: integer
• object_id: integer
„Proxy“„Proxy“
Data:
Model & Store
Network:
Interface
Learned
Lessons
 Avoid loading all data into the app at
application startup
– This can take a while with 100.000 customer
contacts…
– The ]po[ REST back-end now supports a)
compression
 References vs. object names:
We now use “de-normalized” views instead
of sending raw table data
 “Dependent stores” (different views at the
same data) are an issue – learn to work
around until the next main release solves
the issue.
Thank
You!
frank.bergmann@project-open.com
www.project-open.com
(Frank Bergmann and Klaus Hofeditz)

Weitere ähnliche Inhalte

Was ist angesagt?

Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationDeveloping Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationMark Gu
 
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)Carles Farré
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012daniel plocker
 
ESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdfESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdfProtect724v2
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2jamram82
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - IntroductionJoel Briza
 
Example User Stories Specification for ReqView
Example User Stories Specification for ReqViewExample User Stories Specification for ReqView
Example User Stories Specification for ReqViewEccam
 
webservices overview
webservices overviewwebservices overview
webservices overviewelliando dias
 
]po[ Sencha File-Storage Specs
]po[ Sencha File-Storage Specs]po[ Sencha File-Storage Specs
]po[ Sencha File-Storage SpecsKlaus Hofeditz
 
Oaf development-guide
Oaf development-guideOaf development-guide
Oaf development-guide俊 朱
 
Custom Requirement Attributes
Custom Requirement AttributesCustom Requirement Attributes
Custom Requirement AttributesEccam
 
J2EE and Servlet
J2EE and Servlet J2EE and Servlet
J2EE and Servlet Rishikesh .
 
]project-open[ CVS+ACL Permission Configuration
]project-open[ CVS+ACL Permission Configuration]project-open[ CVS+ACL Permission Configuration
]project-open[ CVS+ACL Permission ConfigurationKlaus Hofeditz
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorSantosh Kumar Kar
 

Was ist angesagt? (20)

Dataweave
DataweaveDataweave
Dataweave
 
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationDeveloping Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web Application
 
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012
 
ESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdfESM_ServiceLayer_DevGuide_1.0.pdf
ESM_ServiceLayer_DevGuide_1.0.pdf
 
Dh2 Apps Training Part2
Dh2   Apps Training Part2Dh2   Apps Training Part2
Dh2 Apps Training Part2
 
Web programming and development - Introduction
Web programming and development - IntroductionWeb programming and development - Introduction
Web programming and development - Introduction
 
Asp .net folders and web.config
Asp .net folders and web.configAsp .net folders and web.config
Asp .net folders and web.config
 
Data weave in Mule
Data weave in MuleData weave in Mule
Data weave in Mule
 
Oracle ADF Case Study
Oracle ADF Case StudyOracle ADF Case Study
Oracle ADF Case Study
 
Flex Rails Pres
Flex Rails PresFlex Rails Pres
Flex Rails Pres
 
Example User Stories Specification for ReqView
Example User Stories Specification for ReqViewExample User Stories Specification for ReqView
Example User Stories Specification for ReqView
 
webservices overview
webservices overviewwebservices overview
webservices overview
 
]po[ Sencha File-Storage Specs
]po[ Sencha File-Storage Specs]po[ Sencha File-Storage Specs
]po[ Sencha File-Storage Specs
 
Jdbc drivers
Jdbc driversJdbc drivers
Jdbc drivers
 
Oaf development-guide
Oaf development-guideOaf development-guide
Oaf development-guide
 
Custom Requirement Attributes
Custom Requirement AttributesCustom Requirement Attributes
Custom Requirement Attributes
 
J2EE and Servlet
J2EE and Servlet J2EE and Servlet
J2EE and Servlet
 
]project-open[ CVS+ACL Permission Configuration
]project-open[ CVS+ACL Permission Configuration]project-open[ CVS+ACL Permission Configuration
]project-open[ CVS+ACL Permission Configuration
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editor
 

Ähnlich wie Serious Sencha - Using Sencha ExtJS/Touch for Enterprise Applications

EffectiveSoft Presentation
EffectiveSoft PresentationEffectiveSoft Presentation
EffectiveSoft PresentationMaryiaMarozava
 
What is new in InduSoft Web Studio v7.0?
What is new in InduSoft Web Studio v7.0?What is new in InduSoft Web Studio v7.0?
What is new in InduSoft Web Studio v7.0?AVEVA
 
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020InfluxData
 
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войныRUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войныDenis Gundarev
 
AnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoAnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoPhilippe Riand
 
Chandra Sekhar Cheekuru NET UI
Chandra Sekhar Cheekuru  NET UIChandra Sekhar Cheekuru  NET UI
Chandra Sekhar Cheekuru NET UIChandra Sekhar
 
Massively Scalable Applications - TechFerry
Massively Scalable Applications - TechFerryMassively Scalable Applications - TechFerry
Massively Scalable Applications - TechFerryTechFerry
 
Introduction to graph services
Introduction to graph servicesIntroduction to graph services
Introduction to graph servicesDipti Chhatrapati
 
Gowtham G - Profile _ IT security
Gowtham G - Profile _ IT securityGowtham G - Profile _ IT security
Gowtham G - Profile _ IT securityGowtham Dinesh
 

Ähnlich wie Serious Sencha - Using Sencha ExtJS/Touch for Enterprise Applications (20)

EffectiveSoft Presentation
EffectiveSoft PresentationEffectiveSoft Presentation
EffectiveSoft Presentation
 
Sudhir srivastava profile
Sudhir srivastava profileSudhir srivastava profile
Sudhir srivastava profile
 
YasirNew
YasirNewYasirNew
YasirNew
 
What is new in InduSoft Web Studio v7.0?
What is new in InduSoft Web Studio v7.0?What is new in InduSoft Web Studio v7.0?
What is new in InduSoft Web Studio v7.0?
 
mayank_unix_sql_Jboss
mayank_unix_sql_Jbossmayank_unix_sql_Jboss
mayank_unix_sql_Jboss
 
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience NA 2020
 
CV_Serhiy_Medvedyev_2015
CV_Serhiy_Medvedyev_2015CV_Serhiy_Medvedyev_2015
CV_Serhiy_Medvedyev_2015
 
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войныRUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
RUCUG: 10. Robert Morris:Жизнь в окопах виртуализационной войны
 
ChetanResume
ChetanResumeChetanResume
ChetanResume
 
Sharanabasappa_Resume
Sharanabasappa_Resume Sharanabasappa_Resume
Sharanabasappa_Resume
 
AnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoAnDevCon: Introduction to Darwino
AnDevCon: Introduction to Darwino
 
Abhilash_Documentum
Abhilash_Documentum Abhilash_Documentum
Abhilash_Documentum
 
Abhilash_Documentum
Abhilash_Documentum Abhilash_Documentum
Abhilash_Documentum
 
Chandra Sekhar Cheekuru NET UI
Chandra Sekhar Cheekuru  NET UIChandra Sekhar Cheekuru  NET UI
Chandra Sekhar Cheekuru NET UI
 
Massively Scalable Applications - TechFerry
Massively Scalable Applications - TechFerryMassively Scalable Applications - TechFerry
Massively Scalable Applications - TechFerry
 
Introduction to graph services
Introduction to graph servicesIntroduction to graph services
Introduction to graph services
 
Gowtham G - Profile _ IT security
Gowtham G - Profile _ IT securityGowtham G - Profile _ IT security
Gowtham G - Profile _ IT security
 
shiv_chandra_pathak
shiv_chandra_pathakshiv_chandra_pathak
shiv_chandra_pathak
 
Detailed-Resume-Rebai-Hamida
Detailed-Resume-Rebai-HamidaDetailed-Resume-Rebai-Hamida
Detailed-Resume-Rebai-Hamida
 
Explore Android Internals
Explore Android InternalsExplore Android Internals
Explore Android Internals
 

Mehr von Klaus Hofeditz

]project-open[ Budget Planning and Tracking
]project-open[ Budget Planning and Tracking]project-open[ Budget Planning and Tracking
]project-open[ Budget Planning and TrackingKlaus Hofeditz
 
Eclipse Mylyn Integration with ]project-open[
Eclipse Mylyn Integration with ]project-open[Eclipse Mylyn Integration with ]project-open[
Eclipse Mylyn Integration with ]project-open[Klaus Hofeditz
 
]project-open[ on Amazon AWS
]project-open[ on Amazon AWS]project-open[ on Amazon AWS
]project-open[ on Amazon AWSKlaus Hofeditz
 
The ]project-open[ Community
The ]project-open[ CommunityThe ]project-open[ Community
The ]project-open[ CommunityKlaus Hofeditz
 
]po[ Developers: Reporting, Indicators & Dashboards
]po[ Developers: Reporting, Indicators & Dashboards]po[ Developers: Reporting, Indicators & Dashboards
]po[ Developers: Reporting, Indicators & DashboardsKlaus Hofeditz
 
]project-open[ Data-Model 100511b
]project-open[ Data-Model 100511b]project-open[ Data-Model 100511b
]project-open[ Data-Model 100511bKlaus Hofeditz
 
]project-open[ Screenshots
]project-open[ Screenshots ]project-open[ Screenshots
]project-open[ Screenshots Klaus Hofeditz
 
Po workflow-tutorial-1-overview.100603
Po workflow-tutorial-1-overview.100603Po workflow-tutorial-1-overview.100603
Po workflow-tutorial-1-overview.100603Klaus Hofeditz
 
]project-open[ Reporting & Indicators Options
]project-open[ Reporting & Indicators Options]project-open[ Reporting & Indicators Options
]project-open[ Reporting & Indicators OptionsKlaus Hofeditz
 
]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4Klaus Hofeditz
 
]project-open[ Workflow Developer Tutorial Part 3
]project-open[ Workflow Developer Tutorial Part 3]project-open[ Workflow Developer Tutorial Part 3
]project-open[ Workflow Developer Tutorial Part 3Klaus Hofeditz
 
]project-open[ Workflow Developer Tutorial Part 2
]project-open[ Workflow Developer Tutorial Part 2]project-open[ Workflow Developer Tutorial Part 2
]project-open[ Workflow Developer Tutorial Part 2Klaus Hofeditz
 
]project-open[ Workflow Developer Tutorial Part 1
]project-open[ Workflow Developer Tutorial Part 1]project-open[ Workflow Developer Tutorial Part 1
]project-open[ Workflow Developer Tutorial Part 1Klaus Hofeditz
 
]project-open[ Reporting & Indicators Options
]project-open[ Reporting & Indicators Options]project-open[ Reporting & Indicators Options
]project-open[ Reporting & Indicators OptionsKlaus Hofeditz
 
]project-open[ Package Manager
]project-open[ Package Manager]project-open[ Package Manager
]project-open[ Package ManagerKlaus Hofeditz
 
]project-open[ Data-Model “Categories”
]project-open[ Data-Model “Categories”]project-open[ Data-Model “Categories”
]project-open[ Data-Model “Categories”Klaus Hofeditz
 
]project-open[ Roll Out Plan
]project-open[ Roll Out Plan]project-open[ Roll Out Plan
]project-open[ Roll Out PlanKlaus Hofeditz
 
]project-open[ Timesheet Project Invoicing
]project-open[ Timesheet Project Invoicing]project-open[ Timesheet Project Invoicing
]project-open[ Timesheet Project InvoicingKlaus Hofeditz
 
]project-open[ OSS Project Mangement
]project-open[ OSS Project Mangement]project-open[ OSS Project Mangement
]project-open[ OSS Project MangementKlaus Hofeditz
 

Mehr von Klaus Hofeditz (19)

]project-open[ Budget Planning and Tracking
]project-open[ Budget Planning and Tracking]project-open[ Budget Planning and Tracking
]project-open[ Budget Planning and Tracking
 
Eclipse Mylyn Integration with ]project-open[
Eclipse Mylyn Integration with ]project-open[Eclipse Mylyn Integration with ]project-open[
Eclipse Mylyn Integration with ]project-open[
 
]project-open[ on Amazon AWS
]project-open[ on Amazon AWS]project-open[ on Amazon AWS
]project-open[ on Amazon AWS
 
The ]project-open[ Community
The ]project-open[ CommunityThe ]project-open[ Community
The ]project-open[ Community
 
]po[ Developers: Reporting, Indicators & Dashboards
]po[ Developers: Reporting, Indicators & Dashboards]po[ Developers: Reporting, Indicators & Dashboards
]po[ Developers: Reporting, Indicators & Dashboards
 
]project-open[ Data-Model 100511b
]project-open[ Data-Model 100511b]project-open[ Data-Model 100511b
]project-open[ Data-Model 100511b
 
]project-open[ Screenshots
]project-open[ Screenshots ]project-open[ Screenshots
]project-open[ Screenshots
 
Po workflow-tutorial-1-overview.100603
Po workflow-tutorial-1-overview.100603Po workflow-tutorial-1-overview.100603
Po workflow-tutorial-1-overview.100603
 
]project-open[ Reporting & Indicators Options
]project-open[ Reporting & Indicators Options]project-open[ Reporting & Indicators Options
]project-open[ Reporting & Indicators Options
 
]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4]project-open[ Workflow Developer Tutorial Part 4
]project-open[ Workflow Developer Tutorial Part 4
 
]project-open[ Workflow Developer Tutorial Part 3
]project-open[ Workflow Developer Tutorial Part 3]project-open[ Workflow Developer Tutorial Part 3
]project-open[ Workflow Developer Tutorial Part 3
 
]project-open[ Workflow Developer Tutorial Part 2
]project-open[ Workflow Developer Tutorial Part 2]project-open[ Workflow Developer Tutorial Part 2
]project-open[ Workflow Developer Tutorial Part 2
 
]project-open[ Workflow Developer Tutorial Part 1
]project-open[ Workflow Developer Tutorial Part 1]project-open[ Workflow Developer Tutorial Part 1
]project-open[ Workflow Developer Tutorial Part 1
 
]project-open[ Reporting & Indicators Options
]project-open[ Reporting & Indicators Options]project-open[ Reporting & Indicators Options
]project-open[ Reporting & Indicators Options
 
]project-open[ Package Manager
]project-open[ Package Manager]project-open[ Package Manager
]project-open[ Package Manager
 
]project-open[ Data-Model “Categories”
]project-open[ Data-Model “Categories”]project-open[ Data-Model “Categories”
]project-open[ Data-Model “Categories”
 
]project-open[ Roll Out Plan
]project-open[ Roll Out Plan]project-open[ Roll Out Plan
]project-open[ Roll Out Plan
 
]project-open[ Timesheet Project Invoicing
]project-open[ Timesheet Project Invoicing]project-open[ Timesheet Project Invoicing
]project-open[ Timesheet Project Invoicing
 
]project-open[ OSS Project Mangement
]project-open[ OSS Project Mangement]project-open[ OSS Project Mangement
]project-open[ OSS Project Mangement
 

Kürzlich hochgeladen

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Kürzlich hochgeladen (20)

Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

Serious Sencha - Using Sencha ExtJS/Touch for Enterprise Applications

  • 1. Serious Sencha Using Sencha for Enterprise Applications Learned lessons from the first Sencha projects at ]project-open[ frank.bergmann@project-open.com
  • 2. Serious Sencha “Serious Sencha” applications cater to different requirements compared to “normal” Web applications.  Serious Amounts of Data – 100.000s of business objects – 100s of different object types – Densely interconnected data  Serious Numbers of Users – 1.000s of concurrent users – 10.000s of occasional users – Spanning different levels of the hierarchy with different information needs  Serious Application Size – 100s of pages and lists of objects – Business objects are relatively “homogeneous”, so many pages look similar and should reduce boiler plate code  Serious Security – Data include customer contacts, financial information, project details – Users need a maximum of information to be productive, but as few as possible to avoid data leaks  Serious Availability – Organizations across several time zones don’t allow for downtimes  Serious Lifecycles – Business software typically operates between 5 and 20 years during which there are new versions, updates and patches rollout out to thousands of users.
  • 3. Past Sencha Projects  Ticket Tracker GUI using Sencha Ext-JS  Various Sencha Ext- JS charts as graphical indicators  Under dev: Sencha Ext-JS Gantt Editor  Under dev: Sencha Touch Timesheet logging
  • 4. Reasons to Choose “Sencha”  Integrated Strategy: Desktop + Mobile (Ext-JS + Touch), code & knowledge sharing.  Consistent framewlrks – all elements can be combined (as opposed to jQuery and others(?))  Both Ext-JS and Touch are leading frameworks in their area  Sencha dual licensing is (more or less…) compatible with ]project- open[ enterprise open source model
  • 5. Overall Experience  Performing: Ext-JS has proved capable to deal with complex applications with medium amounts of data (10.000 tickets)  Cool: Both Ext-JS and Touch are cutting edge GUIs.  Difficult to learn: Both tools have long learning curves, and sometimes it still takes 2h to perform very simple tasks.  Converging: Differences between Sencha Touch and Sencha Ext-JS have converged. ]po[ code is still separate, but the time savings was massive.
  • 6. Ext-JS/Touch Architecture ServerServer ]po[ Server]po[ Server REST Interface REST Interface Server: REST API Mobile ClientMobile Client NoteNavigationViewNoteNavigationView NoteListNoteList NoteDetailNoteDetail GUI View: Pages & Panels NoteStoreNoteStore • Id: 12345 • note: „asdf@asdf.com“ • note_type_id: 11508 • note_status_id: 11400 • object_id: 624 • Id: 12346 • note: „http://www.test.com/“ • note_type_id: 11510 • note_status_id: 11400 • object_id: 8868 . . . NoteModelNoteModel • Id: integer • note: text • note_type_id: integer • note_status_id: integer • object_id: integer „Proxy“„Proxy“ Data: Model & Store Network: Interface
  • 7. Learned Lessons  Avoid loading all data into the app at application startup – This can take a while with 100.000 customer contacts… – The ]po[ REST back-end now supports a) compression  References vs. object names: We now use “de-normalized” views instead of sending raw table data  “Dependent stores” (different views at the same data) are an issue – learn to work around until the next main release solves the issue.