Presentation from Dreamforce 2014 on using the Tooling API to create increased support for calling SOAP based web services using WSDLs to generate Apex.
The Tooling API provides powerful new ways to manage your code. It can help you measure code health, find circular dependencies, and identify code that's no longer in use. Join us to learn how to use the Tooling API to conduct a quality analysis of your code, and how to do this using an app integrated via Force.com Canvas -- no command line or desktop install required! Take your Apex knowledge to the next level.
Using the Tooling API to Generate Apex SOAP Web Service ClientsSalesforce Developers
Join us as we review the capabilities of the existing WSDL-to-Apex code generation feature, and explain how we built a tool to provide expanded features using the Tooling API. The resulting tool has greater support for more WSDL features, generates test cases and the associated mocks to maximize code coverage, and optionally includes HttpRequest versions of the callouts.
see http://ihower.tw/blog/archives/3075 , this's my talk at http://kungfurails.com and http://ruby.tw
This document discusses several Ruby on Rails best practices including maintaining DRY code, using fat models and skinny controllers, avoiding N+1 queries, preventing SQL injection, using scopes to define common query patterns, and leveraging counter caches to improve performance. Key practices emphasized include organizing application logic in models, defining common queries with scopes, sanitizing user input to prevent SQL injection, preloading associated data to reduce the number of queries, and using counter caches to optimize counting related records.
This document provides an overview of DataFX, a JavaFX framework that facilitates interaction between JavaFX applications and enterprise data. It discusses how DataFX handles reading external data sources via protocols like REST, SSE, and WebSockets. It also covers how DataFX integrates with JavaFX concepts like Observables and leverages the concurrency API to avoid blocking the JavaFX application thread. Additionally, it introduces the Flow API for defining navigation between views and linking controller actions. Finally, it mentions related projects in DataFX Labs for validation, EJB support, and feature toggling.
The document provides an overview of the DataFX framework, which facilitates data retrieval and rendering in JavaFX applications. It discusses how DataFX allows developers to focus on application logic by abstracting away things like data sources, conversion, and threading. Key aspects covered include DataSources and Readers for retrieving data from various sources; Converters for transforming data formats; DataProviders for populating Observable data in JavaFX; controller APIs for building views; and Flow APIs for linking views and handling user actions. The goal of DataFX is to simplify common tasks in building enterprise JavaFX applications that interact with real-world services and data.
The document discusses various topics related to Entity Framework (EF) and ORM usage in .NET development. It provides a brief history of ORM tools for .NET, examines common developer opinions on EF, discusses some performance and other technical issues with EF, and provides tips and examples for optimizing EF usage and queries. The document aims to help .NET developers understand both the benefits and challenges of using an ORM like EF in their projects.
25 Real Life Tips In Ruby on Rails DevelopmentBelighted
This is a collection of small tips and tricks related to developing web applications using the Ruby on Rails framework.
These tips are gathered from my personal experience of 4 years working with the framework, including more than 2 years of professional work at Belighted.
The talk was given in the Ruby on Rails Developer Room at Fosdem 2010 (www.fosdem.org).
1. The document discusses building web interfaces using Ruby on Rails. It covers useful Rails view helper techniques, plugins for adding helper and unobtrusive JavaScript functionality, and implementing common UI design patterns.
2. The handicraft_helper plugin allows building complex HTML structures more easily using a composite pattern. The handicraft_ujs plugin replaces Rails' default Ajax functionality with an unobtrusive JavaScript approach using jQuery.
3. The presentation demonstrates helper techniques, the two plugins, and implementing UI patterns like inline editing and sortable lists.
The document discusses servlet session management. It covers servlet filters which can intercept and modify requests and responses. It also discusses the servlet context and configuration parameters, as well as the session object and APIs. Session attributes allow data to be stored and shared across requests from the same client, while context attributes are shared across the entire application. Session tracking allows associating requests from the same client, typically using cookies or URL rewriting to pass the session identifier.
Comment utiliser Visual Studio Code pour travailler avec une scratch OrgThierry TROUIN ☁
Comment travailler sur une Scratch org avec Visual studio Code, c’est ce qu’on vous propose avec la venue de Thierry, Ligthning Champion et Leader du groupe de Toulouse (France). Salesforce DX (developer Experience) est une suite d'outils permettant notamment de créer et gérer une organisation. Après vous avoir présenté rapidement cet outil, je vous expliquerai comment créer une « Scratch Org » (organisation nouvelle, gratuite, vierge et éphémère) à partir de Visual Studio Code.
A l’issue de la session, vous aurez seulement 3 commandes à retenir pour être autonome et créer et gérer une org de demo ou un POC.
On fera un jeu à la fin pour connaitre les gagnants des vouchers de certifications Salesforce.
Learn what's new in Project Wonder's ERRest framework. Also, see some tips about security and versioning for your REST services, and learn how you can use HTML routing to build Web apps with ERRest.
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
The document describes an in-memory OLAP engine created by Samuel Pelletier to enable fast querying of multidimensional data with millions of facts. It loads data into memory as plain old Java objects (POJOs) for faster access compared to entity objects or SQL queries. Dimensions are modeled as classes to index the facts and compute summarized results. The engine is multithreaded and designed for simplicity and minimal dependencies.
This document provides an overview of the Spray toolkit for building REST/HTTP services in Scala. It discusses what Spray is, why we use it, Spray application architecture including the Spray-can HTTP server and Spray routing. It also covers topics like directives, parameters, marshalling, unmarshalling and testing Spray applications using the Spray test kit.
This document provides an overview of the Laravel framework, including its core features and components. It discusses Laravel's emphasis on developer happiness through its expressive syntax, readability of code, and rapid application development capabilities. It also covers Laravel's service container and dependency injection, routing and controllers, validation, queues, events and broadcasting. The document introduces key Laravel concepts like facades, contracts, Artisan CLI, databases and migrations, and the Eloquent ORM.
Créer et gérer une scratch org avec Visual Studio CodeThierry TROUIN ☁
Créer et gérer une scratch org avec Visual Studio Code, c’est ce que l’on vous propose de découvrir lors de cette session.Après vous avoir présenté rapidement SFDX, je vous expliquerai comment créer une « Scratch Org » (organisation nouvelle, gratuite, vierge et éphémère) à partir de Visual Studio Code. A l’issue de la session, vous aurez tous les éléments nécessaire pour être autonome afin de créer et gérer ce nouveau type d’organisation.
Remote code-with-expression-language-injectionMickey Jack
The document discusses a vulnerability in older versions of the Spring Framework called Expression Language (EL) Injection that allows remote code execution. It was discovered that certain Spring tags double interpret EL, exposing sensitive server data. More than 22,000 organizations have downloaded over 1.3 million vulnerable versions of Spring. The document then demonstrates how an attacker could bypass input filtering and use Java reflection through EL to execute code remotely by loading a malicious class file from a remote URL. Updating Spring Framework versions and disabling the double EL resolution in web.xml can help prevent exploitation of this issue.
This document summarizes an upcoming talk about changes in Rails 3. It notes that Rails 3 release candidate 1 will soon be released, following beta 4. It warns that upgrading apps to Rails 3 may not be straightforward. The talk will cover unobtrusive JavaScript, ActiveModel which decouples models, ActiveRelation for database queries, and Bundler for managing gem dependencies.
This document describes KAAccessControl, a framework for managing user access control and permissions. It provides concise summaries in 3 sentences or less that provide the high level and essential information from the document.
The framework allows defining roles, profiles, lists and managing user permissions through annotations and configuration files. It handles authentication but does not provide the authentication mechanism. The framework manages the current user's profile and permissions and allows impersonating other users through its user service class. Components check permissions by annotating allowed roles and querying the framework's access control services.
The document discusses using inversion of control (IoC) and dependency injection (DI) to decouple classes and make them more flexible and testable in PHP. It provides an example of refactoring an authenticator class to depend on a user repository interface rather than a concrete class. This decreases coupling and allows different repositories to be injected. It then discusses using a service container to further abstract object creation and injection of dependencies defined through code or configuration.
The document discusses reactive application patterns and principles. It describes how Akka actors can be used to build message-driven, resilient, elastic, and responsive applications. It provides an example of using Play, Akka Cluster Sharding to build a reactive user management system that is horizontally scalable and always available.
Ruby on Rails is a web application framework written in Ruby that emphasizes convention over configuration and rapid development. It includes modules for modeling data with ActiveRecord, handling requests and responses with ActionController and ActionView, and additional features like routing and internationalization. The document then provides more details on the history, philosophy, main components, and features of Rails.
Spring 3 emphasizes annotation configuration over XML. Key changes include support for JSR 250, 299/330, and 303 annotations as well as a simplified MVC framework with @Controller and @RequestMapping annotations. Validation is integrated using JSR 303 annotations and executed automatically by the framework. Configuration is also simplified through @Configuration classes and the @Bean annotation.
Powerpoint slide deck and all associated examples for the CloudFormation 101 presentation given during the April, 20 2017 Capital-Saratoga Region AWS User Group meet-up @ CommerceHub
Example templates located @ https://github.com/dpigliavento/cloudformation
Using Node.js for Mocking Apex Web ServicesJeff Douglas
This document discusses using Node.js to mock Apex web services. It provides a safe harbor statement and introduces the speaker. The speaker will demonstrate building a simple Node.js app that supports HTTP gets, developing an Apex callout class and visualforce page to call the Node app hosted on Heroku, and testing the integration. The use case is to provide endpoints for tight deadlines when dependent on other organizations, allowing development to continue even if real endpoints are not ready.
1. The document discusses building web interfaces using Ruby on Rails. It covers useful Rails view helper techniques, plugins for adding helper and unobtrusive JavaScript functionality, and implementing common UI design patterns.
2. The handicraft_helper plugin allows building complex HTML structures more easily using a composite pattern. The handicraft_ujs plugin replaces Rails' default Ajax functionality with an unobtrusive JavaScript approach using jQuery.
3. The presentation demonstrates helper techniques, the two plugins, and implementing UI patterns like inline editing and sortable lists.
The document discusses servlet session management. It covers servlet filters which can intercept and modify requests and responses. It also discusses the servlet context and configuration parameters, as well as the session object and APIs. Session attributes allow data to be stored and shared across requests from the same client, while context attributes are shared across the entire application. Session tracking allows associating requests from the same client, typically using cookies or URL rewriting to pass the session identifier.
Comment utiliser Visual Studio Code pour travailler avec une scratch OrgThierry TROUIN ☁
Comment travailler sur une Scratch org avec Visual studio Code, c’est ce qu’on vous propose avec la venue de Thierry, Ligthning Champion et Leader du groupe de Toulouse (France). Salesforce DX (developer Experience) est une suite d'outils permettant notamment de créer et gérer une organisation. Après vous avoir présenté rapidement cet outil, je vous expliquerai comment créer une « Scratch Org » (organisation nouvelle, gratuite, vierge et éphémère) à partir de Visual Studio Code.
A l’issue de la session, vous aurez seulement 3 commandes à retenir pour être autonome et créer et gérer une org de demo ou un POC.
On fera un jeu à la fin pour connaitre les gagnants des vouchers de certifications Salesforce.
Learn what's new in Project Wonder's ERRest framework. Also, see some tips about security and versioning for your REST services, and learn how you can use HTML routing to build Web apps with ERRest.
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
The document describes an in-memory OLAP engine created by Samuel Pelletier to enable fast querying of multidimensional data with millions of facts. It loads data into memory as plain old Java objects (POJOs) for faster access compared to entity objects or SQL queries. Dimensions are modeled as classes to index the facts and compute summarized results. The engine is multithreaded and designed for simplicity and minimal dependencies.
This document provides an overview of the Spray toolkit for building REST/HTTP services in Scala. It discusses what Spray is, why we use it, Spray application architecture including the Spray-can HTTP server and Spray routing. It also covers topics like directives, parameters, marshalling, unmarshalling and testing Spray applications using the Spray test kit.
This document provides an overview of the Laravel framework, including its core features and components. It discusses Laravel's emphasis on developer happiness through its expressive syntax, readability of code, and rapid application development capabilities. It also covers Laravel's service container and dependency injection, routing and controllers, validation, queues, events and broadcasting. The document introduces key Laravel concepts like facades, contracts, Artisan CLI, databases and migrations, and the Eloquent ORM.
Créer et gérer une scratch org avec Visual Studio CodeThierry TROUIN ☁
Créer et gérer une scratch org avec Visual Studio Code, c’est ce que l’on vous propose de découvrir lors de cette session.Après vous avoir présenté rapidement SFDX, je vous expliquerai comment créer une « Scratch Org » (organisation nouvelle, gratuite, vierge et éphémère) à partir de Visual Studio Code. A l’issue de la session, vous aurez tous les éléments nécessaire pour être autonome afin de créer et gérer ce nouveau type d’organisation.
Remote code-with-expression-language-injectionMickey Jack
The document discusses a vulnerability in older versions of the Spring Framework called Expression Language (EL) Injection that allows remote code execution. It was discovered that certain Spring tags double interpret EL, exposing sensitive server data. More than 22,000 organizations have downloaded over 1.3 million vulnerable versions of Spring. The document then demonstrates how an attacker could bypass input filtering and use Java reflection through EL to execute code remotely by loading a malicious class file from a remote URL. Updating Spring Framework versions and disabling the double EL resolution in web.xml can help prevent exploitation of this issue.
This document summarizes an upcoming talk about changes in Rails 3. It notes that Rails 3 release candidate 1 will soon be released, following beta 4. It warns that upgrading apps to Rails 3 may not be straightforward. The talk will cover unobtrusive JavaScript, ActiveModel which decouples models, ActiveRelation for database queries, and Bundler for managing gem dependencies.
This document describes KAAccessControl, a framework for managing user access control and permissions. It provides concise summaries in 3 sentences or less that provide the high level and essential information from the document.
The framework allows defining roles, profiles, lists and managing user permissions through annotations and configuration files. It handles authentication but does not provide the authentication mechanism. The framework manages the current user's profile and permissions and allows impersonating other users through its user service class. Components check permissions by annotating allowed roles and querying the framework's access control services.
The document discusses using inversion of control (IoC) and dependency injection (DI) to decouple classes and make them more flexible and testable in PHP. It provides an example of refactoring an authenticator class to depend on a user repository interface rather than a concrete class. This decreases coupling and allows different repositories to be injected. It then discusses using a service container to further abstract object creation and injection of dependencies defined through code or configuration.
The document discusses reactive application patterns and principles. It describes how Akka actors can be used to build message-driven, resilient, elastic, and responsive applications. It provides an example of using Play, Akka Cluster Sharding to build a reactive user management system that is horizontally scalable and always available.
Ruby on Rails is a web application framework written in Ruby that emphasizes convention over configuration and rapid development. It includes modules for modeling data with ActiveRecord, handling requests and responses with ActionController and ActionView, and additional features like routing and internationalization. The document then provides more details on the history, philosophy, main components, and features of Rails.
Spring 3 emphasizes annotation configuration over XML. Key changes include support for JSR 250, 299/330, and 303 annotations as well as a simplified MVC framework with @Controller and @RequestMapping annotations. Validation is integrated using JSR 303 annotations and executed automatically by the framework. Configuration is also simplified through @Configuration classes and the @Bean annotation.
Powerpoint slide deck and all associated examples for the CloudFormation 101 presentation given during the April, 20 2017 Capital-Saratoga Region AWS User Group meet-up @ CommerceHub
Example templates located @ https://github.com/dpigliavento/cloudformation
Using Node.js for Mocking Apex Web ServicesJeff Douglas
This document discusses using Node.js to mock Apex web services. It provides a safe harbor statement and introduces the speaker. The speaker will demonstrate building a simple Node.js app that supports HTTP gets, developing an Apex callout class and visualforce page to call the Node app hosted on Heroku, and testing the integration. The use case is to provide endpoints for tight deadlines when dependent on other organizations, allowing development to continue even if real endpoints are not ready.
This document is the Force.com Apex Code Developer's Guide, last updated on January 3, 2014. It provides an overview of Apex and the Apex development process. Apex is a strongly typed, object-oriented programming language that allows developers to execute flow and transaction control statements on the Force.com platform. The guide covers Apex concepts like data types, variables, expressions, control statements, and classes/objects. It also provides instructions on writing Apex code, writing tests, and deploying code to sandbox and production organizations.
This document provides an overview and introduction to creating and using Apex REST services in Salesforce. It begins with defining what REST is and the benefits of using Apex REST. It then demonstrates how to create a basic Apex REST service by annotating an Apex class and methods. Examples are provided of querying and returning data from a simple REST service. The document also discusses additional techniques for handling input and output through REST services like supporting different HTTP methods and using wrapper classes.
Integrations with the Force.com Platform Using Custom Apex REST ServicesSalesforce Developers
This document discusses designing Apex REST services for integrating the Force.com platform with external systems. It provides an overview of Apex REST services, including their architecture, using inner classes to handle requests and responses, and routing multiple actions without using REST OPTIONS. Code samples are shown to demonstrate implementing an Apex REST handler class and routing actions. The presentation concludes with a recap of how Apex REST services allow integrating external systems through a REST API while controlling business processes rather than exposing the raw Force.com API.
Heroku is a platform that allows developers to build applications that integrate with Salesforce using technologies like Postgres, the Streaming API, Docker, Elasticsearch, and more. It provides tools for building APIs, syncing data, deploying apps, and testing that enhance the Salesforce development experience, making Heroku analogous to Pliny the Elder as a foundational resource.
Best practices in using Salesforce Metadata APISanchit Dua
The document is a presentation about best practices for using the Salesforce Metadata API. It discusses what metadata is, the two types of Metadata API operations (CRUD-based and declarative file-based), common applications of the Metadata API including standard configuration tools, and development scenarios. It provides examples of creating custom objects and fields via the Metadata API and outlines best practices such as respecting platform configurations and boundaries when programmatically manipulating metadata.
When executing something synchronously, you wait for it to finish before moving on to another task. Asynchronously, you can move on before it finishes. Future methods, Queueable Apex, and Batch Apex allow asynchronous execution in Apex. Future methods are best for long-running methods or callouts. Queueable Apex allows job chaining and passing complex types. Batch Apex is best for large data volumes processed in batches. Continuations allow asynchronous callouts from Visualforce pages.
In this session you will learn how to integrate Salesforce with Google APIs. This will include the required steps to configure a project in the Google Developer Console and setup the OAuth 2.0 authentication handshake. Through samples and code you will learn how to use an OAuth access token to communicate with the Google APIs.
Batchable, @future, and Queueable are interfaces in Apex that allow for asynchronous and batch processing.
Batchable is used for processing large numbers of records asynchronously in batches of up to 50 million records. It defines start(), execute(), and finish() methods and allows scheduling batch jobs to run at a specific time. However, there are limits such as only 5 concurrent batch jobs and no @future calls allowed within a batch.
@future allows for simple, frequent asynchronous processing of single records through static void methods but only supports primitive arguments. It has no concurrency limits but parameters are limited and jobs cannot be chained.
Queueable is used when Batchable and @future need to be combined, such
Part of what truly makes a platform is an ability to integrate with third party devices, servers and software. Join Ami Assayag and Kirk Steffke from CRM Science and Developer Evangelist Josh Birk as they breakdown examples of using Apex for integration solutions. Apex has robust methods for handling both inbound requests into Salesforce and outbound calls into third party systems. This webinar will break down how Apex can be used in these cases as well as how to test the code once it is up and running.
Key Takeaways
- How Apex fits into an integration solution
- Using Apex to create custom endpoints
- Handling outbound calls with Apex
- How to achieve test coverage with mock interfaces
Intended Audience
Developers with Apex experience looking to integrate with either existing API’s or expanding the functionality of Salesforce API’s.
Suryakanta Mekap of Mindfire Solutions gave a presentation on REST web services in Salesforce. The presentation covered creating REST web services and callouts in Apex, setting up authorization using OAuth 2.0, and creating public REST web services. It also provided references for additional reading on REST, SOAP, and web services in Salesforce.
Salesforce is an open and easily extensible platform. However, sometimes it's hard to figure out the best, most secure way to build these integrations. Join us as we help you build secure integrations with Salesforce by understanding the platform authentication and authorization constructs like profile permissions and OAuth scopes. We will demonstrate the importance of leveraging Salesforce security features like mutual SSL, IP range restrictions, and Connected Apps.
While there are many ways to build integrations with salesforce, one of the fastest growing ways is through the Salesforce REST API. Join us as we explore the current REST-ful mechanisms available to the AppCloud, and see what the next year has to offer. In this session we will discuss the Salesforce REST API structure, Authenticating to the REST API, sObject Manipulation, and Composition through the REST API.
The document discusses OAuth and social authentication. It begins with a statement under the Private Securities Litigation Reform Act noting that any forward-looking statements could differ materially from expressed results due to uncertainties. It then lists various risks and uncertainties including developing new functionality, possible fluctuations in operating results, interruptions in web hosting, security breaches, litigation outcomes, and more. The document also notes that any unreleased services mentioned may not be delivered or could be delayed.
Make Your App Lightning Ready with Winter '17 (December 8, 2016)Salesforce Partners
This document discusses making apps Lightning Ready and provides guidance on the Lightning Ready process. It states that to be Lightning Ready, 100% of an app's end-user use cases must work as expected in Lightning Experience. It notes requirements for existing and new apps and answers common questions. The document also covers two guiding principles of Lightning Readiness - that a new customer on Lightning Experience can install and use the app successfully, and an existing customer can adopt Lightning Experience and continue using the app successfully.
Apex code is a strongly typed, object-oriented programming language that allows developers to execute flow and transaction control statements on the Force.com platform. It provides the ability to define triggers and classes that can be initiated by user interface events as well as API calls. Apex code executes on the Force.com servers and provides a way for developers to add custom application logic to their Force.com deployments in a way that is integrated with the platform. Testing of Apex code is also supported to help ensure code quality.
Introduction
Web Storage
WebSQL
IndexedDB
File System Access
Final Considerations
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
Introduction
Web Storage
WebSQL
IndexedDB
File System Access
Final Considerations
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
Swift offers a compelling opportunity to build reliable, scalable and lightweight micro-services. This talk will discuss how I am investigating the use of Swift micro-services - running in ECS and potentially Lambda, fronted by API gateway - with AWS technologies such as managing data models with DynamoDb.
DDD, CQRS and testing with ASP.Net MVCAndy Butland
This document provides an overview of a presentation on Domain Driven Design (DDD), Command Query Responsibility Segregation (CQRS), and testing with ASP.Net MVC. It introduces the presenter and gives an outline of the topics to be covered, including implementing DDD with ASP.Net MVC and Entity Framework, using a mediator pattern for CQRS, and unit testing models, queries, and commands. References are given to other authors and resources that influenced the approaches and implementations discussed in the presentation.
The document discusses developing custom ASP.NET AJAX client components and server controls. It covers the key steps which are:
1) Developing the reusable client component code using the ASP.NET AJAX prototype model.
2) Creating an associated server control that emits the required JavaScript to register and initialize the client component.
3) Wiring up the server control to load and instantiate the client component code.