Hybrid integration platform reference architectureChanaka Fernando
WSO2 Integration Platform allows users to integrate with on-premise as well as cloud based systems. It provides deployment options on cloud, on-premise or as a hybrid deployment.
Micro-serviços em Python usando Pyramid, Cornice e muito amorÉrico Andrei
Relato da experiência com Pyramid, Python e micro-serviços na Briefy.
Esta palestra foi apresentada em 11/11/2017 no encontro do GruPy-SP.
Baseada na apresentação "From Legacy To a Microservices Architecture" ministrada por Rudá Porto na Plone Conference 2017
Dashboards as Code by Tim Hall, VP of Product | InfluxDataInfluxData
We are all used to building dashboards for great visualizations, but the issue becomes how to share and collaborate on instrumentation and dashboard design. In this talk, Tim Hall will drill down on dashboard sharing, how to iterate and improve on dashboards within a repository, and lessons learned in sharing and collaborating on dashboards.
Hybrid integration platform reference architectureChanaka Fernando
WSO2 Integration Platform allows users to integrate with on-premise as well as cloud based systems. It provides deployment options on cloud, on-premise or as a hybrid deployment.
Micro-serviços em Python usando Pyramid, Cornice e muito amorÉrico Andrei
Relato da experiência com Pyramid, Python e micro-serviços na Briefy.
Esta palestra foi apresentada em 11/11/2017 no encontro do GruPy-SP.
Baseada na apresentação "From Legacy To a Microservices Architecture" ministrada por Rudá Porto na Plone Conference 2017
Dashboards as Code by Tim Hall, VP of Product | InfluxDataInfluxData
We are all used to building dashboards for great visualizations, but the issue becomes how to share and collaborate on instrumentation and dashboard design. In this talk, Tim Hall will drill down on dashboard sharing, how to iterate and improve on dashboards within a repository, and lessons learned in sharing and collaborating on dashboards.
[WSO2Con EU 2017] Ballerina Connectors for Seamless IntegrationWSO2
Ballerina allows you to connect to any external API or service available published with standard integration protocols to be used in the implementation of your services or applications. Ballerina ships with a number of inbuilt connectors that are commonly used in the integration space. It also provides the convenience of developing your own custom connectors to be used seamlessly in your integrations. This slide deck guides you through writing your own connectors.
Maxim Kovtun, Solution Architect at Sigma Software, is sharing his experience and lessons learned while working on 2 projects, where 8 teams were able to deliver a system in 4 months.
Domain Driven Design with Onion Architecture is a powerful combination of Architecture Patterns that can dramatically improve code quality and can help you learn a great deal about writing "clean" code.
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...Nordic APIs
In the best of all worlds, API development, testing, and operations teams always work together in perfect synchrony, delivering high-quality APIs on schedule, under budget and completely error-free. But as applications and micro-service architectures increase in complexity, teams often struggle to maintain velocity without tripping over functional dependencies and unwanted behaviours within their solutions. API Virtualization is an increasingly popular approach for speeding release cycles by developing and testing in parallel. Additionally, API virtualization enables teams to overcome 3rd party downtime, rate limits and overage fees.
Join Ole Lensmar, SmartBear CTO and creator of SoapUI, to learn how API Virtualization can help you speed up your development, testing and delivery process.
This is the keynote session at BizTalk Summit 2015 London. The Keynote speech focused on Microsoft's recent announcements in the area of Azure App Services (Logic Apps, BizTalk API Apps, Connectors). Watch this video to understand the reason behind Microsoft's investment into the Azure platform and where Microsoft would like to see itself down the road.
Cloud is more than just a set of virtual machines running in someone else’s datacenter. Cloud is increasingly being the way for enterprises to accelerate their digital transformation. In this session, Dmitry Sotnikov will talk about:
The specifics of WSO2’s cloud-first strategy
WSO2’s public roadmap and the scenarios we are looking to empower in the cloud
Partner role in the cloud world
Success stories of customers that picked cloud delivery for WSO2 technologies
How to Build Front-End Web Apps that Scale - FutureJSPhil Leggetter
Developing large apps is difficult. Ensuring that code is consistent, well structured, tested, maintainable and has an architecture that encourages enhancement is essential. When it comes to large server-focused apps, solutions to this problem have been tried and tested. But, with the ongoing dramatic shift of functionality into the browser, how do you achieve this when building Front-End Web Apps?
In this talk we’ll cover the signs to watch out for as your HTML5 SPA grows and provide examples of some of the tooling types that can contribute-to - as well as ease - the growing pains. Finally, we’ll demonstrate how tooling can be used to support a set of conventions, practices and principles that enable a productive developer workflow where the first line of code is feature code, features can be developed in isolation, code conflicts are avoided by grouping assets by feature and features are composed into apps.
The demonstrations will use the BladeRunnerJS open source developer toolkit, but the concepts are widely applicable.
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...WSO2
Integration of APIs, services, data, and systems have long been the most challenging yet most essential requirement in software application development. These disparate applications were integrated using point to point style, and later with the ESB (Enterprise Service Bus) style alongside the SOA.
The integration logic is being implemented as part of the service logic and most of the integration capabilities that you get as part of ESB are now need to be implemented as part of the service logic.
This deck covers, the importance of application integration in microservices and cloud-native architecture, how microservices and cloud-native applications are integrated, service Mesh vs Application Integration, key application integration requirements, and patterns, cloud native technologies for application integration and WSO2 offerings in cloud native integration space.
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusKaren Broughton-Mabbitt
Presented at InterConnect 2016 by Carsten Bornert and Ulas Cubuk. This session will discuss the power of combining IBM API Management and IBM Integration Bus together to expose core backend systems in a controlled, managed and secured manner. It will also explore common use cases where these technologies are used together to provide a compelling solution.
This slide deck provides the basics of how to build an Azure Logic App. This presentation was presented by Kuppurasu Nagaraj, a Microsoft MVP during the TechMeet360 event organized by BizTalk360, held on December 17, 2016 at Coimbatore.
In this session, Massimo will go through the Swagger specification and some open source tools built on top of Swagger. This includes Swagger editors and how they can be used to create our API stubs,
the Swashbuckle tool to auto-generate swagger.json, to keep it in sync with the server code and to make it discoverable. Finally he will demonstrate the Swagger integration in the API Management space (Azure API Management and Sentinet).
MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...MongoDB
Serverless architectures are hot right now--and for a good reason. Managing servers can be time consuming and painful.
We'll begin this talk by explaining what serverless really is. Then we'll dive into how you can use Stitch Functions and Stitch Triggers to rapidly build your next app. We'll discuss how to architect your app to take advantage of the benefits of serverless. We'll wrap up with a discussion of the software development lifecycle (think DevOps!) for serverless apps. You'll leave feeling confident that you can leverage MongoDB's serverless capabilities to rapidly build your next app.
webinar "Enhancing Unified Communication Experience Through Microsoft Lync SDK and UCMA" on July 31st, 2013. Learn about how Unified Communications frameworks such as MS Lync SDK and UCMA can be leveraged to improve the customer experience.
Este trabajo nos muestra como podemos acceder a la biblioteca virtual de la Corporación Minuto de Dios dándonos un paso a paso para la excelente navegación por esta herramienta
[WSO2Con EU 2017] Ballerina Connectors for Seamless IntegrationWSO2
Ballerina allows you to connect to any external API or service available published with standard integration protocols to be used in the implementation of your services or applications. Ballerina ships with a number of inbuilt connectors that are commonly used in the integration space. It also provides the convenience of developing your own custom connectors to be used seamlessly in your integrations. This slide deck guides you through writing your own connectors.
Maxim Kovtun, Solution Architect at Sigma Software, is sharing his experience and lessons learned while working on 2 projects, where 8 teams were able to deliver a system in 4 months.
Domain Driven Design with Onion Architecture is a powerful combination of Architecture Patterns that can dramatically improve code quality and can help you learn a great deal about writing "clean" code.
The Magic Behind Faster API Development, Testing and Delivery with API Virtua...Nordic APIs
In the best of all worlds, API development, testing, and operations teams always work together in perfect synchrony, delivering high-quality APIs on schedule, under budget and completely error-free. But as applications and micro-service architectures increase in complexity, teams often struggle to maintain velocity without tripping over functional dependencies and unwanted behaviours within their solutions. API Virtualization is an increasingly popular approach for speeding release cycles by developing and testing in parallel. Additionally, API virtualization enables teams to overcome 3rd party downtime, rate limits and overage fees.
Join Ole Lensmar, SmartBear CTO and creator of SoapUI, to learn how API Virtualization can help you speed up your development, testing and delivery process.
This is the keynote session at BizTalk Summit 2015 London. The Keynote speech focused on Microsoft's recent announcements in the area of Azure App Services (Logic Apps, BizTalk API Apps, Connectors). Watch this video to understand the reason behind Microsoft's investment into the Azure platform and where Microsoft would like to see itself down the road.
Cloud is more than just a set of virtual machines running in someone else’s datacenter. Cloud is increasingly being the way for enterprises to accelerate their digital transformation. In this session, Dmitry Sotnikov will talk about:
The specifics of WSO2’s cloud-first strategy
WSO2’s public roadmap and the scenarios we are looking to empower in the cloud
Partner role in the cloud world
Success stories of customers that picked cloud delivery for WSO2 technologies
How to Build Front-End Web Apps that Scale - FutureJSPhil Leggetter
Developing large apps is difficult. Ensuring that code is consistent, well structured, tested, maintainable and has an architecture that encourages enhancement is essential. When it comes to large server-focused apps, solutions to this problem have been tried and tested. But, with the ongoing dramatic shift of functionality into the browser, how do you achieve this when building Front-End Web Apps?
In this talk we’ll cover the signs to watch out for as your HTML5 SPA grows and provide examples of some of the tooling types that can contribute-to - as well as ease - the growing pains. Finally, we’ll demonstrate how tooling can be used to support a set of conventions, practices and principles that enable a productive developer workflow where the first line of code is feature code, features can be developed in isolation, code conflicts are avoided by grouping assets by feature and features are composed into apps.
The demonstrations will use the BladeRunnerJS open source developer toolkit, but the concepts are widely applicable.
[WSO2 Integration Summit San Francisco 2019] Cloud-native Integration for the...WSO2
Integration of APIs, services, data, and systems have long been the most challenging yet most essential requirement in software application development. These disparate applications were integrated using point to point style, and later with the ESB (Enterprise Service Bus) style alongside the SOA.
The integration logic is being implemented as part of the service logic and most of the integration capabilities that you get as part of ESB are now need to be implemented as part of the service logic.
This deck covers, the importance of application integration in microservices and cloud-native architecture, how microservices and cloud-native applications are integrated, service Mesh vs Application Integration, key application integration requirements, and patterns, cloud native technologies for application integration and WSO2 offerings in cloud native integration space.
HAM 1032 Combining the Power of IBM API Management and IBM Integration BusKaren Broughton-Mabbitt
Presented at InterConnect 2016 by Carsten Bornert and Ulas Cubuk. This session will discuss the power of combining IBM API Management and IBM Integration Bus together to expose core backend systems in a controlled, managed and secured manner. It will also explore common use cases where these technologies are used together to provide a compelling solution.
This slide deck provides the basics of how to build an Azure Logic App. This presentation was presented by Kuppurasu Nagaraj, a Microsoft MVP during the TechMeet360 event organized by BizTalk360, held on December 17, 2016 at Coimbatore.
In this session, Massimo will go through the Swagger specification and some open source tools built on top of Swagger. This includes Swagger editors and how they can be used to create our API stubs,
the Swashbuckle tool to auto-generate swagger.json, to keep it in sync with the server code and to make it discoverable. Finally he will demonstrate the Swagger integration in the API Management space (Azure API Management and Sentinet).
MongoDB World 2019: Look, Ma, No Servers! Serverless Application Development ...MongoDB
Serverless architectures are hot right now--and for a good reason. Managing servers can be time consuming and painful.
We'll begin this talk by explaining what serverless really is. Then we'll dive into how you can use Stitch Functions and Stitch Triggers to rapidly build your next app. We'll discuss how to architect your app to take advantage of the benefits of serverless. We'll wrap up with a discussion of the software development lifecycle (think DevOps!) for serverless apps. You'll leave feeling confident that you can leverage MongoDB's serverless capabilities to rapidly build your next app.
webinar "Enhancing Unified Communication Experience Through Microsoft Lync SDK and UCMA" on July 31st, 2013. Learn about how Unified Communications frameworks such as MS Lync SDK and UCMA can be leveraged to improve the customer experience.
Este trabajo nos muestra como podemos acceder a la biblioteca virtual de la Corporación Minuto de Dios dándonos un paso a paso para la excelente navegación por esta herramienta
Résultats détaillés du sondage UNSA sur les attentes et les ressentis des enseignants selon les structures d'affectation - résultats publiés en mars 2017
OET Writing Task is all about practice. Many candidates repeatedly take the OET but do not clear the writing section as they do not have the right approach. If you are one of those candidates, you should learn the strategies of OET writing.
Lotusphere 2009
Session BP113
Zero to Portlet in 20 minutes or less
Paul T. Calhoun | CTO | NNSU
Agenda
Work Smarter Not Harder – The Portlet Factory Demystified
Zero to Portlet – Don't Blink !!
The Details – The Nitty Gritty
References – Places to get more info
Q & A
AWS September Webinar Series - Build Cross-Platform Mobile Apps with AWS and...Amazon Web Services
Learn how to build great cross-platform apps by simply connecting your Xamarin-built apps to AWS for identity management through Amazon Cognito, cloud storage via Amazon S3, a fully-managed NoSQL database with Amazon DynamoDB, mobile push notifications with SNS, and app analytics through Amazon Mobile Analytics.
Learning Objectives:
How to add AWS as the backend for your Xamarin apps
Who Should Attend:
Developers
SOLID Programming with Portable Class LibrariesVagif Abilov
Developers often don't pay attention to code portability until they need to target multiple platforms. However, large amount of non-portable code often hints about violation of clean code principles, so it is worth investigating which part of the source code base are platform-specific and for what reasons.
In this session we will give an overview of portable class libraries, show how to extract PCL components from a real-world application and go through typical challenges that are faced when writing portable code. We will present the original tool that analyzes assemblies for portability compliance and can be used as a guard to prevent mixing business logic with infrastructure-specific functionality. Finally we will demonstrate how PCLs help targeting platforms such as Windows Store, Android and iOS.
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes followed by Amazon engineers and discuss how you can bring them to your company by using AWS CodePipeline and AWS CodeDeploy, services inspired by Amazon's internal developer tools and DevOps culture.
My TechDays 2015 in the Netherlands session. There is more then Cloud services alone on the Azure platform and there are multiple solutions for your application.
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Amazon Web Services
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes followed by Amazon engineers and discuss how you can bring them to your company by using AWS CodePipeline and AWS CodeDeploy, services inspired by Amazon's internal developer tools and DevOps culture.
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Nedelcho Delchev
This BoF is focused on one of the development models "In-System Programming", that can be used in combination with cloud platforms. It leverages also content-centric architectural style by using centralised repository, dynamic languages and multi-container runtime.
The main goal is achieving the shortest development turn-around time ever.
The API Apps support within Azure App Service provides additional support that enables you to easily create, consume and call APIs - both APIs you create (using a framework like ASP.NET Web API or the equivalent in other languages) as well as APIs from other SaaS and cloud providers. During the presentation we will explore the fundamentals of creating, calling & consuming REST APIs using ASP.NET Web API on Azure. We will also examine a test case of using an API from a third-party cloud provider within Azure.
The presentation covers in detail how to build intelligent microservices solutions using Azure App Service features in Azure. The presentation is a demo driven and demonstrate how to design and provision complete end-to-end solutions using cloud services & Azure App Services capabilities.
This presentation gives an overview on how Platform as a Service technology can help you to become an IT manufacturer with highly integrated and greatly automated processes that drive your business forward.
This presentation was held at (W-) JAX 2014 by Jürgen Hoffmann (Red Hat) and Sebastian Faulhaber (Red Hat).
At this joint NYC Cloud Foundry and NY PHP meetup, we'll discuss the shift to Platform-as-a-Service and what it means for PHP development on the cloud.
First, we'll take a look at the "traditional" cloud Infrastructure-as-a-Service (virtual servers and disks) model and describe how Platform-as-a-Service builds upon it to provide the runtimes and data services for hosting PHP applications.
We'll then demonstrate how a PHP developer can use buildpacks and services within a Cloud Foundry PaaS to deploy scalable and resilient apps to his or her cloud of choice.
Along the way we'll compare the variety of buildpacks available to PHP developers, show techniques for binding to services, and highlight best practices for creating born-on-the-cloud apps based on a microservices architecture.
Special thanks to Dan Mikusa for helping with the buildpack comparison.
PHP developers: Please give all three build packs a try. Provide your feedback and submit pull requests on GitHub.
FaaS deployment is simplified by serverless frameworks, enabling rapid deployment of serverless architectures. But a variety of frameworks are now available, each with its own special advantages and disadvantages. Here is a list of various well-known serverless frameworks with information on their capabilities and use cases to assist you in making the appropriate choice.
Native iOS, Android apps using Xamarin.Forms dotnetConf2016 HyderabadPranav Ainavolu
Developing iOS and Android apps with shared code and UI with native performance using C# and Xamarin.Forms. Session presented at dotnetConf 2016 Hyderabad organized by Microsoft User Group Hyderabad
Building A Conversational Bot Using Bot Framework and MicrosoftPranav Ainavolu
Session presented at Global Azure Bootcamp 2016, a world-wide event organized by Microsoft - hosted by Microsoft User Group Hyderabad (MUGH) in Hyderabad, India.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
4. Foundation
• Models & Base Services
• Models
• Services & Business logic
• Platform-specific service Interfaces
• Architectural Services
• Object repository for IoC/DI
• Command class
• View Models
• Architectural Services
• Base View Model class
• Core View Models
Portable Models & Code Services
Portable View Models
5. Demo
Adding the Platform Layers
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
6. Shared vs. Portable Class Library Projects
• Code in a shared project compiles as if it
is part of each project that references it
• Therefore, code must be valid in all
referencing projects but can use #ifdef
directives to compartmentalize platform-
specific code regions if necessary
• Alternatively, Portable Class Libraries are
separate referenced assemblies targeting
a lowest common denominator across
specified platforms
• Both may call injected ‘service’ objects
• PCL may be succeeded by the .NET
Standard library for new projects later in
2017 Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
7. Cloud Services
• Azure Storage
• Blob – REST-based
• Queue
• File – SMB sharing
• Disk
• Azure App Service Mobile Apps
• Data store with offline sync
• REST-based API end points to data or coded functions built with C# or node.js
• Authentication available against corporate or personal identity providers
• Many other services for large data, IoT, notifications, logic flow, BI,
etc.
8. Demo
Connecting to the Cloud
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
9. NuGet client library package integration
• REST-based Azure Storage client
libraries available as a NuGet
package for portable class libraries
• Azure App Service Mobile App
client with SQLite libraries operate
at head-level projects, injected into
lower-level code with interfaces
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
11. Shared Access Signature
• Azure App Service Mobile App code has access to a key for
Azure Storage, which is used to generate temporary Shared
Access Signatures (SAS) for Azure Storage blob operations.
• That code is exposed as a custom REST-based API end point
• The mobile app calls the custom API end point to get a SAS
• The SAS is for a specific resource, specific operation and for a
duration
• Can also secure custom end points with identity providers
12. Demo
Completing the Shared UI
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
13. Demo
Using a Native UI
Portable Models & Code Services
Portable View Models
Portable UI based on Xamarin.Forms
UWPAndroid iOS
Shared code
Android
14. Resources
• Further sessions in this series:
• Practical Mobile Development – consistent UI using Forms, incorporating DevOps,
hands-on lab
• Learn about Xamarin - https://www.xamarin.com/platform
• Get started for free on Mac & PC - https://store.xamarin.com/
• The Xamarin Show - https://channel9.msdn.com/Shows/XamarinShow
• Xamarin University - https://www.xamarin.com/university
Editor's Notes
Put your details above.
Each slide contains example script in the notes. Once confident with the content, you can use the headings in the notes as cues to ad-lib the content in your own words.
In this session we are going to talk through creating a cloud-supported application from the ground up stating with File->New Project. We’ll see this architecture built up including shared UI with Xamarin Forms and Native UI on Android.
Let’s get started by creating a portable foundation that will work across many platforms.
CLICK Models & Base Services
This portable library contains business model classes, services that call into the cloud, abstract interfaces for platform-specific services and often contains architectural or utility classes.
CLICK View Models
The View Model layer sits on top of the Models to present bindable data and commands to the user interface, tracking of user interactions, as well as orchestration of calls to local and cloud-based services.
Now we’ll add on the platform-specific layers including portable UI layers using Xamarin Forms
CLICK Shared compilation
Read as shown
CLICK Platform code regions
Read as shown
CLICK vs. PCL
Read as shown
CLICK Injections
Read as shown
CLICK .NET Standard
Read as shown - .NET Standard is a cumulative surface area. .NET Standard 2.0 should come to Xamarin
We’ll add cloud services for image and photo records.
CLICK – Azure Storage
We’ll store images of photos in Azure Storage Blobs. This is just one of the storage options available.
CLICK – Azure App Service Mobile Apps for records
Mobile Apps let’s use store records in the cloud and synchronize them to devices on many platforms. We can write code in the cloud using C# or node.js to handle REST-based requests that will process the data or create custom events to perform other functions.
CLICK – Other services
There are many other services available in Azure and we’re just scratching the surface here.
Let’s see the kind of code changes we can make to enable application features through the cloud services.
CLICK Azure Storage in PCL
We were able to add Azure storage client libraries from NuGet into the portable client libraries.
CLICK Mobile Apps in Shared
We added the Azure App Service Mobile Apps client libraries into all the heads and then call the library in just one spot inside the Shared code project. The client library uses SQLite which has different binaries for the various platforms.
Our cloud services are currently quite open. Let’s add some security for image uploading.
CLICK Azure Storage key used in cloud to generate SASs
Read as is or ad-lib
CLICK Code exposed as custom API REST endpoint
Read as is or ad-lib
CLICK App calls custom API to request SAS
Read as is or ad-lib
CLICK SAS properties
Read as is or ad-lib
CLICK Secure further with identity providers
Read as is or ad-lib
Now let’s complete the Shared UI using Xamarin Forms UI.
Finally, let’s see how we’d create the same UI using Android’s specific UI platform.