SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Smalltalk Application Playground
ESUG Conference
August 29, 2019
Adriaan van Os
Wouter van Zuilen
Introduction
• Adriaan van Os
Smalltalk developer since 1995
Worked with VisualWorks and GemStone
VA Smalltalk nowadays
Developer of VAStGoodies.com
• Wouter van Zuilen
Product Owner of OHRA's Smalltalk team
Working at Delta Lloyd / OHRA / NN since 2003
Uses Smalltalk for private projects
A Bit of History
Delta Lloyd
Amsterdam
OHRA
ArnhemNoord Braband Verzekeringen / Nationaal Spaarfonds
Waalwijk
Ever Changing Company
• Noord Braband Verzekeringen from 1843.
• Merged with Nationaal Spaarfonds in 1999.
• Nationaal Spaarfonds was absorbed in OHRA in 2009.
• OHRA was part of Delta Lloyd for a decade or two.
• Delta Lloyd was absorbed in NN Group (Nationale Nederlanden).
• OHRA is now part of NN Group.
• NN Group was part of ING before.
.
Usage of Smalltalk
• Using VA Smalltalk since the mid 90’s
• Two larger applications that are still in use
− income insurances (Delta Lloyd / NN)
− pet insurances (Nationaal Spaarfonds / OHRA)
OHRA Pet Insurance
OHRA Caravan Insurance
Smalltalk Application Playground
What is StAP?
• An agile,
• moldable,
• extensible,
• sufficient complete,
• insurance application
• to experiment with
• new products and markets.
Why StAP?
• Companies need to grow.
• But: insurance market is saturated.
• Therefore: experiment with new products and markets.
• While: not bothering the existing business
• And still being (more or less) compliant.
Positioning of StAP
Excel
Primary OHRA IT Systems
Current Propositions in StAP
• Insurances for
− freelancers / independent contractors: OHRA Zzp
▪ 5 different continuous insurance products for businesses
with recurring premiums
▪ www.ohra.nl/zzp
− car sharing / borrowing: Clixx
▪ a pre-paid short-term insurance for consumers
▪ www.clixx.nl
OHRA Zzp for Freelancers / Independent Contractors
Think Minimum Viable Product
• Only develop what is needed (just-in-time).
• After go live we get feedback from real life customers.
• Less waste if proposition fails.
Proposition Tweaking
• OHRA Zzp started with a whitelist of acceptable professions.
• Customers just picked one from the list.
• Unwanted risks.
• Redesigning to use activities registered at the Chamber of
Commerce.
• Again applied MVP: migrating profession-based policies
postponed.
Clixx for Car Sharing / Borrowing
Why a New Implementation?
• Use the experience and good ideas, not the (often ancient) code.
• No more fat clients.
• Keeping things small and simple.
• Minimum changes to other's people code.
− bug reports to Instantiations / Seaside (thanks for the fixes!)
• Cautiously chosen a limited number of frameworks / libraries.
• Some cherry picking from existing applications.
Why (still) Smalltalk?
• Weapon of Choice of the team.
• “The thing is, any language which gains a following is better for
something than what preceded it, ...” — Andrew Glynn
• The ideal language for exploring and shaping an unknown future.
Why (still) VA Smalltalk?
• Experience of the team
• Excellent database support
• Reliable
• Re-use of proprietary persistency framework
• Excellent product support
• Instantiations is alive and kicking more then ever
• Switching dialects without fat client is easier
Architecture of StAP
• 3 deployable units (Windows)
− StAP REST API's
− StAP Office: Seaside application with Bootstrap
− StAP Batch: processes batches and tasks
StAP Smalltalk Application Stack
VA Smalltalk
persistency framework
Seaside (request handling)
Bootstrap
StAP Office StAP API’s StAP Batch
StAP Shared
Seaside (JSON)
Seaside (canvas) jQuery
StAP Office Search Results View
StAP Office Customer View
Connectivity
• Propositions front-ends
• Mollie (online payments)
• NN Payment Factory (direct debits / disbursements)
• Mailroad (transactional e-mail)
• Acceptance Engine
• Chamber of Commerce
• iWelcome (identity & access manager)
Technologies
• Packages / frameworks shipped by Instantiations
− VA Smalltalk 9.1.1
− Seaside
• Packages from VAStGoodies.com
− Seaside-Bootstrap (thanks to Torsten Bergmann / Joachim Tuchel)
− SpsPdfLib (for writing pdf’s)
• Notable StAP components
− Wrapper for Bootstrap Tables (https://datatables.net/)
− TobSockets (for sending e-mails)
• Oracle database
Future of StAP
• Enhance current propositions
• New propositions
• Amazon Web Services
• Migrate from Windows to Docker (Linux)
• Kubernetes
• Migrate from Oracle to MariaDB?
• Migrate from ENVY to Git?
The Future: Working on it
Conclusions
• Smalltalk flourishes with proposition prototyping.
• Continuously thinking MVP helps to keep things small and simple.
• Learning by doing helps an organisation going forward.
• Smalltalk continues to be valuable for our organisation.
Questions?
Thanks!
Adriaan van Os
Wouter van Zuilen
ESUG Conference
August 29, 2019

Weitere ähnliche Inhalte

Ähnlich wie StAP: Smalltalk Applications Playground

Cutting Through the Disruption
Cutting Through the DisruptionCutting Through the Disruption
Cutting Through the DisruptionOSSCube
 
ODA Right to use program - Optimalizace IT investice
ODA Right to use program - Optimalizace IT investiceODA Right to use program - Optimalizace IT investice
ODA Right to use program - Optimalizace IT investiceMarketingArrowECS_CZ
 
Get up to speed cloud computing and apps yeovil 9.06.15
Get up to speed   cloud computing and apps yeovil 9.06.15Get up to speed   cloud computing and apps yeovil 9.06.15
Get up to speed cloud computing and apps yeovil 9.06.15Get up to Speed
 
20140116 Tim Willoughby and James Fogarty FOSS in Local Government
20140116   Tim Willoughby and James Fogarty FOSS in Local Government20140116   Tim Willoughby and James Fogarty FOSS in Local Government
20140116 Tim Willoughby and James Fogarty FOSS in Local GovernmentTim Willoughby
 
Creating hybrid cloud openstack + public cloud
Creating hybrid cloud   openstack + public cloudCreating hybrid cloud   openstack + public cloud
Creating hybrid cloud openstack + public cloudMiguel Zuniga
 
Graphs in the Real World
Graphs in the Real WorldGraphs in the Real World
Graphs in the Real WorldNeo4j
 
Connected Fleet with SAP IoT - Webinar - Westernacher Consulting
Connected Fleet with SAP IoT - Webinar - Westernacher ConsultingConnected Fleet with SAP IoT - Webinar - Westernacher Consulting
Connected Fleet with SAP IoT - Webinar - Westernacher ConsultingWesternacher Consulting AG
 
Nalpeiron FastSpring Webinar - Closing the Subscription Loop
Nalpeiron FastSpring Webinar - Closing the Subscription LoopNalpeiron FastSpring Webinar - Closing the Subscription Loop
Nalpeiron FastSpring Webinar - Closing the Subscription LoopFastSpring
 
Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2WSO2
 
Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!Flexera
 
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...Continuent
 
Bootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source ToolsBootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source Toolsbotsplash.com
 
Building and Managing a VMware Cloud business
Building and Managing a VMware Cloud businessBuilding and Managing a VMware Cloud business
Building and Managing a VMware Cloud businessNicholas Power
 
[db tech showcase Tokyo 2016] E22: Getting real time Oracle data into Kafka a...
[db tech showcase Tokyo 2016] E22: Getting real time Oracle data into Kafka a...[db tech showcase Tokyo 2016] E22: Getting real time Oracle data into Kafka a...
[db tech showcase Tokyo 2016] E22: Getting real time Oracle data into Kafka a...Insight Technology, Inc.
 
Zenithar General Company Presentation 2022
Zenithar General Company Presentation 2022Zenithar General Company Presentation 2022
Zenithar General Company Presentation 2022Zenithar Company
 
How to Realize the Benefits of Cloud Services Brokerage
How to Realize the Benefits of Cloud Services BrokerageHow to Realize the Benefits of Cloud Services Brokerage
How to Realize the Benefits of Cloud Services Brokeragejamcracker4677
 
Siebel CRM Strategy and Roadmap
Siebel CRM Strategy and RoadmapSiebel CRM Strategy and Roadmap
Siebel CRM Strategy and RoadmapIlya Milshtein
 
WSO2Con EU 2015: Opening Keynote - Helping You Connect the World
WSO2Con EU 2015: Opening Keynote - Helping You Connect the WorldWSO2Con EU 2015: Opening Keynote - Helping You Connect the World
WSO2Con EU 2015: Opening Keynote - Helping You Connect the WorldWSO2
 

Ähnlich wie StAP: Smalltalk Applications Playground (20)

Cutting Through the Disruption
Cutting Through the DisruptionCutting Through the Disruption
Cutting Through the Disruption
 
ODA Right to use program - Optimalizace IT investice
ODA Right to use program - Optimalizace IT investiceODA Right to use program - Optimalizace IT investice
ODA Right to use program - Optimalizace IT investice
 
Get up to speed cloud computing and apps yeovil 9.06.15
Get up to speed   cloud computing and apps yeovil 9.06.15Get up to speed   cloud computing and apps yeovil 9.06.15
Get up to speed cloud computing and apps yeovil 9.06.15
 
20140116 Tim Willoughby and James Fogarty FOSS in Local Government
20140116   Tim Willoughby and James Fogarty FOSS in Local Government20140116   Tim Willoughby and James Fogarty FOSS in Local Government
20140116 Tim Willoughby and James Fogarty FOSS in Local Government
 
Creating hybrid cloud openstack + public cloud
Creating hybrid cloud   openstack + public cloudCreating hybrid cloud   openstack + public cloud
Creating hybrid cloud openstack + public cloud
 
Graphs in the Real World
Graphs in the Real WorldGraphs in the Real World
Graphs in the Real World
 
Sap investor symposioum
Sap investor symposioumSap investor symposioum
Sap investor symposioum
 
Connected Fleet with SAP IoT - Webinar - Westernacher Consulting
Connected Fleet with SAP IoT - Webinar - Westernacher ConsultingConnected Fleet with SAP IoT - Webinar - Westernacher Consulting
Connected Fleet with SAP IoT - Webinar - Westernacher Consulting
 
Nalpeiron FastSpring Webinar - Closing the Subscription Loop
Nalpeiron FastSpring Webinar - Closing the Subscription LoopNalpeiron FastSpring Webinar - Closing the Subscription Loop
Nalpeiron FastSpring Webinar - Closing the Subscription Loop
 
Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2Expanding OEM Opportunities with WSO2
Expanding OEM Opportunities with WSO2
 
Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!
 
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
Webinar Slides: Global MySQL Availability: SaaS Cloud Contact Center Secures ...
 
Bootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source ToolsBootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source Tools
 
Building and Managing a VMware Cloud business
Building and Managing a VMware Cloud businessBuilding and Managing a VMware Cloud business
Building and Managing a VMware Cloud business
 
[db tech showcase Tokyo 2016] E22: Getting real time Oracle data into Kafka a...
[db tech showcase Tokyo 2016] E22: Getting real time Oracle data into Kafka a...[db tech showcase Tokyo 2016] E22: Getting real time Oracle data into Kafka a...
[db tech showcase Tokyo 2016] E22: Getting real time Oracle data into Kafka a...
 
Gorillas in the mist
Gorillas in the mistGorillas in the mist
Gorillas in the mist
 
Zenithar General Company Presentation 2022
Zenithar General Company Presentation 2022Zenithar General Company Presentation 2022
Zenithar General Company Presentation 2022
 
How to Realize the Benefits of Cloud Services Brokerage
How to Realize the Benefits of Cloud Services BrokerageHow to Realize the Benefits of Cloud Services Brokerage
How to Realize the Benefits of Cloud Services Brokerage
 
Siebel CRM Strategy and Roadmap
Siebel CRM Strategy and RoadmapSiebel CRM Strategy and Roadmap
Siebel CRM Strategy and Roadmap
 
WSO2Con EU 2015: Opening Keynote - Helping You Connect the World
WSO2Con EU 2015: Opening Keynote - Helping You Connect the WorldWSO2Con EU 2015: Opening Keynote - Helping You Connect the World
WSO2Con EU 2015: Opening Keynote - Helping You Connect the World
 

Mehr von ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Mehr von ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Kürzlich hochgeladen

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
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
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
(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
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Kürzlich hochgeladen (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
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
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
(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...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
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...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
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...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

StAP: Smalltalk Applications Playground

  • 1. Smalltalk Application Playground ESUG Conference August 29, 2019 Adriaan van Os Wouter van Zuilen
  • 2. Introduction • Adriaan van Os Smalltalk developer since 1995 Worked with VisualWorks and GemStone VA Smalltalk nowadays Developer of VAStGoodies.com • Wouter van Zuilen Product Owner of OHRA's Smalltalk team Working at Delta Lloyd / OHRA / NN since 2003 Uses Smalltalk for private projects
  • 3. A Bit of History Delta Lloyd Amsterdam OHRA ArnhemNoord Braband Verzekeringen / Nationaal Spaarfonds Waalwijk
  • 4. Ever Changing Company • Noord Braband Verzekeringen from 1843. • Merged with Nationaal Spaarfonds in 1999. • Nationaal Spaarfonds was absorbed in OHRA in 2009. • OHRA was part of Delta Lloyd for a decade or two. • Delta Lloyd was absorbed in NN Group (Nationale Nederlanden). • OHRA is now part of NN Group. • NN Group was part of ING before. .
  • 5. Usage of Smalltalk • Using VA Smalltalk since the mid 90’s • Two larger applications that are still in use − income insurances (Delta Lloyd / NN) − pet insurances (Nationaal Spaarfonds / OHRA)
  • 9. What is StAP? • An agile, • moldable, • extensible, • sufficient complete, • insurance application • to experiment with • new products and markets.
  • 10. Why StAP? • Companies need to grow. • But: insurance market is saturated. • Therefore: experiment with new products and markets. • While: not bothering the existing business • And still being (more or less) compliant.
  • 12. Current Propositions in StAP • Insurances for − freelancers / independent contractors: OHRA Zzp ▪ 5 different continuous insurance products for businesses with recurring premiums ▪ www.ohra.nl/zzp − car sharing / borrowing: Clixx ▪ a pre-paid short-term insurance for consumers ▪ www.clixx.nl
  • 13. OHRA Zzp for Freelancers / Independent Contractors
  • 14. Think Minimum Viable Product • Only develop what is needed (just-in-time). • After go live we get feedback from real life customers. • Less waste if proposition fails.
  • 15. Proposition Tweaking • OHRA Zzp started with a whitelist of acceptable professions. • Customers just picked one from the list. • Unwanted risks. • Redesigning to use activities registered at the Chamber of Commerce. • Again applied MVP: migrating profession-based policies postponed.
  • 16. Clixx for Car Sharing / Borrowing
  • 17. Why a New Implementation? • Use the experience and good ideas, not the (often ancient) code. • No more fat clients. • Keeping things small and simple. • Minimum changes to other's people code. − bug reports to Instantiations / Seaside (thanks for the fixes!) • Cautiously chosen a limited number of frameworks / libraries. • Some cherry picking from existing applications.
  • 18. Why (still) Smalltalk? • Weapon of Choice of the team. • “The thing is, any language which gains a following is better for something than what preceded it, ...” — Andrew Glynn • The ideal language for exploring and shaping an unknown future.
  • 19. Why (still) VA Smalltalk? • Experience of the team • Excellent database support • Reliable • Re-use of proprietary persistency framework • Excellent product support • Instantiations is alive and kicking more then ever • Switching dialects without fat client is easier
  • 20. Architecture of StAP • 3 deployable units (Windows) − StAP REST API's − StAP Office: Seaside application with Bootstrap − StAP Batch: processes batches and tasks
  • 21. StAP Smalltalk Application Stack VA Smalltalk persistency framework Seaside (request handling) Bootstrap StAP Office StAP API’s StAP Batch StAP Shared Seaside (JSON) Seaside (canvas) jQuery
  • 22. StAP Office Search Results View
  • 24. Connectivity • Propositions front-ends • Mollie (online payments) • NN Payment Factory (direct debits / disbursements) • Mailroad (transactional e-mail) • Acceptance Engine • Chamber of Commerce • iWelcome (identity & access manager)
  • 25. Technologies • Packages / frameworks shipped by Instantiations − VA Smalltalk 9.1.1 − Seaside • Packages from VAStGoodies.com − Seaside-Bootstrap (thanks to Torsten Bergmann / Joachim Tuchel) − SpsPdfLib (for writing pdf’s) • Notable StAP components − Wrapper for Bootstrap Tables (https://datatables.net/) − TobSockets (for sending e-mails) • Oracle database
  • 26. Future of StAP • Enhance current propositions • New propositions • Amazon Web Services • Migrate from Windows to Docker (Linux) • Kubernetes • Migrate from Oracle to MariaDB? • Migrate from ENVY to Git?
  • 28. Conclusions • Smalltalk flourishes with proposition prototyping. • Continuously thinking MVP helps to keep things small and simple. • Learning by doing helps an organisation going forward. • Smalltalk continues to be valuable for our organisation.
  • 29. Questions? Thanks! Adriaan van Os Wouter van Zuilen ESUG Conference August 29, 2019