Common iOS Architecture: From MVC to VIPER, with Redux @ iPlayground 2019
This slide explains how an iOS app is refactoring from MVC to VIPER pattern. It also explains what is Redux pattern and how to adopt this pattern to iOS development.
This slide contains short introduction to different elements of functional programming along with some specific techniques with which we use functional programming in Swift.
Value types are at the core of Swift (seriously, mostly everything in the Swift standard library is a value type). But how do you avoid subclassing? That’s where the power of Protocol-Oriented programming comes in. Learn how to structure your code to never subclass (almost) again! Practical everyday examples and ideas for your own code base will be included.
In the following presentation I compare main Flutter architecture patterns - package:provider, BLoC and Redux.
Source: https://github.com/kosiara/bloc-vs-pprov-vs-redux
Different architecture have their advantages & disadvantages. Simplest application can take advantage of a stateful widget + inherited widget - which solves the problem of reference passing.
BLoC is more complicated but definitely pays off when you're dealing with a bigger application.
Finally we have redux. This is the most robust example with most boilerplate code. There are non-deniable example of such an architecture:
- single source of truth which can be serialized and later on saved/restored from disk
- ease of logging actions
- clear data-flow
- ability to undo actions
Bloc Pattern - Practical Use Cases - Flutter London - 21JAN2019Didier Boelens
Material of the presentation on "Reactive Programming, Introduction to the notion of BLoC). Presentation given in London at the FlutterLDN on 21 January 2019.
Commands, events, queries - three types of messages that travel through your application. Some originate from the web, some from the command-line. Your application sends some of them to a database, or a message queue. What is the ideal infrastructure for an application to support this on-going stream of messages? What kind of architectural design fits best?
This talk provides answers to these questions: we take the *hexagonal* approach to software architecture. We look at messages, how they cross boundaries and how you can make steady communication lines between your application and other systems, like web browsers, terminals, databases and message queues. You will learn how to separate the technical aspects of these connections from the core behavior of your application by implementing design patterns like the *command bus*, and design principles like *dependency inversion*.
This slide contains short introduction to different elements of functional programming along with some specific techniques with which we use functional programming in Swift.
Value types are at the core of Swift (seriously, mostly everything in the Swift standard library is a value type). But how do you avoid subclassing? That’s where the power of Protocol-Oriented programming comes in. Learn how to structure your code to never subclass (almost) again! Practical everyday examples and ideas for your own code base will be included.
In the following presentation I compare main Flutter architecture patterns - package:provider, BLoC and Redux.
Source: https://github.com/kosiara/bloc-vs-pprov-vs-redux
Different architecture have their advantages & disadvantages. Simplest application can take advantage of a stateful widget + inherited widget - which solves the problem of reference passing.
BLoC is more complicated but definitely pays off when you're dealing with a bigger application.
Finally we have redux. This is the most robust example with most boilerplate code. There are non-deniable example of such an architecture:
- single source of truth which can be serialized and later on saved/restored from disk
- ease of logging actions
- clear data-flow
- ability to undo actions
Bloc Pattern - Practical Use Cases - Flutter London - 21JAN2019Didier Boelens
Material of the presentation on "Reactive Programming, Introduction to the notion of BLoC). Presentation given in London at the FlutterLDN on 21 January 2019.
Commands, events, queries - three types of messages that travel through your application. Some originate from the web, some from the command-line. Your application sends some of them to a database, or a message queue. What is the ideal infrastructure for an application to support this on-going stream of messages? What kind of architectural design fits best?
This talk provides answers to these questions: we take the *hexagonal* approach to software architecture. We look at messages, how they cross boundaries and how you can make steady communication lines between your application and other systems, like web browsers, terminals, databases and message queues. You will learn how to separate the technical aspects of these connections from the core behavior of your application by implementing design patterns like the *command bus*, and design principles like *dependency inversion*.
Dependency injection in Java, from naive to functionalMarian Wamsiedel
The presentation contains more approaches to implement inversion of control (dependency injection). There is a naive implementation, a standard guice implementation and two functional solutions.
The code samples are available on a github repository.
Modularizing a project is never easy, a lot of files to move and the dependencies between them is not always what we expect. Then the Dagger configuration used in a single module project often doesn't scale well to a multi module project. Hilt is opinionated about the configuration to use (we don't need to argue anymore about using component dependencies or subcomponents!) and this configuration works perfectly even in a multi module project. In this talk we'll see first an introduction to Hilt and a comparison with Dagger to understand why it's easier to configure. Then we'll see how to leverage it in a multi module project (both in a standard layered architecture and in a Clean Architecture that uses the Dependency Inversion) to improve build speed and code testability. Spoiler alert: using sample apps that include a single feature in the app helps a lot!
A new .NET update is coming around. It will transform .NET development by providing features that should have been around a lot sooner! We can forgive the delay in this update given the fact that Microsoft is including the .NET Multi-Platform App UI (MAUI).
This new framework will aid developers who work mainly to develop mobile applications but also want other options open to them. A major benefit of using the MAUI is the ability to develop mobile applications that are no longer platform-dependent.
Clean architecture - Protecting the DomainVictor Rentea
The goal of architecture is to simplify the most complex parts of your logic. Any other goal should be secondary to this. The problem is that you can’t always anticipate where the complexity of your application will accumulate, especially when confronted with ever-changing requirements. The only way to keep your code simple is to gradually evolve the architecture without adding useless complexity up front, but always looking out for opportunities to break-down and refactor towards the most simple design that solves the problem. Drawing concepts from the Domain-Driven Development mindset, this talk summarizes the most important lessons learned designing and consulting many real-world projects. Along the way, you’ll hear about Value Objects and Entities, DTOs, Dependency Inversion Principle, Facades, the Onion Architecture and many pragmatic tips and tricks immediately applicable to your day-to-day work.
Over the last year there has been a lot of buzz about Clean Architecture in the Android community, but what is Clean Architecture? How does it work? And should I be using it? Recently at Badoo we decided to rewrite our messenger component.
Over the years this core piece of functionality in our app has become large and unwieldy. We wanted to take a fresh approach to try and prevent this from happening again. We choose to use Clean Architecture to achieve our goal. This talk intends to share our journey from theory to implementation in an application with over 100 million downloads. By the end, you should not only understand what Clean Architecture is, but how to implement it, and whether you should.
We like the architecture of our applications to revolve around the business logic, not around technical details (and especially not around the database).
In my team at Sky Network Services we use the Clean Architecture and it has given us a great deal of benefits: the business logic is explicit, we are free to change our technical decisions, the app is easy to test, working on it is faster and scalable, it’s hard to do the wrong thing, and many more.
But it comes at a cost, of course. In this talk I’ll tell you the story of our experience with Clean Architecture and give you some tips to get the most out of it.
Example Project
https://github.com/mattia-battiston/clean-architecture-example
Downloads
Online: https://goo.gl/DTxftJ
PDF: https://goo.gl/ZAtdBN
Powerpoint: https://goo.gl/D54wdZ (but you need to install these fonts to see it properly: https://goo.gl/iH8SO5)
Designing the foundations of an iOS application is important to reduce the cost of maintenance and evolution. In this session we will see some best practices on how to organize iOS apps both from the point of view of the Xcode project and the source code. Based on the typical iOS client/server application, we will see how to structure the layers ranging from the user interface to the netwrok layer.
Slides presented at #Pragma Conference 2013
http://pragmamark.org/eventi/pragma-conference-2013/
http://pragmamark.org/sessioni/pragma-conference-2013-building-ios-app-project-and-architecture/
Introduction to ASP.NET MVC, Covering following topics:
Asp.Net Webforms?
Web-Forms : Request Flow
Problems with Web-Forms Approach
Why does Microsoft need MVC?
What is MVC?
Asp.Net MVC Request Flow
Example
Dependency injection in Java, from naive to functionalMarian Wamsiedel
The presentation contains more approaches to implement inversion of control (dependency injection). There is a naive implementation, a standard guice implementation and two functional solutions.
The code samples are available on a github repository.
Modularizing a project is never easy, a lot of files to move and the dependencies between them is not always what we expect. Then the Dagger configuration used in a single module project often doesn't scale well to a multi module project. Hilt is opinionated about the configuration to use (we don't need to argue anymore about using component dependencies or subcomponents!) and this configuration works perfectly even in a multi module project. In this talk we'll see first an introduction to Hilt and a comparison with Dagger to understand why it's easier to configure. Then we'll see how to leverage it in a multi module project (both in a standard layered architecture and in a Clean Architecture that uses the Dependency Inversion) to improve build speed and code testability. Spoiler alert: using sample apps that include a single feature in the app helps a lot!
A new .NET update is coming around. It will transform .NET development by providing features that should have been around a lot sooner! We can forgive the delay in this update given the fact that Microsoft is including the .NET Multi-Platform App UI (MAUI).
This new framework will aid developers who work mainly to develop mobile applications but also want other options open to them. A major benefit of using the MAUI is the ability to develop mobile applications that are no longer platform-dependent.
Clean architecture - Protecting the DomainVictor Rentea
The goal of architecture is to simplify the most complex parts of your logic. Any other goal should be secondary to this. The problem is that you can’t always anticipate where the complexity of your application will accumulate, especially when confronted with ever-changing requirements. The only way to keep your code simple is to gradually evolve the architecture without adding useless complexity up front, but always looking out for opportunities to break-down and refactor towards the most simple design that solves the problem. Drawing concepts from the Domain-Driven Development mindset, this talk summarizes the most important lessons learned designing and consulting many real-world projects. Along the way, you’ll hear about Value Objects and Entities, DTOs, Dependency Inversion Principle, Facades, the Onion Architecture and many pragmatic tips and tricks immediately applicable to your day-to-day work.
Over the last year there has been a lot of buzz about Clean Architecture in the Android community, but what is Clean Architecture? How does it work? And should I be using it? Recently at Badoo we decided to rewrite our messenger component.
Over the years this core piece of functionality in our app has become large and unwieldy. We wanted to take a fresh approach to try and prevent this from happening again. We choose to use Clean Architecture to achieve our goal. This talk intends to share our journey from theory to implementation in an application with over 100 million downloads. By the end, you should not only understand what Clean Architecture is, but how to implement it, and whether you should.
We like the architecture of our applications to revolve around the business logic, not around technical details (and especially not around the database).
In my team at Sky Network Services we use the Clean Architecture and it has given us a great deal of benefits: the business logic is explicit, we are free to change our technical decisions, the app is easy to test, working on it is faster and scalable, it’s hard to do the wrong thing, and many more.
But it comes at a cost, of course. In this talk I’ll tell you the story of our experience with Clean Architecture and give you some tips to get the most out of it.
Example Project
https://github.com/mattia-battiston/clean-architecture-example
Downloads
Online: https://goo.gl/DTxftJ
PDF: https://goo.gl/ZAtdBN
Powerpoint: https://goo.gl/D54wdZ (but you need to install these fonts to see it properly: https://goo.gl/iH8SO5)
Designing the foundations of an iOS application is important to reduce the cost of maintenance and evolution. In this session we will see some best practices on how to organize iOS apps both from the point of view of the Xcode project and the source code. Based on the typical iOS client/server application, we will see how to structure the layers ranging from the user interface to the netwrok layer.
Slides presented at #Pragma Conference 2013
http://pragmamark.org/eventi/pragma-conference-2013/
http://pragmamark.org/sessioni/pragma-conference-2013-building-ios-app-project-and-architecture/
Introduction to ASP.NET MVC, Covering following topics:
Asp.Net Webforms?
Web-Forms : Request Flow
Problems with Web-Forms Approach
Why does Microsoft need MVC?
What is MVC?
Asp.Net MVC Request Flow
Example
oracle adf training | oracle adf course | oracle adf certification training Nancy Thomas
Website : http://www.todaycourses.com
Oracle ADF Online Training Course Content :
Introduction to Fusion and ADF
Oracle ADF and JDeveloper
Oracle Fusion Middleware
Oracle Fusion Architecture
ADF and MVC
More about ADF
Exploring Jdeveloper
JDeveloper 11g New Features
Building ADF Application in JDeveloper
Configuring JDeveloper Preferences
Database Schema Design
JDeveloper 11g New Features
Database Designing Tools in JDeveloper
Creating Offline Objects
Synchronize Online-Offline Database
Data Modeling with ADF Business Components
Advantages of ADF BC
ADF BC Categories
Creating ADF Business Components
Business Component Browser
Entity Objects and Associations
Data Persistence using Entity Objects
Creating Entity Objects
Modify Entity Object Default Behavior
Associations
View Objects and View Links
Populating Data in View Objects
Creating View Objects
Modify View Object Default Behavior
View Links
Creating View Criteria
Creating List of Values
oracle adf training, oracle adf training topics, oracle adf training material, oracle adf training course content, oracle adf training videos, oracle adf 11g, oracle adf security, oracle adf login form, oracle adf training institutes in bangalore, oracle adf training in chennai, oracle adf training course content, oracle adf videos, oracle adf tutorials, oracle adf tree, oracle adf ppr, oracle adf master detail, oracle adf managed bean, oracle adf training institutes in bangalore
The future of web development write once, run everywhere with angular.js and ...Mark Roden
This slide deck was used in support of BTE 102 - The future of web development write once, run everywhere with angular.js and domino at IBMConnectED 2015
Presentation was given with Mark Leusink
Getting started with MVC 5 and Visual Studio 2013Thomas Robbins
The ASP.NET MVC Framework provides a powerful Model View Controller (MVC) approach to building web applications and provides separation of concerns, control over HTML output, intuitive URLs, and increased testability. We will start by looking at the what and why of ASP.NET MVC. Then we will explore the various pieces of ASP.NET MVC including routes, controllers, actions, and views. If you are looking to get started with MVC then don’t miss this session.
Java EE 8 Web Frameworks: A Look at JSF vs MVCJosh Juneau
This session provides an overview of both the JSF and MVC 1.0 frameworks. The frameworks are then compared to each other. Finally, JSF 2.3 upcoming features are previewed.
Mastering asp.net mvc - Dot Net TricksGaurav Singh
The ASP.NET MVC certification course is primarily designed for .NET Beginner(s)/Professional(s) who want to learn how to create web applications using the ASP.NET framework and MVC design pattern. In this course, you will learn how to create web pages, custom validation attributes, custom helpers, querying database using Entity Framework, and finally publish it on IIS.
Dotnet- An overview of ASP.NET & ADO.NET- Mazenet solutionMazenetsolution
For youtube videos: bit.do/devent
Get to know about Microsoft's ASP.NET & ADO.NET .
To know more this webinar visit http://www.mazenet-chennai.in/net-event.html
To know more our other webinar's visit http://www.mazenet-chennai.in/mazenet-events.html
Overview SAP BO components, SAP BO Architecture, 16 reporting flavour of SAP BO,
More details: (blog: http://sandyclassic.wordpress.com ,
linkedin: https://www.linkedin.com/in/sandepsharma )
The presentation "Microsoft Power Pages for Developers" focuses on enabling developers to enhance Power Page websites. It covers the utilization of Power Platform Developer tools, Power Platform CLI, and Web Templates. Key components include the Liquid framework for dynamic content and Code Components for creating model-driven app fields and Power Page forms. It emphasizes on open-source solutions, navigating large websites, and manipulating data from Microsoft Dataverse. The guide aims to provide developers with the skills to customize and extend Power Page capabilities effectively.
"Microsoft Power Pages สำหรับนักพัฒนา" มุ่งเน้นให้นักพัฒนาสามารถเพิ่มศักยภาพของเว็บไซต์ Power Page ได้ ครอบคลุมการใช้เครื่องมือ Power Platform Developer, Power Platform CLI และ Web Templates ประกอบด้วยส่วนประกอบหลักอย่างเฟรมเวิร์ก Liquid สำหรับเนื้อหาที่เปลี่ยนแปลงได้ และ Code Components สำหรับสร้างฟิลด์ในแอปที่ขับเคลื่อนด้วยโมเดลและแบบฟอร์ม Power Page โดยเน้นที่โซลูชันแบบโอเพนซอร์ส และการจัดการข้อมูลจาก Microsoft Dataverse เพื่อให้นักพัฒนามีทักษะในการปรับแต่งและขยายความสามารถของ Power Page อย่างมีประสิทธิภาพ.
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014FalafelSoftware
In this session, I will show you how to take your bland ASP.Net web application and make it available in a form factor for mobile browsers without re-writing your entire application. I will also show you how to scale your application for tablets, and handle all of the functionality in a DRY manner.
Key take-aways from this session will include:
-Ability to adapt your existing application to handle phone and tablet screen sizes
-Ability to re-use logic in your current application in new form factors
-Knowledge and comfort around testing your web application for various device screen sizes
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
9. Model View Controller
Data structure UI Life cycle
Data manipulation
Setup view &
animation
UI Navigation
API call & biz logic
Data conversion
Data source &
Delegate
etc.
18. Model View VM / Presenter
Data structure UI API call
Data manipulation Life cycle Biz logic
Setup view &
animation
Data conversion
UI Navigation Data source
Delegate
etc.
24. Model View
VM /
Presenter
Coordinator
Data structure UI API call UI Navigation
Data
manipulation
Life cycle Biz logic
Setup view &
animation
Data conversion
Delegate Data source
etc.
26. Manager / Service / Helper
• API call
• Biz logic
• Data manipulation
27. Model View Presenter Coordinator
Manager /
Service
Data
structure
UI
Data
conversion
UI Navigation API call
Life cycle Data source Biz logic
Setup view &
animation
Data
manipulation
Delegate
etc.
28. Entity View Presenter Coordinator
Manager /
Service
Data
structure
UI
Data
conversion
UI Navigation API call
Life cycle Data source Biz logic
Setup view &
animation
Data
manipulation
Delegate
etc.
29. Entity View Presenter Router
Manager /
Service
Data
structure
UI
Data
conversion
UI Navigation API call
Life cycle Data source Biz logic
Setup view &
animation
Data
manipulation
Delegate
etc.
30. Entity View Presenter Router Interactor
Data
structure
UI
Data
conversion
UI Navigation API call
Life cycle Data source Biz logic
Setup view &
animation
Data
manipulation
Delegate
etc.
45. Summary
• A series of refactoring
• Find a pattern that suit your team
• Both VM & Presenter are great
• Recommend Coordinator for beginner
• Manage state with care